Vous n'êtes pas identifié(e).
Dernière modification par Maknho (20-03-2021 17:00:50)
Hors ligne
j'ai oublié de préalablement chiffrer mon disque SSD devant accueillir le root.
Il est possible de chiffrer une partition non chiffrée sans perdre les données avec cryptsetup-reencrypt. Mais je n'ai jamais essayé. Bien lire la page de manuel.
Si tu as la carte SD d'origine, je pense qu'il sera plus simple, sûr et rapide de recommencer.
Concernant GRUB, est-ce que le contenu de /boot est intégré à la racine ou dans une partition séparée non chiffrée ?
Si partition /boot séparée non chiffrée, va-t-elle rester sur la carte SD ou être déplacée sur le SSD aussi ?
Il vaut mieux montrer que raconter.
Hors ligne
Si tu as la carte SD d'origine, je pense qu'il sera plus simple, sûr et rapide de recommencer.
Oui je l'ai. OK je vais recommencer.
Concernant GRUB, est-ce que le contenu de /boot est intégré à la racine ou dans une partition séparée non chiffrée ?
Le /boot est dans une partition séparée non chiffrée.
Si partition /boot séparée non chiffrée, va-t-elle rester sur la carte SD ou être déplacée sur le SSD aussi ?
Je compte la laisser sur la carte SD.
Dernière modification par Maknho (20-03-2021 22:39:49)
Hors ligne
Dernière modification par raleur (20-03-2021 23:00:45)
Il vaut mieux montrer que raconter.
Hors ligne
Dernière modification par Maknho (21-03-2021 09:48:59)
Hors ligne
L'UUID de l'ancien conteneur LUKS peut être affiché avec blkid.
Un nouvel UUID peut être généré pour l'ancien conteneur LUKS avec la commande uuidgen du paquet uuid-runtime.
2) Dans l'ancien système, avant la copie de la racine dans le nouveau volume chiffré,
- ajouter le nouveau volume chiffré à /etc/crypttab avec l'option "initramfs" pour qu'il soit ouvert par l'initramfs
- reconstruire les initramfs de tous les noyaux. avec
Après la copie de la racine,
- mettre le nom du nouveau volume chiffré à la place de l'ancien dans le nouveau fichier /etc/fstab
- dans /boot/grub/grub.cfg, remplacer le nom de l'ancien volume chiffré par le nouveau
Au redémarrage, l'initramfs demandera les passphrases pour ouvrir les deux volumes chiffrés.
Après avoir redémarré et vérifié que la racine est le nouveau volume chiffré, on peut retirer l'ancien volume chiffré et l'option "initramfs" devenue superflue du nouveau volume chiffré et exécuter à nouveau update-initramfs comme ci-dessus.
Dernière modification par raleur (21-03-2021 14:14:39)
Il vaut mieux montrer que raconter.
Hors ligne
Hors ligne
Il vaut mieux montrer que raconter.
Hors ligne
Dernière modification par Maknho (21-03-2021 20:55:01)
Hors ligne
Dernière modification par raleur (22-03-2021 14:17:49)
Il vaut mieux montrer que raconter.
Hors ligne
D'abord on formate la partition en conteneur chiffré avec LUKS, et ensuite on ouvre le volume chiffré résultant et on le formate.
OK
Il faut récupérer l'UUID de l'ancienne partition chiffrée sur la carte SD
La carte SD qui accueillait avant root+boot n'était pas chiffré
Pour bien voir où tu en es, tu peux poster le contenu de /etc/fstab, /etc/crypptab, /proc/cmdline et la sortie de blkid et lsblk.
1) /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
tmpfs /tmp tmpfs defaults,nosuid 0 0
UUID=1aba25e8-b646-437b-86c0-2615b9793d57 /media/mmcboot ext4 defaults,noatime,commit=600,errors=remount-ro,x-gvfs-hide 0 1
/media/mmcboot/boot /boot none bind 0 0
UUID=04ed28e5-3444-45b4-a03a-fae2f7c24154 / ext4 defaults,noatime,commit=600,errors=remount-ro,x-gvfs-hide 0 1
2) /etc/crypptab
# <target name> <source device> <key file> <options>
=> apparemment vide
3) /proc/cmdline
root=UUID=04ed28e5-3444-45b4-a03a-fae2f7c24154 rootwait rootfstype=ext4 console=ttyAML0,115200n8 console=tty1 loglevel=1 no_console_suspend fsck.repair=yes net.$
4) blkid
/dev/mmcblk0p1: UUID="1aba25e8-b646-437b-86c0-2615b9793d57" TYPE="ext4" PARTUUID="0419cee1-01"
/dev/sdb1: UUID="8f475bc1-1a82-407d-82a1-7a7f5c61bce6" TYPE="crypto_LUKS" PARTUUID="da277591-1542-4401-904e-37cec709085c"
/dev/sda1: UUID="04ed28e5-3444-45b4-a03a-fae2f7c24154" TYPE="ext4" PARTUUID="1860049b-01"
/dev/zram0: UUID="ef2c0000-c5ed-4267-b114-462e4216815b" TYPE="swap"
/dev/zram1: LABEL="log2ram" UUID="114f54a2-603a-4b7a-9142-cdb00e67ae3c" TYPE="ext4"
/dev/sdc1: UUID="326e90de-5f4a-491b-baeb-1841af890d76" TYPE="crypto_LUKS" PARTUUID="b234d51e-01"
/dev/mapper/2to_serveur: LABEL="xxx_2To_serve" UUID="e3f17213-ca9e-47aa-9162-8b106e1d38db" TYPE="ext4"
/dev/mapper/5to_serveur_Esra: LABEL="5to_xxx_serveur" UUID="625e2909-5a3f-4548-a100-38269c2669a9" TYPE="ext4"
5) lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
└─sda1 8:1 0 232.4G 0 part /
sdb 8:16 0 4.6T 0 disk
└─sdb1 8:17 0 4.6T 0 part
└─5to_serveur_xxx 251:1 0 4.6T 0 crypt /net/5to_serveur_xxx
sdc 8:32 0 1.8T 0 disk
└─sdc1 8:33 0 1.8T 0 part
└─2to_serveur 251:0 0 1.8T 0 crypt /net/2to_serveur
mmcblk0 179:0 0 238.8G 0 disk
└─mmcblk0p1 179:1 0 236.1G 0 part /media/mmcboot
zram0 252:0 0 1.8G 0 disk [SWAP]
zram1 252:1 0 50M 0 disk /var/log
EDIT : question principale : comment est-il possible simplement de chiffrer sda1 ?
question subsidiaire : est-ce aller au bout de la logique (et utile d'un point de vue sécurité) de mettre le boot sur sda1, et de le chiffrer aussi ? Est-ce ardu ?
Dernière modification par Maknho (22-03-2021 17:20:58)
Hors ligne
La carte SD qui accueillait avant root+boot n'était pas chiffré
J'avais mal compris et je pensais que l'installation originelle était chiffrée. Tu peux donc oublier tout ce que j'ai écrit précédemment, ce n'est pas pertinent.
crypttab est vide mais je vois qu'il y a deux volumes chifftrés ouverts (dans sdb1 et sdc1). Comment sont-ils ouverts ?
Il vaut mieux montrer que raconter.
Hors ligne
J'avais mal compris et je pensais que l'installation originelle était chiffrée. Tu peux donc oublier tout ce que j'ai écrit précédemment, ce n'est pas pertinent.
OK. J'oublie
crypttab est vide mais je vois qu'il y a deux volumes chifftrés ouverts (dans sdb1 et sdc1). Comment sont-ils ouverts ?
Avec les commandes suivantes au démarrage du serveur :
a) cryptsetup luksOpen /dev/sdc1 2to_serveur
=> MDP
b) cryptsetup luksOpen /dev/sdb1 5to_serveur_xxx
=> MDP
Ce sont deux disques externes branchés en USB
Dernière modification par Maknho (23-03-2021 23:22:45)
Hors ligne
pour que le volume chiffré soit /dev/mapper/root_crypt
- vérifier que le volume chiffré est bien ouvert avec
- le formater en ext4
- le monter sur un point de montage temporaire comme /mnt
- installer le paquet cryptsetup-initramfs
- reconstruire les initramfs de tous les noyaux présents avec
- monter / en bind sur un autre point de montage temporaire pour la débarrasser de tous ses montages
- copier le contenu de la racine "nue" dans le volume chiffré
- éditer /boot/grub/grub.cfg
- dupliquer l'entrée de menu principale de la section 10_linux
- modifier son intitulé en ajoutant "(LUKS)" par exemple pour la différencier de l'originale
- remplacer root=UUID=04ed28e5-3444-45b4-a03a-fae2f7c24154 dans sa commande "linux" par root=/dev/mapper/root_crypt
- redémarrer et sélectionner cette entrée dans le menu de GRUB
- vérifier si le système démarre correctement et monte le volume chiffré comme racine
- si tout va bien,
- faire la même modification que dans /boot/grub/grub.cfg dans /etc/fstab
- regénérer grub.cfg avec update-grub
Questions pour ma curiosité :
Il y a une raison particulière pour avoir monté la partition de la carte SD sur /media/mmcboot et fait un montage en bind de ce répertoire sur /boot au lieu de la monter directement sur /boot ? C'était ainsi à l'origine ou bien ça l'est devenu lors du déplacement de la racine ?
D'autre part la partition occupe tout l'espace de la carte SD ; est-ce l'ancienne partition racine ou bien l'ancienne partition racine a été supprimée et la partition de boot a été agrandie ?
Est-ce que zram est vraiment plus adapté que tmpfs pour /var/log ? Normalement les anciens logs sont déjà compressés par logrotate, donc zram ne fait rien gagner avec eux.
Il vaut mieux montrer que raconter.
Hors ligne
monter / en bind sur un autre point de montage temporaire pour la débarrasser de tous ses montages
Je ne comprends pas vraiment ce que veut dire monter la "racine" en bind ?
Il y a une raison particulière pour avoir monté la partition de la carte SD sur /media/mmcboot et fait un montage en bind de ce répertoire sur /boot au lieu de la monter directement sur /boot ? C'était ainsi à l'origine ou bien ça l'est devenu lors du déplacement de la racine ?
Je ne connais pas la raison mais je pense que c'était comme ça à l'origine dès l'installation de Armbian (l'OS) sur la carte SD.
D'autre part la partition occupe tout l'espace de la carte SD ; est-ce l'ancienne partition racine ou bien l'ancienne partition racine a été supprimée et la partition de boot a été agrandie ?
Je ne sais pas j'ai juste suivi la procédure de transfert avec nand-sata-install indiqué ici (https://forum.armbian.com/topic/593-nand-sata-install-script/ )
Est-ce que zram est vraiment plus adapté que tmpfs pour /var/log ? Normalement les anciens logs sont déjà compressés par logrotate, donc zram ne fait rien gagner avec eux.
Trop technique pour moi je suis confus de ne pouvoir te répondre.
Je me demande même comment fonctionne vraiment la zram (https://doc.ubuntu-fr.org/zram). Est-ce que la seule ressource utilisée par la zram est la RAM sans interaction avec la carte SD ?
Hors ligne
Je ne comprends pas vraiment ce que veut dire monter la "racine" en bind ?
Pourtant on voit dans /etc/fstab que tu l'as fait pour la partition de boot qui est d'abord montée sur /media/mmcboot, puis ce répertoire est monté en bind sur /boot. Mais apparemment ce n'est pas de ton initiative. Cf. l'option "bind" de /etc/fstab ou l'option --bind de mount. Exemple :
Et tu verras dans /mnt tout le contenu de la racine sans ce qui est monté sur /boot, /media, /proc, /sys, /tmp. /var/log, etc. (et ce qui est éventuellement caché sous ces montages devient visible).
Est-ce que la seule ressource utilisée par la zram est la RAM sans interaction avec la carte SD ?
Oui, sauf si l'occupation mémoire des zram repousse d'autres données dans le swap de la carte SD s'il y en a ou hors du cache de fichiers.
Il vaut mieux montrer que raconter.
Hors ligne