7 votes

Exécution d'un serveur web avec un système de fichiers chiffrés (en tout ou en partie)

J'ai besoin d'un serveur web (LAMP) fonctionnant à l'intérieur d'une machine virtuelle (#1) fonctionnant comme un service (#2) en mode headless (#3) avec une partie ou l'ensemble du système de fichiers crypté (#4).

La machine virtuelle sera démarrée sans intervention de l'utilisateur et permettra aux utilisateurs de la machine hôte d'accéder à une application web. Les points 1, 2 et 3 ont été vérifiés et se sont avérés fonctionner correctement avec Sun VirtualBox, ma question porte donc sur le point 4 :

Puis-je crypter l'ensemble du système de fichiers et continuer à accéder au serveur web (à l'aide d'un navigateur) ou est-ce que Grub me demandera un mot de passe ?

Si le cryptage de l'ensemble du système de fichiers n'est pas envisageable, puis-je crypter uniquement les fichiers /home y /var/www ? Apache/PHP pourra-t-il utiliser des fichiers dans /home o /var/www sans demander de mot de passe ou en montant ces partitions manuellement ?

11voto

curt Points 139

Si vous voulez un cryptage complet du disque, vous devez entrer le mot de passe pendant la phase de démarrage, ce qui n'est probablement pas ce que vous voulez. Je vous recommande de créer une partition chiffrée à l'aide de luks et de placer toutes les données sensibles sur cette partition. Une fois que la machine a démarré, vous pouvez vous connecter en mode ssh à la boîte et déverrouiller la partition.

Pour ce qui est de l'encryptage, c'est très simple :

  • Créez la partition comme vous le souhaitez

  • Formatez la partition avec luks :

    cryptsetup -c twofish -y luksFormat /dev/sda4
  • Déverrouillez la partition avec des clés :

    cryptsetup luksOpen /dev/sda4 encwww
  • Formatez la partie cryptée avec un fichier de votre choix :

    mkfs.ext3 /dev/mapper/encwww
  • Vous avez terminé et vous pouvez maintenant monter /dev/mapper/encwww

Pour déverrouiller à nouveau la partition après un redémarrage, vous devez procéder comme suit :

cryptsetup luksOpen /dev/sda4 encwww

puis monter la partition.

2voto

specializt Points 145

Cryptsetup et dm-crypt ne sont pas disponibles dans les distributions Linux standard et c'est une solution assez exotique, vous devriez essayer de le faire de manière normale :

modprobe loop
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

aaand maintenant vous êtes prêt à monter /dev/loop0 où vous voulez - cryptage fort, fait correctement ; vous pourriez même configurer votre fstab d'une manière qui permet à la clé de cryptage d'être lue à partir d'une clé USB qui doit être branchée au démarrage ... beaucoup plus flexible ET sécurisé --> Ne suivez jamais les guides qui utilisent "twofish" ou quelque chose de similaire comme cryptage ... cet algorithme n'est pas encore complètement analysé, personne ne sait s'il est sûr.

Oh et : si vous voulez une sécurité qui dépasse la portée et le pouvoir des agences secrètes : utilisez

/dev/random

au lieu de cela. Le démon de collecte d'entropie de Linux fournit des valeurs statistiquement "bonnes", mais il est très lent.

Et si vous êtes vraiment paranoïaque, achetez-vous un appareil capable de recevoir et de mesurer le rayonnement cosmique de fond, connectez-le à votre ordinateur et laissez-le écrire vers /dev/random :-D

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X