ssh

Kako osigurati SSH poslužitelj u Ubuntu 20.04 od Basic do Advanced

Kako osigurati SSH poslužitelj u Ubuntu 20.04 od Basic do Advanced
Kao i svi ostali poslužitelji, i SSH poslužitelj je sklon pokušajima neovlaštenog pristupa. Stoga, kad god želite koristiti SSH poslužitelj, morali ste prvo razmisliti o njegovom osiguranju kako biste se dugoročno spasili bilo kakve neželjene situacije. Općenito, pojam "osiguravanje poslužitelja" poznat je i pod nazivom "učvršćivanje poslužitelja".”To se može učiniti poduzimanjem više mjera. Te mjere ovise o razini sigurnosti koja vam je potrebna.

Mjere osiguranja SSH poslužitelja kreću se od osnovnih do naprednih, a kao što smo ranije rekli, možete ih pokupiti prema potrebnoj razini sigurnosti. Možete preskočiti bilo koju od propisanih mjera ako imate dovoljno znanja o posljedicama i ako ste u dobroj poziciji za suočavanje s njima. Također, nikada ne možemo reći da će jedan korak osigurati 100% sigurnost ili je određeni korak bolji od drugog.

Sve ovisi o tome koja vrsta sigurnosti zapravo trebamo. Stoga vam danas namjeravamo pružiti vrlo dubok uvid u osnovne i napredne korake za osiguranje SSH poslužitelja u Ubuntu 20.04. Osim ovih metoda, podijelit ćemo s vama i neke dodatne savjete za osiguranje vašeg SSH poslužitelja kao bonus. Krenimo stoga s današnjom zanimljivom raspravom.

Metoda osiguranja SSH poslužitelja u Ubuntu 20.04:

Sve SSH konfiguracije pohranjene su u datoteci / etc / ssh / sshd_config. Ova se datoteka smatra vrlo presudnom za normalno funkcioniranje vašeg SSH poslužitelja. Stoga, prije bilo kakvih promjena na ovoj datoteci, toplo se preporučuje da stvorite sigurnosnu kopiju ove datoteke pokretanjem sljedeće naredbe u vašem terminalu:

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


Ako se ova naredba uspješno izvrši, neće vam se prikazati nikakvi izlazi, kao što je prikazano na donjoj slici:

Nakon izrade sigurnosne kopije ove datoteke, ovaj je korak neobavezan i izvodi se ako želite provjeriti sve opcije koje su trenutno omogućene u ovoj konfiguracijskoj datoteci. Možete ga provjeriti pokretanjem sljedeće naredbe na vašem terminalu:

sudo sshd -T


Trenutno omogućene opcije konfiguracijske datoteke SSH prikazane su na donjoj slici. Možete se pomaknuti prema ovom popisu da biste pregledali sve opcije.

Sada možete početi osiguravati svoj SSH poslužitelj dok se krećete od osnovnih do naprednih koraka u Ubuntu 20.04.

Osnovni koraci za osiguranje SSH poslužitelja u Ubuntu 20.04:

Osnovni koraci za osiguranje SSH poslužitelja u Ubuntu 20.04 su kako slijedi:

1. korak: Otvaranje konfiguracijske datoteke SSH:

SSH konfiguracijsku datoteku možete otvoriti pokretanjem naredbe navedene u vašem terminalu:

sudo nano / etc / ssh / sshd_config


SSH konfiguracijska datoteka prikazana je na sljedećoj slici:

2. korak: Onemogućavanje provjere autentičnosti na temelju lozinke:

Umjesto upotrebe lozinki za autentifikaciju, SSH ključevi smatraju se sigurnijima. Stoga, ako ste generirali SSH ključeve za provjeru autentičnosti, tada morate onemogućiti provjeru autentičnosti na temelju lozinke. Za to trebate pronaći varijablu "PasswordAuthentication", raskomentirati je i postaviti joj vrijednost na "ne", kao što je istaknuto na slici prikazanoj dolje:

Korak 3: Odbijanje / poricanje praznih lozinki:

Ponekad je korisnicima izuzetno prikladno stvoriti prazne lozinke radi spašavanja od pamćenja složenih lozinki. Ova se praksa može pokazati štetnom za sigurnost vašeg SSH poslužitelja. Zbog toga trebate odbiti sve pokušaje provjere autentičnosti s praznim lozinkama. Da biste to učinili, morate pronaći varijablu “PermitEmptyPasswords” i jednostavno je komentirati jer je njena vrijednost prema zadanim postavkama već postavljena na “ne”, kao što je istaknuto na sljedećoj slici:

Korak # 4: Zabrana root prijave:

Trebali biste strogo zabraniti root prijave za zaštitu bilo kojeg uljeza od stjecanja pristupa na vašem poslužitelju na razini korijena. To možete učiniti tako da locirate varijablu “PermitRootLogin”, rakomentirate je i postavite njezinu vrijednost na “ne”, kao što je istaknuto na slici prikazanoj dolje:

Korak # 5: Korištenje SSH protokola 2:

SSH poslužitelj može raditi na dva različita protokola, tj.e., Protokol 1 i Protokol 2. Protokol 2 implementira naprednije sigurnosne značajke, zbog čega je poželjniji od Protokola 1. Međutim, Protokol 1 zadani je protokol SSH-a i nije izričito spomenut u konfiguracijskoj datoteci SSH. Stoga, ako želite raditi s Protokolom 2 umjesto s Protokolom 1, tada morate izričito dodati redak „Protokol 2“ u svoju SSH konfiguracijsku datoteku kako je istaknuto na sljedećoj slici:

Korak # 6: Postavljanje vremena čekanja za sesiju:

Ponekad korisnici vrlo dugo ostavljaju svoja računala bez nadzora. U međuvremenu, svaki uljez može doći i pristupiti vašem sustavu dok narušava njegovu sigurnost. Tu nastupa koncept vremenskog ograničenja sesije. Ova se značajka koristi za odjavu korisnika ako dugo ostaje neaktivan, tako da niti jedan drugi korisnik ne može dobiti pristup njegovom sustavu.

Ovo se vremensko ograničenje može postaviti lociranjem varijable "ClientAliveInterval", rakomentirati je i dodijeliti joj bilo koju vrijednost (u sekundama) po vašem izboru. U našem slučaju dodijelili smo mu vrijednost "300 sekundi" ili "5 minuta". To znači da će se korisnik, ako se bude držao podalje od SSH poslužitelja "300 sekundi", automatski odjaviti kako je istaknuto na slici prikazanoj dolje:

Korak # 7: Omogućavanje pristupa određenim korisnicima SSH poslužitelju:

SSH poslužitelj nije poslužitelj čiji pristup zahtijeva svaki drugi korisnik. Stoga njegov pristup mora biti ograničen samo na one korisnike kojima je to stvarno potrebno. Da biste određenim korisnicima omogućili pristup SSH poslužitelju, u konfiguracijsku datoteku SSH morate dodati varijablu pod nazivom "AllowUsers", a zatim napisati imena svih onih korisnika kojima želite dopustiti pristup SSH poslužitelju odvojene razmakom. U našem smo slučaju željeli dopustiti samo jednom korisniku pristup SSH poslužitelju. Zbog toga smo dodali samo njegovo ime istaknuto na slijedećoj slici:

Korak # 8: Ograničavanje broja pokušaja autentifikacije:

Kad god korisnik pokuša pristupiti poslužitelju, a prvi put se ne može autentificirati, pokušava to ponoviti. Korisnik nastavlja s tim pokušajima sve dok i osim ako se uspješno provjeri autentičnost i time ne dobije pristup SSH poslužitelju. To se smatra vrlo nesigurnom praksom jer haker može pokrenuti Brute Force Attack (napad koji opetovano pokušava pogoditi lozinku dok se ne pronađe pravo podudaranje). Kao rezultat toga, moći će pristupiti vašem SSH poslužitelju.

Zbog toga se toplo preporučuje ograničiti broj pokušaja provjere autentičnosti kako bi se spriječili napadi pogađanja lozinke. Zadana vrijednost pokušaja provjere autentičnosti na SSH poslužitelju postavljena je na "6". Međutim, možete ga promijeniti ovisno o razini zaštite koja vam je potrebna. Da biste to učinili, morate pronaći varijable "MaxAuthTries", rakomentirati ih i postaviti njegovu vrijednost na bilo koji željeni broj. Pokušaje autentifikacije željeli smo ograničiti na "3", kao što je istaknuto na slici prikazanoj dolje:

Korak # 9: Pokretanje SSH poslužitelja u testnom načinu:

Do sada smo poduzeli sve osnovne korake da zaštitimo naš SSH poslužitelj na Ubuntu 20.04. Međutim, još uvijek moramo biti sigurni da opcije koje smo upravo konfigurirali rade ispravno. Za to ćemo prvo spremiti i zatvoriti našu konfiguracijsku datoteku. Nakon toga pokušat ćemo pokrenuti naš SSH poslužitelj u testnom načinu. Ako se uspješno izvodi u testnom načinu rada, to će značiti da u vašoj konfiguracijskoj datoteci nema pogrešaka. SSH poslužitelj možete pokrenuti u testnom načinu pokretanjem sljedeće naredbe u vašem terminalu:

sudo sshd -t


Kad se ova naredba uspješno izvrši, neće prikazati izlaz na terminalu, kao što je prikazano na donjoj slici. Međutim, ako će biti pogrešaka u vašoj konfiguracijskoj datoteci, tada će pokretanje ove naredbe te pogreške prikazati na terminalu. Tada ćete trebati ispraviti te pogreške. Tek tada ćete moći nastaviti dalje.

10. korak: Ponovno učitavanje SSH poslužitelja s novim konfiguracijama:

Sada, kada se SSH poslužitelj uspješno izvodio u testnom načinu, moramo ga ponovo učitati kako bi mogao čitati novu konfiguracijsku datoteku.e., promjene koje smo izvršili u SSH konfiguracijskoj datoteci u gore prikazanim koracima. Za ponovno učitavanje SSH poslužitelja s novim konfiguracijama, u svom terminalu morate pokrenuti sljedeću naredbu:

sudo servis sshd ponovno učitavanje


Ako se vaš SSH poslužitelj uspješno ponovno pokrene, terminal neće prikazati izlaz, kao što je prikazano na donjoj slici:

Napredni koraci za zaštitu SSH poslužitelja u Ubuntu 20.04:

Nakon izvršavanja svih osnovnih koraka za osiguranje SSH poslužitelja u Ubuntu 20.04, napokon možete prijeći na napredne korake. Ovo je samo korak naprijed kako biste osigurali svoj SSH poslužitelj. Međutim, ako namjeravate postići samo umjerenu razinu sigurnosti, tada će biti dovoljni gore opisani koraci. Ali ako želite ići malo dalje, možete slijediti korake objašnjene u nastavku:

Korak # 1: Otvaranje ~ /.datoteka ssh / odobreni_ključevi:

Osnovni koraci osiguranja SSH poslužitelja implementirani su unutar SSH konfiguracijske datoteke. To znači da će se ove politike držati dobro za sve korisnike koji će pokušati pristupiti SSH poslužitelju. To također implicira da osnovni koraci predstavljaju generičku metodu osiguranja SSH poslužitelja. Međutim, ako pokušamo razmotriti princip "Obrane u dubini", shvatit ćemo da svaki zasebni SSH ključ moramo osigurati zasebno. To se može učiniti definiranjem eksplicitnih sigurnosnih parametara za svaki pojedini ključ. SSH ključevi pohranjeni su u ~ /.ssh / odobreni_kejevi, pa ćemo prvo pristupiti ovoj datoteci kako bismo izmijenili sigurnosne parametre. Izvršit ćemo sljedeću naredbu u terminalu za pristup ~ /.datoteka ssh / odobreni_ključevi:

sudo nano ~ /.ssh / odobreni_ključevi

Pokretanjem ove naredbe otvorit će navedenu datoteku pomoću nano uređivača. Međutim, za otvaranje ove datoteke možete koristiti bilo koji drugi uređivač teksta po vašem izboru. Ova će datoteka sadržavati sve SSH ključeve koje ste do sada generirali.

Korak # 2: Definiranje specifičnih konfiguracija za pojedine tipke:

Za postizanje napredne razine sigurnosti dostupno je sljedećih pet mogućnosti:

Te se mogućnosti mogu napisati prije bilo kojeg SSH ključa po vašem izboru kako bi ih učinili dostupnima za taj određeni ključ. Čak se i više opcija može konfigurirati za jedan SSH ključ. Na primjer, želite onemogućiti prosljeđivanje porta za bilo koji određeni ključ ili, drugim riječima, želite implementirati prosljeđivanje ne-porta za određeni ključ, tada će sintaksa biti sljedeća:

ne-prosljeđivanje luka DesiredSSHKey

Ovdje ćete umjesto DesiredSSHKey imati stvarni SSH ključ u vašem ~ /.datoteka ssh / odobreni_ključevi. Nakon primjene ovih opcija za željene SSH ključeve, morat ćete spremiti ~ /.ssh / odobreni_kejevi datoteku i zatvorite je. Dobro je što se tiče ove napredne metode što neće zahtijevati ponovno učitavanje SSH poslužitelja nakon što izvršite ove izmjene. Te će promjene vaš SSH poslužitelj automatski pročitati automatski.

Na taj ćete način moći dubinski osigurati svaki SSH ključ primjenom naprednih sigurnosnih mehanizama.

Neki dodatni savjeti za zaštitu SSH poslužitelja u Ubuntu 20.04:

Pored svih osnovnih i naprednih koraka koje smo poduzeli gore, postoje i neki dodatni savjeti koji se mogu pokazati vrlo dobrima za osiguranje SSH poslužitelja u Ubuntu 20.04. U nastavku su razmatrani ovi dodatni savjeti:

Neka vaši podaci budu šifrirani:

Podaci koji se nalaze na vašem SSH poslužitelju, kao i oni koji ostaju u prijenosu, moraju biti šifrirani i to s jakim algoritmom šifriranja. To neće zaštititi samo integritet i povjerljivost vaših podataka, već će i spriječiti ugrožavanje sigurnosti cijelog vašeg SSH poslužitelja.

Redovito ažurirajte svoj softver:

Softver koji se izvodi na vašem SSH poslužitelju mora biti ažuriran. To je učinjeno kako bi se osiguralo da nikakve sigurnosne pogreške u vašem softveru ne ostanu bez nadzora. Umjesto toga, trebali bi ih na vrijeme dobro zakrpati. To će vas dugoročno uštedjeti od potencijalne štete, a spriječit će i pad vašeg poslužitelja ili njegovo nedostupnost zbog sigurnosnih problema.

Provjerite je li SELinux omogućen:

SELinux je mehanizam koji postavlja temelj sigurnosti u sustavima temeljenim na Linuxu. Djeluje primjenom Obvezne kontrole pristupa (MAC). Ovaj model kontrole pristupa provodi definirajući pravila pristupa u svojoj sigurnosnoj politici. Ovaj je mehanizam omogućen prema zadanim postavkama. Međutim, korisnicima je dopušteno promijeniti ovu postavku u bilo kojem trenutku. To znači da mogu onemogućiti SELinux kad god žele. Međutim, toplo se preporučuje da uvijek držite omogućen SELinux kako bi mogao spriječiti vaš SSH poslužitelj od svih potencijalnih šteta.

Koristite stroga pravila zaporke:

Ako ste svoj SSH poslužitelj zaštitili zaporkama, tada morate stvoriti jaka pravila zaporke. Idealno bi bilo da lozinke imaju više od 8 znakova. Trebali bi ih mijenjati nakon određenog vremena, recimo, nakon svaka 2 mjeseca. Ne smiju sadržavati riječi iz rječnika; nego bi trebali biti kombinacija abeceda, brojeva i posebnih znakova. Slično tome, možete definirati neke druge izuzetno stroge mjere za svoje politike lozinki kako biste bili sigurni da su dovoljno jake.

Nadgledajte i održavajte zapisnike revizije vašeg SSH poslužitelja:

Ako nešto pođe po zlu s vašim SSH poslužiteljem, vaš prvi pomoćnik mogu biti zapisnici revizije. Stoga morate i dalje održavati te zapisnike kako biste mogli pratiti glavni uzrok problema. Štoviše, ako neprestano nadzirete zdravlje i rad vašeg SSH poslužitelja, to će također spriječiti da se pojave svi glavni problemi.

Održavajte redovite sigurnosne kopije podataka:

I na kraju, ali ne najmanje važno, uvijek biste trebali imati sigurnosnu kopiju cijelog SSH poslužitelja. To neće samo uštedjeti vaše podatke od oštećenja ili potpunog gubitka; radije možete koristiti i ovaj poslužitelj za sigurnosne kopije kad god vam glavni poslužitelj padne. To će također ograničiti zastoj poslužitelja i osigurati njegovu dostupnost.

Zaključak:

Uzimajući u obzir sve mjere propisane u ovom članku, lako možete osigurati ili učvrstiti svoj SSH poslužitelj u Ubuntu 20.04. Međutim, ako potječete iz informacijske sigurnosti, tada morate dobro znati tu činjenicu da ne postoji ništa poput 100% sigurnosti. Sve što možemo dobiti je obećanje najboljeg napora, a taj najbolji napor bit će siguran samo do trenutka kada će i biti prekršen. Zbog toga čak i nakon poduzimanja svih ovih mjera ne možete reći da je vaš SSH poslužitelj 100% siguran; nego još uvijek može imati takve ranjivosti na koje niste mogli niti pomisliti. Takve se ranjivosti mogu riješiti samo ako budno pazimo na naš SSH poslužitelj i nastavimo ga ažurirati kad god je to potrebno.

Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...
Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...