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
- Fail2Ban siempre es tu amigo, jamás lo desinstales
-
Nunca permitas que el usuario root se autentique
PermitRootLogin prohibit-password
-
No permitas contraseñas vacías
PermitEmptyPasswords no
-
No permitas que ningún usuario se autentique con contraseña
PasswordAuthentication no
-
Si necesitas por alguna razón que tu usuario para despliegue automático se autentique, utiliza un filtro match
Match User <usuario> PasswordAuthentication yes
- Nunca uses contraseñas sin caracteres especiales
- Haz que tus contraseñas siempre sean al menos de 8 caracteres de largo
Enlaces útiles
- https://coderwall.com/p/j5nk9w/access-ec2-linux-box-over-ssh-without-pem-file
- https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos
Los ejemplos de código deben escribirse en el archivo de configuración de ssh, que usualmente está en
/etc/ssh/sshd_config