Ejecutar un servidor web con un sistema de archivos encriptado (todo o parte de él)

imagenes

Necesito un servidor web (LAMP) que se ejecute dentro de una máquina virtual (# 1) que se ejecute como un servicio (# 2) en modo sin cabeza (# 3) con parte o todo el sistema de archivos cifrado (# 4).

La máquina virtual se iniciará sin la intervención del usuario y proporcionará acceso a una aplicación web para los usuarios en la máquina host. Los puntos # 1, # 2 y # 3 se verifican y se demuestra que funcionan bien con Sun VirtualBox, por lo que mi pregunta es para el # 4:

¿Puedo cifrar todo el sistema de archivos y seguir accediendo al servidor web (usando un navegador) o GRUB me solicitará una contraseña?

Si cifrar todo el sistema de archivos no es una opción, ¿puedo cifrar solo? /casa y / var / www? ¿Apache / PHP podrá usar archivos en /casa o / var / www ¿Sin pedir una contraseña o montar estas particiones manualmente?


Tenemos varias respuestas

La mejor respuesta:

Si desea el cifrado completo del disco, debe ingresar la contraseña durante la fase de inicio, que probablemente no sea lo que desea. Le recomendaría crear una partición encriptada usando luks y colocar todos los datos razonables en esa partición. Después de que la máquina haya arrancado, puede ssh en la caja y desbloquear la partición.

En cuanto a cómo hacer el cifrado, es muy fácil:

  • Crea la partición como quieras
  • Formatear la partición con luks:

    cryptsetup -c twofish -y luksFormat / dev / sda4
    
  • Desbloquea la partición con luks:

    cryptsetup luksOpen / dev / sda4 encwww
    
  • Formato de la partición encriptada con un fs de su elección:

    mkfs.ext3 / dev / mapper / encwww
    
  • Ya has terminado y ahora puedes montar. / dev / mapper / encwww

Para desbloquear la partición nuevamente después de reiniciar, debe hacer:

cryptsetup luksOpen / dev / sda4 encwww

y luego montar la partición.


Otra respuesta

cryptsetup y dm-crypt no están disponibles en distribuciones de linux estándar y es una solución bastante exótica, debes intentar hacerlo de la manera habitual:

bucle modprobe
modprobe cryptoloop
modprobe aes

dd if = / dev / urandom of = / yourContainerFile bs = `expr 1024 \ * 1024 \ * 1024` count = yourSizeInGigaBytes

losetup -e aes-256 / dev / loop0 / yourContainerFile

mkfs.ext3 / dev / loop0

aa y ahora está listo para montar / dev / loop0 donde quiera, cifrado seguro, hecho correctamente; Incluso podría configurar su fstab de una manera que permita leer la clave de cifrado desde una memoria USB que se debe enchufar en @ boot … mucho más flexible y segura.> Nunca siga las guías que usan “twofish” o algo similar como cifrado … este algoritmo aún no se ha analizado completamente, nadie sabe si es seguro.

Ah y: si desea seguridad más allá del alcance y el poder de las agencias secretas: use

/ dev / random

en lugar. El demonio de recolección de entropía de Linux ofrece valores estadísticamente “buenos”, pero es muy lento.

Y si eres realmente paranoico, cómprate un dispositivo que pueda recibir & mida la radiación de fondo cósmica, conéctela a su computadora y déjela escribir a / dev / random 😀


Fuente

Leave a Reply