Prevenire gli attacchi di forza bruta su SSH
La sicurezza è una cosa importante, e qui non è oggetto di discussione. Należy dbać o bezpieczeństwo swoich maszyn a co za tym idzie swoich danych zarówno na komputerach domowych jak i na serwerach. Te ostatnie mogą być bardziej narażone na różnorodne ataki, serwer sieciowy jest zawsze podłączony do sieci i może zawierać interesujące dla innych informację.
Jest też doskonałym narzędziem na przeprowadzania dalszych ataków na inne serwery i komputery, dlatego może stać się dla kogoś łakomym kąskiem.
DenyHosts jest to narzędzie służące do zapobiegania włamaniom na serwery. Wykrywa on ataki brute force, monitoruje nieprawidłowe próby logowania, zapisuje zdarzenie do dziennika oraz blokuje IP z którego przeprowadzany był atak.
Instalacja w Debianie/Ubuntu
1 | sudo apt-get install denyhosts |
configurazione
Po instalacji demon uruchamia się automatycznie i jest już wstępnie skonfigurowany. Działa i spełnia swoje zadanie, należy go jednak dostosować do swoich potrzeb. Plik konfiguracyjny znajduje się w /etc/denyhosts.conf i potrzeba go edytować:
1 | nano /etc/denyhosts.conf |
Ważne ustawienia:
Sekcja PURGE_DENY, w niej ustawiamy po jakim czasie blokowane IP ma być usuwane z czarnej listy. Domyślnie jest ustawione:
1 | PURGE_DENY = |
Co oznacza, że IP blokowane jest na stałe i nie są usuwane z czarnej listy. Myślę, że należy tak zostawić.
BLOCK_SERVICE, tutaj ustawiamy czy dany IP ma być blokowany tylko dla SSH czy dla wszystkich usług. Domyślnie ustawione jest blokowanie tylko SSH, więc warto zamienić:
1 | BLOCK_SERVICE = sshd |
należy
1 | BLOCK_SERVICE = ALL |
DENY_THRESHOLD_INVALID, tutaj ustawiamy po ilu nie udanych próbach logowania IP ma zostać zbanowane. Domyślnie jest to 5 nieudanych prób:
1 | DENY_THRESHOLD_INVALID = 5 |
DENY_THRESHOLD_VALID, ta opcja również odpowiada za ustawienie ilości nieudanych logowań po których banowane ma być IP, z tym że tyczy się kont które istnieją w /etc/passwd. Domyślnie jest to 10 prove:
1 | DENY_THRESHOLD_VALID = 10 |
DENY_THRESHOLD_ROOT w tej sekcji ustawiamy można ustawić, czy mają być od razu blokowane próby zalogowania na konto root. Jeśli ktoś będzie chciał się zalogować na konto root, jego IP zostanie zbanowane. Domyślnie jest to włączone:
1 | DENY_THRESHOLD_ROOT = 1 |
DENY_THRESHOLD_RESTRICTED włączenie tej opcji powoduje blokowanie IP po próbie zalogowania się przy użyciu loginu wymienionego w pliku restricted-usernames. Domyślnie włączone:
1 | DENY_THRESHOLD_RESTRICTED = 1 |
SYNC_SERVER bardzo interesująca opcja, po jej włączeniu DenyHosts będzie pobierał bazę blokowanych IP z serwera (pamiętaj botnety nie śpią 😛 heise-online.pl) domyślnie opcja ta jest wyłączona, jednak warto ją włączyć, wystarczy odkomentować:
1 | #SYNC_SERVER = http://xmlrpc.denyhosts.net:9911 |
SYNC_INTERVAL opcja ta odpowiada za częstotliwość synchronizacji bazy blokowanych IP (użyteczna tylko w przypadku włączenia SYNC_SERVER). Należy odkomentować:
1 | #SYNC_INTERVAL = 1h |
SYNC_UPLOAD opcja ta zezwala na wysyłanie do serwera naszej bazy blokowanych IP. Można włączyć to przez odkomentowanie:
1 | #SYNC_UPLOAD = yes |
SYNC_DOWNLOAD ustawienie to zezwala na pobieranie listy zbanowanych IP, należy włączyć to poprzez odkomentowanie:
1 | #SYNC_DOWNLOAD = yes |
Warto również skonfigurować sekcje ADMIN_EMAIL, SMTP_HOST, SMTP_USERNAME i SMTP_PASSWORD