ssh

Ako zabezpečiť server SSH v Ubuntu 20.04 od základného po pokročilý

Ako zabezpečiť server SSH v Ubuntu 20.04 od základného po pokročilý
Rovnako ako všetky ostatné servery, aj server SSH je náchylný na pokusy o neoprávnený prístup. Preto, kedykoľvek chcete použiť server SSH, musíte najskôr zvážiť jeho zabezpečenie, aby ste sa z dlhodobého hľadiska zachránili pred nežiaducou situáciou. Pojem „zabezpečenie servera“ sa všeobecne nazýva aj „spevnenie servera“.„To sa dá dosiahnuť prijatím viacerých opatrení. Tieto opatrenia závisia od požadovanej úrovne zabezpečenia.

Opatrenia na zabezpečenie servera SSH sa pohybujú od základných po pokročilé, a ako sme už povedali skôr, môžete ich zvoliť podľa požadovanej úrovne zabezpečenia. Akékoľvek z predpísaných opatrení môžete preskočiť, ak máte dostatočné znalosti o následkoch a ak ste v dobrej situácii, aby ste im mohli čeliť. Tiež nikdy nemôžeme povedať, že jeden krok zabezpečí 100% bezpečnosť, alebo že určitý krok je lepší ako druhý.

Všetko závisí od toho, aký typ zabezpečenia vlastne potrebujeme. Preto vám dnes chceme poskytnúť veľmi hlboký vhľad do základných a pokročilých krokov na zabezpečenie servera SSH v Ubuntu 20.04. Okrem týchto metód s vami budeme zdieľať aj niekoľko ďalších tipov na zabezpečenie vášho servera SSH ako bonus. Začnime teda s dnešnou zaujímavou diskusiou.

Spôsob zabezpečenia servera SSH v Ubuntu 20.04:

Všetky konfigurácie SSH sú uložené v jeho súbore / etc / ssh / sshd_config. Tento súbor je považovaný za veľmi dôležitý pre normálne fungovanie vášho servera SSH. Pred vykonaním akýchkoľvek zmien v tomto súbore sa preto dôrazne odporúča vytvoriť zálohu tohto súboru spustením nasledujúceho príkazu v termináli:

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


Ak je tento príkaz vykonaný úspešne, nezobrazí sa vám žiadny výstup, ako je to znázornené na obrázku nižšie:

Po vytvorení zálohy tohto súboru je tento krok voliteľný a vykoná sa, ak chcete skontrolovať všetky možnosti, ktoré sú v tomto konfiguračnom súbore momentálne povolené. Môžete to skontrolovať spustením nasledujúceho príkazu v termináli:

sudo sshd -T


Aktuálne povolené možnosti konfiguračného súboru SSH sú zobrazené na obrázku nižšie. Môžete sa posúvať nadol v tomto zozname a zobraziť všetky možnosti.

Teraz môžete začať zabezpečovať svoj server SSH pri prechode od základných krokov k pokročilým krokom v Ubuntu 20.04.

Základné kroky pre zabezpečenie servera SSH v Ubuntu 20.04:

Základné kroky pre zabezpečenie servera SSH v Ubuntu 20.04 sú tieto:

Krok 1: Otvorenie konfiguračného súboru SSH:

Konfiguračný súbor SSH môžete otvoriť spustením príkazu uvedeného nižšie v termináli:

sudo nano / etc / ssh / sshd_config


Konfiguračný súbor SSH je zobrazený na nasledujúcom obrázku:

Krok 2: Zakázanie autentifikácie na základe hesla:

Namiesto použitia hesiel na overenie sa kľúče SSH považujú za bezpečnejšie. Preto, ak ste pre autentifikáciu vygenerovali kľúče SSH, musíte deaktivovať autentifikáciu na základe hesla. Preto musíte vyhľadať premennú „PasswordAuthentication“, odkomentovať ju a nastaviť jej hodnotu na „no“, ako je zvýraznené na obrázku nižšie:

Krok 3: Odmietnutie / odmietnutie prázdnych hesiel:

Používateľom sa občas zdá mimoriadne výhodné vytvárať prázdne heslá, aby si tak nemuseli pamätať zložité heslá. Tento postup sa môže ukázať ako škodlivý pre bezpečnosť vášho servera SSH. Preto musíte odmietnuť všetky pokusy o autentifikáciu s prázdnymi heslami. Za týmto účelom musíte vyhľadať premennú „PermitEmptyPasswords“ a jednoducho ju odkomentovať, pretože jej hodnota je už predvolene nastavená na „nie“, ako je zvýraznené na nasledujúcom obrázku:

Krok 4: Zakázanie koreňového prihlásenia:

Mali by ste prísne zakázať prihlásenie do root na ochranu každého votrelca pred získaním prístupu na váš server na koreňovej úrovni. Môžete to urobiť tak, že vyhľadáte premennú „PermitRootLogin“, odkomentujete ju a nastavíte jej hodnotu na „nie“, ako je zvýraznené na obrázku nižšie:

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

Server SSH môže pracovať na dvoch rôznych protokoloch, t.e., Protokol 1 a Protokol 2. Protokol 2 implementuje pokročilejšie bezpečnostné funkcie, a preto je uprednostňovaný pred protokolom 1. Protokol 1 je však predvoleným protokolom SSH a nie je výslovne uvedený v konfiguračnom súbore SSH. Preto, ak chcete pracovať s protokolom 2 namiesto protokolu 1, musíte do svojho konfiguračného súboru SSH výslovne pridať riadok „Protocol 2“, ako je zvýraznené na nasledujúcom obrázku:

Krok č. 6: Nastavenie časového limitu relácie:

Používatelia niekedy nechávajú svoje počítače veľmi dlho bez dozoru. Medzitým môže každý votrelec prísť a získať prístup k vášmu systému pri porušení jeho bezpečnosti. Tu vstupuje do hry koncept časového limitu relácie. Táto funkcia sa používa na odhlásenie používateľa, ak zostane dlho neaktívny, aby žiadny iný používateľ nemal prístup do jeho systému.

Tento časový limit je možné nastaviť vyhľadaním premennej „ClientAliveInterval“, odkomentovať ju a priradiť jej ľubovoľnú hodnotu (v sekundách) podľa vášho výberu. V našom prípade sme mu priradili hodnotu „300 sekúnd“ alebo „5 minút“. Znamená to, že ak sa používateľ nebude nachádzať od servera SSH „300 sekúnd“, bude automaticky odhlásený, ako je zvýraznené na obrázku nižšie:

Krok č. 7: Povolenie prístupu konkrétnych používateľov na server SSH:

Server SSH nie je server, ktorého prístup vyžaduje každý ďalší používateľ. Preto musí byť jeho prístup obmedzený iba na tých používateľov, ktorí to skutočne potrebujú. Ak chcete konkrétnym používateľom povoliť prístup na server SSH, musíte do konfiguračného súboru SSH pridať premennú s názvom „AllowUsers“ a potom napísať mená všetkých používateľov, ktorým chcete povoliť prístup na server SSH, oddelené medzerou. V našom prípade sme chceli povoliť prístup k serveru SSH iba jednému používateľovi. Preto sme pridali iba jeho meno, ako je zvýraznené na nasledujúcom obrázku:

Krok 8: Obmedzenie počtu pokusov o overenie:

Kedykoľvek sa používateľ pokúsi získať prístup na server a nemôže sa prvýkrát autentifikovať, pokúsi sa to urobiť znova. Užívateľ pokračuje v týchto pokusoch, kým a pokiaľ nie je schopný úspešne sa autentifikovať, a tak získa prístup k serveru SSH. Toto sa považuje za veľmi neistý postup, pretože hacker môže spustiť útok Brute Force Attack (útok, ktorý sa opakovane pokúša uhádnuť heslo, kým sa nenájde správna zhoda). Vďaka tomu bude môcť získať prístup k vášmu serveru SSH.

Preto sa dôrazne odporúča obmedziť počet pokusov o overenie, aby sa zabránilo útokom na hádanie hesla. Predvolená hodnota pokusov o autentifikáciu na server SSH je nastavená na „6“. Môžete to však zmeniť v závislosti od požadovanej úrovne zabezpečenia. Za týmto účelom musíte vyhľadať premenné „MaxAuthTries“, odkomentovať ich a nastaviť ich hodnotu na ľubovoľné požadované číslo. Chceli sme obmedziť pokusy o overenie na „3“, ako je to zvýraznené na obrázku nižšie:

Krok 9: Spustenie servera SSH v testovacom režime:

Teraz sme podnikli všetky základné kroky na zabezpečenie nášho servera SSH na Ubuntu 20.04. Stále sa však musíme ubezpečiť, že možnosti, ktoré sme práve nakonfigurovali, fungujú správne. Za týmto účelom najskôr uložíme a zavrieme náš konfiguračný súbor. Potom sa pokúsime spustiť náš server SSH v testovacom režime. Ak beží úspešne v testovacom režime, znamená to, že v konfiguračnom súbore nie sú žiadne chyby. Server SSH môžete spustiť v testovacom režime spustením nasledujúceho príkazu v termináli:

sudo sshd -t


Po úspešnom vykonaní tohto príkazu nebude na termináli zobrazovať žiadny výstup, ako je to znázornené na obrázku nižšie. Ak sa však v konfiguračnom súbore vyskytnú chyby, spustením tohto príkazu sa tieto chyby v termináli vykreslia. Tieto chyby potom budete musieť opraviť. Až potom budete môcť pokračovať ďalej.

Krok 10: Opätovné načítanie servera SSH s novými konfiguráciami:

Teraz, keď server SSH úspešne bežal v testovacom režime, musíme ho znova načítať, aby mohol čítať nový konfiguračný súbor,.e., zmeny, ktoré sme vykonali v konfiguračnom súbore SSH v krokoch uvedených vyššie. Ak chcete znova načítať server SSH s novými konfiguráciami, musíte vo svojom termináli spustiť nasledujúci príkaz:

sudo služba sshd znovu načítať


Ak sa váš server SSH úspešne reštartuje, terminál nebude zobrazovať žiadny výstup, ako je to znázornené na obrázku nižšie:

Pokročilé kroky na zabezpečenie servera SSH v systéme Ubuntu 20.04:

Po vykonaní všetkých základných krokov pre zabezpečenie servera SSH v Ubuntu 20.04, môžete konečne prejsť k pokročilým krokom. Toto je iba krok vpred k zabezpečeniu vášho servera SSH. Ak však chcete dosiahnuť iba miernu úroveň zabezpečenia, postačia kroky opísané vyššie. Ak však chcete ísť trochu ďalej, môžete postupovať podľa krokov uvedených nižšie:

Krok 1: Otvorenie ~ /.Súbor ssh / authorized_keys:

Základné kroky zabezpečenia servera SSH sú implementované v konfiguračnom súbore SSH. Znamená to, že tieto zásady budú platiť pre všetkých používateľov, ktorí sa pokúsia získať prístup na server SSH. To tiež znamená, že základné kroky predstavujú všeobecnú metódu zabezpečenia servera SSH. Ak sa však pokúsime zvážiť zásadu „Obrana do hĺbky“, uvedomíme si, že je potrebné zabezpečiť každý jednotlivý kľúč SSH osobitne. To sa dá dosiahnuť definovaním explicitných bezpečnostných parametrov pre každý jednotlivý kľúč. Kľúče SSH sú uložené v priečinku ~ /.súboru ssh / authorized_keys, takže najskôr k tomuto súboru pristúpime, aby sme mohli upraviť parametre zabezpečenia. V termináli spustíme nasledujúci príkaz na prístup k ~ /.súbor ssh / authorized_keys:

sudo nano ~ /.ssh / authorized_keys

Spustením tohto príkazu sa otvorí zadaný súbor v nano editore. Na otvorenie tohto súboru však môžete použiť aj akýkoľvek iný textový editor podľa vášho výberu. Tento súbor bude obsahovať všetky kľúče SSH, ktoré ste doteraz vygenerovali.

Krok 2: Definovanie konkrétnych konfigurácií pre jednotlivé klávesy:

Na dosiahnutie pokročilej úrovne zabezpečenia je k dispozícii nasledujúcich päť možností:

Tieto možnosti je možné zapísať pred ľubovoľný kľúč SSH podľa vášho výberu, aby boli dostupné pre konkrétny kľúč. Pre jeden kľúč SSH je možné nakonfigurovať dokonca aj viac možností. Napríklad chcete zakázať presmerovanie portov pre akýkoľvek konkrétny kľúč alebo inými slovami, chcete implementovať presmerovanie portov bez portu pre konkrétny kľúč, potom bude mať syntax takto:

no-port-forwarding DesiredSSHKey

Tu namiesto DesiredSSHKey budete mať vo svojom ~ / skutočný kľúč SSH.súbor ssh / authorized_keys. Po použití týchto možností pre požadované SSH kľúče budete musieť uložiť ~ /.súbor ssh / authorized_keys a zatvorte ho. Dobré na tejto pokročilej metóde je, že po vykonaní týchto úprav nebude vyžadovať opätovné načítanie servera SSH. Váš server SSH tieto zmeny skôr načíta automaticky.

Týmto spôsobom budete môcť zabezpečiť každý kľúč SSH do hĺbky pomocou pokročilých bezpečnostných mechanizmov.

Niekoľko ďalších tipov na zabezpečenie servera SSH v systéme Ubuntu 20.04:

Okrem všetkých základných a pokročilých krokov, ktoré sme podnikli vyššie, existuje aj niekoľko ďalších tipov, ktoré sa môžu ukázať ako veľmi dobré na zabezpečenie servera SSH v Ubuntu 20.04. O týchto ďalších tipoch sa diskutovalo nižšie:

Majte svoje dáta šifrované:

Údaje, ktoré sa nachádzajú na vašom serveri SSH, a tiež tie, ktoré zostávajú na ceste, musia byť šifrované, a to tiež pomocou silného šifrovacieho algoritmu. Toto nielenže ochráni integritu a dôvernosť vašich údajov, ale zabráni aj ohrozeniu bezpečnosti celého vášho servera SSH.

Udržujte svoj softvér aktuálny:

Softvér, ktorý je spustený na vašom serveri SSH, musí byť aktuálny. To zaisťuje, že vo vašom softvéri nezostanú bez dozoru žiadne chyby zabezpečenia. Mali by byť skôr včas opravené. Takto sa ušetrí z dlhodobého hľadiska potenciálne poškodenie a zabráni sa tiež zlyhaniu alebo nedostupnosti servera z dôvodu bezpečnostných problémov.

Skontrolujte, či je SELinux povolený:

SELinux je mechanizmus, ktorý predstavuje základný kameň bezpečnosti v systémoch založených na systéme Linux. Funguje to implementáciou povinnej kontroly prístupu (MAC). Tento model riadenia prístupu implementuje tak, že vo svojej bezpečnostnej politike definuje pravidlá prístupu. Tento mechanizmus je predvolene povolený. Používatelia však môžu toto nastavenie kedykoľvek zmeniť. Znamená to, že môžu SELinux deaktivovať, kedykoľvek chcú. Dôrazne sa však odporúča, aby ste vždy ponechali SELinux povolený, aby zabránil vášmu serveru SSH pred potenciálnymi škodami.

Používajte prísne zásady týkajúce sa hesla:

Ak ste chránili svoj server SSH heslami, musíte vytvoriť silné zásady hesiel. V ideálnom prípade by heslá mali mať viac ako 8 znakov. Mali by sa meniť po stanovenom čase, povedzme, každé 2 mesiace. Nemali by obsahovať žiadne slová zo slovníka; skôr by to mala byť kombinácia abecedy, čísel a špeciálnych znakov. Podobne môžete definovať ďalšie mimoriadne prísne opatrenia pre svoje politiky hesiel, aby ste sa ubezpečili, že sú dostatočne silné.

Monitorujte a udržiavajte protokoly auditu vášho servera SSH:

Ak sa na vašom serveri SSH niečo pokazí, vašim prvým pomocníkom môžu byť protokoly auditu. Preto musíte tieto protokoly neustále udržiavať, aby ste mohli spätne sledovať hlavnú príčinu problému. Navyše, ak neustále sledujete zdravie a fungovanie vášho servera SSH nepretržite, zabráni to tiež tomu, aby sa na prvom mieste vyskytli akékoľvek závažné problémy.

Udržujte pravidelné zálohy svojich údajov:

V neposlednom rade by ste si mali vždy uchovať zálohu celého svojho servera SSH. Týmto spôsobom nielenže uložíte svoje dáta pred poškodením alebo úplnou stratou; tento zálohovací server môžete tiež použiť, kedykoľvek dôjde k výpadku vášho hlavného servera. Toto tiež obmedzí výpadky servera a zabezpečí jeho dostupnosť.

Záver:

Tým, že sa postaráte o všetky opatrenia predpísané v tomto článku, môžete ľahko zabezpečiť alebo spevniť svoj server SSH v Ubuntu 20.04. Ak však pochádzate z prostredia informačnej bezpečnosti, musíte si byť dobre vedomí tejto skutočnosti, že neexistuje nič ako 100% bezpečnosť. Jediné, čo môžeme získať, je prísľub najlepšieho úsilia a toto najlepšie úsilie bude zabezpečené iba dovtedy, kým nebude tiež porušené. Preto ani po vykonaní všetkých týchto opatrení nemôžete povedať, že váš server SSH je stopercentne zabezpečený; skôr to môže stále mať také zraniteľnosti, o ktorých by vás nikdy ani nenapadlo. O tieto chyby zabezpečenia sa môžeme postarať, iba ak budeme pozorne sledovať náš server SSH a neustále ho aktualizujeme, kedykoľvek je to potrebné.

Hry Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
OpenRA je herný engine Libre / Free Real Time Strategy, ktorý obnovuje rané hry z Westwoodu, ako napríklad klasické Command & Conquer: Red Alert. Dist...
Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...
Hry Ako používať GameConqueror Cheat Engine v Linuxe
Ako používať GameConqueror Cheat Engine v Linuxe
Tento článok obsahuje sprievodcu používaním cheatovacieho modulu GameConqueror v systéme Linux. Mnoho používateľov, ktorí hrajú hry v systéme Windows,...