Le blog de Dju Un peu de moto, un zeste de geek, et un brin d'autres trucs ;-)

Dechiffrement d'un volume LUKS à distance sous Debian

Quand on a un serveur sous debian, avec le disque chiffré grâce à LUKS, il faut avoir un écran/clavier pour taper le mot de passe au boot.
Pas très pratique pour un serveur !

Mais une solution existe pour cela: le paquet dropbear-initramfs.

Il va faire en sorte que lorsque la machine démarre, dropbear (un serveur ssh très light) soit lancé, car intégré dans l'initramfs.
Ce qui va nous permettre de s'y connecter en SSH (avec authentification par clé), rentrer le mot de passe pour déchiffrement, et qu'au final le système démarre :)

Et comme je fais cela souvent, il m'arrive d'oublier une étape, en voici dont la liste :p

Pour ce faire, 5 étapes:

  1. installer dropbear
  2. configurer l'authentification
  3. configurer dropbear
  4. configurer l'initramfs
  5. désactiver dropbear pour que ssh se lancer normalement après

1/ installation

on l'installe simplement en une commande :

apt install dropbear dropbear-initramfs

2/ Authentification

Afin de s'authentifer par clé, on créé le fichier /etc/dropbear/initramfs/authorized_keys, dans lequel on inscrit notre clé publique (généralement dans ~/.ssh/id_rsa.pub)

3/ Configuration de dropbear

On édite le fichier /etc/dropbear/initramfs/dropbear.conf et on décommente la ligne DROPBEAR_OPTIONS.
Et on indique les options entre guillemets. au final, la ligne doit ressembler à ceci:

DROPBEAR_OPTIONS="-RFEsjk -c /bin/cryptroot-unlock"

ces options permettent pluisieurs choses, notemment de ne pas mettre dropbear en background, et qu'il affiche ce qui se passe à l'écran (dans stderr), de désactiver l'authentification par password, et le port forwarding.
Enfin et surtout la derniere option permet de demander directemnet le mot de passe LUKS, sans qu'on aie accès à un shell busybox ;)

4/ Configuration de l'initramfs

Dropbear étant maintenant configuré, on passe à l'initramfs.
On édite pour cela le fichier /etc/initramfs-tools/initramfs.conf, et on rajoute une ligne à la fin

IP=192.168.30.27::192.168.30.1:255.255.255.0::eth0:off

ici on indique que l'initramfs doit monter l'interface réseau eth0 avec l'ip 192.168.30.27; une gateway en 192.168.30.1 et un netmask à 255.255.255.0.
Cette partie est tres importante, car sans elle la machine n'aura pas de réseau à ce stade du démarrage.

Enfin, on met à jour l'initramfs:

update-initramfs -u

5/ Désactivation de dropbear

Finalement, on désactive dropbear pour qu'il ne se lance pas au démarrage. il doit etre lancé uniquement pendant la phase de l'initramfs, et doit se désactiver après.
Sans quoi, sshd ne pourra pas démarrer :)

Si vous utilisez systemd:

systemctl disable dropbear.service

Si vous utilisez sysvinit:

update-rc.d -f dropbear remove

Et voila, c'est terminé. :)

Désormais, lorsque la machine démarrera, vous pourrez toujours taper votre mot de passer au clavier si besoin, mais vous pourrez surtout vous y connecter en ssh, et une fois identifié, un prompt vous sera proposé pour taper votre mot de passe LUKS.

reception et installation du raspberry pi

raspi Après commande sur RS Online, le pi est enfin arrivé, seulement 10 jours après :)
Je souhaite décrire ici la procédure basique pour mettre le pi en route, installer Raspbian comme OS, enfaire la mise à jour avec aptitude, et celle du firmware avec rpi-update, et quelques autres petits trucs et astuces facilitant la procédure (et la remise en route si y'a un pépin :p ) de manière à pouvoir retrouver tout cela facilement.

Lire la suite

Un raspberry pi de plus

raspi Mon dockstar (pour ceux qui ne connaissent pas, c'est un mini-pc avec processeur ARM et 128mo de ram) se sentant un peu à l'étroit, et après avoir vu tout ce qu'on peut faire avec un pi, j'ai décidé d'en acquérir un de manière à avoir un petit serveur consommant très peu et faisant beaucoup de choses ;)
D'autant que le modèle actuel du Pi a maintenant 512 mo de ram :)

Lire la suite

Sécurisez vos connexions DNS avec DNScrypt

opendns Il y a une petite dizaine de jours, OpenDNS a sorti un utilitaire très pratique, open source, permettant de crypter les connexions DNS, un peu comme le HTTP encapsulé en SSL pour faire du HTTPS.
Un pas de plus vers l'anonymat et la protection de la vie privée :)
Ici on va voir comment l'installer simplement sur un pc sous debian/ubuntu, puis le mettre devant un serveur BIND faisant office de cache.

Lire la suite

Un nouveau mirroir pour Debian

debian.jpg Comme j'utilise régulièrement Debian et que je l'apprécie de plus en plus, aussi bien en desktop, qu'en serveur, je me disais bien qu'il serait une bonne chose de participer un peu plus à son développement.
C'est pourquoi j'ai choisi de créer un miroir officiel

Lire la suite

Kernel debian et driver e1000e sur kimsufi 16G

logo_ovh Lorsque le kimsufi 16G est livré, est installé dessus un kernel made in ovh. Ce kernel interdit entre autre la gestion classique/manuelle des modules avec lsmod et modprobe, et peut également avoir du retard lors des mises à jour pour les diverses failles de sécurité.
Voici un petit mode d'emploi pour revenir au kernel debian "standard", ainsi que pour installer le module e1000e de la carte réseau, non supporté par le kernel debian.

Lire la suite

Températures du kimsufi 16G sous debian

logo_ovh Après pas mal de recherches, notamment sur la carte mère Intel DH67BL et le module w83677HG, pour ceux qui ont un kimsufi 16G sous debian ou autre nux, et qui se demandent comment avoir les températures..
En effet, le module coretemp refuse de se charger, lm-sensors ne detecte rien, et pas d'ipmi...
Voici la solution :)

Lire la suite

Xen: démarrer un domU avec pyGrub

xen Lorsqu'on crée un domU "par défaut" avec xen, le kernel et l'image initrd utilisés seront lus directement sur le dom0, qui rend le domU dépendant du dom0.
Ici, j'ai un dom0 tournant sous lenny, ainsi que 2 domU tournant également sous lenny, avec le kernel 2.6.26-2-xen-amd64.
Sur le 2è domU, je voulais faire la mise à jour lenny vers squeeze, ce qui necessite entre autre que le domU puisse installer un nouveau kernel et booter dessus...
Pour ce faire on va utiliser pyGrub.

Lire la suite

La virtualisation avec Xen

xen Aujourd'hui un billet pour présenter Xen, un fabuleux outil permettant de virtualiser des machines, aussi bien en HVM (Hardware Virtualised Machine) pour faire tourner windows, comme VMware, que en para-virtualisation pour faire tourner des linuxs, sans couche de hardware émule, faisant ainsi perdre très peu de performances.

Lire la suite

Multi boot avec grub et plusieurs linux

grub Quand on a un windows et un linux, grub se configure facilement. mais quand on a plusieurs linux à démarrer, chacun essaye d'installer le sien et cela peut causer un conflit vous empêchant de démarrer.
Voici une manière simple de procèder

Lire la suite

- page 1 de 2