Ve výchozím nastavení je známo, že protokol SSH naslouchá portu 22. I když je to naprosto v pořádku, z bezpečnostního hlediska se doporučuje změnit výchozí port na jiný port. To výrazně minimalizuje rizika hackerů, kteří spouštějí automatizované útoky hrubou silou pomocí SSH. V této příručce si ukážeme, jak můžete v Linuxu změnit výchozí port SSH na něco jiného.
Předpoklady
Když začnete, ujistěte se, že máte instanci linuxového serveru. Pro tuto příručku používáme server Ubuntu 20.04.
Ujistěte se, že máte také klienta SSH (jako je Putty) nebo dokonce klientský systém Linux pro nastavení připojení k serveru pomocí nového portu.
Krok 1:Zkontrolujte, zda SSH běží na výchozím portu
Nejprve musíme ověřit, že na serveru běží služba SSH. Chcete-li to provést, spusťte následující příkaz:
$ sudo systemctl status ssh
Výstupem je potvrzení, že služba SSH je aktivní. Pojďme ještě dále a ujistěte se, že běží na výchozím portu. Spusťte následující příkaz netstat.
$ sudo netstat -pnltu | grep 22
Krok 2:Vyberte port a nakonfigurujte SSH
Jak možná víte, porty TCP se pohybují v rozmezí od 0 do 65535. Porty od 0 do 1024 jsou však považovány za privilegované porty určené pro speciální služby, jako je HTTP (Port 80), FTP (21) a SMTP (25) až zmiňme jen několik.
Abychom se vyhnuli jakémukoli konfliktu s privilegovanými porty, vybereme port, který je nad portem 1024. V tomto příkladu jsme se rozhodli změnit výchozí port na port 5466. Abychom to povolili, upravíme /etc/ ssh/sshd_config konfigurační soubor SSH.
$ sudo vim /etc/ssh/sshd_config
Najděte řádek, který začíná #Port 22 jak je uvedeno.
Odkomentujte a zadejte číslo portu.
Poté uložte provedené změny a ukončete konfigurační soubor. Aby změny přetrvaly, restartujte službu SSH.
$ sudo systemctl restart ssh
Chcete-li ověřit, že SSH naslouchá nově nakonfigurovanému portu, spusťte:
$ sudo netstat -pnltu | grep 5466
Krok 3:Povolte nový port SSH na firewallu UFW
Pokud je povolena brána firewall UFW, nezapomeňte otevřít nakonfigurovaný port podle obrázku.
$ sudo ufw allow 5466/tcp
$ sudo ufw reload
Pro CentOS / RHEL otevřete port následovně.
$ sudo firewall-cmd --add-port=5466/tcp --add-zone=public --permanent
$ sudo firewall-cmd --reload
V tomto okamžiku můžete vzdáleně přistupovat k serveru a to si brzy ukážeme.
Krok 4:Přihlášení pomocí nového portu
Chcete-li se přihlásit k serveru, přejděte na klienta SSH. Zadejte číslo portu pomocí -p možnost následovaná portem SSH a identitou vzdáleného serveru.
$ ssh -p 5466 [email protected]
Jak byste očekávali, budete vyzváni k zadání hesla, po jehož zadání vám bude udělen přístup ke vzdálenému serveru.
Závěr
Tím se toto téma uzavírá. Pro lepší zabezpečení zvažte použití ověřování SSH bez hesla s párem veřejného/soukromého klíče SSH.