SSH je úžasné, protože nám umožňuje získat terminálový přístup k jiným počítačům a serverům se systémem Linux přes síť nebo dokonce internet! Přesto, jakkoli je tato technologie úžasná, existují některé do očí bijící bezpečnostní problémy, kvůli kterým je její používání nebezpečné. Pokud jste průměrný uživatel, není potřeba instalovat složité bezpečnostní nástroje SSH. Místo toho zvažte provedení těchto základních kroků k zabezpečení serveru SSH v systému Linux.
Table of Contents
Změňte výchozí port připojení
Zdaleka nejrychlejším a nejsnadnějším způsobem zabezpečení serveru SSH je změna portu, který používá. Ve výchozím nastavení běží SSH server na portu 22. Chcete-li jej změnit, otevřete okno terminálu. Uvnitř okna terminálu SSH ke vzdálenému PC hostujícímu SSH server.
ssh [email protected]
Po přihlášení přejděte z běžného uživatele na root. Pokud máte účet root, je dobré se přihlásit pomocí su. Jinak budete muset získat přístup pomocí sudo.
su -
nebo
sudo -s
Nyní, když máte přístup správce, otevřete konfigurační soubor SSH v Nano.
nano /etc/ssh/sshd_config
Procházejte konfiguračním souborem „Port 22“. Odstraňte #, pokud existuje, a změňte „22″ na jiné číslo. Obvykle postačí port nad 100 nebo dokonce jeden v rozsahu 1 000. Po změně čísla portu uložte úpravy stisknutím kombinace kláves Ctrl + O. Poté ukončete editor stisknutím Ctrl + X.
Úpravou konfiguračního souboru se okamžitě nepřepne váš server SSH na správný port. Místo toho budete muset službu restartovat ručně.
systemctl restart sshd
Spuštěním příkazu systemctl by se měl restartovat démon SSH a použít nová nastavení. Pokud selže restart démona, další možností je restartovat počítač serveru SSH:
reboot
Po restartování démona (nebo počítače) nebude SSH přístupný přes port 22. V důsledku toho připojení přes SSH vyžaduje ruční zadání portu.
Poznámka: Nezapomeňte změnit „1234“ pomocí portu nastaveného v konfiguračním souboru SSH.
ssh -p 1234 [email protected]
Zakázat přihlášení pomocí hesla
Dalším skvělým způsobem, jak zabezpečit server SSH, je odstranit přihlášení pomocí hesla a místo toho přejít na přihlášení pomocí klíčů SSH. Přechod na cestu klíče SSH vytváří kruh důvěry mezi vaším serverem SSH a vzdálenými počítači, které mají váš klíč. Je to zašifrovaný soubor s hesly, který je těžké prolomit.
Nastavte pomocí klíče SSH na vašem serveru. Až budete mít klíče nastavené, otevřete terminál a otevřete konfigurační soubor SSH.
su -
nebo
sudo -s
Poté otevřete konfiguraci v Nano pomocí:
nano /etc/ssh/sshd_config
Servery SSH standardně zpracovávají ověřování pomocí hesla uživatele. Pokud máte bezpečné heslo, je to dobrý způsob, jak jít, ale šifrovaný klíč SSH na důvěryhodných počítačích je rychlejší, pohodlnější a bezpečnější. Chcete-li dokončit přechod na „přihlášení bez hesla“, podívejte se do konfiguračního souboru SSH. Uvnitř tohoto souboru procházejte a najděte položku, která říká „PasswordAuthentication“.
Odstraňte symbol # z přední části „Ověření hesla“ a ujistěte se, že před ním je slovo „ne“. Pokud vše vypadá dobře, uložte úpravy konfigurace SSH stisknutím Ctrl + O na klávesnici.
Po uložení konfigurace zavřete Nano pomocí Ctrl + X a restartujte SSHD, aby se změny projevily.
systemctl restart sshd
Pokud nepoužíváte systemd, zkuste místo toho restartovat SSH tímto příkazem:
service ssh restart
Až se vzdálený počítač příště pokusí přihlásit k tomuto serveru SSH, zkontroluje správné klíče a vpustí je dovnitř bez hesla.
Zakázat kořenový účet
Zakázání účtu root na vašem serveru SSH je způsob, jak zmírnit škody, které mohou nastat, když neoprávněný uživatel získá přístup přes SSH. Chcete-li zakázat účet Root, je nutné, aby alespoň jeden uživatel na vašem serveru SSH mohl získat root prostřednictvím sudo. Tím zajistíte, že v případě potřeby budete moci stále získat přístup na úrovni systému, bez hesla roota.
Poznámka: Ujistěte se, že uživatelé, kteří mají přístup k rootovským právům přes sudo, mají zabezpečené heslo, jinak je zakázání účtu superuživatele zbytečné.
Chcete-li zakázat root, povyšte terminál na oprávnění superuživatele:
sudo -s
Použití sudo -s obchází nutnost přihlášení pomocí su a místo toho poskytuje root shell prostřednictvím souboru sudoers. Nyní, když má shell přístup superuživatele, spusťte příkaz password a zakódujte účet root pomocí –lock.
passwd --lock root
Spuštěním výše uvedeného příkazu se zakóduje heslo účtu root, takže přihlášení přes su není možné. Od nynějška mohou uživatelé SSH vstoupit pouze jako místní uživatel a poté přepnout na účet root pomocí práv sudo.