Seguridad de la base de datos "lista para usar"

2

Cuando instala un RDBMS (por ejemplo, PostgreSQL) y crea una base de datos, sin tomar ningún paso adicional, ¿qué puede asumir acerca de la seguridad / confidencialidad de los datos? Quiero decir, ¿está cifrado de forma predeterminada, por lo que incluso una persona con acceso físico a la máquina (o contraseña de root para el sistema operativo) tendría problemas para acceder a ella sin las credenciales de superusuario? ¿Se almacenan las credenciales (o algún equivalente fácilmente crackeable) en algún lugar, como en un archivo?

Lo siento si eso suena obvio, pero para mí no lo es. La búsqueda de "cifrado de base de datos" produce muchos resultados sobre cómo cifrar una base de datos, para qué casos de uso es bueno, etc., pero no responde a mi pregunta básica. Para un escenario normal, sin necesidades especiales (quién tiene la contraseña para acceder a los datos, quién no tiene), ¿tengo que tomar medidas adicionales para proteger mis datos?

Contraste esa pregunta con los sistemas de archivos del sistema operativo y Truecrypt: para el primero, es obvio que nada es confidencial en absoluto, debes usar el cifrado de disco completo para proteger tus datos; para este último, es fácil ver que las credenciales no se almacenan en ningún lugar, si no tiene la contraseña / archivo de claves, los datos que tiene frente a usted son inútiles. ¿Qué supuestos puedo hacer sobre RDBMS (al menos los más comunes, orientados a la producción)?

    
pregunta mgibsonbr 30.03.2012 - 20:58
fuente

4 respuestas

3

Los datos no están fuera de la caja cifrada. Los archivos se almacenan dentro de un subdirectorio /var/lib/postgresql/ . Consulte: enlace

Mientras que el sistema operativo se está ejecutando, está limitado a ser leído por el usuario root / postgres. Recuerde, si un usuario tiene permiso para reiniciar desde un CD en vivo o en modo de usuario único o para sacar el disco duro y no hay cifrado completo del disco, pueden leer los archivos. Por supuesto, los archivos no son fáciles de navegar, se almacenan en formato binario, pero a menudo se pueden seleccionar cadenas ASCII de los archivos (y un atacante dedicado podría obtener la información subyacente completa).

    
respondido por el dr jimbob 30.03.2012 - 21:19
fuente
3

Cuando instala un RDBMS no debe asumir que los datos se almacenan encriptados. En el caso de Postgre, esta documentación puede ser de ayuda: enlace

    
respondido por el J.D. 30.03.2012 - 21:15
fuente
2

Postgres admite el cifrado, pero no está habilitado de forma predeterminada.

teniendo en cuenta que tiene una configuración predeterminada:

Para obtener los datos, necesitará acceso al host local. Por lo tanto, intentar acceder a la base de datos desde una fuente externa no es posible. Por lo tanto, deberá acceder a la cuenta raíz del servidor en el que se está ejecutando o a una cuenta en el servidor que pueda comportarse como localhost.

La contraseña de root se almacena ... en la base de datos. Sin embargo, con Postgres siempre puedes acceder una vez que seas superusuario. MySQL, por ejemplo, requiere que inicie el servidor en un modo especial. La forma en que almacenan sus claves de cifrado / contraseñas depende del producto, debe consultar el manual de cada uno.

    
respondido por el Lucas Kauffman 30.03.2012 - 21:10
fuente
1

Esto depende de su base de datos y de cómo lo instale. Por ejemplo, para PostgreSQL, sus suposiciones son diferentes si instala desde la fuente o desde la mayoría de los repositorios.

La instalación de origen le da los siguientes supuestos:

  • sin cifrado de la base de datos (el cifrado de la base de datos es difícil por cierto)
  • No hay acceso desde otras máquinas
  • acceso ilimitado desde la máquina local sin importar la contraseña.

La mayoría de los paquetes de sistemas operativos le dan las siguientes suposiciones:

  • sin cifrado db
  • No hay acceso desde otras máquinas
  • acceso desde la máquina local solo a través de la cuenta de usuario del sistema "postgres" (efectivamente, esto significa que los sudoers y la raíz pueden acceder a los datos desde la máquina local).

Lo básico, sin embargo, es que necesita estar íntimamente familiarizado con la seguridad de sus rdbms y familiarizado con la configuración predeterminada proporcionada por su método de instalación.

    
respondido por el Chris Travers 05.11.2013 - 11:11
fuente

Lea otras preguntas en las etiquetas