Bune practici cu OpenSSH

OpenSSH (Deschideți Secure Shell) este un set de aplicații care permit comunicații criptate pe o rețea, utilizând protocol SSH. A fost creat ca o alternativă gratuită și deschisă la program Secure Shell, care este software proprietar. « Wikipedia.

Unii utilizatori pot crede că bunele practici ar trebui aplicate numai pe servere și acest lucru nu este cazul. Multe distribuții GNU / Linux includ OpenSSH în mod implicit și există câteva lucruri de reținut.

Securitate

Acestea sunt cele mai importante 6 puncte de care trebuie să ții cont atunci când configurezi SSH:

  1. Folosiți o parolă puternică.
  2. Schimbați portul implicit al SSH.
  3. Folosiți întotdeauna versiunea 2 a protocolului SSH.
  4. Dezactivați accesul root.
  5. Limitați accesul utilizatorilor.
  6. Folosiți autentificarea cheii.
  7. Alte opțiuni

O parolă puternică

O parolă bună este una care conține caractere alfanumerice sau speciale, spații, litere mari și mici... etc. Aici în DesdeLinux Am arătat mai multe metode de a genera parole bune. Se poate vizita acest articol y aceasta alta.

Schimbați portul implicit

Portul implicit pentru SSH este 22. Pentru a-l modifica, tot ce trebuie să facem este să edităm fișierul / Etc / ssh / sshd_config. Căutăm linia care spune:

#Port 22

îl decomentăm și schimbăm 22 pentru un alt număr .. de exemplu:

Port 7022

Pentru a cunoaște porturile pe care nu le folosim în computerul / serverul nostru, le putem executa în terminal:

$ netstat -ntap

Acum pentru a accesa computerul sau serverul nostru trebuie să o facem cu opțiunea -p după cum urmează:

$ ssh -p 7022 usuario@servidor

Utilizați Protocolul 2

Pentru a ne asigura că utilizăm versiunea 2 a protocolului SSH, trebuie să edităm fișierul / Etc / ssh / sshd_config și căutați linia care spune:

# Protocolul 2

Îl decomentăm și repornim serviciul SSH.

Nu permiteți accesul ca root

Pentru a împiedica utilizatorul root să poată accesa de la distanță prin SSH, căutăm în fișier/ Etc / ssh / sshd_config linia:

#PermitRootLogin no

și o descomentăm. Cred că merită clarificat faptul că, înainte de a face acest lucru, trebuie să ne asigurăm că utilizatorul nostru are permisiunile necesare pentru a efectua sarcini administrative.

Limitați accesul utilizatorilor

De asemenea, nu este rău să permitem accesul prin SSH numai anumitor utilizatori de încredere, așa că ne întoarcem la fișier / Etc / ssh / sshd_config și adăugăm linia:

AllowUsers elav usemoslinux kzkggaara

În mod evident, utilizatorii elav, usemoslinux și kzkggaara sunt cei care vor putea accesa.

Folosiți autentificarea cheii

Deși această metodă este cea mai recomandată, trebuie să avem o grijă deosebită, deoarece vom accesa serverul fără a introduce parola. Aceasta înseamnă că, dacă un utilizator reușește să intre în sesiunea noastră sau computerul nostru este furat, putem avea probleme. Cu toate acestea, să vedem cum să o facem.

Primul lucru este să creați o pereche de chei (publice și private):

ssh-keygen -t rsa -b 4096

Apoi trecem cheia către computer / server:

ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7

În cele din urmă, trebuie să avem un comentariu, în fișier / Etc / ssh / sshd_config linia:

AuthorizedKeysFile .ssh/authorized_keys

Alte opțiuni

Contribuția lui Yukiteru

Putem reduce timpul de așteptare în care un utilizator se poate conecta cu succes la sistem la 30 de secunde

LoginGraceTime 30

Pentru a evita atacurile ssh prin TCP Spoofing, lăsând partea ssh criptată în viață pentru maximum 3 minute, putem activa aceste 3 opțiuni.

TCPKeepAlive nu ClientAliveInterval 60 ClientAliveCountMax 3

Dezactivați utilizarea fișierelor rhosts sau shosts, care din motive de securitate sunt îndemnate să nu fie utilizate.

IgnoreRhosts da IgnoreUserKnownHosts da RhostsAuthentication nu RhostsRSAAuthentication nu

Verificați permisiunile efective ale utilizatorului în timpul conectării.

StrictModes yes

Activați separarea privilegiilor.

UsePrivilegeSeparation yes

concluzii:

Făcând acești pași putem adăuga o securitate suplimentară computerelor și serverelor noastre, dar nu trebuie să uităm niciodată că există un factor important: ce este între scaun și tastatură. De aceea recomand să citesc acest articol.

Fuente: CumToForge


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   yukiteru el a spus

    Excelent post @elav și adaug câteva lucruri interesante:

    LoginGraceTime 30

    Acest lucru ne permite să reducem timpul de așteptare în care un utilizator se poate conecta cu succes la sistem la 30 de secunde

    TCPKeepAlive nr
    Intervalul ClientAlive 60
    ClientAliveCountMax 3

    Aceste trei opțiuni sunt destul de utile pentru a evita atacurile ssh prin intermediul TCP Spoofing, lăsând criptat în viață pe partea ssh activ timp de maxim 3 minute.

    IgnoreRhosts da
    IgnoreUserKnownHosts da
    RhostsAuthentication nr
    RhostsRSAAuthentication nr

    Dezactivează utilizarea fișierelor rhosts sau shosts, care din motive de securitate sunt îndemnate să nu fie utilizate.

    StrictModes da

    Această opțiune este utilizată pentru a verifica permisiunile efective ale utilizatorului în timpul conectării.

    UsePrivilegeSeparation da

    Activați separarea privilegiilor.

    1.    plin de viață el a spus

      Ei bine, peste un timp voi edita postarea și o voi adăuga la postare 😀

  2.   Eugenio el a spus

    Descomentarea pentru a nu schimba linia este redundantă. Liniile comentate arată valoarea implicită a fiecărei opțiuni (citiți clarificarea de la începutul fișierului). Accesul la rădăcină este dezactivat în mod implicit etc. Prin urmare, necomentarea nu are absolut niciun efect.

    1.    plin de viață el a spus

      # Strategia utilizată pentru opțiuni în sshd_config implicit livrat cu
      # OpenSSH este de a specifica opțiuni cu valoarea lor implicită unde
      # posibil, dar lasă-i comentat. Opțiunile necomentate suprascriu
      # valoare implicită.

      Da, dar, de exemplu, de unde știm că folosim doar versiunea 2 a protocolului? Pentru că am putea folosi 1 și 2 în același timp. După cum spune ultima linie, de exemplu, necomentând această opțiune, suprascrie opțiunea implicită. Dacă folosim în mod implicit versiunea 2, bine, dacă nu, atunci o vom folosi DA sau DA 😀

      Mulțumesc pentru comentariu

  3.   sli el a spus

    Articol foarte bun, știam mai multe lucruri, dar un lucru care nu îmi este niciodată clar este utilizarea tastelor, cu adevărat care sunt acestea și ce avantaje are, dacă folosesc tastele pot folosi parole ?? Dacă da, de ce crește securitatea și dacă nu, cum îl pot accesa de pe alt computer?

  4.   pa el a spus

    Salutări, am instalat debian 8.1 și nu mă pot conecta de pe PC-ul meu Windows la debian cu WINSCP, va trebui să folosesc protocolul 1? orice ajutor .. mulțumesc
    pa

  5.   franksanabria el a spus

    S-ar putea să vă intereseze acest videoclip despre openssh https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   Ţiglă el a spus

    Vreau să încerc câteva lucruri aici, câteva le-am încercat deja datorită Arch Wiki, altele din cauza lenei sau lipsei de cunoștințe. Îl voi păstra pentru când îmi încep RPi