Cele mai bune moduri de a vă securiza serverul SSH

Oct 15, 2025
Confidențialitate și securitate
Eny Setiyowati / Shutterstock.com

Asigurați conexiunea SSH a sistemului Linux pentru a vă proteja sistemul și datele. Administratorii de sistem și utilizatorii casnici trebuie, deopotrivă, să întărească și să securizeze computerele orientate spre internet, dar SSH poate fi complicat. Iată zece câștiguri rapide ușoare pentru a vă proteja serverul SSH.

Bazele securității SSH

SSH înseamnă Secure Shell . Denumirea „SSH” este utilizată în mod interschimbabil pentru a însemna fie protocolul SSH în sine, fie instrumentele software care permit administratorilor de sistem și utilizatorilor să facă conexiuni sigure la computerele la distanță folosind acel protocol.

Protocolul SSH este un protocol criptat conceput pentru a oferi o conexiune sigură printr-o rețea nesigură, cum ar fi internetul. SSH în Linux este construit pe o versiune portabilă a OpenSSH proiect. Este implementat într-un model clasic client-server , cu un server SSH care acceptă conexiuni de la clienții SSH. Clientul este folosit pentru a se conecta la server și la afişa sesiunea către utilizatorul la distanță. Serverul acceptă conexiunea și execută sesiunea.

În configurația sa implicită, un server SSH va asculta conexiunile primite pe protocolul de control al transmisiei ( TCP ) portul 22. Deoarece acesta este un standardizat, cunoscut port , este o țintă pentru actori de amenințare și roboți rău intenționați .

Actorii de amenințare lansează roboți care scanează o serie de adrese IP în căutarea porturilor deschise. Porturile sunt apoi testate pentru a vedea dacă există vulnerabilități care pot fi exploatate. A gândi: „Sunt în siguranță, există ținte mai mari și mai bune decât mine pentru care să țintească băieții răi” este un raționament fals. Roboții nu selectează ținte pe baza vreunui merit; caută metodic sisteme pe care le pot încălca.

Vă nominalizați ca victimă dacă nu v-ați securizat sistemul.

Fricțiune de securitate

Fricțiunea de securitate este iritarea - indiferent de grad - pe care o vor experimenta utilizatorii și alții atunci când implementați măsuri de securitate. Avem amintiri lungi și ne amintim că am introdus noi utilizatori într-un sistem informatic și i-am auzit întrebând cu o voce îngrozită dacă au într-adevăr a trebuit să introduceți o parolă de fiecare data s-au conectat la mainframe. Asta - pentru ei - era o frecare de securitate.

(De altfel, invenția parolei este creditată în Fernando J. Corbató , o altă figură din panteonul informaticienilor a căror muncă combinată a contribuit la circumstanțele care au dus la nașterea lui Unix .)

Introducerea măsurilor de securitate implică de obicei o formă de frecare pentru cineva. Proprietarii de afaceri trebuie să plătească pentru asta. Este posibil ca utilizatorii computerului să fie nevoiți să își schimbe practicile familiare sau să-și amintească un alt set de detalii de autentificare sau să adauge pași suplimentari pentru a se conecta cu succes. Administratorii de sistem vor avea de lucru suplimentar pentru a implementa și menține noile măsuri de securitate.

Întărirea și blocarea unui sistem de operare Linux sau Unix se poate implica foarte repede. Ceea ce vă prezentăm aici este un set de pași ușor de implementat, care vor îmbunătăți securitatea computerului dvs. fără a fi nevoie de aplicații de la terți și fără a intra în firewall.

Acești pași nu sunt cuvântul final în securitatea SSH, dar vă vor face să mergeți departe de setările implicite și fără prea multe fricțiuni.

Utilizați protocolul SSH versiunea 2

În 2006, protocolul SSH a fost actualizat de la versiunea 1 la versiunea 2 . A fost un upgrade semnificativ. Au existat atât de multe modificări și îmbunătățiri, în special în ceea ce privește criptarea și securitatea, încât versiunea 2 nu este compatibilă cu versiunea 1. Pentru a preveni conexiunile de la clienții din versiunea 1, puteți prevedea că computerul dvs. va accepta doar conexiuni de la clienții din versiunea 2.

Pentru a face acest lucru, editați fișierul / etc / ssh / sshd_config fişier. Vom face acest lucru mult pe tot parcursul acestui articol. Ori de câte ori trebuie să editați acest fișier, aceasta este comanda de utilizat:

sudo gedit / etc / ssh / sshd_config

Adăugați linia:

Protocolul 2

Și salvați fișierul. Vom reporni procesul de daemon SSH. Din nou, vom face acest lucru mult pe parcursul acestui articol. Aceasta este comanda de utilizat în fiecare caz:

sudo systemctl reporniți sshd

Să verificăm dacă noua noastră setare este în vigoare. Vom trece la o altă mașină și vom încerca să folosim SSH pe mașina noastră de testare. Și vom folosi -1 (protocol 1) opțiune pentru a forța ssh comandă pentru a utiliza versiunea 1 a protocolului.

ssh -1 [email protected]

Excelent, solicitarea noastră de conexiune este respinsă. Să ne asigurăm că ne putem conecta în continuare cu protocolul 2. Vom folosi -2 (protocol 2) opțiune pentru a demonstra faptul.

ssh -2 [email protected]

Faptul că serverul SSH solicită parola noastră este un indiciu pozitiv că conexiunea a fost realizată și că interacționați cu serverul. De fapt, deoarece clienții SSH moderni vor utiliza implicit protocolul 2, nu este necesar să specificăm protocolul 2 atâta timp cât clientul nostru este actualizat.

ssh [email protected]

Și conexiunea noastră este acceptată. Deci, numai conexiunile de protocol 1 mai slabe și mai puțin sigure sunt respinse.

Evitați portul 22

Portul 22 este portul standard pentru conexiunile SSH. Dacă utilizați un alt port, acesta adaugă un pic de securitate prin obscuritate sistemului dumneavoastră. Securitatea prin obscuritate nu este niciodată considerată o măsură de securitate adevărată și am criticat-o în alte articole. De fapt, unii dintre roboții de atac mai inteligenți sondează toate porturile deschise și determină ce serviciu transportă, mai degrabă decât să se bazeze pe o listă simplă de căutare a porturilor și presupunând că oferă serviciile obișnuite. Dar utilizarea unui port nestandard poate ajuta la reducerea zgomotului și a traficului defectuos pe portul 22.

Pentru a configura un port non-standard, editați fișierul de configurare SSH:

sudo gedit / etc / ssh / sshd_config

Eliminați numărul hash de la începutul liniei „Port” și înlocuiți „22” cu numărul de port ales. Salvați fișierul de configurare și reporniți daemonul SSH:

sudo systemctl reporniți sshd

Să vedem ce efect a avut acest lucru. Pe celălalt computer al nostru, vom folosi ssh comanda de conectare la serverul nostru. ssh comanda implicită la utilizarea portului 22:

ssh [email protected]

Conexiunea noastră este refuzată. Să încercăm din nou și să specificăm portul 470, folosind opțiunea -p (port):

ssh -p 479 [email protected]

Conexiunea noastră este acceptată.

Filtrează conexiunile folosind TCP Wrappers

TCP Wrappers este un instrument ușor de înțeles lista de control acces . Vă permite să excludeți și să permiteți conexiunile pe baza caracteristicilor cererii de conexiune, cum ar fi adresa IP sau numele gazdei. Învelitoarele TCP ar trebui utilizate împreună cu un firewall configurat corect și nu în loc de acesta. În scenariul nostru specific, putem strânge considerabil lucrurile folosind împachetări TCP.

Învelitoarele TCP erau deja instalate pe mașina Ubuntu 18.04 LTS folosită pentru cercetarea acestui articol. Trebuia să fie instalat pe Manjaro 18.10 și Fedora 30.

Pentru a instala pe Fedora, utilizați această comandă:

sudo yum instalați tcp_wrappers

Pentru a instala pe Manjaro, utilizați această comandă:

sudo pacman -Syu tcp-wrappers

Există două fișiere implicate. Una deține lista permisă, iar cealaltă deține lista refuzată. Editați lista de refuzuri folosind:

sudo gedit /etc/hosts.deny

Aceasta va deschide fișierul gedit editor cu fișierul de refuz încărcat în el.

Trebuie să adăugați linia:

TOATE: TOATE

Și salvați fișierul. Aceasta blochează tot accesul care nu a fost autorizat. Acum trebuie să autorizăm conexiunile pe care doriți să le acceptați. Pentru a face acest lucru, trebuie să editați fișierul de permis:

sudo gedit /etc/hosts.allow

Aceasta va deschide fișierul gedit editor cu fișierul permit încărcat în el.

Am adăugat în numele demonului SSH, SSHD Și adresa IP a computerului pe care vom permite să facem o conexiune. Salvați fișierul și să vedem dacă restricțiile și permisiunile sunt în vigoare.

Mai întâi, vom încerca să ne conectăm de la un computer care nu se află în gazde.permite fişier:

Conexiunea este refuzată. Vom încerca acum să ne conectăm de la mașină la adresa IP 192.168.4.23:

Conexiunea noastră este acceptată.

Exemplul nostru aici este puțin brutal - doar un singur computer se poate conecta. Împachetările TCP sunt destul de versatile și mai flexibile decât aceasta. Suportă nume de gazdă, metacaractere și măști de subrețea pentru a accepta conexiuni din game de adrese IP. Ești încurajat să consultați pagina manuală .

Respingeți cererile de conexiune fără parole

Deși este o practică proastă, un administrator de sistem Linux poate crea un cont de utilizator fără parolă. Asta înseamnă că solicitările de conectare la distanță de la acel cont nu vor avea nicio parolă pentru a verifica. Acele conexiuni vor fi acceptate, dar neautentificate.

Setările implicite pentru SSH acceptă cereri de conectare fără parole. O putem schimba foarte ușor și ne putem asigura că toate conexiunile sunt autentificate.

Trebuie să vă edităm fișierul de configurare SSH:

sudo gedit / etc / ssh / sshd_config

Derulați prin fișier până când vedeți linia care citește cu „#PermitEmptyPasswords no”. Eliminați hashul # de la începutul liniei și salvați fișierul. Reporniți daemonul SSH:

sudo systemctl reporniți sshd

Utilizați chei SSH în loc de parole

Cheile SSH oferă un mijloc sigur de conectare la un server SSH. Parolele pot fi ghicite, sparte sau brut-forțat . Cheile SSH nu sunt deschise pentru astfel de tipuri de atac.

Când generați chei SSH, creați o pereche de chei. Una este cheia publică, iar cealaltă este cheia privată. Cheia publică este instalată pe serverele la care doriți să vă conectați. Cheia privată, așa cum sugerează și numele, este păstrată în siguranță pe propriul computer.

Cheile SSH vă permit să faceți conexiuni fără o parolă care este - contraintuitiv - mai sigură decât conexiunile care utilizează autentificarea prin parolă.

Când efectuați o solicitare de conectare, computerul la distanță folosește copia cheii dvs. publice pentru a crea un mesaj criptat care este trimis înapoi la computer. Deoarece a fost criptat cu cheia dvs. publică, computerul vă poate decripta cu cheia dvs. privată.

Computerul dvs. extrage apoi unele informații din mesaj, în special ID-ul sesiunii, criptează și le trimite înapoi la server. Dacă serverul îl poate decripta cu copia sa a cheii dvs. publice și dacă informațiile din mesaj se potrivesc cu ceea ce serverul v-a trimis, conexiunea dvs. este confirmată că vine de la dvs.

Aici, se face o conexiune la server la 192.168.4.11, de către un utilizator cu chei SSH. Rețineți că nu li se solicită o parolă.

ssh [email protected]

Cheile SSH merită un articol pentru sine. La îndemână, avem unul pentru tine. Iată cum se creează și se instalează chei SSH .

LEGATE DE: Cum se creează și se instalează chei SSH din Linux Shell

Dezactivați complet autentificarea parolei

Desigur, extensia logică a utilizării cheilor SSH este că, dacă toți utilizatorii la distanță sunt obligați să le adopte, puteți dezactiva complet autentificarea parolei.

Trebuie să vă edităm fișierul de configurare SSH:

sudo gedit / etc / ssh / sshd_config

Derulați prin fișier până când vedeți linia care începe cu „#PasswordAuthentication yes”. Eliminați hashul # de la începutul liniei, schimbați „da” la „nu” și salvați fișierul. Reporniți daemonul SSH:

sudo systemctl reporniți sshd

Dezactivați redirecționarea X11

Redirecționarea X11 permite utilizatorilor la distanță să ruleze aplicații grafice de pe serverul dvs. într-o sesiune SSH. În mâinile unui actor de amenințare sau a unui utilizator rău intenționat, o interfață GUI le poate ușura scopurile maligne.

O mantra standard în securitatea cibernetică este dacă nu aveți un motiv de bună credință pentru ao activa, opriți-o. Vom face acest lucru editând fișierul de configurare SSH:

sudo gedit / etc / ssh / sshd_config

Derulați prin fișier până când vedeți linia care începe cu „# X11Forwarding no”. Eliminați hashul # de la începutul liniei și salvați fișierul. Reporniți daemonul SSH:

sudo systemctl reporniți sshd

Setați o valoare de expirare inactivă

Dacă există o conexiune SSH stabilită la computerul dvs. și nu a existat nicio activitate pe acesta pentru o perioadă de timp, ar putea prezenta un risc de securitate. Există șansa ca utilizatorul să-și părăsească biroul și să fie ocupat în altă parte. Orice altcineva care trece pe lângă biroul său se poate așeza și începe să-și folosească computerul și, prin SSH, computerul.

Este mult mai sigur să stabiliți o limită de expirare. Conexiunea SSH va fi întreruptă dacă perioada inactivă se potrivește cu limita de timp. Încă o dată, vom edita fișierul de configurare SSH:

sudo gedit / etc / ssh / sshd_config

Derulați prin fișier până când vedeți linia care începe cu „#ClientAliveInterval 0” Eliminați hash-ul # de la începutul liniei, schimbați cifra 0 la valoarea dorită. Am folosit 300 de secunde, adică 5 minute. Salvați fișierul și reporniți daemonul SSH:

sudo systemctl reporniți sshd

Setați o limită pentru încercările de parolă

Definirea unei limite a numărului de încercări de autentificare vă poate ajuta să împiedicați ghicirea parolelor și atacurile cu forță brută. După numărul desemnat de cereri de autentificare, utilizatorul va fi deconectat de la serverul SSH. În mod implicit, nu există nicio limită. Dar acest lucru este remediat rapid.

Din nou, trebuie să edităm fișierul de configurare SSH:

sudo gedit / etc / ssh / sshd_config

Derulați prin fișier până când vedeți linia care începe cu „#MaxAuthTries 0”. Eliminați hashul # de la începutul liniei, schimbați cifra 0 la valoarea dorită. Am folosit 3 aici. Salvați fișierul când ați făcut modificările și reporniți demonul SSH:

sudo systemctl reporniți sshd

Putem testa acest lucru încercând să ne conectăm și introducând în mod deliberat o parolă incorectă.

Rețineți că numărul MaxAuthTries părea să fie cu mai mult decât numărul de încercări permise utilizatorului. După două încercări rele, utilizatorul nostru de testare este deconectat. Aceasta a fost cu MaxAuthTries setat la trei.

Dezactivați logarea rădăcinii

Este o practică proastă să vă conectați ca root pe computerul dvs. Linux. Ar trebui să vă conectați ca utilizator normal și să utilizați sudo pentru a efectua acțiuni care necesită privilegii de root. Cu atât mai mult, nu ar trebui să permiteți root-ului să se conecteze la serverul dvs. SSH. Doar utilizatorii obișnuiți ar trebui să aibă permisiunea de a se conecta. Dacă trebuie să îndeplinească o sarcină administrativă, ar trebui să o folosească sudo de asemenea. Dacă ești forțat să permiți unui utilizator root să se conecteze, poți să-l forțezi cel puțin să folosească cheile SSH.

Pentru ultima dată, va trebui să edităm fișierul de configurare SSH:

sudo gedit / etc / ssh / sshd_config

Derulați prin fișier până când vedeți linia care începe cu „#PermitRootLogin prohibit-password” Eliminați hash-ul # de la începutul liniei.

  • Dacă doriți să împiedicați rădăcina să se conecteze, înlocuiți „interzice parola” cu „nu”.
  • Dacă aveți de gând să permiteți root-ului să se conecteze, dar forțați-i să folosească cheile SSH, lăsați „prohibit-parola” în loc.

Salvați modificările și reporniți daemonul SSH:

sudo systemctl reporniți sshd

Ultimul pas

Desigur, dacă nu aveți deloc nevoie de SSH care rulează pe computer, asigurați-vă că este dezactivat.

sudo systemctl stop sshd
sudo systemctl dezactivează sshd

Dacă nu deschideți fereastra, nimeni nu poate urca.

.intrare-conținut .pentru-intrare

The Best Ways To Secure Your SSH Server

How To Secure Linux SSH Server

How To Secure And Protect SSH Server

How To Secure A Server

Fail2ban Tutorial | How To Secure Your Server

How To Secure A Linux Server With UFW, SSH Keygen, Fail2ban & Two Factor Authentication

🔒 Securing SSH Server: Configuration

Beginners Guide To SSH


Confidențialitate și securitate - Cele mai populare articole

Cum se remediază „Deblocați iPhone pentru a utiliza accesorii”

Confidențialitate și securitate Jul 23, 2025

Începând cu iOS 12, va trebui întotdeauna să vă deblocați iPhone-ul sau iPad-ul pentru a conecta un accesoriu USB. Acest lucru se datorează „Modului restricționat USB”, ..


Ce este nou în actualizarea pentru toți creatorii Windows 10, disponibilă acum

Confidențialitate și securitate Oct 27, 2025

Actualizarea Fall Creators pentru Windows 10, cu numele de cod Redstone 3, este disponibilă pentru descărcare acum. Iată toate noile funcții pe care le veți vedea în cea mai r..


Cum să vă schimbați numele și parola rețelei Wi-Fi

Confidențialitate și securitate Jul 3, 2025

Dacă nu vă place numele rețelei Wi-Fi și parola cu care a venit routerul dvs., le puteți schimba în orice doriți în doar câteva clicuri. Ruterul dvs. Wi-Fi vine cu..


Ce este o aplicație „portabilă” și de ce contează?

Confidențialitate și securitate May 22, 2025

Aplicațiile portabile oferă unele avantaje certe față de omologii lor tradiționali. Sunt ușoare și vă permit să vă deplasați între computere în timp ce luați ..


Cum funcționează software-ul antivirus

Confidențialitate și securitate Sep 26, 2025

Programele antivirus sunt programe software puternice care sunt esențiale pe computerele Windows. Dacă v-ați întrebat vreodată cum detectează programele antivirus viruși, ce ..


Nu utilizați extensiile de browser ale antivirusului: acestea vă pot face efectiv mai puțin siguri

Confidențialitate și securitate Jul 5, 2025

Majoritatea programelor antivirus - sau „suitele de securitate”, așa cum se numesc ei înșiși, vor ca dvs. să instalați extensiile de browser. Promit că aceste ba..


Cum să vă deconectați de la Facebook Messenger pe dispozitivul dvs. Android

Confidențialitate și securitate Jul 5, 2025

CONȚINUTUL NECACHAT De când Facebook a decis să forțeze oamenii să folosească Facebook Messenger pentru a trimite și primi mesaje prin Facebook, mulți oameni nu sunt mulț..


Cum să aflați dacă Java este instalat în Ubuntu și cum să îl instalați

Confidențialitate și securitate Jul 12, 2025

În mod implicit, Ubuntu nu vine cu Java (sau Java Runtime Environment, JRE) instalat. Cu toate acestea, este posibil să aveți nevoie de el pentru unele programe sau jocuri precum..


Categorii