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


26.11.2019

Baza cyberzagrożeń otwarta

Kaspersky Threat Intelligence Portal
26.11.2019

Kopia zapasowa w chmurze

Veeam Backup dla Office’a i Azure
26.11.2019

Automatyzacja jako usługa

QNAP Qmiix
25.11.2019

Jeszcze szybciej

Trzeci generacja Ryzen Threadripper
25.11.2019

Wirtualizacja na...

QNAP QGD-1600P
25.11.2019

Laserowy projektor

Optoma UHZ65UST
25.10.2019

Skalowalna infrastruktura

Red Hat OpenStack Platform 15
25.10.2019

Cienki klient 2.0

Windows Virtual Desktop
25.10.2019

Nowy sprzęt Microsoftu

Rodzina Surface się powiększa

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"