it-swarm-es.com

Gestión de contraseñas dentro de una organización

Dentro de una organización hay muchas contraseñas, como las de las cuentas raíz en los servidores, las cuentas de alojamiento, los inicios de sesión de enrutadores y otras cosas similares, que deben mantenerse al tanto.

Sé que en algunas organizaciones es el caso de que el jefe de TI solo conozca estas contraseñas, las contraseñas se escriben en algún lugar, se almacenan en una wiki detrás de un inicio de sesión o las contraseñas se almacenan en un archivo en un servidor (tal vez encriptado).

Mi pregunta es simplemente cuál es la forma más efectiva de administrar estas contraseñas y almacenarlas de manera segura. Sé que este tema se ha discutido anteriormente con respecto a un usuario doméstico aquí , pero estoy específicamente interesado en la mejor manera de hacerlo para empresas medianas y grandes. También me interesaría saber qué enfoque se ha utilizado dentro de las organizaciones de otras personas, incluso si no es el más efectivo.

34
Mark Davidson

Aunque he visto muchas implementaciones de soluciones a este problema, creo que el más completo, si no el más conveniente, fue un repositorio de Git restringido a superusuarios que solo contiene archivos de texto cifrados de contraseñas por entorno. La gestión de la rotación de la contraseña en los dispositivos, servidores mixtos y dispositivos dedicados, como módems, se manejó por separado.

Esta solución simplificó enormemente la distribución de nuevas contraseñas, ya que los usuarios debían realizar una actualización simple para recibir la última revisión de las contraseñas, así como proporcionar un historial rastreable de contraseñas anteriores para el mantenimiento de registros.

Como recuerdo, los archivos estaban encriptados por GPG, pero hay numerosas soluciones y enfoques viables para manejar los archivos.

La desventaja obvia de este enfoque es que, especialmente cuando las contraseñas han cambiado, está descifrando uno o más archivos buscando las contraseñas requeridas. Por supuesto, como con cualquier cosa, cuanto más frecuentemente use una contraseña, más probabilidades tendrá de memorizarla y, dependiendo del dispositivo o dispositivos en cuestión, el acceso puede ser un evento poco frecuente que no se ve obstaculizado en gran medida por tener que pasar por un proceso algo más largo para obtener la contraseña adecuada.

Si también está interesado en estrategias y/o scripts para generar y/o cambiar contraseñas en servidores y/u otros dispositivos, me complacería compartir las que también empleo.

-

Me encantaría.

Asumiré que está familiarizado con el cifrado de archivos, PGP o de otro tipo. Si esto es erróneo, no dude en preguntar y me complacerá brindar algunos ejemplos.

Configurar un repositorio de Git es relativamente sencillo y mostrará similitudes con la mayoría de las soluciones de administración de contenido con las que puede tener experiencia. Una nota con Git: es, por diseño, completamente abierta y, como tal, requerirá pasos adicionales para restringir el acceso a archivos o repositorios específicos. Esto se puede lograr de manera relativamente simple aprovechando las acl del sistema de archivos (solo una posible solución). Dicho esto, sin duda recomendaría que use una solución con la que se sienta cómodo y familiar, especialmente si ya hay soluciones alternativas de administración de contenido en su organización.

Los archivos representarán, por definición, una base de datos de contraseñas que correlacione los identificadores del dispositivo, como el nombre de host, las contraseñas y, potencialmente, los nombres de usuario. Por ejemplo: router-1.internetdomainwebsite.com administrator soopersekretpasswerd. Lo ideal es que nunca almacene el archivo sin cifrar, sin embargo, seguir esta estrategia hace que la recuperación de contraseñas sea relativamente inconveniente. Por esta razón, recomiendo crear un descriptor de acceso para que funcione dentro de su marco de cifrado, tal vez tomando un identificador como término de búsqueda y escribiendo solo la contraseña solicitada en un archivo para que el solicitante lo use una sola vez.

Cualquier dispositivo que admita cambios de contraseña puede ser programado. Dado que la mayoría de los dispositivos admiten el cambio de contraseñas desde una CLI, recomendaría echar un vistazo al idioma de Expect y/o sus bibliotecas para Perl, Python o el idioma de su elección. Personalmente uso un script que acepta el nombre de usuario deseado, acepta la contraseña actual, acepta y verifica la contraseña deseada, luego cambia y verifica el cambio en todos los hosts aprobados o proporcionados cuando se me solicita. Es bastante simple Perl with Expect.

14
Tok

Dirijo una agencia digital y, a menudo, tenemos que administrar una variedad de contraseñas y compartirlas entre nuestro equipo de desarrolladores/gerentes, etc., por lo que hemos estado investigando la mejor manera de administrar esto. (Anteriormente utilizamos KeePass sincronizado sobre Dropbox, pero se estaba volviendo inmanejable).

Hemos optado por una solución en la nube/alojada a la que se puede acceder desde nuestras computadoras y dispositivos móviles cuando estamos fuera de la oficina.

Estas son algunas de las opciones que hicieron nuestra lista:

  • LastPass
    Las entradas individuales se pueden compartir con una cuenta gratuita, pero requiere una cuenta premium ($ 12/año) para compartir una sola carpeta, o una cuenta empresarial ($ 24/año) para compartir varias carpetas.

  • 1 Contraseña
    $ 3-8 por usuario por mes, según el plan

  • Passpack
    Gratis para 1 usuario, $ 18/año para 3 usuarios, $ 48/año para 15 usuarios.
    Desafortunadamente, la interfaz de usuario no es tan amigable como podría ser, pero aparentemente se supone que se realizará un rediseño en 2014.

  • Dashlane
    Cuenta básica gratuita, o $ 40/usuario/mes para sincronizar entre dispositivos y compartir más de 5 elementos.

    Consulte: Análisis de seguridad de Dashlane

  • CommonKey
    Gratis para equipos de 3, o $ 20/mes + $ 2/usuario/mes para funciones de empresa/empresa.

  • Mitro
    Interfaz de usuario gratuita y excelente, pero con pocas funciones.

  • Meldium (ahora propiedad de LogMeIn)
    A partir de $ 29/mes para 20 usuarios.

  • RoboForm Enterprise
    $ 37.95 por licencia, una sola vez.

No puedo comentar sobre la seguridad de cada uno de ellos, pero la mayoría ahora (¡afortunadamente!) Realiza el cifrado en el lado del cliente, de modo que incluso los desarrolladores y los administradores de la empresa no pueden acceder a sus contraseñas.

LastPass parece satisfacer la mayoría de nuestras necesidades, por lo que actualmente estamos probando eso. Originalmente, nos recomendaron Passpack, pero la interfaz nos pareció bastante complicada y se negó a importar nuestro archivo KeePass que contenía un par de cientos de cuentas.

Comente si tiene detalles adicionales o alguna adición digna a esta lista e intentaré actualizarla.

Vea también: ¿Qué tan seguros son los administradores de contraseñas como LastPass?

9
Simon East

Según su comentario, que está hablando de sistemas y dispositivos que insisten en usuarios compartidos/modo de usuario único:

En primer lugar, trate de evitar/minimizar esto tanto como sea posible.

Segundo, evite y minimice esto tanto como sea posible.

En tercer lugar, esto definitivamente debería tenerse en cuenta al evaluar productos/servicios: si tiene una inseguridad inherente, es posible que no lo desee después de todo. Es probable que haya otros problemas allí también ...

Cuarto, verifique con el vendedor/proveedor para ver si hay una manera de configurarlo de manera segura.

Quinto, considere crear una aplicación de tipo "proxy" delgada, que impondrá la autenticación del usuario y luego use su propia cuenta única para el dispositivo, con su propia contraseña aleatoria interna.

Sexto: si todo lo anterior no es relevante/no funciona (¿en serio?), He visto lugares que tienen una carpeta encriptada ACLed, o mejor dicho, una criptoseguridad, con acceso otorgado solo a los administradores y almacenado archivo/s con las contraseñas generadas aleatoriamente.
Dependiendo de su cultura/tipo de organización, podría ser mejor imprimir las contraseñas y almacenarlas en una caja REAL, protegida por sus oficiales de seguridad, y la combinación dada solo a los administradores ...

8
AviD

Las contraseñas son el problema, no la solución. El problema general es la autenticación y autorización seguras, a menudo vistas como parte de "Identity Management".

LDAP o Kerberos/AD se pueden usar para centralizar la autenticación y mantener las contraseñas sincronizadas. Usar SSH y la autenticación de clave pública/privada es otra buena opción.

El enfoque más moderno es resolver ese problema de una manera más general y conveniente, que también ayuda a las personas a pasar de contraseñas a tokens seguros u otras formas más robustas de autenticación. Un sistema de inicio de sesión único que permite a las personas autenticarse una vez y luego aprovechar esa autenticación para obtener autorización para acceder a otros servicios es una solución común.

Los enfoques técnicos para hacerlo incluyen OAuth, SAML, Shibboleth e InfoCard.

5
nealmcb

Las contraseñas raíz y las cuentas de administrador de todo tipo se deben hacer de la siguiente manera:

3 partes interesadas clave los asignan aleatoriamente con una variedad de caracteres muy pseudoaleatoria de tamaño máximo.

Los escriben (sin memorizarlos) y los colocan en sobres y los almacenan/aseguran de manera segura. Los rotan todos los años con nuevas frases de contraseña.

El uso diario se realiza a través de cuentas de administrador de grupo vinculadas a nombres reales, separando a los contratistas por nombre de cuenta (por ejemplo, admcjsmith en lugar de admjsmith) y dominio (si es posible). Unix/LDAP se realiza de manera similar, p. a través de Sudo.

Las cuentas con nombre como root y Administrator nunca deben usarse o conocerse. De manera similar, las cuentas de clave de acceso a la nube/clave API deben compartimentarse y protegerse.

4
atdre

Usamos KeePass para almacenar las contraseñas. Cada equipo líder en TI (Seguridad, Sistemas, Clínica, Comercial, Auxiliar) es responsable de la base de datos KeePass de sus equipos y del mantenimiento de los contenidos. Si alguien con acceso a una base de datos dada abandona el departamento o la organización, todas las contraseñas en esa base de datos deben cambiarse.

He visto y revisado aplicaciones que representan la autenticación para admitir auditorías y gestión de contraseñas. Estos funcionaron para algunas de nuestras aplicaciones más comunes, pero no abordaron las aplicaciones específicas de la industria que utilizamos.

3
Wayne

He trabajado con "Secret Server" en http://www.thycotic.com/ . Puedo aprovisionar una sola contraseña y compartirla entre tantas o tan pocas personas como quiera.

Hay una pista de auditoría y una gran funcionalidad de búsqueda integrada en la aplicación web. También hay una versión en línea "en la nube" de la aplicación que es gratuita para un usuario.

Puede crear un nuevo secreto para cada dispositivo que posea y agregar el suyo según sea necesario:

Security Choices

Todo el acceso a esta base de datos está protegido por credenciales locales o de Active Directory. Si elige hacerlo, puede tener un inicio de sesión sin interrupciones (SSO) para acceder a la base de datos para el usuario actualmente conectado a través de Kerberos/NTLM.

En general, creo que esta es una buena opción para un equipo y un repositorio general de información de seguridad corporativa.

3

Estoy de acuerdo con nealmcb en que en un entorno controlado con administradores competentes, una solución de inicio de sesión único es probablemente la mejor.

Para rastrear credenciales para sitios web o servicios de terceros, puede echar un vistazo a la solución empresarial de lastpass.com que le permite compartir credenciales de inicio de sesión con usuarios y roles específicos.

También he escuchado "Clipperz" mencionado en este contexto antes, pero no tengo experiencia con él.

2
snth

Realmente me gusta Password Manager Pro . Es un sitio web que está vinculado a su anuncio/ldap que compartirá las contraseñas de su organización con la agrupación que desee, las personas también pueden almacenar sus propias contraseñas.

Hará un trabajo sólido de política, historia, auditorías, y lo que no.

También tiene capacidades de cambio, he conectado algunos scripts de Nice pam para hacer algunos cambios directamente desde PMP que hubieran sido difíciles de hacer de otra manera.

Algunas de las contraseñas duras, como la contraseña de su solución de red, las contraseñas de los centros de datos remotos y cosas por el estilo, tiene cierta lógica enlatada para que se pueda ajustar. Es sorprendente cuando haces todo ese trabajo para ver cuánto tienes allí y cuánto debes tener más/múltiples conjuntos de usuarios, etc.

1
hpavc

Principalmente depende de la política y los requisitos de la empresa.

Por ejemplo, si las herramientas automatizadas utilizan la mayoría de las credenciales (para fines de integración continua), puede usar la función Bóveda de Ansible que le permite mantener datos confidenciales como contraseñas o claves en archivos cifrados. Estos archivos pueden estar bajo control de versiones y las personas que acceden a ellos siempre pueden ejecutar ansible-vault view some-encrypted-file.

Si no está planeando usar Ansible , simplemente puede usar GPG Tools y confirmar los archivos cifrados en el repositorio de código.

Si usa plataformas en la nube ampliamente (como Amazon Services), ciertas plataformas de administración en la nube (como Scalr ) le permiten organizar contraseñas y claves privadas en línea.

Si sus contraseñas solo deben ser administradas por personas, puede usar administradores de contraseñas como se menciona en otra respuesta , como Dashlane que admite la sincronización y el intercambio de contraseñas de forma segura . Si busca soluciones gratuitas y de código abierto, intente usar herramientas como KeePass .

0
kenorb