Estoy creando un conjunto de trabajos por lotes que requieren acceso regular a una base de datos, que se ejecuta en una máquina Solaris 10. Debido a restricciones de diseño (no modificables), se nos exige utilizar un determinado programa para conectarnos a él. Dicha interfaz requiere que pasemos una contraseña de texto sin formato a través de una línea de comando para conectarnos a la base de datos. Esta es una práctica de seguridad terrible, pero estamos atrapados con ella.Estrategias de seguridad para almacenar la contraseña en el disco
Estoy tratando de asegurarme de que las cosas estén debidamente aseguradas de nuestra parte. Dado que el procesamiento es automático (es decir, no podemos solicitar una contraseña), y no puedo almacenar nada fuera del disco, necesito una estrategia para almacenar nuestra contraseña de forma segura.
Aquí hay algunas reglas básicas
- El sistema tiene varios usuarios.
- Podemos suponer que nuestros permisos se aplican correctamente (es decir, si un archivo con una es chmod'd a 600, no será legible públicamente)
- No me importa que alguien con acceso de superusuario vea nuestra contraseña almacenada
Aquí es lo que tengo hasta ahora
- tienda contraseña en password.txt
- $ chmod 600 password.txt
- proceso lee desde password.txt cuando es necesario
- Buffer sobrescrito con ceros cuando ya no es necesario
Aunque estoy seguro de que hay una manera mejor.
Y usar un servicio LDAP (o Kerberos) no es una opción? – SystematicFrank
entorno corporativo, todo el software debe ser aprobado por el comité. básicamente solo tenemos herramientas de línea de comandos estándar de Unix disponibles. – Mike
Si hay una mejor manera, me encantaría escucharlo también. – erickson