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



26.10.2020

Nowa wersja nVision

Można już pobierać nową wersję nVision
26.10.2020

Monitorowanie infrastruktury

Vertiv Environet Alert
23.10.2020

Telefonia w chmurze

NFON Cloudya
23.10.2020

Nowości w EDR

Bitdefender GravityZone
23.10.2020

Wykrywanie anomalii

Flowmon ADS11
23.10.2020

Mobilny monitor

AOC 16T2
22.10.2020

HP Pavilion

HP zaprezentowało nowe laptopy z linii Pavilion.
22.10.2020

Inteligentny monitoring

WD Purple SC QD101
22.10.2020

Przełącznik 2,5GbE

QNAP QSW-1105-5T

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"