Zmiana portu ssh

  • Data: 2016

Sep 17 22:33:36 mail sshd[16193]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=arpanet.net  user=root
Sep 17 22:33:38 mail sshd[16193]: Failed password for root from 185.66.120.10 port 51927 ssh2
Sep 17 22:33:46 mail sshd[16193]: Failed password for root from 185.66.120.10 port 51927 ssh2
Sep 17 22:33:50 mail sshd[16193]: Failed password for root from 185.66.120.10 port 51927 ssh2
Sep 17 22:33:50 mail sshd[16193]: Connection closed by 185.66.120.10 [preauth]

Powyższe logi wskazują na nieudane próby zalogowania się na konto root, w 90% przypadków przez boty. Sytuacja ta jest jak najbardziej do zaakceptowania dla osób które:

  • potrafią stworzyć silne hasło
  • reszta użytkowników posiada silne hasła (ale to już ryzykowne założenie)
  • punkt pierwszy + nie mamy innych użytkowników

W każdym innym przypadku powinniśmy podjąć kroki ograniczające siłowe łamanie haseł na naszym serwerze. Najprostszym i trzeba przyznać skutecznym rozwiązaniem jest zmiana domyślnego portu ssh, gdyż w zasadzie wszystkie złośliwe robaki łączą się poprzez domyślny port ssh, czyli 22.

W pliku: /etc/ssh/sshd_config lokalizujemy linijkę Port 22 i zmieniamy na port powyżej 1024. (zakres 1025 - 65535).
Przy wyborze odpowiedniego portu dobrze jest najpierw sprawdzić czy już tego portu nie używany. Możemy to zrobić nie wiele sposobów, oto jeden z nich:

root ~ # netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 151.101.65.5:53         0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:9007          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:953                 :::*                    LISTEN
udp        0      0 151.101.65.5:53         0.0.0.0:*
udp        0      0 127.0.0.1:53            0.0.0.0:*

Jeżeli używamy firewall (np. iptables) musimy zezwolić na ruch na tym porcie. Po wprowadzonych zmianach w pliku konfiguracyjnym ssh restartujemy usługę.

Przy zmianie portu nie polecam ustawiania go na wartość 2222, co jest bardzo popularne wśród administratorów jak i wśród nieprzyjaznych aplikacji (wrogich).

Zmiana portu ssh nie jest do końca zabezpieczeniem, właściwie redukujemy tylko siłowe próby ataku. Są też przypadki, w których trudno zmienić port, chociażby przyzwyczajenia użytkowników lub korzystanie z oprogramowania, które korzysta z protokołu ssh, wtedy wszędzie musimy dokonać odpowiednich zmian.

Pozostając przy standardowym porcie dobrym pomysłem jest limitowanie nieudanych prób logowań np. za pomocą fail2ban.

Powrót »