Podstawowe zabezpieczenia serwera SSH
Ostatnimi czasy odbieram zmasowane ataki na wszystkie maszyny, które są pod moją opieką i nie tylko (patrz: serwery (nie)zarządzane przez klientów). Z racji tego, że goła instalacja systemu to otwarta furtka dla wszelkiego rodzaju automatów, botów i domorosłych crackerów poniżej przedstawiam kilka podstawowych porad dotyczących zabezpieczenia serwera na Debianie.
Interesuje nas plik /etc/ssh/sshd_config
- Zmieniamy domyślny port logowania (SSH – 22), im bardziej fikuśny tym lepiej:
Port 5831
teraz aby się zalogować na maszynę trzeba wymusić wejście na port inny:ssh -l user -p 5831 nazwahosta
- Zmieniamy adres na którym SSH ma nasłuchwiać, jeżeli maszyna ma więcej niż jeden IP należy wybrać ten na który się logujemy, albo port lokalny serwera, np:
ListenAddress 192.168.0.123
- Zmieniamy czas przez który można wpisać hasło:
LoginGraceTime 45
- Nie wiem dlaczego w Debianie ciągle można się zalogować jako root przez SSH, we FreeBSD od dawna domyślnie można wejść na usera a potem SU, więc dodajemy dwie kolejne linijki:
PermitRootLogin no [ StrictModes yes
- Warto zmienić wartość
MaxAuthTries 2
– ilość prób logowania, dwie wystarczą – albo znasz hasło, albo nie 🙂 - Użytkownicy, którzy mogą się logować to opcja
AllowUsers user
- Trzeba też zablokować możliwość logowania z pustymi hasłami:
PermitEmptyPasswords no
- Ostatnia warta dodania opcja to
PasswordAuthentication yes
o ile nie posługujesz się kluczami do logowania.
Na koniec oczywiście:
/etc/init.d/ssh restart