Si un atacante obtiene un inicio de sesión de root en su sistema, puede causar más daño que si obtiene un inicio de sesión de usuario normal. Lo hemos visto en nuestro artículo anterior:cómo deshabilitar el inicio de sesión remoto para el usuario root en una máquina Linux. Ahora veremos, después de todo, si tenemos unas 10 cuentas de usuario creadas en un servidor Linux (para diferentes actividades grupales como recursos humanos, finanzas, etc.), no necesitamos permitir el inicio de sesión remoto en todas esas 10 cuentas. En este tutorial, veremos cómo permitir o denegar cuentas de usuario específicas para iniciar sesión remotamente en el servidor Linux.
SSH proporciona las siguientes 4 directivas para permitir o denegar el acceso al servidor. Por defecto permite todos los grupos y Usuarios.
- Permitir grupos
- Permitir usuarios
- Denegar grupos
- Denegar usuarios
Nota:Antes de modificar cualquier configuración a nivel del sistema, realice la copia de seguridad necesaria.
Para permitir que dos usuarios específicos llamados Amy y Henry inicien sesión de forma remota en el servidor, agregue las siguientes líneas en el archivo /etc/ssh/sshd_config usando su editor favorito (VIM es mi editor favorito).
AllowUsers admin amy
Además de controlar fácilmente para el futuro, puede agregar varios usuarios a un solo grupo y permitir que el usuario se base en el grupo al que pertenece. Por ejemplo:considere que Henry y Amy están trabajando juntos en el departamento de finanzas. Cree un nombre de grupo común llamado finanzas como se muestra a continuación:
groupadd –r finance
Ahora cree los usuarios henry y amy pertenecientes al grupo de finanzas como se muestra a continuación:
useradd -G finance henry
useradd -G finance amy
Para permitir a los usuarios que pertenecen a un grupo específico llamado finanzas para iniciar sesión de forma remota en el servidor, agregue la siguiente línea en el archivo /etc/ssh/sshd_config.
AllowGroups finance
Con esto no necesitamos usar AllowUsers .
Las otras directivas alternativas son DenyGroups y Denegar usuarios que realizan exactamente lo contrario de los AllowGroups antes mencionados y Permitir usuarios respectivamente.
Para verificar la actualización adecuada del archivo de configuración, sin reiniciar el servicio sshd, ejecute los siguientes comandos:
[root@catest ~]# /usr/sbin/sshd -t [root@catest ~]# echo $? 0 [root@catest ~]#
Si el echo $? salidas de comando 0 entonces la verificación es exitosa, de lo contrario, verá un error que indica cuáles son los datos erróneos:
[root@catest ~]# /usr/sbin/sshd -t /etc/ssh/sshd_config: line 116: Bad configuration option: AllowUser /etc/ssh/sshd_config: terminating, 1 bad configuration options [root@catest ~]#
Después de la verificación, no olvide reiniciar sshd como se muestra a continuación:
[root@catest ~]# /etc/init.d/sshd restart