HIPAA: ¿Cómo debo garantizar los credenciales de acceso a la base de datos de PHI en mi servidor web?

5

Suponiendo que tengo una base de datos de PHI a la que mi aplicación web necesita acceder, ¿cómo se me exige que asegure las credenciales en el servidor web que utiliza la aplicación web para acceder a esta base de datos?

¿El almacenamiento de un combo estándar de paso / usuario es un método compatible con HIPAA, o tengo que averiguar algo más seguro?

Ejemplo de archivo de configuración (almacenado fuera de la raíz web como dbConfig.something.php)

$phiDb => array(
    'dbUser' => 'webPHIUser',
    'dbPass' => 'webPHIPass',
);
    
pregunta Ben Dauphinee 21.08.2013 - 21:39
fuente

1 respuesta

3

Entonces, de acuerdo con las pautas de seguridad de HHS, una combinación de nombre de usuario y contraseña es un mecanismo suficiente para autenticar a una persona. Sin embargo ... El almacenamiento de contraseñas de usuarios en texto sin formato en un archivo de configuración no suele ser un patrón de diseño recomendado. Ciertamente, no es una lista de todos los usuarios individuales autorizados para acceder a la base de datos junto con sus contraseñas de texto simple. No soy un auditor de PHI / HIPAA, pero espero firmemente que si presentara este diseño a un auditor, él podría estar en desacuerdo con esto.

Algunas medidas que podría tomar para limitar su riesgo:

1) No almacene contraseñas en absoluto. En su lugar, almacene solo la contraseña que necesita para acceder a una base de datos de usuarios para la autenticación, y no la contraseña a la base de datos que contiene la PHI. La contraseña de la base de datos se puede derivar de la contraseña de la aplicación del usuario utilizando un KDF, y se puede derivar en la autenticación, en lugar de almacenarse.

2) Almacene la contraseña, pero encripte el archivo de configuración. Para evitar que esto sea una simple ofuscación, debe almacenar la clave de cifrado en un lugar más seguro que otro archivo de configuración, como en un HSM.

3) Asegúrese de que el acceso indirecto a la base de datos esté bloqueado, en caso de credenciales robadas. El servidor de la base de datos debe contar con un servidor de seguridad y el acceso debe realizarse a través de una lista blanca. En la mayoría de los casos, solo los servidores de aplicaciones (web) deben tener acceso al servidor de la base de datos. De esta forma, incluso si alguien roba las credenciales, no puede simplemente iniciar sesión en la base de datos desde su propia máquina. Además, dado que los datos por regla deben estar cifrados, si descifra utilizando la aplicación en lugar de las funciones de nivel de base de datos, incluso si un usuario malintencionado logra acceder a la base de datos desde fuera de la aplicación, no tendrá acceso a los datos no cifrados.

    
respondido por el Xander 26.08.2013 - 19:12
fuente

Lea otras preguntas en las etiquetas