Goede praktijken met OpenSSH

OpenSSH (Beveiligde shell openen) is een set applicaties die gecodeerde communicatie via een netwerk mogelijk maakt met behulp van de protocol SSH. Het is gemaakt als een gratis en open alternatief voor het programma Secure Shell, dat is eigen software. « Wikipedia.

Sommige gebruikers denken misschien dat goede praktijken alleen op servers moeten worden toegepast en dat is niet het geval. Veel GNU / Linux-distributies bevatten standaard OpenSSH en er zijn een paar dingen om in gedachten te houden.

Veiligheid

Dit zijn de 6 belangrijkste punten om in gedachten te houden bij het configureren van SSH:

  1. Gebruik een sterk wachtwoord.
  2. Wijzig de standaardpoort van SSH.
  3. Gebruik altijd versie 2 van het SSH-protocol.
  4. Schakel root-toegang uit.
  5. Beperk gebruikerstoegang.
  6. Gebruik sleutelverificatie.
  7. Andere opties

Een sterk wachtwoord

Een goed wachtwoord is een wachtwoord dat alfanumerieke of speciale tekens, spaties, hoofdletters en kleine letters enz. bevat. Hier binnen DesdeLinux We hebben verschillende methoden laten zien om goede wachtwoorden te genereren. Kan bezoeken dit artikel y deze andere.

Wijzig de standaardpoort

De standaardpoort voor SSH is 22. Om dit te wijzigen, hoeven we alleen maar het bestand te bewerken / Etc / ssh / sshd_config. We zoeken naar de regel die zegt:

#Port 22

we verwijderen het commentaar en veranderen de 22 voor een ander nummer .. bijvoorbeeld:

Port 7022

Om de poorten te kennen die we niet gebruiken op onze computer / server, kunnen we uitvoeren in de terminal:

$ netstat -ntap

Om toegang te krijgen tot onze computer of server, moeten we dit doen met de optie -p als volgt:

$ ssh -p 7022 usuario@servidor

Gebruik protocol 2

Om er zeker van te zijn dat we versie 2 van het SSH-protocol gebruiken, moeten we het bestand bewerken / Etc / ssh / sshd_config en zoek naar de regel die zegt:

#Protocol2

We verwijderen het commentaar en starten de SSH-service opnieuw.

Sta geen toegang toe als root

Om te voorkomen dat de rootgebruiker op afstand toegang kan krijgen via SSH, kijken we in het bestand/ Etc / ssh / sshd_config de lijn:

#PermitRootLogin no

en we maken er geen commentaar op. Ik denk dat het de moeite waard is om te verduidelijken dat voordat we dit doen, we ervoor moeten zorgen dat onze gebruiker de nodige machtigingen heeft om administratieve taken uit te voeren.

Beperk de toegang door gebruikers

Het kan ook geen kwaad om alleen bepaalde vertrouwde gebruikers toegang via SSH toe te staan, dus keren we terug naar het bestand / Etc / ssh / sshd_config en we voegen de regel toe:

Sta gebruikers toe elav usemoslinux kzkggaara

Waar uiteraard de gebruikers elav, usemoslinux en kzkggaara degenen zijn die toegang zullen hebben.

Gebruik sleutelverificatie

Hoewel deze methode het meest wordt aanbevolen, moeten we extra voorzichtig zijn omdat we toegang krijgen tot de server zonder het wachtwoord in te voeren. Dit betekent dat als een gebruiker erin slaagt onze sessie binnen te komen of onze computer wordt gestolen, we in de problemen kunnen komen. Laten we echter kijken hoe we het moeten doen.

Het eerste is om een ​​paar sleutels te maken (openbaar en privé):

ssh-keygen -t rsa -b 4096

Vervolgens geven we onze sleutel door aan de computer / server:

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

Ten slotte moeten we in het bestand ongecommentarieerd hebben / Etc / ssh / sshd_config de lijn:

AuthorizedKeysFile .ssh/authorized_keys

Andere opties

Yukiteru's bijdrage

We kunnen de wachttijd waarin een gebruiker succesvol kan inloggen op het systeem terugbrengen tot 30 seconden

LoginGraceTime 30

Om ssh-aanvallen via TCP-spoofing te voorkomen, waarbij de ssh-kant maximaal 3 minuten versleuteld blijft, kunnen we deze 3 opties activeren.

TCPKeepAlive geen ClientAliveInterval 60 ClientAliveCountMax 3

Schakel het gebruik van rhost- of shosts-bestanden uit, die om veiligheidsredenen niet mogen worden gebruikt.

IgnoreRhosts ja IgnoreUserKnownHosts ja RhostsAuthentication nee RhostsRSAAuthentication nee

Controleer de effectieve machtigingen van de gebruiker tijdens het inloggen.

StrictModes yes

Maak scheiding van bevoegdheden mogelijk.

UsePrivilegeSeparation yes

Conclusiones:

Door deze stappen uit te voeren kunnen we extra beveiliging toevoegen aan onze computers en servers, maar we mogen nooit vergeten dat er een belangrijke factor is: wat is er tussen de stoel en het toetsenbord. Daarom raad ik aan om te lezen dit artikel.

bron: Hoe te smeden


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   yukitero zei

    Uitstekende post @elav en ik voeg een aantal interessante dingen toe:

    InloggenGraceTime 30

    Hierdoor kunnen we de wachttijd waarin een gebruiker succesvol kan inloggen op het systeem terugbrengen tot 30 seconden

    TCPKeepAlive nr
    ClientAliveInterval 60
    ClientAliveCountMax 3

    Deze drie opties zijn erg handig om ssh-aanvallen te vermijden door middel van TCP Spoofing, waarbij het versleutelde actief aan de ssh-kant maximaal 3 minuten actief blijft.

    IgnoreRhosts ja
    IgnoreUserKnownHosts ja
    RhostsAuthenticatie nr
    RhostsRSA Authenticatie nr

    Het schakelt het gebruik van rhost- of shosts-bestanden uit, die om veiligheidsredenen niet worden gebruikt.

    StrictModes ja

    Deze optie wordt gebruikt om de effectieve machtigingen van de gebruiker tijdens het inloggen te controleren.

    UsePrivilegeSeparation ja

    Maak scheiding van bevoegdheden mogelijk.

    1.    levendig zei

      Nou, straks zal ik het bericht bewerken en aan het bericht toevoegen 😀

  2.   Eugenio zei

    Geen commentaar geven om de lijn niet te veranderen is overbodig. De commentaarregels tonen de standaardwaarde van elke optie (lees de toelichting aan het begin van het bestand zelf). Root-toegang is standaard uitgeschakeld, enz. Daarom heeft het zonder commentaar absoluut geen effect.

    1.    levendig zei

      # De strategie die wordt gebruikt voor opties in de standaard sshd_config die wordt meegeleverd
      # OpenSSH is om opties te specificeren met hun standaardwaarde waar
      # mogelijk, maar laat commentaar achter. Opties zonder commentaar hebben voorrang op de
      # standaardwaarde.

      Ja, maar hoe weten we bijvoorbeeld dat we alleen versie 2 van het protocol gebruiken? Omdat we misschien 1 en 2 tegelijk kunnen gebruiken. Zoals de laatste regel zegt, wordt de standaardoptie overschreven door deze optie uit de commentaren te verwijderen. Als we standaard versie 2 gebruiken, prima, zo niet, dan gebruiken we het JA of JA 😀

      Bedankt voor de reactie

  3.   Sli zei

    Zeer goed artikel, ik wist verschillende dingen, maar een ding dat me nooit duidelijk is, is het gebruik van sleutels, echt wat ze zijn en welke voordelen heeft het, als ik sleutels gebruik, kan ik dan wachtwoorden gebruiken ??? Zo ja, waarom verhoogt het de beveiliging en zo niet, hoe krijg ik er toegang toe vanaf een andere pc?

  4.   doei zei

    Gegroet, ik heb debian 8.1 geïnstalleerd en ik kan geen verbinding maken vanaf mijn Windows-pc met Debian met WINSCP, moet ik protocol 1 gebruiken? alle hulp .. bedankt
    doei

  5.   franksanabria zei

    Mogelijk bent u geïnteresseerd in deze video over openssh https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   tegel zei

    Ik wil hier een aantal dingen proberen, verschillende heb ik al geprobeerd dankzij de Arch Wiki, andere vanwege luiheid of gebrek aan kennis. Ik bewaar het voor als ik mijn RPi start