Kategorie | Bezpieczeństwo, Linux, Poradniki, Serwer

  

Zapobieganie atakom brute force na SSH

Opublikowano 22 sierpnia 2010 przez Franek

Bezpieczeństwo to rzecz ważna i tutaj nie podlega to dyskusji. 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
sudo apt-get install denyhosts
Konfiguracja

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ć:

sudo vim /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:
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ć:
BLOCK_SERVICE = sshd
należyBLOCK_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:
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 prób:
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:
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:
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ą :P heise-online.pl) domyślnie opcja ta jest wyłączona, jednak warto ją włączyć, wystarczy odkomentować:
#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ć:
#SYNC_INTERVAL = 1h

SYNC_UPLOAD opcja ta zezwala na wysyłanie do serwera naszej bazy blokowanych IP. Można włączyć to przez odkomentowanie:
#SYNC_UPLOAD = yes

SYNC_DOWNLOAD ustawienie to zezwala na pobieranie listy zbanowanych IP, należy włączyć to poprzez odkomentowanie:
#SYNC_DOWNLOAD = yes

Warto również skonfigurować sekcje ADMIN_EMAIL, SMTP_HOST, SMTP_USERNAME i SMTP_PASSWORD:

DenyHosts na denyhosts.sourceforge.net, inne oprogramowanie tego typu: Fail2ban fail2ban.org, BlockHosts aczoom.com.

  

9 Comments For This Post

  1. Rafał Says:

    Hm, nie wystarczy zezwolić tylko na logowanie używając klucza publicznego?

  2. ike Says:

    Brutal force?!

    A czyszczenie listy się czasem przydaje. Nie zawsze jest KVM, a mieć zablokowany dom0 to lipa.

  3. Franek Says:

    Oczywiście, że brute force :F

  4. Greyer Says:

    @ike wystarczy wpisać jakiegoś hosta na whitelistę denyhosts ;-)

  5. PcP Says:

    "oraz blokuje IP z którego przeprowadzany był atak.
    atakom"
    atakom?

  6. Franek Says:

    Poprawiłem, coś mi się tam wkleiło przypadkiem przy wrzucaniu wpisu do WP, pisałem go w gedit ;>

  7. 3ED Says:

    Opis “port knocking-u” fajnie jeszcze do nowego wpisu albo tego dopisać.. :]

  8. Paweł Says:

    Dziękuję za poradnik :)

  9. Texpro Says:

    wystarczy zmienic port ssh i tyle

Leave a Reply

Polityka komentarzy

     
     
Green Dog Says

MiniBlog