ssh

Jak zabezpečit server SSH v Ubuntu 20.04 od základního po pokročilý

Jak zabezpečit server SSH v Ubuntu 20.04 od základního po pokročilý
Stejně jako všechny ostatní servery je i server SSH náchylný k pokusům o neoprávněný přístup. Kdykoli tedy budete chtít použít server SSH, musíte nejprve zvážit jeho zabezpečení, abyste se z dlouhodobého hlediska zachránili před nežádoucí situací. Obecně je termín „zabezpečení serveru“ také známý jako „posílení serveru“.„Toho lze dosáhnout provedením několika opatření. Tato opatření závisí na požadované úrovni zabezpečení.

Opatření pro zabezpečení serveru SSH se pohybují od základního po pokročilý a jak jsme již řekli dříve, můžete je vyzvednout podle úrovně zabezpečení, kterou potřebujete. Jakékoli z předepsaných opatření můžete přeskočit, pokud máte dostatečné znalosti o důsledcích a máte-li dobrou pozici, abyste jim čelili. Nikdy také nemůžeme říci, že jeden krok zajistí 100% bezpečnost, nebo že určitý krok je lepší než ten druhý.

Vše záleží na tom, jaký typ zabezpečení skutečně potřebujeme. Proto vám dnes hodláme poskytnout velmi hluboký vhled do základních a pokročilých kroků pro zabezpečení serveru SSH v Ubuntu 20.04. Kromě těchto metod s vámi také budeme sdílet několik dalších tipů pro zabezpečení vašeho serveru SSH jako bonus. Pojďme tedy začít s dnešní zajímavou diskusí.

Způsob zabezpečení serveru SSH v Ubuntu 20.04:

Všechny konfigurace SSH jsou uloženy v jeho souboru / etc / ssh / sshd_config. Tento soubor je považován za velmi důležitý pro normální fungování vašeho serveru SSH. Proto před provedením jakýchkoli změn v tomto souboru důrazně doporučujeme vytvořit zálohu tohoto souboru spuštěním následujícího příkazu v terminálu:

sudo cp / etc / ssh / sshd_config / etc / ssh / sshd_config.bak


Pokud je tento příkaz proveden úspěšně, nebude vám předložen žádný výstup, jak je znázorněno na obrázku níže:

Po vytvoření zálohy tohoto souboru je tento krok volitelný a provede se, pokud chcete zkontrolovat všechny možnosti, které jsou aktuálně povoleny v tomto konfiguračním souboru. Můžete to zkontrolovat spuštěním následujícího příkazu v terminálu:

sudo sshd -T


Aktuálně povolené možnosti konfiguračního souboru SSH jsou zobrazeny na obrázku níže. V tomto seznamu můžete procházet dolů a zobrazit všechny možnosti.

Nyní můžete začít zabezpečovat svůj server SSH při přechodu od základních kroků k pokročilým krokům v Ubuntu 20.04.

Základní kroky pro zabezpečení serveru SSH v Ubuntu 20.04:

Základní kroky pro zabezpečení serveru SSH v Ubuntu 20.04 jsou následující:

Krok 1: Otevření konfiguračního souboru SSH:

Konfigurační soubor SSH můžete otevřít spuštěním příkazu uvedeného níže v terminálu:

sudo nano / etc / ssh / sshd_config


Konfigurační soubor SSH je zobrazen na následujícím obrázku:

Krok 2: Zakázání ověřování pomocí hesla:

Místo použití hesel pro ověřování jsou klíče SSH považovány za bezpečnější. Pokud jste tedy pro ověřování vygenerovali klíče SSH, musíte ověřování založené na heslech zakázat. K tomu musíte najít proměnnou „PasswordAuthentication“, odkomentovat ji a nastavit její hodnotu na „no“, jak je zvýrazněno na obrázku níže:

Krok 3: Odmítnutí / odmítnutí prázdných hesel:

Uživatelé občas považují za mimořádně výhodné vytvářet prázdná hesla, aby si ušetřili memorování složitých hesel. Tato praxe se může ukázat jako škodlivá pro zabezpečení vašeho serveru SSH. Proto musíte odmítnout všechny pokusy o ověření s prázdnými hesly. Za tímto účelem musíte najít proměnnou „PermitEmptyPasswords“ a jednoduše ji odkomentovat, protože její hodnota je již ve výchozím nastavení nastavena na „ne“, jak je zvýrazněno na následujícím obrázku:

Krok č. 4: Zakázání kořenového přihlášení:

Měli byste přísně zakázat přihlášení uživatele root, aby chránili vetřelce před získáním přístupu na váš server na úrovni root. Můžete to udělat tak, že vyhledáte proměnnou „PermitRootLogin“, odkomentujete ji a nastavíte její hodnotu na „no“, jak je zvýrazněno na obrázku níže:

Krok č. 5: Použití protokolu SSH 2:

Server SSH může pracovat na dvou různých protokolech, tj.E., Protokol 1 a protokol 2. Protokol 2 implementuje pokročilejší funkce zabezpečení, a proto je upřednostňován před protokolem 1. Protokol 1 je však výchozí protokol SSH a není výslovně uveden v konfiguračním souboru SSH. Pokud tedy chcete pracovat s protokolem 2 místo s protokolem 1, musíte do svého konfiguračního souboru SSH explicitně přidat řádek „Protocol 2“, jak je zvýrazněno na následujícím obrázku:

Krok č. 6: Nastavení časového limitu relace:

Uživatelé někdy nechávají své počítače bez dozoru po velmi dlouhou dobu. Mezitím může každý vetřelec přijít a získat přístup k vašemu systému při narušení jeho bezpečnosti. Zde vstupuje do hry koncept časového limitu relace. Tato funkce se používá k odhlášení uživatele, pokud zůstane delší dobu neaktivní, aby žádný jiný uživatel nemohl získat přístup do jeho systému.

Tento časový limit lze nastavit vyhledáním proměnné „ClientAliveInterval“, odkomentovat ji a přiřadit jí libovolnou hodnotu (v sekundách) podle vašeho výběru. V našem případě jsme mu přiřadili hodnotu „300 sekund“ nebo „5 minut“. To znamená, že pokud se uživatel vzdálí od serveru SSH po dobu „300 sekund“, bude automaticky odhlášen, jak je zvýrazněno na obrázku níže:

Krok 7: Povolení přístupu konkrétních uživatelů k serveru SSH:

Server SSH není server, jehož přístup vyžaduje každý druhý uživatel. Proto musí být jeho přístup omezen pouze na ty uživatele, kteří to skutečně potřebují. Chcete-li povolit přístup konkrétních uživatelů na server SSH, musíte do konfiguračního souboru SSH přidat proměnnou s názvem „AllowUsers“ a poté napsat jména všech uživatelů, kterým chcete povolit přístup na server SSH, oddělené mezerou. V našem případě jsme chtěli povolit přístup k serveru SSH pouze jednomu uživateli. Proto jsme přidali pouze jeho jméno, jak je zvýrazněno na následujícím obrázku:

Krok 8: Omezení počtu pokusů o ověření:

Kdykoli se uživatel pokusí o přístup na server a nemůže se poprvé autentizovat, pokusí se to udělat znovu. Uživatel pokračuje v těchto pokusech, dokud a pokud se mu nepodaří úspěšně ověřit sám sebe, a tím získá přístup k serveru SSH. To je považováno za vysoce nezabezpečený postup, protože hacker může spustit útok Brute Force (útok, který se opakovaně pokouší uhodnout heslo, dokud není nalezena správná shoda). Díky tomu bude moci získat přístup k vašemu serveru SSH.

Proto se důrazně doporučuje omezit počet pokusů o ověření, aby se zabránilo útokům na hádání hesel. Výchozí hodnota pokusů o ověření na serveru SSH je nastavena na „6“. Můžete to však změnit v závislosti na požadované úrovni zabezpečení. K tomu musíte najít proměnné „MaxAuthTries“, odkomentovat je a nastavit jejich hodnotu na libovolné požadované číslo. Chtěli jsme omezit pokusy o ověření na „3“, jak je zvýrazněno na obrázku níže:

Krok č. 9: Spuštění serveru SSH v testovacím režimu:

Nyní jsme podnikli všechny základní kroky k zabezpečení našeho serveru SSH na Ubuntu 20.04. Stále se však musíme ujistit, že možnosti, které jsme právě nakonfigurovali, fungují správně. Za tímto účelem nejprve uložíme a zavřeme náš konfigurační soubor. Poté se pokusíme spustit náš server SSH v testovacím režimu. Pokud běží úspěšně v testovacím režimu, znamená to, že v konfiguračním souboru nejsou žádné chyby. Server SSH můžete spustit v testovacím režimu spuštěním následujícího příkazu v terminálu:

sudo sshd -t


Pokud je tento příkaz úspěšně proveden, nezobrazí na terminálu žádný výstup, jak je znázorněno na obrázku níže. Pokud se však v konfiguračním souboru vyskytnou nějaké chyby, spuštění tohoto příkazu tyto chyby na terminálu vykreslí. Tyto chyby pak budete muset opravit. Teprve potom budete moci pokračovat dále.

Krok 10: Opětovné načtení serveru SSH s novými konfiguracemi:

Nyní, když server SSH běžel úspěšně v testovacím režimu, musíme jej znovu načíst, aby mohl číst nový konfigurační soubor, i.E., změny, které jsme provedli v konfiguračním souboru SSH ve výše uvedených krocích. Chcete-li znovu načíst server SSH s novými konfiguracemi, musíte ve svém terminálu spustit následující příkaz:

sudo service sshd reload


Pokud je váš SSH server úspěšně restartován, terminál nebude zobrazovat žádný výstup, jak je znázorněno na obrázku níže:

Pokročilé kroky pro zabezpečení serveru SSH v Ubuntu 20.04:

Po provedení všech základních kroků pro zabezpečení serveru SSH v Ubuntu 20.04, můžete konečně přejít k pokročilým krokům. Toto je jen krok vpřed k zabezpečení vašeho serveru SSH. Pokud však hodláte dosáhnout pouze mírné úrovně zabezpečení, postačí výše popsané kroky. Pokud ale chcete jít trochu dále, můžete postupovat podle níže uvedených kroků:

Krok 1: Otevření ~ /.Soubor ssh / authorized_keys:

Základní kroky zabezpečení serveru SSH jsou implementovány v konfiguračním souboru SSH. To znamená, že tyto zásady budou platit pro všechny uživatele, kteří se pokusí o přístup k serveru SSH. To také znamená, že základní kroky představují obecnou metodu zabezpečení serveru SSH. Pokud se však pokusíme zvážit princip „Obrany do hloubky“, uvědomíme si, že je třeba zabezpečit každý jednotlivý klíč SSH samostatně. To lze provést definováním explicitních parametrů zabezpečení pro každý jednotlivý klíč. Klíče SSH jsou uloženy v ~ /.Soubor ssh / authorized_keys, takže nejprve přistoupíme k tomuto souboru a upravíme parametry zabezpečení. V terminálu spustíme následující příkaz pro přístup k ~ /.soubor ssh / authorized_keys:

sudo nano ~ /.ssh / authorized_keys

Spuštěním tohoto příkazu otevřete zadaný soubor pomocí nano editoru. K otevření tohoto souboru však můžete použít jakýkoli jiný textový editor podle vašeho výběru. Tento soubor bude obsahovat všechny klíče SSH, které jste dosud vygenerovali.

Krok 2: Definování konkrétních konfigurací pro konkrétní klíče:

K dosažení pokročilé úrovně zabezpečení je k dispozici následujících pět možností:

Tyto možnosti lze zapsat před libovolný klíč SSH podle vašeho výběru, aby byly k dispozici pro daný konkrétní klíč. Pro jeden klíč SSH lze také nakonfigurovat dokonce více možností. Například chcete zakázat přesměrování portů pro jakýkoli konkrétní klíč, nebo jinými slovy, chcete implementovat přesměrování bez portů pro konkrétní klíč, pak bude syntaxe následující:

no-port-forwarding DesiredSSHKey

Zde místo DesiredSSHKey budete mít ve svém ~ / skutečný klíč SSH.soubor ssh / authorized_keys. Po použití těchto možností pro požadované klíče SSH budete muset uložit ~ /.soubor ssh / authorized_keys a zavřete jej. Dobré pro tuto pokročilou metodu je, že po provedení těchto úprav nebude vyžadovat opětovné načtení serveru SSH. Spíše tyto změny načte váš server SSH automaticky.

Tímto způsobem budete moci zabezpečit každý klíč SSH do hloubky pomocí pokročilých bezpečnostních mechanismů.

Několik dalších tipů pro zabezpečení serveru SSH v Ubuntu 20.04:

Kromě všech základních a pokročilých kroků, které jsme provedli výše, existuje také několik dalších tipů, které se mohou ukázat jako velmi dobré pro zabezpečení serveru SSH v Ubuntu 20.04. Níže byly probrány tyto další tipy:

Udržujte svá šifrovaná data:

Data, která se nacházejí na vašem serveru SSH, a také data, která zůstávají v přenosu, musí být šifrována a také pomocí silného šifrovacího algoritmu. To nejen ochrání integritu a důvěrnost vašich dat, ale také zabrání ohrožení zabezpečení celého vašeho serveru SSH.

Udržujte svůj software aktuální:

Software, který běží na vašem serveru SSH, musí být aktuální. To je zajištěno, aby žádné bezpečnostní chyby ve vašem softwaru nezůstaly bez dozoru. Spíše by měly být včas opraveny. To vás z dlouhodobého hlediska ušetří před potenciálním poškozením a také zabrání tomu, aby váš server selhal nebo byl nedostupný kvůli bezpečnostním problémům.

Ujistěte se, že je povolen SELinux:

SELinux je mechanismus, který vytváří základní kámen bezpečnosti v systémech založených na Linuxu. Funguje implementací povinné kontroly přístupu (MAC). Implementuje tento model řízení přístupu definováním pravidel přístupu ve své bezpečnostní politice. Tento mechanismus je ve výchozím nastavení povolen. Uživatelé však mohou toto nastavení kdykoli změnit. To znamená, že mohou SELinux deaktivovat, kdykoli chtějí. Důrazně však doporučujeme, abyste vždy nechali SELinux povolený, aby mohl vašemu SSH serveru zabránit ve všech možných škodách.

Použijte přísné zásady hesla:

Pokud jste svůj server SSH chránili hesly, musíte vytvořit silné zásady hesel. V ideálním případě by hesla měla mít více než 8 znaků. Měly by být změněny po určité době, řekněme, každé 2 měsíce. Neměly by obsahovat žádné slovníky; spíše by to měla být kombinace abeced, čísel a speciálních znaků. Podobně můžete definovat některá další mimořádně přísná opatření pro zásady hesla, abyste zajistili, že jsou dostatečně silné.

Monitorujte a udržujte protokoly auditu vašeho serveru SSH:

Pokud se na vašem serveru SSH něco pokazí, vaším prvním pomocníkem mohou být protokoly auditu. Proto musíte tyto protokoly udržovat, abyste mohli zpětně vysledovat hlavní příčinu problému. Kromě toho, pokud budete průběžně sledovat stav a fungování svého serveru SSH, zabráníte tím také tomu, aby se vůbec nevyskytly žádné závažné problémy.

Udržujte pravidelné zálohy svých dat:

V neposlední řadě byste si měli vždy uchovat zálohu celého svého serveru SSH. Tímto způsobem nejen ušetříte data před poškozením nebo úplnou ztrátou; spíše můžete také použít tento záložní server, kdykoli dojde k výpadku hlavního serveru. To také omezí prostoje serveru a zajistí jeho dostupnost.

Závěr:

Postaráním se o všechna opatření předepsaná v tomto článku můžete snadno zabezpečit nebo ztvrdnout váš server SSH v Ubuntu 20.04. Pokud však pocházíte z prostředí informační bezpečnosti, musíte si být dobře vědomi této skutečnosti, že neexistuje nic jako 100% zabezpečení. Jediné, co můžeme získat, je příslib nejlepšího úsilí a toto nejlepší úsilí bude zabezpečeno pouze do doby, než bude také porušeno. Proto ani po provedení všech těchto opatření nemůžete říci, že váš server SSH je stoprocentně zabezpečený; spíše to může stále mít taková zranitelnost, na kterou byste nikdy ani nepomysleli. O takové chyby zabezpečení se můžeme postarat, pouze pokud budeme pečlivě sledovat náš server SSH a neustále jej aktualizujeme, kdykoli je to nutné.

Hry Výukový program Shadow of the Tomb Raider pro Linux
Výukový program Shadow of the Tomb Raider pro Linux
Shadow of the Tomb Raider je dvanáctý přírůstek do série Tomb Raider - série akčních adventur vytvořená Eidosem Montrealem. Tato hra byla docela dobře...
Hry Jak zvýšit FPS v Linuxu?
Jak zvýšit FPS v Linuxu?
FPS znamená Snímků za sekundu. Úkolem FPS je měřit snímkovou frekvenci při přehrávání videa nebo herních výkonech. Jednoduše řečeno, počet nepřerušova...
Hry Nejlepší hry Oculus App Lab
Nejlepší hry Oculus App Lab
Pokud jste vlastníkem náhlavní soupravy Oculus, musíte mít informace o bočním nakládání. Sideloading je proces instalace neukládaného obsahu do náhlav...