ssh

Kako zavarovati strežnik SSH v Ubuntu 20.04 od Basic do Advanced

Kako zavarovati strežnik SSH v Ubuntu 20.04 od Basic do Advanced
Tako kot vsi drugi strežniki je tudi strežnik SSH nagnjen k nepooblaščenim poskusom dostopa. Torej, kadar koli želite uporabiti SSH strežnik, morate najprej razmisliti o njegovem zavarovanju, da se dolgoročno rešite kakršne koli neželene situacije. Na splošno je izraz "zaščita strežnika" znan tudi kot "utrjevanje strežnika".”To je mogoče storiti z več ukrepi. Ti ukrepi so odvisni od stopnje varnosti, ki jo potrebujete.

Ukrepi za zaščito strežnika SSH segajo od osnovnih do naprednih, in kot smo že omenili, jih lahko izberete glede na raven varnosti, ki jo potrebujete. Katerega koli od predpisanih ukrepov lahko preskočite, če imate dovolj znanja o posledicah in če ste v dobrem položaju, da se z njimi soočite. Prav tako nikoli ne moremo reči, da bo en sam korak zagotovil 100-odstotno varnost ali pa je določen korak boljši od drugega.

Vse je odvisno od tega, katero vrsto varnosti dejansko potrebujemo. Zato vam nameravamo danes dati globok vpogled v osnovne in napredne korake za zaščito SSH strežnika v Ubuntu 20.04. Poleg teh načinov bomo z vami delili tudi nekaj dodatnih nasvetov za zaščito vašega SSH strežnika kot bonus. Začnimo torej z današnjo zanimivo razpravo.

Način zavarovanja strežnika SSH v Ubuntu 20.04:

Vse konfiguracije SSH so shranjene v datoteki / etc / ssh / sshd_config. Ta datoteka je zelo pomembna za normalno delovanje vašega SSH strežnika. Zato je pred kakršno koli spremembo te datoteke zelo priporočljivo, da ustvarite varnostno kopijo te datoteke, tako da v terminalu zaženete naslednji ukaz:

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


Če se ta ukaz uspešno izvede, vam ne bo prikazan noben izhod, kot je prikazano na spodnji sliki:

Po izdelavi varnostne kopije te datoteke je ta korak neobvezen in se izvede, če želite preveriti vse možnosti, ki so trenutno omogočene v tej konfiguracijski datoteki. To lahko preverite tako, da v terminalu zaženete naslednji ukaz:

sudo sshd -T


Trenutno omogočene možnosti konfiguracijske datoteke SSH so prikazane na spodnji sliki. Po seznamu se lahko pomaknete navzdol in si ogledate vse možnosti.

Zdaj lahko začnete zavarovati svoj SSH strežnik, medtem ko prehajate od osnovnih korakov do naprednih korakov v Ubuntu 20.04.

Osnovni koraki za zaščito SSH strežnika v Ubuntu 20.04:

Osnovni koraki za zaščito SSH strežnika v Ubuntu 20.04 so naslednji:

1. korak: Odpiranje konfiguracijske datoteke SSH:

Konfiguracijsko datoteko SSH lahko odprete tako, da v terminalu zaženete spodnji ukaz:

sudo nano / etc / ssh / sshd_config


Konfiguracijska datoteka SSH je prikazana na naslednji sliki:

2. korak: Onemogočanje preverjanja pristnosti na podlagi gesla:

Namesto uporabe gesel za preverjanje pristnosti ključi SSH veljajo za bolj varne. Če ste torej ustvarili ključe SSH za preverjanje pristnosti, morate onemogočiti preverjanje pristnosti na podlagi gesla. Za to morate poiskati spremenljivko »PasswordAuthentication«, jo razkomentirati in nastaviti njeno vrednost na »ne«, kot je poudarjeno na spodnji sliki:

3. korak: Zavrnitev / zavrnitev praznih gesel:

Včasih je uporabnikom izjemno priročno ustvariti prazna gesla, da bi se rešili zapomnjevanja zapletenih gesel. Ta praksa se lahko izkaže za škodljivo za varnost vašega SSH strežnika. Zato morate zavrniti vse poskuse preverjanja pristnosti s praznimi gesli. Za to morate poiskati spremenljivko “PermitEmptyPasswords” in jo preprosto razkomentirati, saj je njena vrednost privzeto že nastavljena na “ne”, kot je poudarjeno na naslednji sliki:

4. korak: Prepoved root prijave:

Strogo bi morali prepovedati root prijave, da zaščitite vsiljivca pred dostopom do vašega strežnika na korenski ravni. To lahko storite tako, da poiščete spremenljivko »PermitRootLogin«, jo razkomentirate in nastavite njeno vrednost na »ne«, kot je poudarjeno na spodnji sliki:

5. korak: Uporaba SSH protokola 2:

SSH strežnik lahko deluje na dveh različnih protokolih, tj.e., Protokol 1 in Protokol 2. Protokol 2 uporablja naprednejše varnostne funkcije, zato ima prednost pred Protokolom 1. Vendar je protokol 1 privzeti protokol SSH in v konfiguracijski datoteki SSH ni izrecno omenjen. Če želite torej delati s protokolom 2 namesto s protokolom 1, morate izrecno dodati vrstico »Protokol 2« v svojo konfiguracijsko datoteko SSH, kot je označeno na naslednji sliki:

6. korak: Nastavitev časovne omejitve seje:

Včasih uporabniki zelo dolgo pustijo svoje računalnike brez nadzora. Medtem lahko vsak vsiljivec pride in dostopa do vašega sistema, hkrati pa krši njegovo varnost. Tu nastopi koncept časovne omejitve seje. Ta funkcija se uporablja za odjavo uporabnika, če ostane dlje časa neaktiven, tako da noben drug uporabnik ne more dostopati do njegovega sistema.

To časovno omejitev lahko nastavite tako, da poiščete spremenljivko "ClientAliveInterval", jo razkomentirate in ji dodelite poljubno vrednost (v sekundah) po vaši izbiri. V našem primeru smo mu dodelili vrednost "300 sekund" ali "5 minut". To pomeni, da če se uporabnik »300 sekund« drži stran od SSH strežnika, potem bo samodejno odjavljen, kot je označeno na spodnji sliki:

7. korak: Dovolitev določenim uporabnikom dostop do strežnika SSH:

Strežnik SSH ni strežnik, katerega dostop zahteva vsak drugi uporabnik. Zato mora biti njegov dostop omejen samo na tiste uporabnike, ki to dejansko potrebujejo. Če želite določenim uporabnikom omogočiti dostop do strežnika SSH, morate v konfiguracijsko datoteko SSH dodati spremenljivko z imenom »AllowUsers« in nato napisati imena vseh tistih uporabnikov, ki jim želite dovoliti dostop do strežnika SSH, ločene s presledkom. V našem primeru smo želeli le enemu uporabniku omogočiti dostop do strežnika SSH. Zato smo dodali samo njegovo ime, kot je poudarjeno na naslednji sliki:

8. korak: Omejevanje števila poskusov preverjanja pristnosti:

Kadar koli uporabnik poskuša dostopati do strežnika in se prvič ne more avtentificirati, poskusi znova. Uporabnik nadaljuje s temi poskusi, dokler se sam ne uspe uspešno overiti in tako pridobi dostop do SSH strežnika. To velja za zelo negotovo prakso, saj lahko heker sproži napad Brute Force (napad, ki večkrat poskuša uganiti geslo, dokler ne najde pravega ujemanja). Posledično bo lahko dobil dostop do vašega SSH strežnika.

Zato je zelo priporočljivo omejiti število poskusov preverjanja pristnosti, da preprečimo napade ugibanja gesla. Privzeta vrednost poskusov preverjanja pristnosti strežnika SSH je nastavljena na "6". Lahko pa ga spremenite glede na raven varnosti, ki jo potrebujete. Za to morate poiskati spremenljivke "MaxAuthTries", jo razkomentirati in njeno vrednost nastaviti na poljubno želeno število. Poskuse preverjanja pristnosti smo želeli omejiti na "3", kot je poudarjeno na spodnji sliki:

9. korak: Zagon strežnika SSH v preskusnem načinu:

Do zdaj smo naredili vse osnovne korake za zaščito našega SSH strežnika v Ubuntu 20.04. Kljub temu moramo še vedno zagotoviti, da možnosti, ki smo jih pravkar konfigurirali, delujejo pravilno. Za to bomo najprej shranili in zaprli svojo konfiguracijsko datoteko. Po tem bomo poskusili naš SSH strežnik zagnati v testnem načinu. Če se v testnem načinu uspešno zažene, to pomeni, da v vaši konfiguracijski datoteki ni napak. Strežnik SSH lahko zaženete v preskusnem načinu, tako da v terminalu zaženete naslednji ukaz:

sudo sshd -t


Ko se ta ukaz uspešno izvede, na terminalu ne bo prikazal nobenega izhoda, kot je prikazano na spodnji sliki. Če pa bodo v vaši konfiguracijski datoteki napake, bo zagon tega ukaza te napake upodobil na terminalu. Nato boste morali te napake odpraviti. Šele nato boste lahko nadaljevali.

10. korak: Ponovno nalaganje strežnika SSH z novimi konfiguracijami:

Zdaj, ko je strežnik SSH uspešno deloval v preskusnem načinu, ga moramo znova naložiti, da lahko bere novo konfiguracijsko datoteko, i.e., spremembe, ki smo jih naredili v konfiguracijski datoteki SSH v zgornjih korakih. Za ponovno nalaganje strežnika SSH z novimi konfiguracijami morate v terminalu zagnati naslednji ukaz:

sudo service sshd reload


Če se SSH strežnik znova zažene, terminal ne bo prikazal izhodnih podatkov, kot je prikazano na spodnji sliki:

Napredni koraki za zaščito SSH strežnika v Ubuntu 20.04:

Po izvedbi vseh osnovnih korakov za zaščito SSH strežnika v Ubuntu 20.04, lahko končno nadaljujete z naprednimi koraki. To je le korak naprej, da zaščitite svoj SSH strežnik. Če pa nameravate doseči le zmerno raven varnosti, zadostujejo zgoraj opisani koraki. Če pa želite iti nekoliko dlje, lahko sledite spodnjim korakom:

1. korak: Odpiranje ~ /.Datoteka ssh / pooblaščeni_keji:

Osnovni koraki za zaščito strežnika SSH so izvedeni v konfiguracijski datoteki SSH. To pomeni, da bodo te politike veljale vsem uporabnikom, ki bodo poskušali dostopati do strežnika SSH. To tudi pomeni, da osnovni koraki predstavljajo generično metodo zaščite SSH strežnika. Če pa bomo poskušali upoštevati načelo "Obramba v globino", bomo ugotovili, da moramo vsak posamezen SSH ključ zavarovati posebej. To lahko storite z določitvijo eksplicitnih varnostnih parametrov za vsak posamezen ključ. Ključi SSH so shranjeni v ~ /.ssh / pooblaščeni_keji, zato bomo najprej dostopali do te datoteke, da spremenimo varnostne parametre. V terminalu bomo zagnali naslednji ukaz za dostop do ~ /.Datoteka ssh / pooblaščeni_keji:

sudo nano ~ /.ssh / pooblaščene_ključke

Zagon tega ukaza bo odprl določeno datoteko z urejevalnikom nano. Vendar pa lahko za odpiranje te datoteke uporabite kateri koli drug urejevalnik besedila po vaši izbiri. Ta datoteka bo vsebovala vse SSH ključe, ki ste jih ustvarili do zdaj.

2. korak: Določanje posebnih konfiguracij za določene tipke:

Za doseganje napredne ravni varnosti je na voljo naslednjih pet možnosti:

Te možnosti lahko napišete pred katerim koli izbranim ključem SSH, da so na voljo za določen ključ. Za en ključ SSH je mogoče konfigurirati celo več možnosti. Na primer, želite onemogočiti posredovanje vrat za kateri koli ključ ali, z drugimi besedami, želite izvesti posredovanje vrat brez določenega ključa, potem bo sintaksa naslednja:

brez posredovanja vrat DesiredSSHKey

Tu boste namesto DesiredSSHKey imeli dejanski SSH ključ v vašem ~ /.ssh / файл pooblaščenih_ključkov. Po uporabi teh možnosti za želene SSH ključe boste morali shraniti ~ /.ssh / pooblaščeni_keji in jo zaprite. Dobro pri tej napredni metodi je, da po izvedbi teh sprememb ne bo treba znova naložiti strežnika SSH. Te spremembe bo strežnik SSH samodejno prebral.

Na ta način boste lahko vsak SSH ključ poglobljeno zaščitili z uporabo naprednih varnostnih mehanizmov.

Nekaj ​​dodatnih nasvetov za zaščito SSH strežnika v Ubuntu 20.04:

Poleg vseh osnovnih in naprednih korakov, ki smo jih sprejeli zgoraj, obstaja tudi nekaj dodatnih nasvetov, ki se lahko izkažejo za zelo dobre za zaščito SSH strežnika v Ubuntu 20.04. Ti dodatni nasveti so obravnavani spodaj:

Naj bodo vaši podatki šifrirani:

Podatki na strežniku SSH in tisti, ki ostanejo v prenosu, morajo biti šifrirani in tudi z močnim algoritmom šifriranja. To ne bo le zaščitilo integritete in zaupnosti vaših podatkov, ampak tudi preprečilo ogrožanje varnosti celotnega SSH strežnika.

Posodabljajte svojo programsko opremo:

Programska oprema, ki se izvaja na vašem SSH strežniku, mora biti posodobljena. To se naredi za zagotovitev, da nobena varnostna napaka v vaši programski opremi ne ostane brez nadzora. Namesto tega bi jih bilo treba pravočasno dobro popraviti. Tako boste dolgoročno rešeni morebitne škode in preprečili, da bi strežnik zaradi varnostnih težav padel ali bil nedosegljiv.

Prepričajte se, da je SELinux omogočen:

SELinux je mehanizem, ki postavlja temelj varnosti v sistemih, ki temeljijo na Linuxu. Deluje z izvajanjem obveznega nadzora dostopa (MAC). Ta model nadzora dostopa izvaja z opredelitvijo pravil dostopa v svoji varnostni politiki. Ta mehanizem je privzeto omogočen. Vendar lahko uporabniki to nastavitev kadar koli spremenijo. To pomeni, da lahko SELinux onemogočijo kadar koli želijo. Vendar je močno priporočljivo, da imate vedno omogočen SELinux, da lahko vašemu SSH strežniku prepreči vso možno škodo.

Uporabite stroge pravilnike o geslih:

Če ste strežnik SSH zaščitili z gesli, morate ustvariti močne pravilnike o geslih. V idealnem primeru bi morala biti gesla daljša od 8 znakov. Spremeniti jih je treba po določenem času, recimo vsaka 2 meseca. Ne smejo vsebovati nobenih besed v slovarju; namesto tega bi morali biti kombinacija abeced, številk in posebnih znakov. Podobno lahko določite še nekatere izjemno stroge ukrepe za svoje politike gesel, da zagotovite, da so dovolj močni.

Spremljajte in vzdržujte dnevnike revizije strežnika SSH:

Če gre kaj narobe s strežnikom SSH, so lahko vaš prvi pomočnik dnevniki revizije. Zato morate še naprej vzdrževati te dnevnike, da boste lahko izsledili glavni vzrok težave. Poleg tega, če nenehno spremljate zdravje in delovanje strežnika SSH, bo to tudi preprečilo, da bi se pojavile kakršne koli večje težave.

Vzdržujte redne varnostne kopije svojih podatkov:

Nenazadnje morate vedno hraniti varnostno kopijo celotnega SSH strežnika. S tem ne boste le prihranili podatkov pred poškodbami ali v celoti izgubljenimi; Namesto tega lahko uporabite tudi ta varnostni strežnik, kadar se vaš glavni strežnik izklopi. To bo tudi omejilo izpad strežnika in zagotovilo njegovo razpoložljivost.

Zaključek:

Če poskrbite za vse ukrepe, ki so predpisani v tem članku, lahko SSH strežnik v Ubuntu 20 enostavno zaščitite ali utrdite.04. Če pa ste iz okolja informacijske varnosti, se morate dobro zavedati tega dejstva, da ni nič takega kot 100-odstotna varnost. Vse, kar lahko dobimo, je obljuba najboljšega truda in ta najboljši trud bo varen le do trenutka, ko bo tudi kršen. Zato tudi po izvedbi vseh teh ukrepov ne morete trditi, da je vaš SSH strežnik 100% varen; morda ima še vedno takšne ranljivosti, na katere sploh ne bi mogli niti pomisliti. Za takšne ranljivosti je mogoče poskrbeti le, če pozorno spremljamo naš strežnik SSH in ga nenehno posodabljamo, kadar koli je to potrebno.

Nadzirajte in upravljajte gibanje miške med več monitorji v sistemu Windows 10
Upravitelj miške z dvojnim zaslonom vam omogoča nadzor in konfiguriranje gibanja miške med več monitorji, tako da upočasni gibanje blizu meje. Windows...
WinMouse vam omogoča prilagajanje in izboljšanje premikanja kazalca miške v računalniku z operacijskim sistemom Windows
Če želite izboljšati privzete funkcije kazalca miške, uporabite brezplačno programsko opremo WinMouse. Dodaja več funkcij, s pomočjo katerih boste kar...
Levi gumb miške ne deluje v sistemu Windows 10
Če s prenosnikom ali namiznim računalnikom uporabljate namensko miško, vendar gumb miške z levim klikom ne deluje v operacijskem sistemu Windows 10/8/...