Cryptage complet du disque avec authentification sans mot de passe sous Linux

J'ai une configuration de chiffrement de disque assez standard dans Debian 5.0.5: partition non chiffrée /boot , et crypté sdaX_crypt qui contient toutes les autres partitions.

Maintenant, il s'agit d'une installation de server sans tête et je veux pouvoir le démarrer sans keyboard (pour l'instant je ne peux le démarrer qu'avec un keyboard et un moniteur attachés).

Jusqu'à présent, j'ai une idée de déplacer /boot partition de /boot sur un lecteur USB et apporter de légères modifications à l'input automatique de la key (je pense qu'il y a juste un appel à askpass dans le script de démarrage quelque part). De cette façon, je peux démarrer sans tête, juste besoin d'avoir un lecteur flash au moment du démarrage.

Comme je le vois, le problème est que

  1. J'ai besoin d'investir du time dans la détermination de tous les morceaux pour le faire fonctionner,
  2. S'il y a une mise à jour, qui régénère initrd , j'ai besoin de régénérer la partition de démarrage sur l'USB, ce qui semble fastidieux.

La question: y a-t-il une solution standard de faible entretien disponible pour ce que je veux faire? Ou devrais-je regarder ailleurs tout à fait?

    Vous pouvez configurer votre système pour exiger une key au lieu d'un mot de passe et modifier certains scripts pour searchr cette key sur une key USB. J'ai trouvé une explication détaillée de ce process sur Debian Lenny. Il y a des notes à la fin qui décrivent les changements nécessaires pour les nouvelles versions de Debian.

    Mais alors, quel est l'intérêt d'avoir un encryption complet du disque, si vous ne laissez que les keys en text clair?

    Pour que cela fonctionne, vous auriez besoin de quelque chose comme ce que la plate-forme Trusted Computing était censé être avant que Microsoft et Big Media ne le détournent pour leurs propres fins malveillantes.

    L'idée est d'avoir une puce contenant les keys de la carte mère, et de ne les donner que lorsque l'on vérifie que le logiciel a été correctement signé par une autorité de confiance. De cette façon, vous ne laissez pas les keys en vue et vous n'avez pas à démarrer le server de manière interactive.

    Il est dommage que je n'ai jamais vu Trusted Computing mis à profit , ce qui pourrait être utile pour l'user final .

    Mandos (que j'ai écrit avec d'autres) résout ce problème même:

    Mandos est un système permettant aux servers avec des filesystems racine cryptés de redémarrer sans surveillance et / ou à distance. Voir la page de manuel d'intro pour plus d'informations, y compris une list de FAQ.

    En bref, le server de démarrage obtient le mot de passe sur le réseau, de manière sécurisée. Voir le file README pour plus de détails.