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


10.06.2019

Inteligentne zarządzanie...

W dniach 11, 12 i 13 czerwca – odpowiednio – w Gdańsku, w Warszawie i w Katowicach,...
27.05.2019

Rozwiązania na platformie GCP

Citrix SD-WAN i Citrix ADC
27.05.2019

Chmura hybrydowa

Dell Technologies Cloud
27.05.2019

Uproszczona komunikacja

Cisco Webex
24.05.2019

Konferencja IT Manager of...

W dniach 12–14 czerwca w Sopocie odbędzie się konferencja IT Manager of Tomorrow 2019. To...
24.05.2019

Ochrona sieci

Fortinet FortiOS 6.2
24.05.2019

Mniejsza złożoność

Rittal VX25 Ri4Power
24.05.2019

All-in-one NAS

QNAP TDS-16489U R2
24.05.2019

Układy SoC

AMD Ryzen Embedded R1000

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.  

Artykuł pochodzi z miesięcznika: IT Professional

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"