Nel tutorial di oggi installeremo Arch Linux con la crittografia completa del disco.
Prima di procedere, voglio che tu esegua il backup dei tuoi dati esistenti.
Nel tutorial precedente abbiamo appreso cosa sono dm-crypt e LUKS e come crittografare una singola partizione del disco. Mentre nel post di oggi adotteremo un approccio leggermente diverso per crittografare l'intero disco con dm-crypt LUKS e installare Archlinux su di esso.
Iniziamo con la cancellazione del disco. Esegui lsblk per trovare il tuo disco principale e sostituire /dev/sda
dove necessario:
shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sda
Ho eseguito il comando precedente con '--iterations=15' sul mio SSD da 120 GB durante la notte e l'operazione è terminata dopo 7 ore.
Al termine, partiziona il disco. A meno che la tua scheda madre non utilizzi il firmware UEFI, assicurati di selezionare l'etichetta 'dos' (msdos), altrimenti vai con 'gpt' quando digiti:
cfdisk /dev/sda
Successivamente crea la partizione del caricatore di avvio:
New-> Partition Size: 100M -> primary -> Bootable
L'ultima sarà la partizione di root. La dimensione della partizione dovrebbe essere impostata automaticamente sullo spazio libero rimanente.
New-> Partition Size: xxxGB -> primary
Scrivi le modifiche ed esci da cfdisk.
Per avviare la partizione radice crittografata, la partizione del caricatore di avvio /dev/sda1
che verrà montato in /boot non sarà crittografato. Metterò un paio di collegamenti alla fine di questo post che ti guideranno su come crittografare e persino spostare la partizione di avvio su un CD/DVD/USB.
Crea dispositivo di mappatura del dispositivo crittografico in modalità di crittografia LUKS:
cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda2
Sblocca la partizione, nota che cryptroot sarà il nome del mappatore del dispositivo su cui lavoreremo.
cryptsetup open --type luks /dev/sda2 cryptroot
Crea i file system di avvio e di root:
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/mapper/cryptroot
Montali:
mount -t ext4 /dev/mapper/cryptroot /mnt
mkdir -p /mnt/boot
mount -t ext4 /dev/sda1 /mnt/boot
Installa i sistemi base e base-devel:
pacstrap -i /mnt base base-devel
Genera fstab:
genfstab -U -p /mnt >> /mnt/etc/fstab
Chroot per configurare il sistema di base:
arch-chroot /mnt
Decommenta il en_US locale:
sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen
Genera la locale:
locale-gen
Crea un file di configurazione che indichi al sistema quale lingua locale dovrebbe utilizzare:
echo LANG=en_US.UTF-8 > /etc/locale.conf
Esporta la lingua
export LANG=en_US.UTF-8
Crea un collegamento simbolico con il fuso orario desiderato:
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Imposta l'orologio hardware su UTC:
hwclock --systohc --utc
Imposta il nome host desiderato:
echo CookieMonster > /etc/hostname
Imposta la password di root:
passwd
Aggiungi un utente di sistema:
useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash username
Impostare la password utente del sistema:
passwd username
Installa sudo (base-devel) e il boot loader grub e os-prober:
pacman -S sudo grub-bios os-prober
Consenti all'utente del sistema di utilizzare sudo ed eseguire comandi (temporanei) come root:
EDITOR=nano visudo
Premi CTRL + W e digita wheel, quindi decommenta la seguente riga:
Aggiungi il seguente parametro del kernel per poter sbloccare la partizione root crittografata LUKS durante l'avvio del sistema:
Aggiungi crittografare gancio:
Poiché abbiamo aggiunto un nuovo hook nel file di configurazione di mkinitcpio, dovremmo rigenerare la nostra immagine initrams (ramdisk):
mkinitcpio -p linux
Installa grub e salva il suo file di configurazione:
grub-install --recheck /dev/sda
grub-mkconfig --output /boot/grub/grub.cfg
Uscire da chroot, smontare le partizioni, chiudere il dispositivo e riavviare (rimuovere il supporto di installazione):
exit
umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot
systemctl reboot
Dopo aver digitato la password e aver effettuato l'accesso come utente di sistema, avviare dhcpcd.
sudo systemctl start dhcpcd
ping -c2 youtube.com
Installa Xorg e copia .xinitrc nella tua directory $HOME:
sudo pacman -S xorg-server xorg-server-utils xorg-xinit mesa xterm xorg-twm xorg-xclock
cp /etc/X11/xinit/xinitrc ~/.xinitrc
C'è una pagina wiki speciale che contiene informazioni utili per i driver GPU, dai un'occhiata a https://wiki.archlinux.org/index.php/xorg#Driver_installation e se capita che il tuo marchio GPU sia amd/ati, intel o nvidia installa i driver appropriati elencati lì.
Digita startx
e dovresti vedere una coppia di terminali affiancati, ora digita exit
Commenta nelle righe seguenti in .xinitrc e aggiungine alcuni per specificare che vogliamo il xfce ambiente desktop da avviare dopo l'accesso:
Installa xfce, display manager esterno e gestore di rete:
sudo pacman -S slim archlinux-themes-slim xfce4 networkmanager network-manager-applet
Scambia il tema slim predefinito:
Arresta dhcpcd, abilita slim, abilita NetworkManager, startx:
sudo systemctl stop dhcpcd
sudo systemctl enable NetworkManager
sudo systemctl enable slim
startx
Ecco fatto, spero che questo post ti sia piaciuto.
Se mai riesci a mandare a puttane il tuo sistema e devi eseguire il chroot da un supporto rimovibile, l'ordine è:
cryptsetup open --type luks /dev/sda2 cryptroot
mount -t ext4 /dev/mapper/cryptroot /mnt
mount -t ext4 /dev/sda1 /mnt/boot
arch-chroot /mnt
Per smontarli:
umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot
Link
I link promessi, leggi attentamente l'8° e il 9° link se hai SSD:
- collegamento 1
- collegamento 2
- collegamento 3
- collegamento 4
- collegamento 5
- collegamento 6
- collegamento 7
- collegamento 8
- collegamento 9
- collegamento 10