Cum să vă securizați conexiunea SSH în CentOS 7

SSH este principalul protocol folosit pentru a vă conecta și administra serverele Linux. Din acest motiv, este unul dintre cele mai frecvent atacate porturi atunci când actori neaveniți încearcă să obțină acces la serverul dumneavoastră. În acest articol, vom discuta câteva metode pe care le puteți folosi pentru a vă face conexiunea SSH mai sigură.

Notă: În funcție de produsul pe care îl aveți cu OVHcloud, este posibil ca unii dintre acești pași să fi fost deja făcuți. Dacă acesta este cazul, pur și simplu treceți la următorul pas. În plus, pașii din acest articol presupun că vă autentificați la serverul dvs. utilizând chei SSH. Dacă folosiți în schimb o parolă, anumiți pași din acest articol nu vor funcționa.

Precondiții

  • Cum se utilizează cheile SSH
  • Serverul care rulează CentOS 7

Subiecte

  • Crearea unui nou utilizator Sudo
  • Schimbarea daemonului SSH Configurație

Crearea unui nou utilizator Sudo

Întotdeauna este cea mai bună practică să nu permiteți autentificarea root prin SSH, deoarece acesta este numele de utilizator pe care oamenii vor încerca să îl spargă cel mai mult. Astfel, primul lucru pe care dorim să îl facem pentru a ne securiza serverul este să creăm un nou utilizator sudo pentru SSH. Pentru a face acest lucru, introduceți următoarea comandă, înlocuind numele de utilizator roșu cu numele de utilizator ales de dvs:

# adduser username

În continuare, vom seta o parolă pentru utilizator:

# passwd username

Să urmăm instrucțiunile de creare și confirmare a parolei. Acum, dorim să acordăm noului nostru utilizator privilegii sudo, astfel încât să putem deveni root și să executăm comenzi care necesită privilegii administrative. Putem face acest lucru introducând următoarea comandă.

# usermod -aG wheel username

În sfârșit, dorim să îi permitem noului nostru utilizator să se autentifice folosind cheia publică SSH pe care am furnizat-o deja utilizatorului root. Putem folosi o simplă comandă rsync pentru a copia cheia publică în fișierul authorized_keys al noului nostru utilizator.

# rsync --archive --chown=username:username ~/.ssh /home/username

Înainte de a trece la pasul următor, deconectați-vă și asigurați-vă că sunteți capabil să vă autentificați pe server ca nou utilizator folosind SSH. Dacă nu reușiți să vă autentificați ca noul utilizator, veți putea totuși să vă autentificați ca root; confirmați că toate comenzile au fost introduse corect și încercați să vă autentificați din nou ca noul utilizator.

Modificarea configurației daemonului SSH

Din moment ce folosim chei SSH și un nou utilizator pentru a ne autentifica pe server, nu dorim niciodată ca cineva să se autentifice folosind o parolă sau numele de utilizator root. Pentru a realiza acest lucru, mai întâi dorim să navigăm la fișierul de configurare pentru daemonul OpenSSH. Pentru a face acest lucru, deschideți fișierul într-un editor de text la alegere folosind următoarea comandă:

$ sudo vi /etc/ssh/sshd_config

Există trei modificări pe care dorim să le facem în acest fișier. În primul rând, dorim să schimbăm portul pe care OpenSSH ascultă cererile.

Avertizare: Dacă aveți vreun firewall activ, va trebui să permiteți traficul prin portul pe care îl alegeți sau vă veți bloca accesul la serverul dumneavoastră. Dacă vă blocați în afara serverului, puteți redobândi accesul prin IPMI sau KVM. Pentru a afla mai multe, vă rugăm să consultați articolul Noțiuni de bază despre IPMI.

În partea de sus a fișierului, veți vedea o secțiune care, în mod implicit, arată astfel:

#Port 22#AddressFamily any#ListenAddress 0.0.0.0#ListenAddress ::

Nu completați secțiunea „Port” și alegeți orice număr de port valid, ca în exemplul următor. În exemplul nostru, folosim portul 12345.

Port 12345#AddressFamily any#ListenAddress 0.0.0.0#ListenAddress ::

În continuare, derulați în jos până la porțiunea # Authentication: din fișier. Veți vedea cinci opțiuni care vor apărea în mod implicit după cum urmează:

#LoginGraceTime 2m#PermitRootLogin yes
PermitRootLogin yes#StrictModes#MaxAuthTries 6#MaxSessions 10

Aici dorim să schimbăm „yes” de lângă „PermitRootLogin” în „no”. Acesta va apărea după cum urmează:

#LoginGraceTime 2m
#PermitRootLogin yesPermitRootLogin no#StrictModes#MaxAuthTries 6#MaxSessions 10

Acum vrem să derulăm fișierul sshd_config puțin mai jos pentru a face ultima noastră modificare – dezactivarea autentificării prin parolă. Veți vedea o secțiune care arată în mod implicit așa:

# To disable tunneled clear text passwords, change to no here!#PasswordAuthentication yes#PermitEmptyPasswords no
PasswordAuthentication yes

Vrem să schimbăm „yes” de lângă „PasswordAuthentication” în „no”. Aceasta va apărea după cum urmează:

# To disable tunneled clear text passwords, change to no here!#PasswordAuthentication yes#PermitEmptyPasswords no
PasswordAuthentication no

Salvați și ieșiți din fișier. În cele din urmă, trebuie să repornim OpenSSH pentru ca modificările să aibă efect. Faceți acest lucru introducând următoarea comandă:

$ sudo systemctl restart sshd.service

Să luăm o secundă pentru a revizui ceea ce am făcut aici. Am schimbat numărul portului pe care îl folosim pentru a asculta cererile SSH. Apoi, am dezactivat accesul SSH pentru utilizatorul root sau pentru orice utilizator care încearcă să se autentifice cu o parolă. Dacă am făcut acest lucru corect, următoarea comandă nu va mai funcționa pentru a ne conecta la server.

$ ssh [email protected]

Pentru a ne conecta acum, va trebui să specificăm numărul portului pe care îl folosim pentru a asculta cererile SSH. Asta înseamnă că de acum încolo va trebui să folosim următoarea comandă, înlocuind numărul de lângă „-p” cu numărul de port pe care l-am ales mai devreme:

$ ssh -p 12345 [email protected]

Asigurați-vă că această comandă funcționează și că cea anterioară nu funcționează. Dacă da, sunteți gata să vă accesați serverul în siguranță prin SSH.

Concluzie

Cu atât de mulți actori răi care folosesc internetul, nu a fost niciodată mai important să securizați orice potențial punct de intrare în serverul dumneavoastră. Urmând acest ghid, ați ajutat la securitatea celui mai comun punct de intrare pe serverele Linux.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.