GNU/Linux >> Znalost Linux >  >> Ubuntu

Nejlepší postupy zabezpečení OpenSSH

SSH (Secure Shell) je šifrovací síťový protokol pro spouštění textových relací shellu na vzdálených počítačích bezpečným způsobem.

OpenSSH je standardní SSH klient a server používaný většinou linuxových distribucí. Je to nástroj pro připojení, na který většina správců spoléhá při práci na svých serverech Linux a *BSD. OpenSSH šifruje veškerý provoz (včetně hesel), aby účinně eliminoval odposlechy, únosy připojení a další útoky. Takže jinými slovy "OpenSSH zajišťuje, že připojení k vašemu serveru je bezpečné". Podrobný výklad o SSH naleznete v článku Wikipedie.

Tento tutoriál popisuje osvědčené postupy pro bezpečnou konfiguraci vašeho serveru SSH.

Zabezpečení OpenSSH

Toto je šest nejdůležitějších úkolů pro zabezpečení nastavení serveru SSH:

  1. Používejte silné heslo.
  2. Změňte výchozí port SSH.
  3. Vždy používejte protokol verze 2.
  4. Zakažte přihlášení uživatele root.
  5. Omezit přístup uživatelů.
  6. Používejte k ověřování na základě klíče.

Používejte silné heslo

Heslo je slovo nebo řetězec znaků používaný pro ověření uživatele k prokázání identity nebo schválení přístupu k získání přístupu ke zdroji. Udržujte jej v tajnosti před těmi, kteří nemají povolen přístup k serveru. Používejte složité a dlouhé heslo, mělo by být snadno zapamatovatelné a podle vás jedinečné, ale nemělo by být snadné uhodnout pro ostatní . Nepoužívejte `admin123` nebo `admin` atd., které lze snadno uhodnout, a nepoužívejte datum narození, jméno manželky atd. Dobré heslo by také mělo obsahovat speciální znaky jako '.!;/' (nejen znaky a-c a 0-9). V hesle používejte velká a malá písmena.

Změnit výchozí port SSH

Výchozí příspěvek služby SSH je 22, měli byste to změnit, aby bylo méně zřejmé, že váš server provozuje službu SSH. Konfigurační soubor SSH se nachází v adresáři /etc/sshd/, musíte upravit konfigurační soubor /etc/ssh/sshd_config .

nano /etc/ssh/sshd_config

Vyhledejte řádek "Port":

Port 22

a změňte jej na své oblíbené číslo portu, například:1337

Port 1337

Vyberte port, který se na vašem serveru ještě nepoužívá. Seznam portů, které se aktuálně používají, můžete získat příkazem:

netstat -ntap

Výsledkem tohoto příkazu je poměrně dlouhý seznam, který zobrazuje všechny otevřené porty a připojení. Pokud chcete pouze zkontrolovat, zda je požadovaný port dostupný, použijte tento příkaz:

netstat -ntap | grep 4422

V tomto příkladu zkontroluji, zda je port 4422 volný. Pokud příkaz nevrátí výsledek, pak je port dostupný a lze jej použít pro SSH.

Vždy používat protokol 2

SSH má dvě verze protokolu, starý protokol 1, který je nezabezpečený, a nový protokol 2. Proto pro váš server ssh vždy používejte protokol 2, je bezpečnější než protokol 1. Více informací zde.

Zakázat přihlášení uživatele root

Měli byste zakázat přímé přihlášení pro uživatele root, protože existuje mnoho útoků hrubou silou proti jménu superuživatele root. DŮLEŽITÉ:Před deaktivací účtu root otestujte přihlášení SSH se svým alternativním uživatelem bez oprávnění root, kterého plánujete používat pro přihlašování ssh.

PermitRootLogin no

Poté, co nastavíte "PermitRootLogin" na "no", již se nemůžete přihlásit pomocí účtu root, ačkoli používáte správné heslo pro uživatele root.

Omezit uživatele

Měli byste přidat nového uživatele pro přihlášení na váš server. Předpokládejme, že jste vytvořili uživatele ruiko a mikoto pro přihlášení na váš server, pak můžete přidat nový řádek:

AllowUsers ruiko mikoto

v /etc/ssh/sshd_config pro omezení přístupu SSH na tyto uživatele.

Použít ověřování na základě klíče

Doporučil jsem vám použít tuto možnost, protože se velmi snadno nastavuje a je bezpečnější než ověřování na základě hesla. Nejprve si musíte na svém lokálním (stolním) počítači vytvořit pár veřejného a soukromého klíče, já k jeho vytvoření používám Linux.

Pár veřejný / soukromý klíč můžete vytvořit pomocí tohoto příkazu:

ssh-keygen -t rsa -b 4096

Vytvoří 2 soubory umístěné v adresáři ~/.ssh/, id_rsa jako soukromý klíč a id_rsa.pub jako veřejný klíč. Pokud se zobrazí výzva k zadání hesla, můžete jej nechat prázdné nebo zadat heslo. K ochraně klíče se doporučuje použít heslo.

Nyní nahrajte veřejný klíč id_rsa.pub na svůj server pomocí příkazu ssh-copy-id.

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Automaticky zapíše váš veřejný klíč do souboru ~/.ssh/authorized_keys/ na vašem serveru.

Nyní se vraťte na svůj server a znovu upravte konfiguraci souboru ssh.

nano /etc/ssh/sshd_config

Odkomentujte tento řádek:

AuthorizedKeysFile     %h/.ssh/authorized_keys

a nakonec restartujte svůj ssh server:

systemctl restart sshd

Nyní se zkuste připojit k vašemu serveru:

ssh -p '4422' '[email protected]'

Závěr

OpenSSH je standardem pro zabezpečený vzdálený přístup k *Unixovým serverům a nahrazuje nešifrovaný protokol telnet. SSH (a jeho subprotokol pro přenos souborů SCP) zajišťuje, že připojení z vašeho místního počítače k ​​serveru je šifrované a bezpečné. Základní instalace OpenSSH je již docela bezpečná, ale můžeme ji zlepšit podle výše uvedeného průvodce.


Ubuntu
  1. Doporučené postupy zabezpečení serveru Windows

  2. Osvědčené postupy zabezpečení Wordpress v systému Linux

  3. SSH relay server s OpenSSH

  1. Jak nainstalovat SSH server na Ubuntu / Debian s OpenSSH

  2. Nejlepší postupy zabezpečení serveru Linux

  3. Nejlepší postupy pro server Nagios?

  1. Doporučené postupy DNS pro zabezpečení a výkon

  2. 10 doporučených postupů zabezpečení Dockeru

  3. 10 doporučených postupů zabezpečení databáze