Jak vypnout SSH root login
SSH (Secure Shell) je standardní protokol pro bezpečný vzdálený přístup k serverům. Povolení přímého přihlášení uživatele root přes SSH představuje bezpečnostní riziko, protože útočníci často cílí právě na tento účet kvůli jeho maximálním oprávněním. Vypnutí možnosti přihlášení root uživatele přes SSH je klíčový krok ke zvýšení bezpečnosti vašeho Linuxového serveru. V tomto článku se podíváme na to, jak vypnout SSH root login a proč je to důležité.
Proč je důležité zakázat SSH root login?
Root účet má neomezená práva na Linuxovém systému, což z něj dělá primární cíl pro útoky. Pokud útočník získá přístup k root účtu, může převzít kontrolu nad celým systémem. Povolení přihlášení jako root uživatel skrze SSH výrazně zvyšuje šanci na kompromitaci serveru. Zakázání této možnosti a použití méně privilegovaného uživatele v kombinaci s příkazy sudo poskytuje dodatečnou vrstvu zabezpečení.
Kroky k vypnutí SSH root login
Vypnutí možnosti přihlášení root uživatele přes SSH zahrnuje úpravu konfiguračního souboru sshd_config. Zde je podrobný postup:
1. Přihlaste se k serveru přes SSH
Nejprve se přihlaste k vašemu serveru pomocí SSH, pokud nejste již přihlášeni. Pro přihlášení použijte uživatele s oprávněním root nebo jiného uživatele s právy sudo:
ssh uzivatel@adresa_serveru
2. Otevřete konfigurační soubor SSH
Konfigurační soubor SSH se obvykle nachází v adresáři /etc/ssh/sshd_config. Otevřete tento soubor pomocí textového editoru, například nano nebo vim:
sudo nano /etc/ssh/sshd_config
3. Najděte direktivu PermitRootLogin
V konfiguračním souboru vyhledejte řádek obsahující direktivu PermitRootLogin. Měl by vypadat nějak takto:
#PermitRootLogin prohibit-password
Ve výchozím nastavení je povolené přihlášení root uživatele s omezením na ověřování přes veřejný klíč (prohibit-password). Vaším cílem je toto přihlášení zcela zakázat.
4. Zakázání přihlášení root uživatele
Abyste zakázali přihlášení root uživatele přes SSH, změňte řádek na následující:
PermitRootLogin no
Tímto zcela vypnete možnost přihlásit se jako root přes SSH, ať už pomocí hesla nebo veřejného klíče.
5. Restartujte SSH službu
Po provedení úprav musíte restartovat službu SSH, aby se změny projevily. Použijte následující příkaz:
sudo systemctl restart ssh
Případně, na některých systémech můžete použít příkaz:
sudo service ssh restart
6. Testování nového nastavení
Pro otestování nového nastavení se zkuste přihlásit k serveru jako uživatel root přes SSH. Pokud je konfigurace správná, měl by být pokus o přihlášení zamítnut:
ssh root@adresa_serveru
Pokud vše funguje správně, SSH by nemělo povolit přístup.
Vytvoření ne-root uživatele s právy sudo
Pokud zakážete přihlášení root uživatele, je důležité mít ne-root uživatele s právy sudo, který vám umožní vykonávat administrativní úlohy. Pokud takového uživatele ještě nemáte, vytvořte ho pomocí následujících kroků:
1. Vytvoření nového uživatele
Použijte příkaz adduser k vytvoření nového uživatele:
sudo adduser novy_uzivatel
2. Přidání uživatele do skupiny sudo
Přidejte uživatele do skupiny sudo, aby měl administrativní práva:
sudo usermod -aG sudo novy_uzivatel
3. Přihlášení jako nový uživatel
Odhlaste se a přihlaste jako nový uživatel, abyste otestovali jeho schopnost používat sudo:
ssh novy_uzivatel@adresa_serveru
4. Použití sudo k provedení administrativních úloh
Zkuste spustit administrativní příkaz s pomocí sudo:
sudo apt update
Pokud vše funguje správně, budete vyzváni k zadání hesla nového uživatele, a poté se příkaz provede.
Zakázání SSH root loginu je jedním z klíčových kroků ke zlepšení bezpečnosti vašeho Linuxového serveru. Tím se snižuje riziko, že útočník získá přímý přístup k administrativním právům systému. V kombinaci s vytvořením ne-root uživatele s právy sudo je tento postup základním bezpečnostním opatřením, které by měl každý správce serveru implementovat.