... | ... | @@ -42,55 +42,55 @@ Le mieux est d'installer sa machine **avant** de l'apporter à la salle serveur. |
|
|
|
|
|
## Chiffrement du disque root avec déchiffrement à distance
|
|
|
|
|
|
Chiffrer un disque dur permet de rendre difficile voir impossible l'exploitation des données stocké dessus quand la machine est éteinte/pas déchiffré. Cela permet de protéger les données lors d'une saisie des disques, etc mais pas d'un piratage ou d'un accès direct à la machine en état de fonctionnement.
|
|
|
Chiffrer un disque dur permet de rendre difficile voire impossible l'exploitation des données stockées dessus quand la machine n'est pas déchiffrée ou éteinte. Cela permet de protéger les données lors d'une saisie des disques par exemple, mais pas d'un piratage ou d'un accès direct à la machine en état de fonctionnement.
|
|
|
|
|
|
Pour chiffrer le disque à l'installation du système, il suffit de cocher/selectioner l'option "chiffrer la partition root" et choisir un mot de passe unique et fort à retenir/stocker dans un gestionnaire de mot de passe.
|
|
|
Pour chiffrer le disque à l'installation du système, il suffit de cocher/sélectioner l'option "chiffrer la partition root" et choisir un mot de passe unique et fort à retenir ou à stocker dans un gestionnaire de mots de passe.
|
|
|
|
|
|
Après l'installation on veux pouvoir déchiffrer le disque à distance pour éviter de se déplacer dans la salle serveur après une coupure d'elec et/ou un reboot par exemple.
|
|
|
Pour cela on doit installer un programme de serveur SSH minimaliste (Dropbear SSH) dans le système qui sert à initialiser linux (l'initramfs).
|
|
|
Sur les distributions Debian / Ubuntu il suffit d'y installer avec apt:
|
|
|
Après l'installation, on veut pouvoir déchiffrer le disque à distance pour éviter de se déplacer dans la salle serveur après une coupure d'électricité ou un reboot par exemple.
|
|
|
Pour cela on doit installer un programme de serveur SSH minimaliste ([Dropbear SSH](https://github.com/mkj/dropbear)) dans le système qui sert à initialiser Linux (l'initramfs).
|
|
|
Sur les distributions Debian / Ubuntu il suffit d'y installer avec apt :
|
|
|
```sh
|
|
|
sudo apt update
|
|
|
sudo apt upgrade
|
|
|
sudo apt install dropbear-initramfs
|
|
|
```
|
|
|
C'est très probable qu'un message d'erreur (`dropbear: WARNING: Invalid authorized_keys file, remote unlocking of cryptroot via SSH won't work!`) apparaisse pendant l'installation, vous pouvez l'ignorer sans problèmes.
|
|
|
C'est très probable qu'un message d'erreur (`dropbear: WARNING: Invalid authorized_keys file, remote unlocking of cryptroot via SSH won't work!`) apparaisse pendant l'installation, vous pouvez l'ignorer sans problème.
|
|
|
|
|
|
Maintenant on peux passer à la configuration de Dropbear SSH:
|
|
|
> Attention, depuis Debian 12 (bookworm) la chemin des configurations de dropbear ont changé:
|
|
|
> - Nouveau dossier: `/etc/dropbear/initramfs/`
|
|
|
> - Nouveau fichier de config: `/etc/dropbear/initramfs/dropbear.conf`
|
|
|
> - Nouveau fichier pour les clé publique SSH: `/etc/dropbear/initramfs/authorized_keys`
|
|
|
Maintenant on peut passer à la configuration de Dropbear SSH :
|
|
|
> Attention, depuis Debian 12 (bookworm) le chemin des configurations de dropbear a changé :
|
|
|
> - Nouveau dossier : `/etc/dropbear/initramfs/`
|
|
|
> - Nouveau fichier de config : `/etc/dropbear/initramfs/dropbear.conf`
|
|
|
> - Nouveau fichier pour les clés publiques SSH : `/etc/dropbear/initramfs/authorized_keys`
|
|
|
>
|
|
|
> Et pour les versions avant Debian 12:
|
|
|
> - Dossier de configuration: `/etc/dropbear-initramfs/`
|
|
|
> - Fichier de config: `/etc/dropbear-initramfs/config`
|
|
|
> - Fichier pour les clé publique SSH: `/etc/dropbear-initramfs/authorized_keys`
|
|
|
> Et pour les versions avant Debian 12 :
|
|
|
> - Dossier de configuration : `/etc/dropbear-initramfs/`
|
|
|
> - Fichier de config : `/etc/dropbear-initramfs/config`
|
|
|
> - Fichier pour les clés publiques SSH : `/etc/dropbear-initramfs/authorized_keys`
|
|
|
|
|
|
Pour cela il faut éditer le fichier de config et ajouter/modifier la variable `DROPBEAR_OPTIONS` avec ce contenus:
|
|
|
Pour cela il faut éditer le fichier de config et ajouter/modifier la variable `DROPBEAR_OPTIONS` avec ce contenu :
|
|
|
```sh
|
|
|
DROPBEAR_OPTIONS="-I 180 -j -k -p 2222 -s -c cryptroot-unlock"
|
|
|
```
|
|
|
Où chaques options correspondes à:
|
|
|
* `-I 180`: Met fin à la session ssh si rien est transmis dans les 180 prochaines secondes.
|
|
|
* `-j`: Désactive le [port forwarding](https://wiki.archlinux.org/title/OpenSSH#Forwarding_other_ports) depuis le serveur.
|
|
|
* `-k`: Désactive le [port forwarding](https://wiki.archlinux.org/title/OpenSSH#Forwarding_other_ports) depuis le client.
|
|
|
* `-p 2222`: port d'écoute de Dropbear, il est conseillé de le changer par un port aléatoire/moins connue que 22 ou 2222 histoire de réduire le risques d'attaques.
|
|
|
* `-s`: Désactive l'authentification par mot de passe, nous allons mettre en place un système de clé SSH.
|
|
|
* `-c cryptroot-unlock`: Bloque l'accès au shell et force l'execution de la commande `cryptroot-unlock` pour déchiffrer le disque.
|
|
|
|
|
|
En suit il faut ajouter une clé publique SSH dans le fichier `authorized_keys` de dropbear.
|
|
|
> Attention: la version de Dropbear distribué par debian ne supporte pas les clé généré avec la courbe ed25519, il est recommandé d'utiliser/générer une clé RSA, pour y générer il faut utiliser la commande `ssh-keygen -t rsa`.
|
|
|
|
|
|
En suit il faut configurer le réseau en suivant [cette explication](https://forge.gresille.org/salle-serveur/doc-publique/-/wikis/doc_usager/Configuration-r%C3%A9seau#dropbear-ssh-initramfs).
|
|
|
Où chaque option correspond à :
|
|
|
* `-I 180` : met fin à la session SSH si rien est transmis dans les 180 prochaines secondes.
|
|
|
* `-j` : désactive le [port forwarding](https://wiki.archlinux.org/title/OpenSSH#Forwarding_other_ports) depuis le serveur.
|
|
|
* `-k` : désactive le [port forwarding](https://wiki.archlinux.org/title/OpenSSH#Forwarding_other_ports) depuis le client.
|
|
|
* `-p 2222` : définit le port d'écoute de Dropbear. Il est conseillé de le changer par un port aléatoire moins connu que 22 ou 2222 histoire de réduire le risque d'attaques.
|
|
|
* `-s` : désactive l'authentification par mot de passe car nous allons mettre en place un système d'authentification par clé SSH.
|
|
|
* `-c cryptroot-unlock` : bloque l'accès au shell et force l'exécution de la commande `cryptroot-unlock` pour déchiffrer le disque.
|
|
|
|
|
|
Ensuite il faut ajouter une clé publique SSH dans le fichier `authorized_keys` de dropbear.
|
|
|
> Attention: la version de Dropbear distribuée par Debian ne supporte pas les clé générées avec la courbe ed25519, il est recommandé d'utiliser/générer une clé RSA. Pour générer une clé, il faut utiliser la commande `ssh-keygen -t rsa`.
|
|
|
|
|
|
Ensuite il faut configurer le réseau en suivant [cette explication détaillée](https://forge.gresille.org/salle-serveur/doc-publique/-/wikis/doc_usager/Configuration-r%C3%A9seau#dropbear-ssh-initramfs).
|
|
|
> Attention cette configuration réseau est indépendante de la configuration réseau du système installé sur la machine ! L'initramfs fonctionne comme un petit OS à part entière.
|
|
|
|
|
|
Une fois la configuration finit, si ce n'est pas déjà fait, mettre à jour l'image de l'initramfs avec la commande suivant:
|
|
|
Une fois la configuration réseau terminée, si ce n'est pas déjà fait, mettre à jour l'image de l'initramfs avec la commande suivante :
|
|
|
```sh
|
|
|
update-initramfs -u
|
|
|
```
|
|
|
|
|
|
Et voilà, reste plus qu'à redémarrer la machine et de vous y connecter en ssh pour la déchiffrer :)
|
|
|
Et voilà ! Il ne reste plus qu'à redémarrer la machine et à vous y connecter en SSH pour la déchiffrer. :)
|
|
|
|
|
|
## Configuration réseau
|
|
|
|
... | ... | |