Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



21.01.2019

Środowiska hybrydowe

Red Hat / NooBaa
21.01.2019

Certyfikat UL

Eaton Gigabit Network M2
21.01.2019

Przyjazny środowisku

Philips 241B7QGJ
20.12.2018

Większa moc

QNAP Mustang-200
20.12.2018

Nowa era Wi-Fi

NETGEAR Nighthawk AX8
20.12.2018

Szybkie skanowanie

Brother ADS-1700W i ADS-1200
06.12.2018

Niższe moce

UPS Eaton 9SX
03.12.2018

Monitory dla MŚP

AOC E1
29.11.2018

Wykrycie szkodliwego...

Sophos Intercept X Advanced

Ochrona usługi SSH

Data publikacji: 21-01-2019 Autor: Konrad Kubecki
Zapisy z aktywności usługi...

Secure Shell od wielu lat jest podstawowym składnikiem systemów Linux/Unix. Trudno wyobrazić sobie zarządzanie serwerami bez zastosowania usługi SSH. Jednocześnie jest ona jednym z tych elementów, które wymagają najlepszych środków bezpieczeństwa.

 

Brute force to stara, lecz nadal popularna metoda ataku. W kontekście usługi SSH polega na sprawdzaniu kolejnych kombinacji znaków w celu ustalenia hasła dającego dostęp do obranego na cel serwera. Są to więc powtarzające się w dużej ilości próby zalogowania się. Ataki wykorzystujące tę metodę są jednymi z najczęściej spotykanych na serwerach mających bezpośrednie połączenie z internetem, np. serwery hostingowe i routery. W artykule zostały opisane narzędzia ograniczające zagrożenie atakiem brute force oraz metody konfiguracji, które istotnie wpływają na poziom bezpieczeństwa usługi SSH.

> FAIL2BAN

Fail2ban jest usługą, która śledzi bieżące zdarzenia pojawiające się w logach różnych usług sieciowych. Wyszukuje w nich przede wszystkim powtarzające się, nieudane próby logowania.

Reakcją na niepożądane zdarzenia jest czasowe zablokowanie komunikacji ze źródłowym adresem IP poprzez dodanie odpowiedniej reguły do firewalla. Dodatkowo możliwe jest także wysłanie podsumowania z takiej operacji na wskazany adres poczty elektronicznej (np. adres e-mail administratora lub grupowa skrzynka zespołu).

W opisanym przykładzie skupimy się na wykorzystaniu Fail2ban do ochrony usługi SSH przed atakami brute force. Możliwości tego narzędzia są jednak znacznie większe – jest ono niezwykle użyteczne podczas ochrony wielu usług sieciowych. Twórcy Fail2ban zadbali o jego wszechstronność, dzięki czemu wspieranymi i chronionymi produktami są m.in.:

 

  • serwer SSHD,
  • serwery WWW – apache,
  • webowi klienci poczty elektronicznej: roundcube, openwebmail,
  • webowe narzędzia administracyjne: webmin,
  • serwery proxy: squid,
  • serwery FTP: proftpd, pureftpd, wuftpd, vsftpd,
  • serwery pocztowe: postfix, qmail, dovecot,
  • bazy danych: mysql, mongodb.


Instalacja pakietu Fail2ban w systemie CentOS wymaga konfiguracji repozytorium EPEL (Extra Packages for Enterprise Linux). Jest to jedno z popularniejszych i przydatniejszych repozytoriów, zawierających kilkadziesiąt tysięcy pakietów z różnych kategorii, takich jak bezpieczeństwo, development czy narzędzia. Jego instalację w systemie operacyjnym realizuje komenda yum install epel-release -y.

Następnym krokiem może być już instalacja Fail2ban przez komendę yum install fail2ban -y. Narzędzie pracuje jako usługa, więc należy je skonfigurować do automatycznego uruchamiania podczas startu systemu operacyjnego: systemctl enable fail2ban.

Pliki konfiguracyjne usługi znajdują się w katalogu /etc/fail2ban. Można wyróżnić ich cztery kategorie:
 

  • Plik /etc/fail2ban/fail2ban.conf – główny plik konfiguracyjny usługi, zawierający ustawienia globalne. Wśród nich są m.in. target do logowania, poziom logowania, plik logu dla usługi Fail2ban, umiejscowienie pliku pid usługi. Domyślne ustawienia Fail2ban powodują, że traci on dane historyczne/statystyczne po każdym restarcie usługi. W pliku fail2ban.conf znajdują się opcje pozwalające na trwały zapis informacji o blokadach w lokalnej bazie sqlite.
  • Plik /etc/fail2ban/jail.conf – plik konfiguracyjny, w którym znajdują się ustawienia takie jak: czas trwania blokady na firewallu, liczba nieudanych prób wystarczających do zablokowania podejrzanego adresu IP, rodzaj podejmowanej akcji (samo założenie blokady, blokada oraz mail informacyjny), usługa poczty do wysyłania maili, zakres blokowanych portów oraz parametry chronionych usług. Te parametry to przede wszystkim port, na którym dana usługa nasłuchuje, i ścieżka do jej logów.
  • Pliki w katalogu /etc/fail2ban/filter.d – powiązane z poszczególnymi usługami, definiują podstawy do blokad ruchu z danego adresu IP. Zawierają informacje o ochronionej usłudze oraz wzorce komunikatów występujących w logach. Te wzorce to szablonowe komunikaty, jakie mogą wystąpić podczas niechcianych prób logowania do usługi lub podczas podejrzanej aktywności. Przykładowe wzorce dla usługi SSH zostały opisane w ramce obok.
  • Pliki w katalogu /etc/fail2ban/action.d – definiują rodzaj akcji, jaki zostanie podjęty podczas blokowania komunikacji z danym adresem IP.


Plik /etc/fail2ban/jail.conf zawiera konfigurację dla wszystkich usług, które Fail2ban potrafi chronić, jednak ochrona jest domyślnie wyłączona. Zalecanym scenariuszem jest utworzenie pliku /etc/fail2ban/jail.local i włączenie w nim ochrony dla usług, które rzeczywiście tego wymagają. Plik fail­2ban.conf, zgodnie z rekomendacją twórców narzędzia, powinien pozostać w oryginalnej postaci.

Można zatem skopiować plik jail.conf, nadając kopii nazwę jail.local, lub utworzyć pusty plik jail.local i w nim zapisać docelowe ustawienia.

 

[...]

 

Specjalista ds. utrzymania infrastruktury i operacji. Zajmuje się problematyką budowy i utrzymania centrów przetwarzania danych oraz zarządzania nimi i koordynowaniem zmian dotyczących krytycznej infrastruktury IT.  

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"