Blokujemy najczęstsze źródła ataków według ISC SANS
Napisał: Patryk Krawaczyński
20/01/2011 w Bezpieczeństwo 1 komentarz. (artykuł nr 301, ilość słów: 487)
I
ternet 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).
Obecnie ISC gromadzi i analizuje miliony wpisów pochodzących z logów systemów obejmujących około pół miliona adresów IP w ponad 50 krajach. Codziennie tysiące czujników, działających na większości zapór ogniowych, systemów wykrywania włamań, urządzeniach dostępu do Internetu i programach niemal wszystkich systemów operacyjnych gromadzi informacje o niepożądanym ruchu z Internetu. Systemy te karmią bazę danych DShield, z której zarówno wolontariusze jak i zautomatyzowane maszyny szukają powtarzających się trendów w atakach oraz zaburzeń normalnego funkcjonowania sieci, systemów i aplikacji. Wyniki tych analiz wysyłane są na główną stronę ISC, gdzie można pobierać je za pomocą prostych skryptów lub oglądać niemal w czasie rzeczywistym.
Dzięki bezpłatnej działalności tej organizacji dla społeczności internetowej – znacznie szybciej możemy określić miejsca, które są wykorzystywane do ataków oraz otrzymać wiarygodne informacje na temat ich typów. Najbardziej znaną funkcją serwisu ISC jest dziennik “Handler Diary” redagowany przez jednego z około 40 ochotników, który podsumowuje wydarzenie dnia. Bardzo często jest on pierwszym publicznym źródłem informującym o nowym trendzie i formie ataku. Oprócz dziennika ISC udostępnia również takie raporty jak: najczęstsze cele ataków (w postaci portów aplikacji) oraz ich źródła (w postaci adresów IP). 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ń.
Więcej informacji: Blokowanie skanera w00tw00t, Internet Strom Center
Ze względu na możliwość przejścia na API powyższy skrypt może mieć następującą postać: