SSH este un protocol utilizat pe scară largă pentru accesarea în siguranță a serverelor Linux. Majoritatea utilizatorilor folosesc conexiuni SSH cu setări implicite pentru a se conecta la un server la distanță. Cu toate acestea, configurațiile implicite nesecurizate prezintă și diverse riscuri de securitate.
Contul rădăcină al unui server cu acces SSH deschis poate fi în pericol. Și mai ales dacă utilizați o adresă IP publică, este mult mai ușor să piratați parola de root. Prin urmare, este necesar să aveți cunoștințe despre securitatea SSH.
Iată cum vă puteți securiza conexiunile la serverul SSH pe Linux.
1. Dezactivați autentificarea utilizatorului root
Pentru aceasta, mai întâi, dezactivați accesul SSH al utilizatorului root și creați un utilizator nou cu privilegii root. Oprirea accesului la server pentru utilizatorul root este o strategie de apărare care împiedică atacatorii să-și atingă obiectivul de a pătrunde în sistem. De exemplu, puteți crea un utilizator numit exampleroot după cum urmează:
useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot
Iată o scurtă explicație a comenzilor menționate mai sus:
- useradd creează un utilizator nou și -m parametrul creează un folder sub Acasă directorul pentru utilizatorul pe care l-ați creat.
- The passwd comanda este pentru atribuirea unei parole noului utilizator. Amintiți-vă că parolele pe care le atribuiți utilizatorilor ar trebui să fie complexe și dificil de ghicit.
- usermod -aG sudo adaugă utilizatorul nou creat la grupul de administrare.
După procesul de creare a utilizatorului, este necesar să se facă unele modificări la sshd_config fişier. Puteți găsi acest fișier la /etc/ssh/sshd_config. Deschideți fișierul cu orice editor de text și efectuați următoarele modificări:
# Autentificare:
#LoginGraceTime 2m
PermitRootLogin nr
AllowUsers exampleroot
PermitRootLogin linia va împiedica utilizatorul root să obțină acces de la distanță folosind SSH. Inclusiv exampleroot în AllowUsers list acordă utilizatorului permisiunile necesare.
În cele din urmă, reporniți serviciul SSH utilizând următoarea comandă:
sudo systemctl reporniți ssh
Dacă aceasta nu reușește și primiți un mesaj de eroare, încercați comanda de mai jos. Acest lucru poate diferi în funcție de distribuția Linux pe care o utilizați.
sudo systemctl restart sshd
2. Schimbarea portului implicit
Portul implicit de conexiune SSH este 22. Desigur, toți atacatorii știu acest lucru și, prin urmare, este necesar să se schimbe numărul de port implicit pentru a asigura securitatea SSH. Deși un atacator poate găsi cu ușurință noul numărul portului cu o scanare Nmap, scopul aici este de a îngreuna munca atacatorului.
Pentru a schimba numărul portului, deschideți /etc/ssh/sshd_config și faceți următoarele modificări în fișier:
Include /etc/ssh/sshd_config.d/*.conf
Portul 5922
După acest pas, reporniți serviciul SSH din nou cu sudo systemctl reporniți ssh. Acum vă puteți accesa serverul folosind portul pe care tocmai l-ați definit. Dacă utilizați un firewall, trebuie să faceți și acolo modificările necesare regulilor. La rularea netstat -tlpn comandă, puteți vedea că numărul portului dvs. pentru SSH s-a schimbat.
3. Blocați accesul utilizatorilor cu parole goale
Este posibil să existe utilizatori fără parole pe sistemul dvs. pe care le-ați creat accidental. Pentru a împiedica astfel de utilizatori să acceseze serverele, puteți seta PermitEmptyPasswords valoarea liniei în sshd_config dosar la Nu.
PermitEmptyPasswords nr
4. Limitați încercările de conectare/acces
În mod implicit, puteți accesa serverul făcând oricâte încercări de parolă doriți. Cu toate acestea, atacatorii pot folosi această vulnerabilitate pentru a forța serverul. Puteți rezilia automat conexiunea SSH după un anumit număr de încercări prin specificarea numărului de încercări permise de parolă.
Pentru aceasta, schimbați MaxAuthTries valoare în sshd_config fişier.
MaxAuthTries 3
5. Folosind SSH versiunea 2
A doua versiune de SSH a fost lansată din cauza numeroaselor vulnerabilități din prima versiune. În mod implicit, puteți activa serverul să utilizeze a doua versiune adăugând Protocol parametru la dvs sshd_config fişier. În acest fel, toate conexiunile viitoare vor folosi a doua versiune de SSH.
Include /etc/ssh/sshd_config.d/*.conf
Protocolul 2
6. Dezactivarea redirecționării portului TCP și redirecționării X11
Atacatorii pot încerca să obțină acces la celelalte sisteme ale tale prin redirecționarea portului prin conexiuni SSH. Pentru a preveni acest lucru, puteți dezactiva AllowTcpForwarding și X11 Redirecționare caracteristici în sshd_config fişier.
X11Redirecționare nr
AllowTcpForwarding nr
7. Conectarea cu o cheie SSH
Una dintre cele mai sigure moduri de a vă conecta la server este să utilizați o cheie SSH. Când utilizați o cheie SSH, puteți accesa serverul fără o parolă. În plus, puteți dezactiva complet accesul prin parolă la server prin modificarea parametrilor legați de parolă din sshd_config fişier.
Când creați o cheie SSH, există două chei: Public și Privat. Cheia publică este încărcată pe serverul la care doriți să vă conectați și cheia privată este stocată pe computerul cu care veți stabili conexiunea.
Creați o cheie SSH cu ssh-keygen comanda pe computer. Nu părăsi Fraza de acces câmp gol și amintiți-vă parola pe care ați introdus-o aici. Dacă îl lăsați necompletat, îl veți putea accesa doar cu fișierul cheie SSH. Cu toate acestea, dacă setați o parolă, puteți împiedica accesul unui atacator cu fișierul cheie. De exemplu, puteți crea o cheie SSH cu următoarea comandă:
ssh-keygen
8. Restricții IP pentru conexiunile SSH
De cele mai multe ori, firewall-ul blochează accesul folosind cadre de standarde proprii și are ca scop protejarea serverului. Cu toate acestea, acest lucru nu este întotdeauna suficient și trebuie să creșteți acest potențial de securitate.
Pentru a face acest lucru, deschideți /etc/hosts.allow fişier. Cu adăugările pe care le faceți acestui fișier, puteți restricționa permisiunea SSH, puteți permite un anumit bloc IP sau puteți introduce un singur IP și blocați toate adresele IP rămase cu comanda deny.
Mai jos veți vedea câteva exemple de setări. După ce faceți acestea, reporniți serviciul SSH ca de obicei pentru a salva modificările.
Importanța securității serverului Linux
Problemele de securitate a datelor și a datelor sunt destul de detaliate și ar trebui luate în considerare de toți administratorii de server. Securitatea serverului este o problemă foarte sensibilă, deoarece principalul obiectiv al atacurilor sunt serverele web și conțin aproape toate informațiile despre un sistem. Deoarece majoritatea serverelor rulează pe infrastructura Linux, este foarte important să fii familiarizat cu sistemul Linux și cu administrarea serverului.
Securitatea SSH este doar una dintre modalitățile de a proteja serverele. Este posibil să minimizați daunele suferite prin oprirea, blocarea sau încetinirea unui atac. Pe lângă furnizarea de securitate SSH, există multe metode diferite pe care le puteți implementa pentru a vă securiza serverele Linux.