SSH je široce používaný protokol používaný pro bezpečný přístup k serverům Linux. Většina uživatelů používá připojení SSH s výchozím nastavením pro připojení ke vzdálenému serveru. Nezabezpečené výchozí konfigurace však také představují různá bezpečnostní rizika.

Kořenový účet serveru s otevřeným přístupem SSH může být ohrožen. A zvláště pokud používáte veřejnou IP adresu, je mnohem snazší hacknout root heslo. Proto je nutné mít znalosti o zabezpečení SSH.

Zde je návod, jak můžete zabezpečit připojení k serveru SSH v systému Linux.

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

Nejprve zakažte uživateli root přístup SSH a vytvořit nového uživatele s právy root. Vypnutí přístupu k serveru pro uživatele root je obranná strategie, která brání útočníkům dosáhnout jejich cíle vniknutí do systému. Můžete například vytvořit uživatele s názvem ukázkový kořen jak následuje:

useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot

Zde je stručné vysvětlení výše uvedených příkazů:

  • useradd vytvoří nového uživatele a -m Parametr vytvoří složku pod Domov adresář pro uživatele, kterého jste vytvořili.
  • The passwd příkaz slouží k přiřazení hesla novému uživateli. Pamatujte, že hesla, která uživatelům přidělujete, by měla být složitá a těžko uhodnutelná.
  • usermod -aG sudo přidá nově vytvořeného uživatele do skupiny administrátorů.

Po procesu vytvoření uživatele je nutné provést některé změny sshd_config soubor. Tento soubor najdete na /etc/ssh/sshd_config. Otevřete soubor pomocí libovolného textového editoru a proveďte v něm následující změny:

# Ověření: 
#LoginGraceTime 2m
PermitRootLogin č
Ukázkový kořenový adresář AllowUsers

PermitRootLogin line zabrání uživateli root získat vzdálený přístup pomocí SSH. Počítaje v to ukázkový kořen v AllowUsers seznam uděluje uživateli potřebná oprávnění.

Nakonec restartujte službu SSH pomocí následujícího příkazu:

sudo systemctl restart ssh

Pokud se to nezdaří a zobrazí se chybová zpráva, zkuste příkaz níže. To se může lišit v závislosti na linuxové distribuci, kterou používáte.

sudo systemctl restart sshd

2. Změna výchozího portu

Výchozí port připojení SSH je 22. Všichni útočníci to samozřejmě vědí, a proto je nutné změnit výchozí číslo portu, aby byla zajištěna bezpečnost SSH. I když útočník může snadno najít nové číslo portu se skenem Nmap, cílem je zde ztížit útočníkovi práci.

Chcete-li změnit číslo portu, otevřete /etc/ssh/sshd_config a proveďte v souboru následující změny:

Zahrnout /etc/ssh/sshd_config.d/*.conf
Port 5922

Po tomto kroku restartujte službu SSH znovu pomocí sudo systemctl restart ssh. Nyní můžete přistupovat k serveru pomocí portu, který jste právě definovali. Pokud používáte bránu firewall, musíte tam také provést potřebné změny pravidel. Při spuštění netstat -tlpn můžete vidět, že číslo vašeho portu pro SSH se změnilo.

3. Blokovat přístup pro uživatele s prázdnými hesly

Ve vašem systému mohou být uživatelé bez hesla, které jste možná vytvořili omylem. Chcete-li takovým uživatelům zabránit v přístupu k serverům, můžete nastavit PermitEmptyPasswords hodnota řádku v sshd_config soubor do Ne.

PovolitEmptyHesla č

4. Omezit pokusy o přihlášení/přístup

Ve výchozím nastavení můžete přistupovat k serveru provedením tolika pokusů o zadání hesla, kolik chcete. Útočníci však mohou tuto chybu zabezpečení využít k hrubému vynucení serveru. Můžete automaticky ukončit připojení SSH po určitém počtu pokusů zadáním počtu povolených pokusů o zadání hesla.

Za tímto účelem změňte MaxAuthTries hodnota v sshd_config soubor.

MaxAuthTries 3

5. Použití SSH verze 2

Druhá verze SSH byla vydána kvůli mnoha zranitelnostem v první verzi. Ve výchozím nastavení můžete serveru povolit použití druhé verze přidáním Protokol parametr k vašemu sshd_config soubor. Tímto způsobem budou všechna vaše budoucí připojení používat druhou verzi SSH.

Zahrnout /etc/ssh/sshd_config.d/*.conf 
Protokol 2

6. Vypnutí přesměrování portů TCP a předávání X11

Útočníci se mohou pokusit získat přístup k vašim dalším systémům přesměrováním portů prostřednictvím připojení SSH. Abyste tomu zabránili, můžete vypnout PovolitTcpForwarding a X11 Přesměrování funkce v sshd_config soubor.

X11Přesměrování č 
AllowTcpForwarding ne

7. Připojení pomocí klíče SSH

Jedním z nejbezpečnějších způsobů připojení k serveru je použití klíče SSH. Když použijete klíč SSH, můžete k serveru přistupovat bez hesla. Kromě toho můžete zcela vypnout přístup k serveru pomocí hesla změnou parametrů souvisejících s heslem v sshd_config soubor.

Když vytvoříte klíč SSH, existují dva klíče: Veřejnost a Soukromé. Veřejný klíč je nahrán na server, ke kterému se chcete připojit, a soukromý klíč je uložen v počítači, pomocí kterého navážete spojení.

Vytvořte klíč SSH pomocí ssh-keygen příkaz na vašem počítači. Nenechávejte Přístupová fráze pole prázdné a zapamatujte si heslo, které jste zde zadali. Pokud jej necháte prázdné, budete k němu mít přístup pouze pomocí souboru klíče SSH. Pokud však nastavíte heslo, můžete zabránit útočníkovi se souborem klíče v přístupu k němu. Jako příklad můžete vytvořit klíč SSH pomocí následujícího příkazu:

ssh-keygen

8. Omezení IP pro připojení SSH

Firewall většinou blokuje přístup pomocí rámců svých vlastních standardů a snaží se chránit server. Ne vždy to však stačí a je potřeba tento bezpečnostní potenciál zvýšit.

Chcete-li to provést, otevřete /etc/hosts.allow soubor. S dodatky, které do tohoto souboru provedete, můžete omezit oprávnění SSH, povolit konkrétní blokování IP nebo zadat jednu IP a zablokovat všechny zbývající IP adresy pomocí příkazu deny.

Níže uvidíte některá ukázková nastavení. Po provedení těchto akcí restartujte službu SSH jako obvykle, aby se změny uložily.

Význam zabezpečení serveru Linux

Otázky zabezpečení dat a dat jsou poměrně podrobné a měli by je zvážit všichni správci serveru. Zabezpečení serveru je velmi citlivá záležitost, protože hlavním cílem útoků jsou webové servery, které obsahují téměř všechny informace o systému. Protože většina serverů běží na infrastruktuře Linuxu, je velmi důležité znát systém Linux a administraci serveru.

Zabezpečení SSH je jen jedním ze způsobů ochrany serverů. Je možné minimalizovat poškození, které utrpíte, zastavením, zablokováním nebo zpomalením útoku. Kromě zabezpečení SSH existuje mnoho různých metod, které můžete implementovat k zabezpečení svých serverů Linux.