Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

OpenSSH - Zabezpieczamy serwer

Witam, jako, że bardzo spodobał Wam się poprzedni artykuł o bezpieczeństwie tak więc postaram się jeszcze nieco napisać.

Fot: openssh.com

OpenSSH jest serwerem udostępniającym zdalny dostęp do powłoki systemowej.
Użytkownik logując się z drugiego końca świata do Swojego serwera lub komputera może czuć się jak by właśnie przy nim siedział.
Istnieją dwie wersje protokołu SSH - pierwsza i druga, dziś raczej używa się tej drugiej ponieważ jest dużo bezpieczniejsza.

r   e   k   l   a   m   a

W artykule przedstawię Wam kilka sposobów na zabezpieczenie serwera SSH by nie był on tak dziurawy jak zabezpieczenie pokazane na obrazku poniżej ;-)

Fot: http://thereifixedit.failblog.org/

Odpowiednia wersja protokołu

Pierwszą rzeczą którą należałoby wykonać to zablokowanie starszego protokołu SSHv1 w którym zostały odkryte podatności na ataki kryptoanalityczne umożliwiające wstrzykiwanie poleceń do zaszyfrowanego strumienia danych (patrz. man in the middle ).

W tym celu ustawiamy odpowiednią zmienną w /etc/ssh/sshd_config:


Protocol 2

Zmiana domyślnego portu

Zmiana portu to dodatkowa kłoda pod nogi potencjalnego włamywacza, będzie musiał on najpierw znaleźć na jakim porcie mamy serwer SSH aby dopiero wtedy mógł zacząć próbować się do niego włamać.


Port 9317

Najlepiej aby port był z wysokiej póli liczbowej, nie poleca się także ustawiania popularnej liczby jako numer portu np. 666 ponieważ potencjalny włamywaczowi może ta liczba jako pierwszy przyjść na myśl ;-)

W ten sposób można także uniknąć niektórych botów atakujących serwery SSH.

Automatyczne banowanie po kilku nieudanych próbach logowania

Przy pomocy programu denyhosts bądź fail2ban można teoretycznie zapobiec atakom typu brute force na serwer SSH ponieważ zbanuje on potencjalnego włamywacza/bota po kilku nieudanych próbach.

Po zainstalowaniu denyhosts należy dodać go do startu razem z systemem, w Ubuntu sam się doda, w [color=#ad77f9]Gentoo przy pomocy [color=#ad77f9]rc-update add denyhosts default, w [color=#2d9dd5]Arch Linux w [color=#2d9dd5]/etc/rc.conf.

Konfiguracja denyhosts dzieli się głównie na pliki:


/etc/hosts.allow - biała lista, należy tam dodać zaufane maszyny
/etc/hosts.deny - lista zablokowanych maszyn, denyhosts ją automatycznie uzupełnia

Format plików konfiguracyjnych hosts.{allow,deny}:


usługa: ad.r.es.ip
sshd: 10.0.0.10

Ograniczenie dostępu dla poszczególnych użytkowników

W /etc/ssh/sshd_config można utworzyć listę użytkowników lub grup które będą mogły używać SSH (na ich konto będzie można się zalogować).


AllowUsers webnull
DenyUsers wewnetrzny_uzytkownik
AllowGroups - grupa_webnulla
DenyGroups - lighttpd

Logowanie na konto root

Oczywiście warto zablokować dostęp do konta root wprost przez SSH tak aby móc się zalogować najpierw na zwykłego użytkownika a następnie na konto root.

Większość botów i włamywaczy - można śmiało powiedzieć, że 99% próbuje się uzyskać dostęp do konta root.

Zatem aby wyłączyć logowanie na konto root należy ustawić:


PermitRootLogin no

Zablokowanie możliwości logowania bez użycia hasła

Zmienna konfiguracyjna PermitEmpty określa czy użytkownik może logować się bez hasła, zaleca się ustawić wartość no.

PermintEmpty no

 

Komentarze