Soy un administrador del sistema. En el entorno de producción, necesito administrar miles de servidores. Mis colegas y yo utilizamos un servidor de administración central y distribuimos su clave pública a través de otros servidores. Entonces, podemos usar este servidor de administración para enviar ssh a otros servidores.
A veces necesitamos usar la contraseña de root, por ejemplo, cuando el servidor está inactivo, necesitamos usar iLO para determinar la razón.
Actualmente, utilizamos una contraseña de root compartida. No es seguro También busqué una solución de servidor único como OPIE
(Contraseñas de un solo uso en todo), pero como tenemos tantos servidores, esta no es una muy buena idea.
EDITAR:
Lo que quiero de la solución de administración de contraseña es:
- Debe ser seguro, por lo que One-time Password es una gran solución.
- La contraseña se puede ingresar fácilmente, a veces necesitamos conectar el monitor al servidor o con iLO como mencioné anteriormente.
- La solución debería funcionar incluso si el servidor está fuera de línea (sin ninguna conexión de red)
Por lo tanto, no es una buena idea establecer la contraseña de root en una cadena larga y aleatoria, aunque se genera a partir de algún comando conocido (como openssl passwd
). Es difícil de recordar, y a veces es difícil de generar (sin mi computadora portátil)
Respuestas:
Puede usar Puppet para eliminar el cambio de contraseña en todos sus servidores. Definiría
root
usar eluser
tipo así:Para generar la contraseña cifrada:
Sugeriría tal vez cambiarlo cada mes más o menos --- tal vez usando un esquema que sus SA memorizaron. También puede distribuirlo a través de un método seguro o ponerlo en una caja fuerte.
fuente
Siempre puedes establecer una contraseña deshabilitada. Esto evitaría cualquier acceso de red a la raíz, y si inicia en modo de usuario único, la mayoría de las distribuciones se iniciarán directamente en un shell.
Esto probablemente no sea un problema de seguridad tan grande como podría pensar. Es trivial omitir la contraseña de root de todos modos, a menos que haya bloqueado grub con una contraseña, casi cualquiera podría simplemente decirle a grub que inicie bash en lugar de initrd.
Por supuesto, esto puede significar que, en su lugar, debería descubrir cómo proteger con contraseña su gestor de arranque.
fuente
Puede usar contraseñas de un solo uso con una administración central. Sé que esto no se ajusta a "debe funcionar cuando eth está desconectado y se accede al servidor con iLO".
De todos modos: la pregunta es, con qué frecuencia el servidor está fuera de línea.
Entonces podría pensar en la siguiente configuración:
Use una solución OTP administrada centralmente como privacyidea ( http://www.privacyidea.org ). Puede asignar varios tokens OTP diferentes al usuario raíz. Cada token tiene un PIN de OTP diferente y es un dispositivo diferente. Por lo tanto, todos sus colegas pueden iniciar sesión como usuario root, pero en el registro de auditoría verá qué token autenticado, para que pueda saber qué colega inició sesión en cada momento.
En los servidores, debe configurar pam_radius para pasar la solicitud de autenticación a RADIUS y privacyIDEA.
Gorrón. Ahora su servidor se desconecta. En este caso deberías jugar con tu pila de pam. Podría pensar en algo como:
Para que pueda iniciar sesión con una contraseña fija sin conexión, de lo contrario, la contraseña se entrega a pam_radius y se valida como OTP contra privacyIDEA.
Vea este tutorial https://www.howtoforge.com/manage-two-factor-authentication-in-your-serverfarm-with-privacyidea .
fuente