Pregunta

Si tengo un servidor con una base de datos de datos de alto secreto en PostgreSQL y mi contraseña es prácticamente imposible de adivinar (128 cadena de caracteres de todo tipo de caracteres extraños, generada por la mano). La contraseña del servidor también es prácticamente imposible de adivinar.

Aparte de un adivinar la contraseña, lo fácil es adquirir los datos de esta base de datos?

Supuestos:

  1. Sólo el PP existe en el servidor. No hay ninguna contraseña en un script PHP o algo por el estilo
  2. La persona que robó el servidor es un / DB / experto en recuperación de disco duro del servidor
  3. No estoy usando ningún tipo de cifrado de disco duro ni nada fuera de lo normal para la protección
  4. Estoy usando Ubuntu Hardy (última versión estable)

Estoy tratando de entender los riesgos involucrados con alguien el acceso físico a los discos duros de mi servidor.

¿Fue útil?

Solución

"El pensamiento estándar es cuando alguien se sienta en el servidor, que está comprometida, fin de la historia. Las cosas se ponen peor si ellos agarran el disco duro y lo llevan a un laboratorio para la apertura y análisis."

Ditto.

Una vez que un atacante tiene acceso físico permanente (es decir, salió del edificio con su disco duro en su maletín), se acabó la fiesta - asumen que con el tiempo se verá comprometida los datos. A partir de ahí, el escenario es el costo de la táctica de retraso frente a la capacidad de ralentizar el atacante.

Es un poco diferente si el atacante es una información privilegiada, o tenido un acceso temporal. En esos casos, puede ser capaz de reducir la velocidad suficiente, o la rendición de cuentas fuerza tal que el ataque se convierte en inviable.

cifrado del disco duro es una táctica dilatoria - le dará la protección que coincide con la fortaleza del algoritmo, la fuerza de la llave, y la fuerza de la contraseña de acceso de bloqueo de la llave (o la posibilidad de insertar hardware con la clave almacenada por separado ). Incluso con la suposición de cifrado es que es una táctica dilatoria. Tarde o temprano, el atacante obtendrá a través del espacio de claves y averiguar qué clave descifra el sistema.

inviolabilidad es otra opción - la búsqueda de una forma de borrar electrónicamente el disco duro bajo ciertas condiciones (como la eliminación física de la funda).

La figura que una vez que se concede el acceso físico, el atacante puede evitar sus contraseñas - muy fuerte que sea - sin tener que recurrir a la fuerza bruta. El primero que viene a la mente está utilizando las técnicas de "fijar" la contraseña que la mayoría de los sistemas han construido en los administradores de ayuda a sys que han perdido el cierre patronal y contraseñas.

Cualquiera y todas las protecciones vienen con un precio - inviolabilidad es caro, ya que se necesita hardware especializado. El cifrado puede ser más barato, pero afecta el tiempo de arranque. Además, he visto algunas sorpresas desagradables con la forma de cifrado juega con las aplicaciones -. Nunca se sabe hasta que intente usarlo

Otros consejos

El pensamiento estándar es cuando alguien se sienta en el servidor, que está comprometida, fin de la historia. Las cosas se ponen peor si ellos agarran el disco duro y lo llevan a un laboratorio para la apertura y análisis.

Me iniciar con el cifrado de todo el coche, así como cifrado por campo en la base de datos. Es posible mirar a su alrededor para ver si hay una manera de tener un acceso basado en biométrica para el hardware de disco duro instalado en el servidor. Además, desea para desenterrar un contratista de seguridad física y obtener sus recomendaciones para la configuración; También contratar guardias.

Es decir, si se trata de un escenario que razonablemente podría suceder ...

editar

Si tuviera un archivo de base de datos PostgreSQL que quería entrar y tuve los recursos (es decir, el gasto 4K para algunos Dells baratos), me gustaría utilizar una configuración de Beowulf y realizar paralelamente el agrietamiento de fuerza bruta. Las cosas se ponen peor si comienzan a tener más dinero y se pueden configurar, por ejemplo, varias de esas máquinas dulces NVidia superordenador-en-escritorio conectado a realmente comenzar fuerza bruta una contraseña.

Si el ladrón es serio sobre conseguir en él y que no tiene la seguridad ya prevista desde el día 0, el archivo de base de datos va a ser abierto como una lata de sardinas.

Si usted no está cifrado del sistema de transmisión / archivo de disco, que está bastante fuera de suerte, ya que no hace Postgres ofrecen cifrado nativo. Y cifrar la unidad de disco duro es el único método real de protección para un servidor robado.

Básicamente, lo que tendría que hacer es cifrar el disco duro o sistema de archivos, y usted tendría que introducir la contraseña cuando se monta la unidad, a mano, cada vez que la máquina arranca, antes de Postgres dispara hacia arriba.

Este artículo parece ser especialmente relevante a su pregunta:

Total seguridad en una base de datos PostgreSQL
http://www.ibm.com/developerworks/opensource/library/os -postgresecurity /

No creo que esto es un problema PostgreSQL o cualquier otra dirección de base de datos. Incluso si la base de datos es su auto protegido con contraseña todos los datos están en texto plano y eso es lo que realmente importa. Nada impide que el atacante cat'ing el archivo de base de datos en bruto y las tuberías que aunque cuerdas. La mejor solución para este tipo de ataque es utilizar un sistema de archivos cifrados. Para ello sería necesario que escriba una contraseña para montar la partición. Esto también aumenta la sobrecarga.

Para la pregunta específica publicada (y la que vine en busca de una respuesta a), PostgreSQL por defecto almacena los datos de la tabla sin cifrar. Mirando a su alrededor en los archivos de ... / pgsql / 9.2 / data / base / * Me imagino que estas tablas de almacén en trozos de 1,1 gigabytes, y puedo encontrar con éxito cadenas de caracteres ASCII en los archivos con grep. De la inspección de los archivos parece que los datos se almacenan en columnas.

A partir de esta información creo que pude experimentar y escribir código para la ingeniería inversa de las tablas para crear una copia en un servidor que no tengo la contraseña.

Por lo tanto depender de una contraseña de base de datos por sí sola no cumplir con su deber de cuidado si usted necesita para proteger contra el riesgo de los medios físicos que son robados.

PostgreSQL Docs en línea proporcionar algunas opciones para el cifrado de datos en varios niveles, que para este problema parece estar limitada a un módulo para encriptar o cifrar columnas específicas que subyacen a los medios de comunicación de alguna manera como han sugerido otros encuestados.

Un comienzo tan bueno es para habilitar el cifrado de disco completo. También puede cifrar en la capa de aplicación. (Por ejemplo, cifrar los datos antes de enviarlo a la base de datos, almacenar la clave no es accesible desde el servidor de base de datos)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top