Estoy configurando algunos nuevos servidores Ubuntu, y me gustaría asegurar los datos en ellos contra el robo. El modelo de amenaza son los atacantes que desean el hardware o, más bien, los atacantes ingenuos que desean los datos.
Por favor tome nota de esta sección.
El modelo de amenaza no incluye atacantes inteligentes que desean los datos; Supongo que harán uno o más de los siguientes:
Empalme un UPS en el cable de alimentación para mantener la máquina funcionando continuamente.
Inserte un par de puentes Ethernet entre la computadora y el punto de terminación de la red que tenderá un puente sobre el tráfico a través de una red inalámbrica de rango suficiente para que el host mantenga la conectividad de la red.
Abra la caja y use una sonda en el bus de memoria para tomar cosas interesantes.
Use dispositivos TEMPEST para sondear lo que está haciendo el host.
Usar medios legales (como una orden judicial) para obligarme a revelar los datos
Etcétera etcétera.
Entonces, lo que quiero es tener algunos, o idealmente todos, los datos en el disco en una partición encriptada, con el material clave necesario para acceder a ellos en medios externos de algún tipo. Dos métodos que puedo pensar para almacenar el material clave son:
Almacénelo en un host remoto accesible a través de la red y configure suficiente red para recuperarlo durante el proceso de arranque. La recuperación solo se permitiría a la dirección IP asignada al host seguro (por lo tanto, no se permite el acceso a los datos cifrados si se iniciaron en otra conexión de red) y los administradores podrían desactivarla si se descubriera que la máquina fue robada.
Guárdelo en un dispositivo de almacenamiento USB que de alguna manera sea mucho más difícil de robar que el propio host. Ubicarlo alejado del host, como al final de un cable USB de cinco metros que conduce a otra esquina de la habitación, o incluso a otra habitación, probablemente reduciría significativamente las posibilidades de que los atacantes lo tomen. Asegurarlo de alguna manera, como encadenarlo a algo inmóvil, o incluso ponerlo en una caja fuerte, funcionaría aún mejor.
Entonces, ¿cuáles son mis opciones para configurar esto? Como dije antes, preferiría tener todo (aparte de quizás una pequeña partición de arranque que no contenga / etc) encriptada, para no tener que preocuparme de dónde estoy colocando los archivos, o dónde están ' re aterrizando accidentalmente.
Estamos ejecutando Ubuntu 9.04, si hace alguna diferencia.
fuente
Respuestas:
Sé de una variante inteligente de la Opción 1 llamada Mandos.
Utiliza una combinación de un par de claves GPG, Avahi, SSL e IPv6, todo agregado a su disco RAM inicial para recuperar de forma segura la contraseña clave de su partición raíz. Si el servidor Mandos no está presente en la LAN, su servidor es un bloque cifrado o el servidor Mandos no ha visto un latido del software del cliente Mandos durante un período determinado de tiempo, ignorará las solicitudes futuras para ese par de claves y el servidor es un ladrillo encriptado la próxima vez que arranque.
Página de Mandos
Mandos README
fuente
ip=
y losmandos=connect
parámetros, vea este correo: mail.fukt.bsnet.se/pipermail/mandos-dev/2009-February/… pero tenga en cuenta que esto es algo frágil ya que los clientes solo intentarán conectarse al servidor especificado una vez y, de lo contrario, fallarán irrevocablemente. La configuración recomendada es a través de la LAN. También puedo mencionar que Mandos está disponible en Ubuntu desde 9.04 (y también en las pruebas de Debian)Si solo busca protegerse contra atacantes no técnicos, creo que su mejor opción es una mejor seguridad física.
Mi pensamiento es así:
Si está buscando una bota que no requiera interacción humana para ingresar el material clave, entonces no encontrará ninguna solución que esté a salvo incluso del robo casual de un atacante con habilidades técnicas (o, más apropiadamente, el capacidad de pagar a alguien con habilidades técnicas).
Poner material clave en algo así como una memoria USB no ofrecería ninguna seguridad real. El atacante podría leer la llave de la memoria USB. La memoria USB no puede saber si la computadora en la que se ha conectado es la computadora del servidor o la computadora portátil del atacante. Todo lo que el atacante tiene que hacer es asegurarse de que se llevan todo, o en el caso de su llave USB en el extremo de un cable extendo USB de 15 pies de largo pegado dentro de una caja fuerte, simplemente conecte el cable extendo a su PC y lea la clave.
Si va a transferir la clave a través de la red, probablemente la "cifrará". Todo lo que el atacante tiene que hacer es espiar el proceso de codificación, robar el servidor y luego aplicar ingeniería inversa a cualquier "encriptación" que hiciste cuando enviaste la clave a través de la red. Por definición, la computadora servidor que recibe una clave "encriptada" de toda la red tiene que poder "desencriptar" esa clave para poder usarla. Entonces, realmente, no estás encriptando la clave, solo la estás codificando.
En última instancia, necesita un presente de inteligencia (¿artificial?) Para ingresar la clave en el servidor. Uno que puede decir "Sé que no estoy divulgando la clave a nadie más que a la computadora del servidor, y sé que no ha sido robada". Un humano puede hacer esto. Una memoria USB no puede. Si encuentra otra inteligencia que pueda hacerlo, creo que tendrá algo comercializable. > sonrisa <
Es muy probable, creo, que pierda la clave y destruya sus datos sin obtener seguridad. En lugar de su estrategia con los juegos de cifrado, creo que es mejor tener una seguridad física más sólida.
Editar:
Creo que estamos trabajando a partir de diferentes definiciones del término "modelo de amenaza", tal vez.
Si su modelo de amenaza es el robo de hardware, entonces su solución propuesta en relación con el cifrado de disco es, como lo veo, no hacer nada para contrarrestar la amenaza. Su solución propuesta parece una contramedida contra el robo de datos, no el robo del hardware.
Si desea evitar que el hardware sea robado, debe atornillarlo, encerrarlo, encerrarlo en concreto, etc.
Ya he dicho lo que quería decir sobre el robo de datos, por lo que no volveré a insistir en eso, excepto para decir: si vas a poner la llave en un dispositivo físico y no puedes proteger el equipo servidor no es robado, entonces tampoco puede proteger el dispositivo clave de ser robado.
Supongo que su mejor solución "barata" es manipular algún tipo de intercambio de claves basado en la red. Pondría a uno o más humanos en el bucle para autenticar la "liberación" de la clave en caso de reinicio. Causaría un tiempo de inactividad hasta que el humano "liberara" la llave, pero al menos le daría la oportunidad de averiguar por qué se solicitaba una "liberación" de la llave y decidir si hacerlo o no.
fuente