Un auditor de seguridad para nuestros servidores ha exigido lo siguiente en dos semanas:
- Una lista de nombres de usuario actuales y contraseñas de texto sin formato para todas las cuentas de usuario en todos los servidores
- Una lista de todos los cambios de contraseña de los últimos seis meses, nuevamente en texto sin formato
- Una lista de "cada archivo agregado al servidor desde dispositivos remotos" en los últimos seis meses
- Las claves públicas y privadas de cualquier clave SSH
- Un correo electrónico enviado cada vez que un usuario cambia su contraseña, que contiene la contraseña de texto sin formato
Estamos ejecutando cajas Red Hat Linux 5/6 y CentOS 5 con autenticación LDAP.
Hasta donde sé, todo lo que está en esa lista es imposible o increíblemente difícil de obtener, pero si no proporciono esta información, enfrentaremos la pérdida de acceso a nuestra plataforma de pagos y la pérdida de ingresos durante un período de transición a medida que avanzamos a un nuevo servicio ¿Alguna sugerencia sobre cómo puedo resolver o falsificar esta información?
La única forma en que puedo pensar en obtener todas las contraseñas de texto sin formato es hacer que todos restablezcan su contraseña y tomen nota de lo que han configurado. Eso no resuelve el problema de los últimos seis meses de cambios de contraseña, porque no puedo registrar retroactivamente ese tipo de cosas, lo mismo ocurre con el registro de todos los archivos remotos.
Es posible obtener todas las claves SSH públicas y privadas (aunque molestas), ya que solo tenemos unos pocos usuarios y computadoras. ¿A menos que haya perdido una forma más fácil de hacer esto?
Le he explicado muchas veces que las cosas que pide son imposibles. En respuesta a mis inquietudes, respondió con el siguiente correo electrónico:
Tengo más de 10 años de experiencia en auditoría de seguridad y una comprensión total de los métodos de seguridad de redhat, por lo que le sugiero que verifique sus hechos sobre lo que es y lo que no es posible. Usted dice que ninguna compañía podría tener esta información, pero he realizado cientos de auditorías donde esta información ha estado disponible. Todos los clientes [proveedores de procesamiento de tarjetas de crédito genéricas] deben cumplir con nuestras nuevas políticas de seguridad y esta auditoría tiene como objetivo garantizar que esas políticas se hayan implementado * correctamente.
* Las "nuevas políticas de seguridad" se introdujeron dos semanas antes de nuestra auditoría, y los seis meses de registro histórico no fueron necesarios antes de que la política cambie.
En resumen, lo necesito;
- Una forma de "falsificar" seis meses de cambios de contraseña y hacer que parezca válido
- Una forma de "falsificar" seis meses de transferencias de archivos entrantes
- Una manera fácil de recopilar todas las claves públicas y privadas de SSH que se utilizan
Si fallamos en la auditoría de seguridad, perdemos el acceso a nuestra plataforma de procesamiento de tarjetas (una parte crítica de nuestro sistema) y nos llevaría unas buenas dos semanas trasladarnos a otro lugar. ¿Qué tan jodido estoy?
Actualización 1 (sábado 23)
Gracias por todas sus respuestas. Me da un gran alivio saber que esta no es una práctica estándar.
Actualmente estoy planeando mi respuesta por correo electrónico para explicarle la situación. Como muchos de ustedes señalaron, tenemos que cumplir con PCI, que establece explícitamente que no deberíamos tener ninguna forma de acceder a las contraseñas de texto sin formato. Publicaré el correo electrónico cuando termine de escribirlo. Desafortunadamente no creo que solo nos esté probando; Estas cosas están en la política de seguridad oficial de la compañía ahora. Sin embargo, por el momento he puesto las ruedas en movimiento para alejarme de ellas y entrar en PayPal.
Actualización 2 (sábado 23)
Este es el correo electrónico que he redactado, ¿alguna sugerencia de cosas para agregar / eliminar / cambiar?
Nombre Hola],
Desafortunadamente, no hay forma de que podamos proporcionarle parte de la información solicitada, principalmente contraseñas de texto sin formato, historial de contraseñas, claves SSH y registros de archivos remotos. Estas cosas no solo son técnicamente imposibles, sino que también ser capaz de proporcionar esta información sería una violación de los estándares PCI y una violación de la ley de protección de datos.
Para citar los requisitos de PCI,8.4 Haga que todas las contraseñas sean ilegibles durante la transmisión y el almacenamiento en todos los componentes del sistema utilizando una criptografía sólida.
Puedo proporcionarle una lista de nombres de usuario y contraseñas hash utilizadas en nuestro sistema, copias de las claves públicas SSH y el archivo de hosts autorizados (Esto le dará suficiente información para determinar la cantidad de usuarios únicos que pueden conectarse a nuestros servidores y el cifrado métodos utilizados), información sobre nuestros requisitos de seguridad de contraseña y nuestro servidor LDAP, pero esta información no se puede sacar del sitio. Le sugiero encarecidamente que revise sus requisitos de auditoría, ya que actualmente no hay forma de que pasemos esta auditoría mientras cumplimos con PCI y la Ley de Protección de Datos.
Saludos,
[yo]
Estaré contactando al CTO de la compañía y a nuestro gerente de cuentas, y espero que el CTO pueda confirmar que esta información no está disponible. También me pondré en contacto con el Consejo de Normas de Seguridad de PCI para explicar lo que nos exige.
Actualización 3 (26)
Aquí hay algunos correos electrónicos que intercambiamos;
RE: mi primer correo electrónico;
Como se explicó, esta información debería estar fácilmente disponible en cualquier sistema bien mantenido para cualquier administrador competente. El hecho de que no pueda proporcionar esta información me lleva a creer que conoce las fallas de seguridad en su sistema y no está preparado para revelarlas. Nuestras solicitudes se alinean con las pautas de PCI y ambas se pueden cumplir. La criptografía sólida solo significa que las contraseñas deben estar encriptadas mientras el usuario las ingresa, pero luego deben moverse a un formato recuperable para su uso posterior.
No veo problemas de protección de datos para estas solicitudes, la protección de datos solo se aplica a los consumidores, no a las empresas, por lo que no debería haber problemas con esta información.
Simplemente, qué, no puedo, incluso ...
"Una criptografía sólida solo significa que las contraseñas deben estar encriptadas mientras el usuario las ingresa, pero luego deben moverse a un formato recuperable para su uso posterior".
Voy a enmarcar eso y ponerlo en mi pared.
Me harté de ser diplomático y lo dirigí a este hilo para mostrarle la respuesta que obtuve:
Proporcionar esta información DIRECTAMENTE contradice varios requisitos de las pautas de PCI. La sección que cité incluso dice
storage
(lo que implica dónde almacenamos los datos en el disco). Comencé una discusión en ServerFault.com (una comunidad en línea para profesionales de administración de sistemas) que ha creado una gran respuesta, todo lo cual sugiere que no se puede proporcionar esta información. Siéntete libre de leer a través de ti mismohttps://serverfault.com/questions/293217/
Hemos terminado de trasladar nuestro sistema a una nueva plataforma y cancelaremos nuestra cuenta con usted dentro del día siguiente más o menos, pero quiero que se dé cuenta de lo ridículas que son estas solicitudes, y ninguna compañía que implemente correctamente las pautas de PCI lo hará o debería, poder proporcionar esta información. Le sugiero que reconsidere sus requisitos de seguridad, ya que ninguno de sus clientes debería ser capaz de cumplir con esto.
(De hecho, había olvidado que lo había llamado idiota en el título, pero como mencioné, ya nos habíamos alejado de su plataforma, así que no había pérdida real).
Y en su respuesta, afirma que aparentemente ninguno de ustedes sabe de lo que están hablando:
Leí en detalle a través de esas respuestas y su publicación original, todos los que responden deben tener sus datos correctos. He estado en esta industria más tiempo que nadie en ese sitio, obtener una lista de contraseñas de cuentas de usuario es increíblemente básico, debería ser una de las primeras cosas que hace al aprender cómo proteger su sistema y es esencial para el funcionamiento de cualquier seguridad servidor. Si realmente carece de las habilidades para hacer algo así de simple, asumiré que no tiene PCI instalado en sus servidores, ya que poder recuperar esta información es un requisito básico del software. Cuando se trata de algo como la seguridad, no debe hacer estas preguntas en un foro público si no tiene un conocimiento básico de cómo funciona.
También me gustaría sugerir que cualquier intento de revelarme, o [nombre de la compañía] se considerará difamación y se tomarán las acciones legales apropiadas
Puntos idiotas clave si te los perdiste:
- Ha sido auditor de seguridad más tiempo que cualquier otra persona aquí (lo está adivinando o acechando)
- Poder obtener una lista de contraseñas en un sistema UNIX es 'básico'
- PCI ahora es software
- Las personas no deberían usar foros cuando no están seguros de la seguridad
- Publicar información objetiva (de la que tengo prueba de correo electrónico) en línea es difamación
Excelente.
PCI SSC ha respondido y lo está investigando a él y a la compañía. Nuestro software ahora se ha movido a PayPal, por lo que sabemos que es seguro. Voy a esperar a que PCI me responda primero, pero me preocupa un poco que puedan haber estado utilizando estas prácticas de seguridad internamente. Si es así, creo que es una gran preocupación para nosotros, ya que todo el procesamiento de nuestra tarjeta pasó por ellos. Si lo hicieran internamente, creo que lo único responsable sería informar a nuestros clientes.
Espero que cuando PCI se dé cuenta de lo malo que es, investigarán a toda la empresa y el sistema, pero no estoy seguro.
Así que ahora nos hemos alejado de su plataforma, y suponiendo que pasen al menos unos días antes de que PCI me responda, ¿alguna sugerencia ingeniosa sobre cómo molestarlo un poco? =)
Una vez que haya obtenido la autorización de mi persona jurídica (dudo mucho de que esto sea realmente difamación, pero quería comprobarlo dos veces), publicaré el nombre de la empresa, su nombre y correo electrónico, y si lo desea, puede contactarlo y explicarle por qué no comprende los conceptos básicos de la seguridad de Linux, como cómo obtener una lista de todas las contraseñas de los usuarios de LDAP.
Pequeña actualización:
Mi "persona jurídica" ha sugerido que revelar que la compañía probablemente causaría más problemas de los necesarios. Sin embargo, puedo decir que este no es un proveedor importante, tienen menos de 100 clientes que utilizan este servicio. Originalmente comenzamos a usarlos cuando el sitio era pequeño y funcionaba con un pequeño VPS, y no queríamos hacer todo el esfuerzo de obtener PCI (solíamos redirigir a su interfaz, como PayPal Standard). Pero cuando pasamos a procesar tarjetas directamente (incluida la obtención de PCI y el sentido común), los desarrolladores decidieron seguir usando la misma compañía con una API diferente. La compañía tiene su sede en el área de Birmingham, Reino Unido, por lo que dudo mucho que alguien aquí se vea afectado.