03/29/2024

3 moduri de a securiza un server SSH pe Linux

SSH este minunat, deoarece ne permite să obținem acces terminal la alte PC-uri și servere Linux prin rețea sau chiar pe internet! Cu toate acestea, oricât de uimitoare este această tehnologie, există câteva probleme de securitate flagrante care fac ca utilizarea acesteia să fie nesigură. Dacă sunteți un utilizator obișnuit, nu este nevoie reală de a instala instrumente complicate de securitate SSH. În schimb, luați în considerare să urmați acești pași de bază pentru a securiza un server SSH pe Linux.

Schimbați portul de conexiune implicit

De departe, cel mai rapid și simplu mod de a securiza un server SSH este schimbarea portului pe care îl folosește. În mod implicit, serverul SSH rulează pe portul 22. Pentru a-l schimba, deschideți o fereastră de terminal. În fereastra terminalului, SSH către computerul de la distanță care găzduiește serverul SSH.

ssh [email protected]

Odată autentificat, treceți de la un utilizator obișnuit la Root. Dacă aveți contul Root activat, autentificarea cu su este o alegere bună. În caz contrar, va trebui să obțineți acces cu sudo.

su -

sau

sudo -s

Acum că aveți acces de administrator, deschideți fișierul de configurare SSH în Nano.

nano /etc/ssh/sshd_config

Derulați prin fișierul de configurare pentru „Port 22”. Eliminați # dacă există unul, apoi schimbați „22” cu un alt număr. De obicei, un port peste 100 sau chiar unul în intervalul 1.000 va fi suficient. După modificarea numărului portului, apăsați combinația de tastaturi Ctrl + O pentru a salva editările. Apoi, ieșiți din editor apăsând Ctrl + X.

  Cum să verificați pentru rootkit-uri pe Linux cu Tiger

Editarea fișierului de configurare nu va schimba imediat serverul SSH la utilizarea portului corect. În schimb, va trebui să reporniți manual serviciul.

systemctl restart sshd

Rularea comenzii systemctl ar trebui să repornească demonul SSH și să aplice noile setări. Dacă repornirea demonului eșuează, o altă opțiune este să reporniți mașina serverului SSH:

reboot

După repornirea demonului (sau a mașinii), SSH nu va fi accesibil prin portul 22. Ca rezultat, conectarea prin SSH necesită specificarea manuală a portului.

Notă: asigurați-vă că schimbați „1234” cu portul setat în fișierul de configurare SSH.

ssh -p 1234 [email protected]

Dezactivați autentificarea prin parolă

O altă modalitate excelentă de a securiza un server SSH este de a elimina parola de conectare și, în schimb, trecerea la autentificare prin chei SSH. Urmărirea traseului cheii SSH creează un cerc de încredere între serverul dvs. SSH și mașinile la distanță care au cheia dvs. Este un fișier de parolă criptat, greu de spart.

Configurați cu o cheie SSH pe serverul dvs. Când ați configurat cheile, deschideți un terminal și deschideți fișierul de configurare SSH.

su -

sau

sudo -s

Apoi, deschideți configurația în Nano cu:

nano /etc/ssh/sshd_config

În mod implicit, serverele SSH gestionează autentificarea prin parola utilizatorului. Dacă aveți o parolă sigură, aceasta este o modalitate bună de a merge, dar o cheie SSH criptată pe mașinile de încredere este mai rapidă, mai convenabilă și mai sigură. Pentru a finaliza tranziția la „autentificare fără parolă”, căutați în fișierul de configurare SSH. În interiorul acestui fișier, derulați și găsiți intrarea care spune „Autentificare prin parolă”.

Eliminați simbolul # din fața „PasswordAuthentication” și asigurați-vă că are cuvântul „nu” în fața acestuia. Dacă totul arată bine, salvați editările în configurația SSH apăsând Ctrl + O de pe tastatură.

  Cum să joci Principiul Talos pe Linux

După salvarea configurației, închideți Nano cu Ctrl + X și reporniți SSHD pentru a aplica modificările.

systemctl restart sshd

Dacă nu utilizați systemd, încercați să reporniți SSH cu această comandă:

service ssh restart

Data viitoare când o mașină de la distanță încearcă să se conecteze la acest server SSH, va verifica cheile corecte și le va lăsa să intre, fără o parolă.

Dezactivați contul root

Dezactivarea contului Root de pe serverul dvs. SSH este o modalitate de a atenua daunele care pot apărea atunci când un utilizator neautorizat obține acces prin SSH. Pentru a dezactiva contul Root, este imperativ ca cel puțin un utilizator de pe serverul dvs. SSH să poată obține Root prin sudo. Acest lucru vă va asigura că puteți obține în continuare acces la nivel de sistem dacă aveți nevoie de el, fără parola Root.

Notă: asigurați-vă că utilizatorii care pot accesa privilegiile Root prin sudo au o parolă sigură, sau dezactivarea contului de superutilizator este inutilă.

Pentru a dezactiva Root, ridicați terminalul la privilegii de superutilizator:

sudo -s

Utilizarea sudo -s ocolește necesitatea de a vă autentifica cu su și, în schimb, oferă un shell rădăcină prin fișierul sudoers. Acum că shell-ul are acces de superutilizator, rulați comanda parolă și amestecați contul Root cu –lock.

passwd --lock root

Rularea comenzii de mai sus amestecă parola contului Root, astfel încât conectarea prin su este imposibilă. De acum înainte, utilizatorii pot intra numai prin SSH ca utilizator local, apoi pot trece la un cont Root prin privilegii sudo.