God praxis med OpenSSH

OpenSSH (Öppna Secure Shell) är en uppsättning applikationer som tillåter krypterad kommunikation över ett nätverk med hjälp av protokoll SSH. Det skapades som ett gratis och öppet alternativ till programmet Secure Shell, som är proprietär programvara. « wikipedia.

Vissa användare kanske tycker att god praxis endast bör tillämpas på servrar och så är det inte. Många GNU / Linux-distributioner inkluderar OpenSSH som standard och det finns några saker att tänka på.

säkerhet

Det här är de 6 viktigaste punkterna att tänka på när du konfigurerar SSH:

  1. Använd ett starkt lösenord.
  2. Ändra standardporten för SSH.
  3. Använd alltid version 2 av SSH-protokollet.
  4. Inaktivera root-åtkomst.
  5. Begränsa användaråtkomst.
  6. Använd nyckelautentisering.
  7. Andra alternativ

Ett starkt lösenord

Ett bra lösenord är ett som innehåller alfanumeriska eller specialtecken, mellanslag, stora och små bokstäver ... etc. Här i DesdeLinux har vi visat flera metoder för att skapa bra lösenord. Kan besöka den här artikeln y den här andra.

Ändra standardporten

Standardporten för SSH är 22. För att ändra den behöver vi bara redigera filen / Etc / ssh / sshd_config. Vi letar efter linjen som säger:

#Port 22

vi kommenterar det och ändrar 22 för ett annat nummer .. till exempel:

Port 7022

För att känna till de portar som vi inte använder i vår dator / server kan vi utföra i terminalen:

$ netstat -ntap

Nu för att komma åt vår dator eller server måste vi göra det med alternativet -p enligt följande:

$ ssh -p 7022 usuario@servidor

Använd protokoll 2

För att säkerställa att vi använder version 2 av SSH-protokollet måste vi redigera filen / Etc / ssh / sshd_config och leta efter linjen som säger:

# Protokoll 2

Vi avmarkerar det och startar om SSH-tjänsten.

Tillåt inte åtkomst som root

För att förhindra att rotanvändaren kan komma åt fjärråtkomst via SSH tittar vi i filen/ Etc / ssh / sshd_config linjen:

#PermitRootLogin no

och vi kommenterar det. Jag tycker att det är värt att klargöra att innan vi gör detta måste vi se till att vår användare har nödvändiga behörigheter för att utföra administrativa uppgifter.

Begränsa användarnas åtkomst

Det skadar inte heller att tillåta åtkomst via SSH endast till vissa betrodda användare, så vi återgår till filen / Etc / ssh / sshd_config och vi lägger till raden:

TillåtAnvändare elav usemoslinux kzkggaara

Där det uppenbarligen är användarna elav, usemoslinux och kzkggaara de som kan komma åt.

Använd nyckelautentisering

Även om den här metoden är den mest rekommenderade måste vi vara särskilt försiktiga eftersom vi kommer åt servern utan att ange lösenordet. Det betyder att om en användare lyckas komma in i vår session eller om vår dator blir stulen kan vi vara i trubbel. Men låt oss se hur man gör det.

Det första är att skapa ett par nycklar (offentliga och privata):

ssh-keygen -t rsa -b 4096

Sedan skickar vi vår nyckel till datorn / servern:

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

Slutligen måste vi ha okommenterat, i filen / Etc / ssh / sshd_config linjen:

AuthorizedKeysFile .ssh/authorized_keys

Andra alternativ

Yukiterus bidrag

Vi kan minska väntetiden som en användare framgångsrikt kan logga in på systemet till 30 sekunder

LoginGraceTime 30

För att undvika ssh-attacker genom TCP Spoofing och låta den krypterade leva på ssh-sidan aktiv i maximalt 3 minuter kan vi aktivera dessa 3 alternativ.

TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3

Inaktivera användningen av rhosts eller shosts-filer, som av säkerhetsskäl uppmanas att inte användas.

IgnoreraVärdar ja IgnoreraAnvändareKändVärdar ja

Kontrollera användarens effektiva behörigheter under inloggningen.

StrictModes yes

Aktivera separering av privilegier.

UsePrivilegeSeparation yes

slutsatser:

Genom att göra dessa steg kan vi lägga till extra säkerhet på våra datorer och servrar, men vi får aldrig glömma att det finns en viktig faktor: vad finns mellan stolen och tangentbordet. Det är därför jag rekommenderar att du läser den här artikeln.

Fuente: HowToForge


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

8 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   yukiteru sade

    Utmärkt inlägg @elav och jag lägger till några intressanta saker:

    Logga in GraceTime 30

    Detta gör att vi kan minska väntetiden som en användare kan logga in i systemet till 30 sekunder

    TCPKeepAlive nr
    ClientAliveInterval 60
    ClientAliveCountMax 3

    Dessa tre alternativ är ganska användbara för att undvika ssh-attacker med hjälp av TCP Spoofing, vilket gör att den krypterade lever på ssh-sidan aktiv i maximalt 3 minuter.

    IgnoreraRhosts ja
    IgnoreUserKnownHosts ja
    RhostsAutentisering nr
    RhostsRSAAutentisering nr

    Det inaktiverar användningen av rhosts eller shosts-filer, som av säkerhetsskäl uppmanas att inte användas.

    StrictModes ja

    Detta alternativ används för att kontrollera användarens effektiva behörigheter under inloggningen.

    UsePrivilegeSeparation ja

    Aktivera separering av privilegier.

    1.    livlig sade

      Tja, om ett tag redigerar jag inlägget och lägger till det i inlägget 😀

  2.   Eugenio sade

    Att inte kommentera för att inte ändra linjen är överflödigt. De kommenterade raderna visar standardvärdet för varje alternativ (läs förtydligandet i början av själva filen). Rotåtkomst är inaktiverad som standard etc. Avkommentering av det har därför absolut ingen effekt.

    1.    livlig sade

      # Strategin som används för alternativ i standard sshd_config levereras med
      # OpenSSH är att ange alternativ med deras standardvärde var
      # möjligt, men lämna dem kommenterade. Okommenterade alternativ åsidosätter
      # standardvärde.

      Ja, men till exempel, hur vet vi att vi bara använder version 2 av protokollet? Eftersom vi mycket väl kan använda 1 och 2 samtidigt. Som den sista raden säger, skriver du bort standardalternativet om du inte kommenterar det här alternativet. Om vi ​​använder version 2 som standard, bra, om inte, använder vi den JA eller JA 😀

      Tack för kommentaren

  3.   Sli sade

    Mycket bra artikel, jag visste flera saker men en sak som aldrig är klart för mig är användningen av nycklar, vad de egentligen är och vilka fördelar har den, om jag använder nycklar kan jag använda lösenord ?? Om så är fallet, varför ökar det säkerheten och om inte, hur får jag åtkomst till den från en annan dator?

  4.   Hejdå sade

    Hälsningar, jag har installerat debian 8.1 och jag kan inte ansluta från min Windows-dator till debian med WINSCP, måste jag använda protokoll 1? någon hjälp .. tack
    Hejdå

  5.   Franksanabrien sade

    Du kanske är intresserad av den här videon om openssh https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   kakel sade

    Jag vill prova några saker här, flera har jag redan testat tack vare Arch Wiki, andra på grund av lathet eller okunnighet. Jag sparar det för när jag startar min RPi