Administración de credenciales de servidor para Linux y Windows

12

Somos una tienda relativamente pequeña (en cuanto al número de administradores de sistemas) con una combinación de servidores RHEL, Solaris, Windows 2003 y Windows 2008; Unos 200 servidores en total.

Para nuestras cuentas de administrador ( rooten Linux y admnistratoren Windows), tenemos un esquema de contraseña que depende de la ubicación del centro de datos y un par de otras propiedades documentadas del servidor.

En Linux, nuestra práctica actual es crear una cuenta compartida sin privilegios donde podamos suhacerlo root. En sistemas basados ​​en Windows, creamos una cuenta adicional con privilegios de administrador. Ambas cuentas comparten la misma contraseña.

Esto ha demostrado ser muy ineficiente. Cuando alguien sale de nuestra tienda, tenemos que:

  1. Cambiar el esquema de contraseña para las cuentas de administrador
  2. Genere una nueva contraseña de administrador para cada servidor
  3. Presente una nueva contraseña de cuenta que no sea de administrador
  4. Toque todos los servidores y cambie las contraseñas.

Quería saber si alguien en un entorno similar puede sugerir una forma más sensata de administrar estas credenciales. Alguna información relevante:

  • Aunque la mayoría de nuestros servidores son parte de nuestro dominio AD, no todos lo son.
  • Gestionamos todos nuestros servidores Linux con Puppet (la autenticación de claves fue una opción que pensé, pero solo abordará la preocupación n. ° 3 anterior).
  • Suministramos servidores Linux con Cobbler.
  • Alrededor del 10% de nuestro hardware está dedicado a VMWare. En esos casos, utilizamos plantillas VMWare para compilaciones de servidores.

Cualquier idea o sugerencia será muy apreciada. Este es un problema que ha estado persistiendo por algún tiempo y finalmente quiero resolverlo.

Belmin Fernandez
fuente

Respuestas:

10

Algunas sugerencias que tendría son:

  • Los servidores conectados a Windows AD pueden tener sus contraseñas de administrador local establecidas a través de la política de grupo mediante el uso de las Preferencias de política de grupo (GPP) o un script de inicio de la computadora. Ver http://social.technet.microsoft.com/Forums/en-US/winserverGP/thread/b1e94909-bb0b-4e10-83a0-cd7812dfe073/

  • Limite la creación de cuentas locales en servidores Windows a menos que sea necesario. Use cuentas AD cuando sea posible.

  • Use LDAP para computadora Linux para autenticar cuentas de administrador en AD. Esto simplifica un poco la gestión de la cuenta. Y cuando un administrador se marchó, simplemente desactívelo en un lugar y sin acceso, entonces puede limpiar el lado de Linux a su gusto.

  • Use el archivo / etc / sudoers para una cuenta de administrador específica en Linux, entonces los administradores no necesitan la contraseña de root. Esto puede ser bueno en su caso porque rara vez necesitarán la contraseña de root para que pueda bloquearse. Actualizado

  • Mantenga las contraseñas de administrador raíz y local en una contraseña segura, no conocimiento general. Algunas cajas fuertes de contraseñas tienen delegación y registro, por lo que es posible que ni siquiera necesite restablecer una contraseña si la persona nunca tuvo acceso a ella.

  • Automatice el proceso de restablecimiento de contraseña para las cuentas root y admin. Tanto Linux como Windows pueden tener secuencias de comandos para hacer esto, por lo que puede ahorrarle algo de tiempo y no ser una gran carga.

Espero que ayude.

Bernie White
fuente
Mi problema con LDAP es el único punto de falla. Prefiero administrar cuentas a través de Puppet. Y agradezco sus sugerencias. Gracias @ Bernie!
Belmin Fernández
1
@Beaming Si usa Active Directory, puede tener más de un controlador de dominio (sin un solo punto de falla) y luego apuntar al nombre de dominio DNS, por ejemplo, dominio.com, para obtener todos los controladores de dominio para una consulta LDAP. O puede configurar un registro DNS A para apuntar a DC específicos si solo desea que dos o tres respondan a LDAP como ldap.domain.com. No he usado Puppet, pero la clave para facilitar la administración de usuarios es no tener una sola fuente siempre que sea posible. Es probable que Puppet pueda conectarse a un servidor LDAP back-end de todos modos si así lo prefiere.
Bernie White el
De acuerdo en que AD es el camino a seguir aquí. Con más de 2 controladores de dominio, la probabilidad de que la AD disminuya por completo es escasa, pero también, si lo hace, es probable que tenga problemas mucho mayores. Mantenga cuentas raíz locales en sus servidores Linux para usarlas como último recurso si todo lo demás falla.
EEAA
2
@Bernie: con respecto a tu tercer punto. Cuando se usa sudo, nadie necesita saber la contraseña de root. Al especificar "NOPASSWD" en una entrada de sudo, el usuario no necesita ingresar su propia contraseña. Esto no tiene nada que ver con la contraseña de root.
EEAA
@ErikA +1 Muy cierto. Se eliminó la referencia a NOPASSWD ya que no ayuda a responder la pregunta /
Bernie White
2

Puede intentar ver si FreeIPA funciona para usted.

Puede administrar el acceso de los usuarios a los hosts desde una ubicación central. Según lo sugerido por otros, puede ver si sudo funciona para usted para el acceso a nivel raíz. Freeipa admite sudoers en LDAP, por lo que no tiene que mantenerlo en cada servidor o a través de títeres, etc.

Freeipa es compatible con clientes Linux, Solaris y Windows. Puede perder ciertas características de AD y no estoy seguro de qué otras limitaciones tendrá un cliente de Windows.

Tiene características de replicación, por lo que puede evitar un SPOF. El back-end es LDAP, por lo que posiblemente pueda reutilizar muchas herramientas que las personas usan para LDAP, como scripts de respaldo.

Admite control de acceso basado en host, por lo que puede decir "el usuario X solo puede iniciar sesión en los servidores Y".

También ofrece sincronización AD . No soy una persona de Windows, así que no tengo idea de lo que eso significa.

Ahora no
fuente
1

No use la cuenta de administrador estándar. En el lado de Windows, cree una cuenta de usuario y una cuenta de administrador para cada usuario que necesite acceso de administrador. Puede usar cualquier herramienta para sincronizar con UNIX.

Si alguien se va, entonces solo necesita eliminar sus cuentas de usuario y administrador.

Para asegurar la cuenta estándar de administrador, proporcione una contraseña realmente larga y compleja, luego asegúrese de que cualquier persona solo tenga la mitad. Si necesitan usar toda la cuenta, entonces deben buscar a alguien que tenga la otra mitad.

Eso es lo más seguro que se me ocurre.

malvadedad
fuente