Blog de Contraslash (Legacy)

Precauciones con SSH

May 03, 2017

Precauciones con SSH

SSH es un protocolo seguro para ejecutar comandos de manera remota, pero permitir el acceso remoto a nuestros servidores, específicamente a nuestros servidores de producción siempre es un altamente riesgoso.

Existen configuraciones que permiten que este riesgo se minimice, como definir que el usuario root no pueda autenticarse, o denegar todos los accesos con contraseña; herramientas como fail2ban nos dan un respiro mas con respecto a la seguridad, pero en ocaciones, estas medidas de seguridad no nos dan las libertades necesarias como para realizar procesos automáticos, específicamente el despliegue.

A continuación presento algunas notas de datos útiles a tener en cuenta cuando aprovisionamos nuestros servidores para que soporten despliegue automático

  1. Fail2Ban siempre es tu amigo, jamás lo desinstales
  2. Nunca permitas que el usuario root se autentique

    PermitRootLogin prohibit-password
  3. No permitas contraseñas vacías

    PermitEmptyPasswords no 
  4. No permitas que ningún usuario se autentique con contraseña

    PasswordAuthentication no
  5. Si necesitas por alguna razón que tu usuario para despliegue automático se autentique, utiliza un filtro match

    Match User <usuario>
            PasswordAuthentication yes
  6. Nunca uses contraseñas sin caracteres especiales
  7. Haz que tus contraseñas siempre sean al menos de 8 caracteres de largo

Enlaces útiles

Los ejemplos de código deben escribirse en el archivo de configuración de ssh, que usualmente está en /etc/ssh/sshd_config