Estoy tratando de encontrar un buen método para fortalecer un servidor mientras se permite la administración remota automática a través de ssh (ansible).
La opción popular es iniciar sesión con un usuario normal y luego usar sudo, pero esto tiene algunos problemas:
Sudo sin contraseña : este es un no-no. Es como si lo permitieras. inicio de sesión directo a la raíz.
Sudo con contraseña en un archivo en alguna parte . No me gusta la idea, escribir la contraseña en un archivo abre un mundo de posibles ataques.
Luego he visto a algunas personas sugerir que permita el inicio de sesión de root a través de ssh pero solo de localhost . A primera vista, parece una buena idea, pero después de pensar un poco no es una buena idea. Una vez que un atacante ingresa a cualquier cuenta en la máquina, él / ella puede atacar la raíz ssh como si lo estuviera haciendo de forma remota. Es como poner un segundo candado en una puerta de seguridad. El atacante tardará más en romperlo, pero no será más difícil.
Incluso puede facilitarlo porque la superficie de ataque es mayor. Si utiliza el reenvío de agente SSH para ingresar a la raíz a través de un usuario normal, un atacante podría modificar los scripts de inicio de sesión del usuario para usar la autenticación reenviada para obtener root y luego restaurar los scripts de inicio de sesión y limpiar los registros para que el usuario no tenga idea de lo que ha sucedido .
¿Qué sugerirías?