Jak konfigurovat zabezpečení SSH Linux

Jedním z nejpoužívanějších protokolů na úrovni zabezpečení pro navazování připojení v prostředích UNIX je protokol SSH (Secure Shell), který nám nabízí řadu funkcí a speciálních vlastností pro ochranu dat a vytvořených připojení.

SSH je protokol, který byl vyvinut se zaměřením na zabezpečení komunikace mezi dvěma systémy prostřednictvím modelu klient / server a díky kterému se uživatelé mohou vzdáleně připojit k hostiteli.
Jednou z hlavních charakteristik SSH je, že šifruje relaci připojení, což brání každému uživateli získat nešifrovaná hesla.

Typy ochranyPři používání protokolu SSH budeme mít následující typy ochrany:

  • Jakmile je navázáno počáteční připojení, klient si může ověřit, že se připojuje ke stejnému serveru, ke kterému se připojil dříve
  • Klient odešle ověřovací informace na server prostřednictvím 128bitového šifrování
  • Všechna data odeslaná a přijatá během relace jsou přenášena pomocí 128bitového šifrování, což ztěžuje dešifrování a čtení
  • Klient má možnost přeposílat aplikace X11 ze serveru, jedná se o techniku ​​zvanou X11 forwarding, která poskytuje bezpečný způsob používání grafických aplikací v místní nebo externí síti.

Nyní v operačních systémech Linux najdeme konfigurační soubor SSH v cestě / etc / ssh / ssh_config a díky tomuto souboru bude možné provést všechna bezpečnostní opatření pro připojení SSH.

ZVĚTŠIT

V systémech macOS je tento soubor umístěn v cestě / private / etc / ssh / ssh_config a má z důvodu kompatibility symbolický odkaz na / etc / ssh / ssh_config.

Při úpravách tohoto souboru musíme mít na paměti následující.

  • Prázdné řádky a řádky začínající na „#“ jsou komentáře
  • Každý řádek začíná klíčovým slovem, za nímž následují argumenty
  • Možnosti konfigurace lze oddělit mezerami nebo volitelnými mezerami a znaménkem =
  • Argumenty lze uzavřít do uvozovek (") a určit argumenty, které obsahují mezery

1. Jak upravit soubor Linux ssh_config


Chcete -li tento soubor upravit, aby se vytvořily správné hodnoty, musíme s editorem provést následující:
 sudo nano / etc / ssh / ssh_config
Uvidíme následující:

ZVĚTŠIT

Soubor ssh_config je organizován hostiteli a každý hostitel obsahuje konkrétní nastavení pro konkrétního hostitele, tam můžeme použít zástupné znaky jako * k přiřazení více názvů hostitelů k jednomu příkazu.
Některé z parametrů, které můžeme v tomto souboru použít, jsou:

HostitelOmezte příkazy, které jsou pouze pro hostitele, které odpovídají jednomu ze vzorců uvedených za klíčovým slovem.
ZápasOmezte příkazy pouze na hostitele, kteří odpovídají zadaným kritériím
Adresa RodinaUrčuje, kterou skupinu adres použít při připojování, platné argumenty jsou: any, inet, inet6.
Dávkový režimS touto hodnotou bude dotaz na heslo deaktivován, čímž se zabrání nechtěnému zablokování požadavku na heslo
BindAddressUrčuje použití adresy zadané na místním počítači jako zdrojové adresy připojení.
ChallengeResponseAuthenticationUdává, zda použít ověřování typu výzva-odpověď. Toto je především starší metoda a byla nahrazena KbdInteractiveAuthentication
CheckHostIPŘekněte ssh, aby dodatečně zkontroloval IP adresu hostitele v souboru known_hosts.
ŠifraOdkazuje na šifrování, které bude použito k šifrování relace ve verzi protokolu 1.
ŠifryUrčuje povolené šifry pro verzi 2 protokolu v pořadí podle preference.

Dále uvidíme několik praktických tipů, jak zlepšit zabezpečení připojení SSH k Linuxu a získat tak nejlepší přístupový výkon.

2. Jak zamknout soubory Linux SSH


Prvním krokem před úpravou souboru je zajistit, aby soubor ssh_config i soubor sshd_config měli vlastníka a uživatele nakonfigurovaného jako root, protože je to super uživatel Linuxu a nikdo lepší než tento není vlastníkem.

Za tímto účelem provedeme následující:

 sudo chown root: root / etc / ssh / sshd_config sudo chmod og-rwx / etc / ssh / sshd_config

3. Jak potvrdit protokol SSH verze 2 Linux


Verze 2 SSH má vylepšený algoritmus výměny klíčů, který není zranitelný vůči bezpečnostní díře ve verzi 1, čímž se zlepšuje obecné zabezpečení připojení, takže je ideální potvrdit, že se místo protokolu 1 používá nový protokol 2 a proto musíme potvrdit následující řádek v souboru ssh_config:
 Protokol 2

ZVĚTŠIT

Tam také můžeme implicitně konfigurovat protokol prostřednictvím Ciphers, který automaticky nastaví Protocol na 2, aby používal moderní Ciphers, proto ověřujeme následující řádek těsně pod řádkou Protocol:

 Šifry aes128-ctr, aes192-ctr, aes256-ctr

4. Jak zakázat prázdná hesla SSH Linux


Je důležité ověřit, že každý účet SSH musí při přihlašování používat heslo, blokování prázdných hesel, která by umožňovala jednoduchý přístup způsobující bezpečnostní rizika v systému, k ověření toho použijeme následující řádek, nebo pokud neexistuje, my přidá jej umístěním symbolu #:
 PermitEmptyPasswords no

ZVĚTŠIT

5. Jak deaktivovat přihlášení root root SSH Linux


Tím, že zabráníte přihlášení uživatele root, bude možné zamknout konkrétní účty a zakázat jejich používání v celém systému. Možnosti pro PermitRootLogin zahrnují „ano“, „bez hesla“, „pouze vynucené příkazy“ nebo „ne“. Výchozí hodnota je „ano“. K úplnému zastavení přihlašování pomocí root použijeme následující řádek:
 PermitRootLogin č

ZVĚTŠIT

6. Jak nastavit nový port Linux SSH


Ve výchozím nastavení je port přiřazený pro SSH 22, aby útočníci s jistotou věděli, přes který port budou přistupovat, aby mohli provádět své útoky, takže dobrou metodou zabezpečení je změnit tento výchozí port a označit pouze oprávněné uživatele. Nový port.

K tomu musíme najít řádek Port a přidat následující syntaxi:

 Port XXXXX

ZVĚTŠIT

7. Jak omezit přístup SSH Linux


V případě, že přístup k serveru SSH tvoří několik uživatelů, je možné použít určitá omezení vytvořením skupin, do kterých jsou tito uživatelé zahrnuti, je to možné přidáním klíčových slov, jako jsou:
 AllowUsers (Allow user access) AllowGroups (Allow group access) DenyUsers (Restrict user access) DenyGroups (Restrict group access)
V konfiguračním souboru můžeme například spustit následující:
 AllowUsers Solvetic tests DenyGroups test

8. Jak aktualizovat dobu odkladu SSH Linux


Ve výchozím nastavení je doba, po kterou může uživatel zůstat neaktivní, bez přihlášení, dvě minuty, aby se předešlo neoprávněnému připojení k systému, lze tento čas upravit v řádku LoginGraceTime, čímž se zvýší nebo sníží toto počasí:
 PřihlášeníGraceTime 1m

ZVĚTŠIT

9. Jak vytvořit alias SSH Linux


V rámci konfigurací SSH je možné zadat alias, který umožňuje připojení ke konkrétnímu serveru prostřednictvím portu a definovaných uživatelů, například můžeme přidat následující:
 Host dev Název hostitele dev.solvetic.com Port 3333 Uživatel Solvetic
V tomto konkrétním případě musíme přistupovat následovně:
 ssh [email protected] -p 3333

10. Ověřování pomocí zabezpečených klíčů SSH Linux


ssh bude mnohem bezpečnější a užitečnější při použití s ​​páry veřejného / soukromého klíče pro účely ověřování, než pomocí hesel. Soubor ssh_config může deklarovat konkrétní klíč pro konkrétního hostitele pomocí klíče IdentityFile, v tomto případě bychom zadali následující:
 Host dev Název hostitele dev.solvetic.com Port 3333 Uživatel Solvetic IdentityFile ~ / .ssh / dev.solvetic.key
V tomto případě bude připojení následující:
 ssh -i ~ / .ssh / dev.solvetic.key [email protected] -p 3333
Některé další parametry jsou:

KompreseTam můžeme použít hodnoty jako ano nebo ne k povolení deaktivace komprese pro hostitele.
LogLevelUmožňuje definovat úroveň podrobností v protokolech pro ssh klienta, možnosti jsou TICHÉ, FATÁLNÍ, CHYBA, INFO, VERBOSE, DEBUG1, DEBUG2 a DEBUG3.
StrictHostKeyCheckingNastavte předvolbu pro přidávání hostitelů do souboru known_hosts.

Máme tedy různé možnosti pro zlepšení zabezpečení a připojení SSH v Linuxu.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave