3 způsoby, jak zabezpečit server SSH v systému Linux

SSH je fantastický nástroj, který umožňuje vzdálený přístup k terminálu jiných počítačů a serverů s Linuxem, a to jak v rámci sítě, tak i přes internet. Nicméně, i když je tato technologie skvělá, existují jistá bezpečnostní rizika, která mohou její používání učinit nebezpečným. Pro běžného uživatele není nutné instalovat složité bezpečnostní nástroje pro SSH. Místo toho je vhodné zvážit implementaci následujících základních kroků pro ochranu SSH serveru na Linuxu.

Změna standardního portu pro připojení

Jedním z nejrychlejších a nejjednodušších způsobů, jak zvýšit bezpečnost SSH serveru, je změna výchozího portu. Standardně SSH server běží na portu 22. Pro jeho změnu otevřete terminál a připojte se pomocí SSH ke vzdálenému počítači, kde běží SSH server.

ssh [email protected]

Po přihlášení se přepněte z běžného uživatele na uživatele root. Pokud máte rootovský účet, je nejlepší se přihlásit pomocí příkazu su. Jinak budete muset použít sudo.

su -

nebo

sudo -s

Nyní, když máte administrátorská práva, otevřete konfigurační soubor SSH v editoru Nano.

nano /etc/ssh/sshd_config

V konfiguraci vyhledejte řádek „Port 22“. Odstraňte znak # (pokud existuje) a změňte „22“ na jiné číslo portu. Doporučuje se zvolit port nad 100, nebo dokonce port z rozsahu 1000 a výše. Po změně čísla portu uložte úpravy klávesovou zkratkou Ctrl + O a ukončete editor klávesovou zkratkou Ctrl + X.

Změnou konfiguračního souboru se SSH server ihned nepřepne na nový port. Provedené změny vyžadují manuální restart služby.

systemctl restart sshd

Tento příkaz by měl restartovat SSH démona a aplikovat nové nastavení. Pokud restart démona selže, další možností je restartovat celý server.

reboot

Po restartu démona (nebo celého počítače) nebude SSH přístupné na portu 22. Připojení přes SSH bude vyžadovat ruční zadání nového portu.

Poznámka: Nezapomeňte nahradit „1234“ portem, který jste nastavili v konfiguračním souboru SSH.

ssh -p 1234 [email protected]

Zakázání přihlašování heslem

Další efektivní metodou pro zabezpečení SSH serveru je zrušení přihlašování pomocí hesla a přechod na přihlašování pomocí SSH klíčů. Použití SSH klíčů vytváří mezi serverem SSH a vzdálenými počítači, které mají daný klíč, jakýsi kruh důvěry. Jedná se o šifrovaný soubor s hesly, jehož prolomení je velmi obtížné.

Nejprve si vygenerujte SSH klíče na vašem serveru. Jakmile budete mít klíče nastavené, otevřete terminál a konfigurační soubor SSH.

su -

nebo

sudo -s

Poté otevřete konfigurační soubor v editoru Nano.

nano /etc/ssh/sshd_config

SSH servery standardně umožňují ověřování pomocí hesla uživatele. Ačkoli použití silného hesla představuje určitou úroveň zabezpečení, šifrovaný SSH klíč na důvěryhodných počítačích je rychlejší, pohodlnější a bezpečnější. Pro přechod na přihlašování bez hesla vyhledejte v konfiguračním souboru SSH řádek „PasswordAuthentication“.

Odstraňte symbol # před „PasswordAuthentication“ a ujistěte se, že je před ním slovo „no“. Pokud je vše v pořádku, uložte změny v konfiguraci klávesovou zkratkou Ctrl + O.

Po uložení konfigurace zavřete editor Nano pomocí Ctrl + X a restartujte SSH démona, aby se změny projevily.

systemctl restart sshd

Pokud nepoužíváte systemd, zkuste místo toho restartovat SSH pomocí tohoto příkazu:

service ssh restart

Při příštím pokusu o přihlášení ke vzdálenému počítači tento server SSH ověří správnost klíčů a umožní přihlášení bez hesla.

Deaktivace rootovského účtu

Zakázání rootovského účtu na vašem SSH serveru je dalším krokem, jak snížit riziko škod v případě, že by neoprávněná osoba získala přístup přes SSH. Pro deaktivaci účtu root je nutné, aby alespoň jeden uživatel na vašem serveru měl možnost získat rootovská oprávnění prostřednictvím sudo. To zajistí, že budete mít i nadále přístup na systémové úrovni v případě potřeby, a to bez použití hesla roota.

Upozornění: Ujistěte se, že uživatelé, kteří mají přístup k rootovským právům přes sudo, mají silné heslo. V opačném případě by deaktivace účtu superuživatele neměla smysl.

Pro zakázání rootovského účtu získejte terminálové oprávnění superuživatele:

sudo -s

Příkaz sudo -s obejde nutnost přihlášení přes su a místo toho poskytne rootovský shell prostřednictvím konfiguračního souboru sudoers. Nyní, když má shell přístup superuživatele, spusťte příkaz passwd a zamkněte účet root pomocí –lock.

passwd --lock root

Spuštěním tohoto příkazu se zamkne heslo rootovského účtu, a tím se znemožní přihlašování přes su. Od tohoto okamžiku se uživatelé SSH budou moci přihlásit pouze jako běžní uživatelé a poté získat rootovský přístup pomocí práv sudo.