Kako osigurati i ojačati OpenSSH poslužitelj


Što se tiče pristupa udaljenim uređajima kao što su poslužitelji, usmjerivači i preklopnici, SSH protokol je toplo preporučljiv s obzirom na njegovu sposobnost šifriranja prometa i tjeranja svih koji bi mogli pokušati prisluškivati u200bu200bvaše veze.

Bilo kako bilo, zadane postavke SSH nisu nepogrešive i potrebni su dodatni dotjerivanja kako bi protokol bio sigurniji. U ovom vodiču istražujemo različite načine na koje možete osigurati i ojačati instalaciju OpenSSH-a na poslužitelju.

1. Postavite SSH autentifikaciju bez lozinke

Prema zadanim postavkama, SSH zahtijeva od korisnika da daju svoje lozinke prilikom prijave. No, evo u čemu je stvar: hakeri mogu pogoditi lozinke ili čak izvršiti grubu silu pomoću posebnih alata za hakiranje i dobiti pristup vašem sustavu. Da bismo bili sigurni, visoko se potiče upotreba SSH autentifikacije bez lozinke.

Prvi je korak generiranje SSH para ključeva koji se sastoji od javnog i privatnog ključa. Privatni ključ nalazi se na vašem glavnom sustavu, dok se javni ključ zatim kopira na udaljeni poslužitelj.

Nakon što se javni ključ uspješno kopira, sada možete SSH-om pristupiti udaljeni poslužitelj bez potrebe davanja lozinke.

Sljedeći je korak onemogućavanje provjere autentičnosti lozinke. Da biste to postigli, trebate izmijeniti konfiguracijsku datoteku SSH.

$ sudo vim /etc/ssh/sshd_config

Unutar konfiguracijske datoteke pomaknite se i pronađite sljedeću direktivu. Otkomentirajte i promijenite opciju yes u no

PasswordAuthentication no

Zatim ponovno pokrenite SSH demon.

# sudo systemctl restart sshd

U ovom trenutku imat ćete pristup udaljenom poslužitelju samo pomoću provjere autentičnosti SSH ključa.

2. Onemogućite zahtjeve za povezivanje korisnika SSH bez lozinke

Drugi preporučeni način jačanja sigurnosti vašeg poslužitelja je onemogućavanje SSH prijava korisnicima bez lozinki. Ovo zvuči pomalo čudno, ali ponekad administratori sustava mogu stvoriti korisničke račune i zaboraviti dodijeliti lozinke - što je vrlo loša ideja.

Da biste odbili zahtjeve korisnika bez lozinke, ponovno idite u konfiguracijsku datoteku na /etc/ssh/sshd_config i osigurajte da imate donju direktivu:

PermitEmptyPasswords no

Zatim ponovo pokrenite SSH uslugu da bi promjena bila izvršena.

$ sudo systemctl restart sshd

3. Onemogućite korijenske prijave SSH-a

Nije nimalo pametno što se može dogoditi ako haker uspije nametnuti vašu root lozinku. Omogućavanje daljinske prijave za root uvijek je loša ideja koja bi mogla ugroziti sigurnost vašeg sustava.

Iz tog se razloga uvijek preporučuje da onemogućite SSH daljinsku prijavu za root i umjesto toga se pridržavate redovnog korisnika koji nije root. Još jednom prijeđite na konfiguracijsku datoteku i izmijenite ovaj redak kako je prikazano.

PermitRootLogin no

Kada završite, ponovo pokrenite SSH uslugu da bi promjena bila izvršena.

$ sudo systemctl restart sshd

Od sada će daljinska prijava za root biti deaktivirana.

4. Koristite SSH protokol 2

SSH dolazi u dvije verzije: SSH protokol 1 i protokol 2. SSH protokol 2 uveden je 2006. godine i sigurniji je od protokola 1 zahvaljujući snažnim kriptografskim provjerama, skupnoj enkripciji i robusnim algoritmima.

Prema zadanim postavkama SSH koristi protokol 1. Da biste to promijenili u sigurniji protokol 2, dodajte sljedeći redak u konfiguracijsku datoteku:

Protocol 2

Kao i uvijek, ponovo pokrenite SSH da bi promjene stupile na snagu.

$ sudo systemctl restart sshd

Ubuduće, SSH će prema zadanim postavkama koristiti Protokol 2.

Da biste provjerili podržava li SSH protokol 1 više, pokrenite naredbu:

$ ssh -1 [email protected]

Dobit ćete pogrešku koja glasi "SSH protokol v.1 više nije podržan".

U ovom je slučaju naredba bila:

$ ssh -1 [email protected]

Uz to, možete jednostavno navesti oznaku -2 samo da biste bili sigurni da je Protocol 2 zadani protokol koji se koristi.

$ ssh -2 [email protected]

5. Postavite vrijednost mirovanja vremena čekanja SSH veze

Ostaviti računalo dulje vrijeme bez nadzora s neaktivnim SSH vezom može predstavljati sigurnosni rizik. Netko može jednostavno proći i preuzeti vašu SSH sesiju i raditi što god želi. Da bi se riješio problem, razborito je, stoga, postaviti ograničenje praznog hoda koje će, kada se premaši, SSH sesija biti zatvorena.

Još jednom otvorite svoju konfiguracijsku datoteku SSH i pronađite direktivu "ClientAliveInterval". Dodijelite razumnu vrijednost, na primjer, postavio sam ograničenje na 180 sekundi.

ClientAliveInterval 180

To podrazumijeva da će SSH sesija biti prekinuta ako nakon 3 minute nije registrirana nijedna aktivnost, što je ekvivalent od 180 sekundi.

Zatim ponovno pokrenite SSH demon da biste izvršili izvršene promjene.

$ sudo systemctl restart sshd

6. Ograničite SSH pristup određenim korisnicima

Za dodatni sigurnosni sloj možete definirati korisnike kojima je potreban SSH protokol za prijavu i izvršavanje udaljenih zadataka na sustavu. Ovo sprječava ostale korisnike koji bi mogli pokušati pristupiti vašem sustavu bez vašeg odobrenja.

Kao i uvijek, otvorite konfiguracijsku datoteku i dodajte direktivu “AllowUsers” praćenu imenima korisnika koje želite dodijeliti. U donjem primjeru dopustio sam korisnicima 'tecmint' i 'james' da imaju daljinski pristup sustavu putem SSH-a. Bilo koji drugi korisnik koji pokuša dobiti daljinski pristup bit će blokiran.

AllowUsers tecmint james

Nakon toga ponovno pokrenite SSH kako bi se promjene nastavile.

$ sudo systemctl restart sshd

7. Konfigurirajte ograničenje za pokušaje zaporke

Drugi način na koji možete dodati sigurnosni sloj je ograničavanje broja pokušaja SSH prijave tako da nakon niza neuspjelih pokušaja veza padne. Dakle, još jednom prijeđite na konfiguracijsku datoteku i pronađite direktivu "MaxAuthTries" i definirajte vrijednost za maksimalni broj pokušaja.

U ovom je primjeru ograničenje postavljeno na 3 pokušaja, kao što je prikazano.

MaxAuthTries 3

I na kraju, ponovno pokrenite SSH uslugu kao u prethodnim scenarijima.

Možda će vam biti korisni i sljedeći članci povezani sa SSH:

  • Kako instalirati OpenSSH 8.0 poslužitelj iz izvora u Linuxu
  • Kako instalirati Fail2Ban za zaštitu SSH-a na CentOS/RHEL 8
  • Kako promijeniti SSH priključak u Linuxu
  • Kako stvoriti SSH tuneliranje ili prosljeđivanje priključaka u Linuxu
  • 4 načina za ubrzavanje SSH veza u Linuxu
  • Kako pronaći sve neuspjele pokušaje SSH prijave u Linuxu
  • Kako prekinuti neaktivne ili neaktivne SSH veze u Linuxu

To je bio pregled nekih mjera koje možete poduzeti kako biste osigurali SSH daljinske veze. Važno je dodati da uvijek trebate dodijeliti jake lozinke korisnicima koji imaju daljinski pristup za sprječavanje grubih napada. Nadamo se da vam je ovaj vodič bio pronicljiv. Vaše su povratne informacije dobro došle.