Había pasado algo de tiempo sin escribir, es que eso de salir de tu país para intentar hacerte vida en otro lado no es tan fácil como suena; pero bueno, a lo que nos atañe.
Como en el presente artículo vamos a hablar de SSH, primero vamos a definirlo; me ha gustado mucho la definición del MIT (Massachusetts Institute of Technology) así que la cito a continuación
"SSH™ (o Secure SHell) es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente. A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda obtener contraseñas no encriptadas.
SSH está diseñado para reemplazar los métodos más viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet o rsh. Un programa relacionado, el scp, reemplaza otros programas diseñados para copiar archivos entre hosts como rcp. Ya que estas aplicaciones antiguas no encriptan contraseñas entre el cliente y el servidor, evite usarlas mientras le sea posible. El uso de métodos seguros para registrarse remotamente a otros sistemas reduce los riesgos de seguridad tanto para el sistema cliente como para el sistema remoto." http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.html 31 Enero 2016.
Ok, ahora vamos con lo que se indica en el título (Denegar a Root acceso por SSH).
Por cuestiones de estudios estaba intentando hacer unas verificaciones de seguridad en mi ordenador, el cual tiene Debian Stretch, y me percaté que mi SSH permitía que root se conectara al sistema, esto implica un gran bug de seguridad ya que si por cosas del destino, alguien quisiera hacer haking a mi equipo, el ssh se las pone más fácil; por lo tanto procedí a hacer las verificaciones y correcciones correspondientes.
Sabemos que existe un archivo de configuración del demonio de ssh, en ese archivo es que debemos hacer los cambios correspondientes, procederemos entonces a abrir una cónsola como #root
$su
#
Con nuestro editor favorito vamos a abrir el archivo de configuración del demonio, el cual se encuentra en la ruta /etc/ssh/sshd_config
#nano /etc/ssh/sshd_config
En la sección de autenticación encontraremos la información que buscamos cambiar.
En mi caso, estaba as: # Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
Veamos qué significa
PermitRootLogin = prohibir-contraseña prohíbe todos los métodos de autenticación interactivas, permitiendo sólo publickey, Host-based y autenticación GSSAPI.
Sin embargo, yo no deseo, por ninguna razón, que root ingrese por SSH, así que procedí a cambiar el valor de PermitRoot Login a "NO", un no rotundo y definitivo.
# Authentication:
LoginGraceTime 120
#PermitRootLogin prohibit-password
PermitRootLogin no
StrictModes yes
Además, deseo limitar, muy específicamente, los usuarios que pueden ingresar a mi equipo por SSH; esto lo hago añadiendo la siguiente línea:
AllowUsers UsuarioX, UsuarioY
Cambiamos UsuarioX y UsuarioY por los nombres de los usuarios a los que deseamos darle acceso por ssh.
Guardamos y cerramos nuestro archivo (Ctrl + O y Ctrl + X respectivamente si estan usando nano).
Reiniciamos nuestro servidor SSH
/etc/init.d/ssh restart
Y misión cumplida, ahora a seguir estudiando...
Copyleft Rait3 - 2016
No hay comentarios:
Publicar un comentario