Blokujemy najczęstsze źródła ataków według ISC SANS

Internet Strom Center (ISC) jest programem Technologicznego Instytutu SANS (skrót od: SysAdmin, Audit, Networking, and Security), który ma za zadanie monitorowanie poziomu szkodliwych aktywności w Internecie – zwłaszcza w odniesieniu do zdarzeń mających miejsce w dużych infrastrukturach (poziom zagrożenia sygnalizowany jest odpowiednimi kolorami – zielony, żółty, pomarańczowy, czerwony).

Poniżej znajduje się trochę przerobiony skrypt autorstwa Alessio Rocchi, który pobiera dane z raportu o źródłach ataku oraz blokuje je przy użyciu iptables na zaporze systemu:

#!/bin/sh

IPT="/usr/sbin/iptables"
IPTS="/usr/sbin/iptables-save"
FILE="/tmp/firewall.txt"

function isclist {
wget http://isc.sans.org/sources.html -O /tmp/sources.html --quiet
if [ $? -ne 0 ]
then
        echo "Błąd pobierania pliku."
        exit 1
fi
for bad_guy in $(grep ipinfo /tmp/sources.html |sed -e "s/.*ip=(.*)">.*/1/g" | sed -e 's/^[0]*//' -e 's/.[0]*/./g')
do
        $IPT -A ISC -s $bad_guy -j DROP
done
rm /tmp/sources.html*
}

$IPTS > $FILE
CHAIN=`cat $FILE | grep ISC | wc -l`

if [ $CHAIN -eq "0" ]; then
    echo "Łańcuch ISC nie istnieje."
    $IPT -N ISC
    $IPT -I INPUT -j ISC
    isclist
else
    echo "Łańcuch ISC istnieje."
    $IPT -F ISC
    isclist
fi

rm $FILE
exit 0

Jeśli interesuje nas dłuższa lista źródłowych adresów IP – to możemy wykorzystać link generujący ją w formacie ASCII. W tym przypadku należy odpowiednio przebudować skrypt w miejscu pobierania i parsowania danych. Podobnie jak w przypadku wpisów z serwisu Spamhaus – tak prosty skrypt możemy umieścić np. w katalogu /etc/cron.daily/, aby nasze wpisy były aktualizowane raz na dzień.