-
Apache też może walczyć ze spamem
Przyzwyczailiśmy się, że SPAM dotyczy poczty elektronicznej i stosuje się różne narzędzia eliminujące go takie jak SpamAssassin, czy DSPAM. Dzisiaj jednak opowiem o sytuacji, która często daje się we znaki administratorom dużych serwisów internetowych, forów, itp. Złośliwe roboty spamowe skanują internet w poszukiwaniu swoich ofiar. Natrafiają na nasz serwis i zakładają konta w CMS-ach, piszą posty, a co najgorsze zwiększają obciążenie poprzez generowanie dużej ilości requestów, które nasz sprzęt musi obsłużyć. Z ostatnią sytuacją spotkałem się dwa dni temu, gdy pewien „złośliwy chochlik” o mało co nie „wyłożył” serwera www. Na szczęście został w porę zauważony i zablokowany. Nie zawsze jednak siedzimy przy komputerze i jesteśmy w stanie szybko i zdecydowanie zareagować. Z pomocą przyjdzie nam niezwykle interesujący mod do serwera www Apache o nazwie „spamhaus”. Tak nie „przesłyszeliście” się. Nazywa się dokładnie tak, jak ten do poczty elektronicznej i w zasadzie to ten sam. Niestety nie mamy go gotowego w pliku .RPM. Należy pobrać źródła np. od nas. Następnie postępujemy z poniższymi instrukcjami:
tar xvsf mod-spamhaus-0.7.tar.gz
rozpakowujemy paczkę do dowolnego katalogu.
cd mod-spamhaus/src
wchodzimy do katalogu „mod-spamhaus/src”
apx’: apxs -i -a -c mod_spamhaus.c
korzystając z narzędzia Apache Extension tworzymy moduł, który automatycznie „wyląduje” w domyślnym położeniu modułów Apache i wpisze odpowiednia dyrektywę do pliku „httpd.conf” informującą o załadowaniu owego modułu. Musimy dokonać jeszcze kilku zmian w tym pliku. Dopisujemy następujące linie:
MS_METHODS POST,PUT,OPTIONS,CONNECT #określa jakich metod dostępu ma dotyczyć skanowanie
MS_WhiteList /etc/spamhaus.wl #położenie pliku z białą listę IP, które nie będą blokowane
MS_CacheSize 256 #pojemność pamięci cache w ilościach zapamiętanych adresów
MS_DNS inny_rbl_niż_domyślny #możemy tu np. wstawić adres naszego własnego serwera RBL
Teraz zrestartujmy nasz serwer www.
service httpd restart
Aby sprawdzić, czy nasz moduł dobrze działa najlepiej zajrzeć do logów błędów naszego serwera Apache. Jeśli znajdziemy coś podobnego do poniższych kilku linijek, to oznacza, zę ktoś został już zablokowany, czy nasza blokada działa.
[Fri Feb 26 11:09:05 2010] [crit] [client 77.22.55.88] mod_spamhaus: address 77.55.22.77.sbl-xbl.spamhaus.org is blacklisted. Deny connection to centos.com.pl/index..php, referer: https://centos.com.pl/index.php