Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- cd "${0%/*}" #the directory containing the script
- cd ..
- MYDIR=$(pwd)
- IP=$1 #input from user
- TIMESTAMP=$(date +%s)
- banning() {
- if [[ ($(grep -c $IP $MYDIR/miniban.whitelist) -eq 0) ]]; then
- echo $IP,$TIMESTAMP >> $MYDIR/miniban.db
- sudo iptables -A INPUT -p tcp -s $IP --dport 22 -j REJECT
- # sed -i /$IP/d $MYDIR/kickcount.db
- echo "$IP har blitt blokkert fra SSH-authentication"
- else
- echo "$IP er i whitelisten"
- fi
- }
- #IPv4
- if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
- banning
- # sudo iptables -A INPUT -p tcp -s $IP --dport 22 -j REJECT
- #IPv6
- elif [[ $IP =~ ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$ ]]; then
- banning
- # sudo ip6tables -A INPUT -p tcp -s $IP --dport 22 -j REJECT
- else
- echo "Skriv inn gyldig IP"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement