Košík je prázdný

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.