En el tutorial de hoy vamos a instalar Arch Linux con cifrado de disco completo.
Antes de continuar, quiero que haga una copia de seguridad de sus datos existentes.
En el tutorial anterior, aprendimos qué son dm-crypt y LUKS y cómo cifrar una partición de un solo disco. En la publicación de hoy, adoptaremos un enfoque ligeramente diferente para cifrar todo el disco con dm-crypt LUKS e instalaremos Archlinux en él.
Comencemos con el borrado del disco. Ejecute lsblk para encontrar su disco principal y reemplazar /dev/sda
donde sea necesario:
shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sda
Ejecuté el comando anterior con '--iterations=15' en mi SSD de 120 GB durante la noche y terminó después de 7 horas.
Una vez hecho esto, particione el disco. A menos que su placa base utilice firmware UEFI, asegúrese de seleccionar la etiqueta 'dos' (msdos); de lo contrario, vaya con 'gpt' cuando escriba:
cfdisk /dev/sda
Después de eso, cree la partición del cargador de arranque:
New-> Partition Size: 100M -> primary -> Bootable
La última será la partición raíz. El tamaño de la partición debe establecerse automáticamente en el espacio libre restante.
New-> Partition Size: xxxGB -> primary
Escriba los cambios y salga de cfdisk.
Para arrancar su partición raíz encriptada, la partición del cargador de arranque /dev/sda1
que se montará en /boot no será encriptado. Colocaré un par de enlaces al final de esta publicación que lo guiarán sobre cómo cifrar e incluso mover la partición de arranque en un CD/DVD/USB.
Cree un dispositivo mapeador de dispositivos criptográficos en el modo de cifrado LUKS:
cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda2
Desbloquee la partición, tenga en cuenta que cryptroot será el nombre del mapeador de dispositivos en el que operaremos.
cryptsetup open --type luks /dev/sda2 cryptroot
Cree los sistemas de archivos raíz y de arranque:
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/mapper/cryptroot
Montarlos:
mount -t ext4 /dev/mapper/cryptroot /mnt
mkdir -p /mnt/boot
mount -t ext4 /dev/sda1 /mnt/boot
Instale los sistemas base y base-devel:
pacstrap -i /mnt base base-devel
Genera el fstab:
genfstab -U -p /mnt >> /mnt/etc/fstab
Chroot para configurar el sistema base:
arch-chroot /mnt
Descomente el en_US configuración regional:
sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen
Genere la configuración regional:
locale-gen
Cree un archivo de configuración que indique al sistema qué configuración regional de idioma debe usar:
echo LANG=en_US.UTF-8 > /etc/locale.conf
Exportar la configuración regional
export LANG=en_US.UTF-8
Cree un enlace simbólico con la zona horaria deseada:
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Configure el reloj del hardware en UTC:
hwclock --systohc --utc
Establezca el nombre de host deseado:
echo CookieMonster > /etc/hostname
Establezca la contraseña raíz:
passwd
Agregar un usuario del sistema:
useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash username
Establezca la contraseña de usuario del sistema:
passwd username
Instale sudo (base-devel) y el cargador de arranque grub y os-prober:
pacman -S sudo grub-bios os-prober
Permita que el usuario del sistema use sudo y ejecute comandos (temporalmente) como root:
EDITOR=nano visudo
Presione CTRL + W y escriba rueda, luego elimine el comentario de la siguiente línea:
Agregue el siguiente parámetro del kernel para poder desbloquear su partición raíz cifrada de LUKS durante el inicio del sistema:
Agregar cifrar anzuelo:
Dado que agregamos un nuevo enlace en el archivo de configuración de mkinitcpio, debemos volver a generar nuestra imagen de initrams (ramdisk):
mkinitcpio -p linux
Instale grub y guarde su archivo de configuración:
grub-install --recheck /dev/sda
grub-mkconfig --output /boot/grub/grub.cfg
Salga de chroot, desmonte las particiones, cierre el dispositivo y reinicie (quitar los medios de instalación):
exit
umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot
systemctl reboot
Una vez que ingrese su contraseña e inicie sesión como usuario del sistema, inicie dhcpcd.
sudo systemctl start dhcpcd
ping -c2 youtube.com
Instale Xorg y copie .xinitrc sobre su directorio $HOME:
sudo pacman -S xorg-server xorg-server-utils xorg-xinit mesa xterm xorg-twm xorg-xclock
cp /etc/X11/xinit/xinitrc ~/.xinitrc
Hay una página wiki especial que contiene información útil para los controladores de GPU, consulte https://wiki.archlinux.org/index.php/xorg#Driver_installation y si la marca de su GPU es amd/ati, intel o nvidia instale los controladores apropiados que se enumeran allí.
Escribe startx
y debería ver un par de terminales uno al lado del otro, ahora escriba exit
Comenta en las siguientes líneas en .xinitrc y agregue algunos para especificar que queremos el xfce entorno de escritorio que se iniciará al iniciar sesión con éxito:
Instale xfce, administrador de pantalla externo y administrador de red:
sudo pacman -S slim archlinux-themes-slim xfce4 networkmanager network-manager-applet
Intercambia el tema delgado predeterminado:
Detenga dhcpcd, habilite slim, habilite NetworkManager, startx:
sudo systemctl stop dhcpcd
sudo systemctl enable NetworkManager
sudo systemctl enable slim
startx
Eso fue todo, espero que hayas disfrutado esta publicación.
Si alguna vez logras joder tu sistema y tienes que hacer chroot desde un medio extraíble, el orden es:
cryptsetup open --type luks /dev/sda2 cryptroot
mount -t ext4 /dev/mapper/cryptroot /mnt
mount -t ext4 /dev/sda1 /mnt/boot
arch-chroot /mnt
Para desmontarlos:
umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot
Enlaces
Los enlaces prometidos, lea atentamente los enlaces 8 y 9 si tiene SSD:
- enlace 1
- enlace 2
- enlace 3
- enlace 4
- enlace 5
- enlace 6
- enlace 7
- enlace 8
- enlace 9
- enlace 10