Zabezpečení připojení k VPS přes SSH

Zabezpečení přihlášení k VPS nebo normálnímu serveru je důležitým faktorem pro bezproblémovou a spolehlivou práci se serverem. Hlavním aspektem samozřejmě je vhodné použití složitosti hesla. Existují však i další aspekty, které pomáhají zvýšit úroveň zabezpečení. Může se jednat o zakázání přihlašování přes root účet, změnu SSH portu či přihlašování pouze přes SSH klíče. Všechny zmíněné aspekty jsou blíže popsány níže v článku.

Kvalitní heslo

Zabezpečené přihlašování k VPS by se samozřejmě mělo opírat o kvalitní heslo. Požadavky na kvalitu hesla většinou mohou být:

  • Použití malých a velkých písmen,
  • Použití číslic,
  • Vhodná délka hesla (např. 8 znaků),
  • Použití speciálních symbolů,
  • Vyhnutí se běžným frázím.

K tomu, abyste nemuseli vymýšlet heslo sami, což občas svádí k používání jednoho hesla (byť kvalitního) pro více služeb, můžete využít generátoru hesel. Pomocí jednoduché aplikace můžete zvolit požadované parametry a nechat si vygenerovat sadu hesel. 

Změna výchozího SSH portu 22

Výchozím portem pro připojení k SSH na server je port 22. Často tak roboti po celém Internetu skenují zmíněný port, zda není možné se k němu připojit. Pouhou změnou portu na vlastí zadaný port se tak vyhnete velkému množství robotů. Už není tak běžné, aby roboti skenovali všechny porty na daném serveru. Jedná se pak o jiný druh útoku, který je však zase řešitelný pomocí jiných nastavení. 

Výchozí port 22 je tedy vhodné změnit na nějaký jiný, který bude větší než 1024. Porty do čísla 1024 jsou totiž vyhrazené pro konkrétní služby. Škála portů od 1025 - 65535 je tedy dostupná pro vlastní použití. Port tedy můžete změnit editací souboru /etc/ssh/sshd_config, kde nastavíte položku Port z "Port 22" na "Port 2222" (například).

Pokud se k serveru připojuje více uživatelů, musí všichni o této změně vědět. Buď se tedy dohodnete na stejném portu pro všechny, nebo můžete každému v profilu nastavit individuální port pro připojení. Vždy by se pak jednalo o úpravu souboru $HOME/.ssh/config v domovském adresáři u každého uživatele. Samozřejmě je pak potřeba provést restart SSH daemona (/etc/init.d/sshd restart).

Zakázání přihlašování přes root účet

Ke svému serveru se můžete přihlašovat i přes jiné uživatele než přímo přes root účet. Stačí tedy vytvořit nového uživatele (např. pomocí useradd) a přihlašovat se na nový účet. Root účet pak zakážete pomocí úpravy souboru /etc/ssh/sshd_config, kde nastavíte PermitRootLogin no. Nezapomeňte přidat nového uživatele do sudoers příkazem adduser <jmeno_uctu> sudo. Je doporučeno nejdříve vyzkoušet přihlášení na nově vytvořeného uživatele, zkusit pár příkazů např. s použitím sudo (např. sudo /etc/init.d/apache restart) a pak teprve zakázat root login.

Přihlašování přes SSH klíče

Zcela jinou alternativou může být přihlašování pomocí SSH klíčů. Takový klíč si vygenerujete, necháte uložený na serveru, svůj klíč si necháte na pracovním počítači a můžete se přihlásit, aniž byste zadali heslo. Kdyby se Vám tato alternativa zdála nebezpečná z pohledu odcizení klíče z pracovního pc, můžete klíč zabezpečit dalším kontrolním heslem. Kompletní postup vygenerování klíčů a jejich aplikaci je nad rámec tohoto článku. Stačí ale použít Google a určitě se k této tématice dá najít nepřeberné množství návodů. 

Shrnutí a doporučení

Kombinací všech zmíněných prvků se můžete vyhnout největšímu náporu robotů, kteří se snaží získat přístup do vašeho serveru. Jen si představte řadu komplikací už jen s tím, kdyby někdo změnil vaše heslo. Každopádně i použití aspoň jednoho z postupů může razantně snížit počet pokusů na neautorizovaný přístup.