Konfiguracja SSH

by on Mar.31, 2012, under Hosting

SSH (secure-shell) to protokół komunikacyjny z rodziny protokołów TCP/IP działający w architekturze klient-serwer. SSH domyślnie uruchomiony jest na porcie 22, zaś przesyłanie danych pomiędzy klientem, a serwerem odbywa się w sposób zaszyfrowany.

Głównym zagrożeniem są boty, które metodą brute force próbują złamać hasło do konta root w naszym systemie. Poniżej zamieszczę kilka przydatnych informacji, dzięki którym będziemy w stanie podnieść bezpieczeństwo naszego systemu.

Jednym z rozwiązań jest wyłączenie możliwości logowania się via SSH na konto root oraz zmiana numeru portu na którym będzie nasłuchiwał demon sshd. Przechodzimy do edycji pliku konfiguracyjnego, który w Debianie znajduję się w lokalizacji /etc/ssh/sshd_config

W pliku tym znajdziemy kilka ciekawych opcji:

– Port 22 – numer portu na którym nasłuchuje demon sshd, proponuję dokonać zmiany na dowolny inny port, który nie jest wykorzystywany przez usługi w naszym systemie, np. 5005,

– Protocol 2 – wersja protokołu SSH, obecnie są dostępne wersje 1 i 2, proponuję sprawdzić czy na pewno jest podana wersja 2 protokołu SSH.

– LoginGraceTime – czas podany w sekundach jaki mamy na zalogowanie się do systemu po nawiązaniu sesji SSH. Domyślna wartość to 600. Sugeruję zmianę na niższą wartość – np. 15 sekund – tyle czasu powinno w zupełności wystarczyć na wpisanie nazwy użytkownika i hasła.

– MaxAuthTries – ilość nieprawidłowych prób logowania się do systemu po których zostanie zerwana sesja SSH. Po zerwaniu sesji konto użytkownika na które próbujemy się zalogować nie jest blokowane.

– PermitRootLogin – ustawienie tej opcji na „no” spowoduje brak możliwości zalogowania się poprzez protokół SSH do konta root. Oczywiście po zalogowaniu się na każde inne dowolne konto utworzone w systemie może zmienić użytkownika na root poprzez komendę su.

– PermitEmptyPasswords – ustawienie tej opcji na „no” spowoduje brak możliwości logowania się na konto użytkownika bez podania hasła.

Przy wykorzystaniu fail2ban i opcji MaxAuthTries możemy jeszcze banować hosty z których, ktoś próbował nieskutecznego logowania do systemu, ale o tym napiszę w osobnym artykule.

Dodatkową możliwością zabezpieczenia dostępu do systemu jest określenie z jakich adresów IP jest możliwe nawiązanie dostępu do serwera przez SSH. Konfigurację tą można wprowadzić w pliku w lokalizacji /etc/host.allow – przykładowy poprawny wpis powinien mieć postać sshd : adres_IP : allow – oczywiście na końcu dobrze jest wprowadzić opcję sshd : ALL : deny

W ten sposób odbiegając od standardowej, domyślnej konfiguracji jesteśmy w stanie podnieść bezpieczeństwo naszego systemu.


Comments are closed.

Wyszukiwarka