% Chiffrement d'un serveur Kimsufi
Éteindre proprement le serveur depuis l'invite de commande
NetBootRescuerescue64-pro dans l'interface (ou laisser tel quel)SuivantConfirmerIl faut maintenant redémarrer le serveur
Redémarrer situé à gauche du bouton NetBootAttendre la réception du mail indiquant les identifiants de connexion.
Utiliser les identifiants envoyés pour se connecter via SSH.
root@rescue:~#
:::important
Dans ce qui suit, les données seront effacées.
Penser à faire une sauvegarde de toutes vos données
:::
:::warning
Vérifier vos sauvegardes
:::
wipefs -a /dev/sda
Création de la partition MBR
parted -a optimal /dev/sda mklabel msdos
Création de la partition de démarrage
# Create first 512MiB partition
parted /dev/sda -a optimal mkpart primary 0% 512MiB
Création de la partition principale
# Create partition in remaining disk space
parted /dev/sda -a optimal mkpart primary 512MiB 100%
Définition de la partition bootable (sda1)
parted /dev/sda set 1 boot on
apt update && apt install -y cryptsetup lvm2 debian-keyring
On va sur la page correspondant à la distribution à installer:
Debian -- Package Download Selection -- debootstrap_1.0.123_all.deb
Récupération du paquet:
wget http://ftp.fr.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.123_all.deb
On l'exécute:
dpkg -i debootstrap*.deb && rm -f debootstrap*.deb
mkfs.ext4 /dev/sda1
cryptsetup -q -s 512 -c aes-xts-plain64 luksFormat /dev/sda2
cryptsetup luksDump /dev/sda2 | grep UUID | awk '{print $2}'
:::information
Récupérer l'UUID, il servira plus tard: le noter précieusement
:::
cryptsetup luksOpen /dev/sda2 root
mkfs.ext4 /dev/mapper/root
mount /dev/mapper/root /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
apt install -y debian-keyring
debootstrap --arch amd64 stable /mnt https://deb.debian.org/debian/
mount -o bind /dev /mnt/dev
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
Execute command:
chroot /mnt /bin/bash
ifupdownsudo apt install ifupdown
Configuration des interfaces réseau:
cat << EOF > /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
EOF
cat << EOF > /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
EOF
_hostname=caladan
_domain=aezi.fr
echo "$_hostname" > /etc/hostname
echo "127.0.1.1 $_hostname.$_domain $_hostname" >> /etc/hosts
echo "Europe/Paris" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
cat << EOF > /etc/apt/sources.list
deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free
deb http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
EOF
cat << EOF > /etc/apt/apt.conf.d/999aptsettings
APT::Install-Recommends "0";
APT::Install-Suggests "0";
EOF
apt update
apt install -y busybox console-setup cryptsetup dropbear grub-pc initramfs-tools kbd linux-image-amd64 linux-perf locales ssh dropbear-initramfs cryptsetup-initramfs
mkdir /root/.ssh && chmod 600 /root/.ssh
mkdir /etc/dropbear-initramfs/ && chmod 600 /etc/dropbear-initramfs/
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEyzZAymNeWxeDjSUzkyEJLzwGqZt+VvdmidomWL0QLb lauhub@Mac-15-Laurent.local" >> /root/.ssh/authorized_keys
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEyzZAymNeWxeDjSUzkyEJLzwGqZt+VvdmidomWL0QLb lauhub@Mac-15-Laurent.local" >> /etc/dropbear-initramfs/authorized_keys
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIyit1IimUJbT7ZnVfUiGZb49uZJnTTHVSWFxCiBdiwKm9kVXUiegxbTH+Mks1a0qdYVJgA1yHmfoZTEoDlJbqgZ82xY8ZNh1bBTrHUXqE3tAcIdM1Sn8lm1zoxUOnGlOdDNG5QvteY+BceIZq9dn8e3XYmhDuZ5YpkM1Dp/4hWTkxmpjhMvT7JKyE+r2/TYLOUatm4tl7ythDzMINciWKsNGCYderf1fhRPmgInPJlOS0bdOCxOivVmdq6lnB++hfRdu/fDQIdr1R7GyxunqwVWhCtTHKyuIgcuDCAKQTDGKgwwuVQ2SJOPjNvSPz5I4B2UBBRxhecAjR6o5smzuV laurent.hubert@aezi.fr" >> /etc/dropbear-initramfs/authorized_keys
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIyit1IimUJbT7ZnVfUiGZb49uZJnTTHVSWFxCiBdiwKm9kVXUiegxbTH+Mks1a0qdYVJgA1yHmfoZTEoDlJbqgZ82xY8ZNh1bBTrHUXqE3tAcIdM1Sn8lm1zoxUOnGlOdDNG5QvteY+BceIZq9dn8e3XYmhDuZ5YpkM1Dp/4hWTkxmpjhMvT7JKyE+r2/TYLOUatm4tl7ythDzMINciWKsNGCYderf1fhRPmgInPJlOS0bdOCxOivVmdq6lnB++hfRdu/fDQIdr1R7GyxunqwVWhCtTHKyuIgcuDCAKQTDGKgwwuVQ2SJOPjNvSPz5I4B2UBBRxhecAjR6o5smzuV laurent.hubert@aezi.fr">> /root/.ssh/authorized_keys
sed -i.old s/GRUB_CMDLINE_LINUX=\"\"/GRUB_CMDLINE_LINUX=\"net.ifnames=0\ biosdevname=0\ ip=:::::eth0:dhcp\"/g /etc/default/grub
LUKS encryption: Enable remote ssh unlocking - iotechonline
On va configurer Dropbear en éditant le fichier /etc/dropbear-initramfs/config
On y place les options suivantes:
DROPBEAR_OPTIONS="-p 64357 -s -j -k -I 60"
:::information
J'ai essayé cela, mais cela ne boote pas après avoir déverrouillé et on reste bloqué dans l'initramfs:
#GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 ip=dhcp rd.neednet=1"
GRUB_CMDLINE_LINUX="break=mount net.ifnames=0 biosdevname=0 ip=dhcp"
:::
Re: IP configuration with dhcp — Linux Initramfs
Édition:
nano /etc/initramfs-tools/initramfs.conf
Changer:
BUSYBOX=auto
En :
BUSYBOX=y
Et ajouter
DROPBEAR=y
Modification du UUID de grub:
GRUB_DEVICE_UUID=b0c29427-58a9-4249-ac28-65b5ca5ff454
Éventuellement essayer:
#GRUB_DISABLE_LINUX_UUID=true
update-grub && update-initramfs -u -k all
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda
exit
Puis :
umount /mnt/{boot,dev,proc,sys}
umount /mnt
cryptsetup luksClose root
cryptsetup luksOpen /dev/sda2 root
Saisir passphrase
mount /dev/mapper/root /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
mount -o bind /dev /mnt/dev
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
chroot /mnt /bin/bash
256 SHA256:8j3WCkyhX10xNjWC7Yc54ZbhPlr9aoP7lWL7gxo36lM root@rescue.ovh.net (ECDSA)
root@rescue:/# ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
256 SHA256:qOyLf0akhO3B0OOS/TFzsrOegE7IkQ6uthWSI1nvAIE root@rescue.ovh.net (ED25519)
root@rescue:/# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
3072 SHA256:e+riHM3n7uYYswwwfXFjGflHGugvAxl8jY0NXbZ6CW0 root@rescue.ovh.net (RSA)
ssh kimunlock
cryptroot-unlock
---aoff
root@rescue:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 02:13:99:4b:11:83 brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 0e:15:d8:d1:a7:ab brd ff:ff:ff:ff:ff:ff
4: ifb0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 32
link/ether 32:4b:d6:0e:a8:a6 brd ff:ff:ff:ff:ff:ff
5: ifb1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 32
link/ether 6a:1e:f2:cc:2d:de brd ff:ff:ff:ff:ff:ff
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:22:4d:aa:76:1a brd ff:ff:ff:ff:ff:ff
inet 37.187.3.102/24 brd 37.187.3.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2001:41d0:a:366::1/128 scope global
valid_lft forever preferred_lft forever
inet6 fe80::222:4dff:feaa:761a/64 scope link
valid_lft forever preferred_lft forever
7: teql0: <NOARP> mtu 1500 qdisc noop state DOWN group default qlen 100
link/void
8: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
9: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default qlen 1000
link/gre 0.0.0.0 brd 0.0.0.0
10: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1476 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
11: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1464 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
12: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
13: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
link/tunnel6 :: brd :: permaddr 5ec5:5fd5:2816::
root@rescue:/# ip r
default via 37.187.3.254 dev eth0
37.187.3.0/24 dev eth0 proto kernel scope link src 37.187.3.102