Bądź na bieżąco - RSS

Fail2Ban – usuwanie adresu IP z czarnej listy

19 listopada, 2016 | Brak Komentarzy | Kategoria: Linux, Porady

Fail2BanJedną z najbardziej popularnych metod obrony przed atakami typu brute-force, które realizowane są automatycznie za pomocą skryptów sieciowych, jest zastosowanie aplikacji Fail2Ban na serwerze. Być może wspomniane ataki nie są szczególnie niebezpieczne, zwłaszcza jeżeli pamiętamy o stosowaniu odpowiednio skomplikowanych haseł dla kont użytkowników, generują jednak tony niepotrzebnych wpisów w logach systemów. Utrudnia to późniejszą analizę zdarzeń systemowych. Poza tym przy nieodpowiedniej konfiguracji naszych sieciowych usług serwerowych może to doprowadzić do zatrzymania się całego serwera – atak typu denial-of-service. Stąd trudno dziwić się popularności Fail2Ban, który po prostu umożliwia zablokowanie na jakiś czas adresu IP, jeśli jest on źródłem często powtarzających się zapytań, skierowanych do wybranej usługi sieciowej np. SSH, FTP itd.

Problemem jaki jest związany ze stosowaniem Fail2Ban jest blokowanie dobrych adresów IP. Na przykład może do tego dojść jeśli nasz użytkownik zapomni hasła do poczty i będzie usiłlował wielokrotnie zalogować się z błędem. Zgodnie ze zdefiniowanymi regułami zostanie zablokowany. Taka sytaucja zdarza się dosyć często. Wie o tym każdy kto zajmuje się administrowaniem. W dokumentacji Fail2Ban można znaleźć informacje jak odblokować wskazany adres za pomocą narzędzia fail2ban-client. Niestety ze względu na różnicę wersji samego oprogramowania dla różnych dystrybucji systemu Linux, jak również niepoprawnie obsługiwane funkcje, bywa, że Fail2Ban nie radzi sobie z tym zadaniem prawidłowo. Dlatego chciałem zaproponować inną metodę, bazującą na poleceniu iptables. Fail2Ban wykorzystuje iptables do blokowania połączeń, zatem poniższa metoda jest jak najbardziej bezpieczna.

Z poziomu administratora – konto root – wydajemy polecenie w konsoli systemowej:

iptables -L -n --line-numbers

Następnie odnajdujemy poszukiwany adres IP na liście i zapamiętujemy nazwę łańcucha np. Chain dynamic – nazwa dynamic, oraz numer linii. Parametry te posłużą do usnięcia adresu IP z czarnej listy za pomocą polecenia:

iptables -D nazwa_lancucha numer_linii

W tym momencie przywracamy dostęp do serwera naszemu zapominalskiemu użytkownikowi.

MG

Tagi: , , ,

Konfiguracja blacklist za pomocą Shorewalla

4 czerwca, 2011 | Brak Komentarzy | Kategoria: Linux, Porady

Shorewall to jeden z bardzo popularnych firewalli dla Linuxa. W rzeczywistości jest nakładką na IPTABLES ale ponieważ jest przejrzysty i łatwy w konfiguracji często używam go w środowiskach o dużej liczbie serwerów. W tym artykule chciałbym skupić się wyłącznie na konfiguracji pozwalającej na zastosowanie blacklist – czarnych list za pomocą shorewalla.

Każdy administrator serwera z publicznym adresem IP spotkał się z atakami słownikowymi na usługi. Większość z nich przeprowadzanych jest przez automaty i przy zachowaniu odpowiednich zasad bezpieczeństwa nie powinna stanowić zagrożenia. Jednak licho nie śpi i dlatego zastosowanie czarnych list na poziomie firewalla pozwala ograniczyć liczbę ataków.

Z pomocą shorewalla możemy utrzymywać własne czarne listy. Aby włączyć tą funkcję należy:

  • Dodać opcję blacklist w pliku definicji interfejsów – interfaces (ścieżka domyślna: /etc/shorewall/interfaces)
net    eth0    detect    blacklist
  • Utworzyć plik blacklist (ścieżka domyślna: /etc/shorewall/blacklist) z odpowiednią zawartością np.
1.232.0.0/13        tcp        22,2200,2222

Pierwsza opcja to adres IP w notacji CIDR, druga rodzaj protokołu (tcp,udp), zaś trzecia to port blokowany dla ruchu przychodzącego.

  • Zrestartować demona shorewall:
/etc/init.d/shorewall restart

To wszystko:) Na zakończenie bonus w postaci gotowego pliku blacklist z aktualizowaną co tydzień czarną listą, który można pobrać pod adresem:

http://dl.dropbox.com/u/545869/Config/Shorewall/blacklist

MG

Tagi: , ,