Bruteforce attacks
Vi har nu oprettet en liste med ip adresser, som har forsøgt at brute-force www.linux-support.dk på SSH forbindelsen. Alle ip adresser har haft over 5 forsøg.
Listen opdateres hver morgen kl 6. Ønsker du at tilføje ip adresser til listen, kan du sende en mail til os på root@linux-support.dk med log filer, ip adresse eller andet, der beviser et muligt bruteforce attack. Så vil vi vurdere om ip-adressen skal tilføjes på listen.
Du finder listen
her.
Filen var sidst ændret: March 27 2008 06:26:46.
Du kan bruge vores script her, til at tjekke dine log filer for eventuelle angreb. Scriptet udskriver en fil med alle de ip adresser der har forsøgt at logge på ssh mere end 5 gange og fejlet. Husk at rette scriptet til, til netop dine behov:
#!/bin/bash
MAX_ATTEMPS=5
LOG_FILE="/var/log/auth.log"
IP_LIST=~/bruteforceattacks
echo -n "Checking for possible bruteforces (Max Attempts: ${MAX_ATTEMPS}): "
for IP in `cat $LOG_FILE | grep 'Illegal user' | cut -d \ -f 10`; do
ANTAL=`cat $LOG_FILE | grep 'Illegal user' | grep $IP | cut -d \ -f 10 | grep -c \.`
FOUND="0"
if [ $ANTAL -ge $MAX_ATTEMPS ]; then
while read BAN; do
if [ "${IP}" == "$BAN" ]; then
FOUND="1"
fi
done < ${IP_LIST}
if [ "$FOUND" == "0" ]; then
echo "$IP" >> $IP_LIST
fi
fi
done
echo "DONE."
Ønsker du at tilføje den til crontab, kan du bruge denne (forudsætter at scriptet hedder bruteforce og ligger i /sbin/):
* 6 * * * /sbin/bruteforce
Nægt adgang med iptables
Har du en fungerende opsætning med iptables, kan du bruge dette script, til at hente vores bruteforce liste og nægte dem adgang i dit system.
Opret en fil kaldet bruteforce.sh i /root/ mappen, og indsæt følgende:
#!/bin/sh
IPT=/sbin/iptables # Path to iptables
BAN_LIST="/root/bruteforce";
echo -n "Getting the newst list of ip's from www.linux-support.dk/bruteforce: ";
cd /root/;
wget 'www.linux-support.dk/bruteforce';
echo "DONE.";
echo -n "Adding rules to iptables, denying all ip's access: ";
# Sets a list of IP addresses to be banned from the ban.conf file
${IPT} -N BANNED
${IPT} -F BANNED
while read BAN; do
if [ "${BAN}" != "" ]; then
${IPT} -A BANNED -s ${BAN} -j DROP
fi
done < ${BAN_LIST}
${IPT} -A INPUT -j BANNED
echo "DONE";
exit 0;
Derefter tilføjer du følgende linie til dine crontabs, husk at det skal være som root!:
1 6 * * * /bin/sh /root/bruteforce.sh


Sidst opdateret: 21-09-2006