Bones pràctiques amb OpenSSH

OpenSSH (Open Secure Shell) És un conjunt d'aplicacions que permeten realitzar comunicacions xifrades a través d'una xarxa, fent servir el protocol SSH. Va ser creat com una alternativa lliure i oberta a el programa Secure Shell, Que és programari propietari. « Wikipedia.

Potser alguns usuaris pensen que les bones pràctiques només s'han d'aplicar en els servidors i no és així. Moltes distribucions GNU / Linux inclouen OpenSSH per defecte i hi ha algunes coses que hem de tenir en compte.

Seguretat

Aquests són els 6 punts més importants a tenir en compte a l'hora de configurar SSH:

  1. Utilitza una contrasenya forta.
  2. Canviar el port per defecte de SSH.
  3. Utilitza sempre la versió 2 de l'protocol SSH.
  4. Desactivar l'accés com a root.
  5. Limitar l'accés dels usuaris.
  6. Utilitza autenticació mitjançant claus.
  7. altres opcions

Una contrasenya forta

Un bon password és aquell que conté caràcters alfanumèrics o especials, espais, majúscules i minúscules… etc. Aquí a DesdeLinux hem mostrat diversos mètodes per generar bones contrasenyes. Podeu visitar aquest article y aquest altre.

Canviar el port per defecte

El port per defecte de SSH és el 22. Per canviar l'únic que hem de fer és editar el fitxer / etc / ssh / sshd_config. Busquem la línia que diu:

#Port 22

la descomentem i canviem el 22 per un altre nombre .. per exemple:

Port 7022

Per saber els ports que no estem fent servir en el nostre ordinador / servidor podem executar en el terminal:

$ netstat -ntap

Ara per accedir al nostre ordinador o servidor ho hem de fer amb l'opció -p de la següent manera:

$ ssh -p 7022 usuario@servidor

Utilitza Protocol 2

Per assegurar-nos que estem fent servir la versió 2 de l'protocol SSH, hem d'editar el fitxer / etc / ssh / sshd_config i buscar la línia que diu:

# Protocol 2

El descomentem i reiniciem el servei SSH.

No permetre accés com Root

Per evitar que l'usuari root pugui accedir de forma remota per SSH, busquem en el fitxer/ etc / ssh / sshd_config la línia:

#PermitRootLogin no

i la descomentem. Crec que val aclarir que abans de fer això hem d'assegurar que el nostre usuari tingui els permisos necessaris per realitzar tasques administratives.

Limitar accés per usuaris

Tampoc està de més permetre l'accés via SSH només a determinats usuaris de confiança, de manera que tornem a el fitxer / etc / ssh / sshd_config i afegim la línia:

AllowUsers ILAV usemoslinux kzkggaara

On evidentment, els usuaris ILAV, usemoslinux i kzkggaara són els que podran accedir ..

Utilitza autenticació mitjançant claus

Encara que aquest mètode és el més recomanat, hem de tenir especial cura doncs accedirem a el servidor sense posar la contrasenya. Això vol dir que si un usuari aconsegueix entrar a la nostra sessió o ens roben l'ordinador, podem estar en problemes. No obstant això, vegem com fer-ho.

El primer és crear un parell de claus (pública i privada):

ssh-keygen -t rsa -b 4096

Després li vam passar la nostra clau a l'ordinador / servidor:

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

Finalment hem de tenir descomentada, en el fitxer / etc / ssh / sshd_config la línia:

AuthorizedKeysFile .ssh/authorized_keys

altres opcions

Aportació de Yukiteru

Podem reduir el temps d'espera en què un usuari pot o diners satisfactòriament a sistema a 30 segons

LoginGraceTime 30

Per evitar atacs a ssh per mitjà de TCP Spoofing, deixant actiu el alive encriptat de la banda de ssh per un màxim de 3 minuts, podem activar aquestes 3 opcions.

TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3

Deshabilitar l'ús d'arxius rhosts o shosts, els quals per raons de seguretat són instats a no utilitzar-se.

IgnoreRhosts yes IgnoreUserKnownHosts yes RhostsAuthentication no RhostsRSAAuthentication no

Comprovar els permisos efectius de l'usuari durant el login.

StrictModes yes

Activa la separació de privilegis.

UsePrivilegeSeparation yes

Conclusions:

Fent aquests passos podrem afegir un extra de seguretat als nostres ordinadors i servidors, però mai hem d'oblidar que hi ha un factor important: el que hi ha entre la cadira i el teclat. És per això que els recomano la lectura de aquest article.

font: HowtoForge


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Yukiteru va dir

    Excel·lent post @elav i afegeixo unes cosetes interessants:

    LoginGraceTime 30

    Això ens permet reduir el temps d'espera en què un usuari pot o diners satisfactòriament a sistema a 30 segons

    TCPKeepAlive no
    ClientAliveInterval 60
    ClientAliveCountMax 3

    Aquestes tres opcions són força útils per evitar atacs a ssh per mitjà de TCP Spoofing, deixant actiu el alive encriptat de la banda de ssh per un màxim de 3 minuts.

    IgnoreRhosts yes
    IgnoreUserKnownHosts yes
    RhostsAuthentication no
    RhostsRSAAuthentication no

    Deshabilita l'ús d'arxius rhosts o shosts, els quals per raons de seguretat són instats a no utilitzar-se.

    StrictModes yes

    Aquesta opció és usada per revisar els permisos efectius de l'usuari durant el login.

    UsePrivilegeSeparation yes

    Activa la separació de privilegis.

    1.    ILAV va dir

      Doncs en una estona edito el post i ho afegeixo a el post 😀

  2.   Eugenio va dir

    Descomentar per no canviar la línia és redundant. Les línies comentades mostren el valor per defecte de cada opció (llegiu l'aclariment a el principi de el propi fitxer). L'accés a root està desactivat per defecte, etc. Per tant, descomentarla no té absolutament cap efecte.

    1.    ILAV va dir

      # The strategy used for options in the default sshd_config shipped with
      # OpenSSH és una opció específica per a les seves default value where
      # Possible, but leave them Commented. Uncommented options override the
      # Default value.

      Si, però per exemple com sabem que estem fent servir només la versió 2 de l'protocol? Perquè bé podríem estar fent servir la 1 i la 2 a el mateix temps. Com bé diu l'última línia, descomentar aquesta opció per exemple, sobreescriu l'opció per defecte. Si estem fent servir la versió 2 per defecte, bé, si no, doncs la fem servir SI o SI 😀

      Gràcies per comentari

  3.   sli va dir

    Molt bon article, coneixia diverses coses però una cosa que mai em queda clar és l'ús de claus, realment que són i que avantatges té, si ús claus puc utilitzar contrasenyes ??? en cas afirmatiu per que augmenta la seguretat i si no com faig per accedir des d'un altre pc ??

  4.   Adian va dir

    Salutacions, he instal·lat debian 8.1 i no aconsegueixo connectar-me des del meu pc de windows a debian amb el WinSCP, serà que he de fer servir el protocol 1 ?? alguna ajuda .. gràcies
    Adian

  5.   Franksanabria va dir

    Els pot interessar aquest vídeo sobre openssh https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   taulell va dir

    Vull provar algunes coses d'aquí, diverses ja les he provat gràcies a la Wiki d'Arch, altres per mandra o desconeixement no. El guardaré per quan comenci a caminar meu RPI