... | ... | @@ -37,8 +37,61 @@ Le mieux est d'installer sa machine **avant** de l'apporter à la salle serveur. |
|
|
## S'assurer de la sécurité de sa machine
|
|
|
|
|
|
- choisir un mot de passe robuste, ne surtout pas laisser le mot de passe par défaut
|
|
|
- chiffrer le/les disques avec LUKS2, pour ça se référer à la section suivante.
|
|
|
- utiliser des versions récentes des logiciels
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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:
|
|
|
```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.
|
|
|
|
|
|
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`
|
|
|
>
|
|
|
> 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`
|
|
|
|
|
|
Pour cela il faut éditer le fichier de config et ajouter/modifier la variable `DROPBEAR_OPTIONS` avec ce contenus:
|
|
|
```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).
|
|
|
> 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:
|
|
|
```sh
|
|
|
update-initramfs -u
|
|
|
```
|
|
|
|
|
|
Et voilà, reste plus qu'à redémarrer la machine et de vous y connecter en ssh pour la déchiffrer :)
|
|
|
|
|
|
## Configuration réseau
|
|
|
|
|
|
Si possible avant de venir, mais sinon peut être fait pendant la permanence.
|
... | ... | |