On Linux, crittografiamo le nostre partizioni e l’intero disco utilizzando Linux Unified Key Setup-on-disk-format (LUKS) per motivi di sicurezza e privacy. Sblocciamo il disco protetto LUKS fornendo una passphrase all’avvio. È necessario essere davanti al computer o utilizzare una console remota per aprire il disco crittografato in Linux al momento dell’avvio. Tuttavia, se il tuo sistema si trova nel seminterrato, nel centro dati / ufficio remoto o nell’ufficio al piano di sopra, non sarai in grado di sbloccare e avviare la tua macchina Linux. Possiamo utilizzare il server SSH Dropbear per Debian o Ubuntu crittografati LUKS o qualsiasi altra distribuzione Linux tramite SSH per risolvere questo problema. Lasciaci vedere come sbloccare LUKS utilizzando le chiavi SSH Dropbear in Linux al momento dell’avvio.
Perché utilizzare e sbloccare il disco di root e di avvio crittografato LUKS utilizzando Dropbear ssh?
Utile per un server Linux remoto o un server cloud
Avvia e accedi alla tua casella quando non hai una console KVM remota.
In altre parole, possiamo avviare il server Linux quando non hai una tastiera e uno schermo collegati alla tua scatola.
Cos’è il server SSH Dropbear?
Dropbear è un server SSH gratuito e open source creato esplicitamente per sistemi Linux e Unix incorporati con bassi requisiti di risorse. Implementa la versione 2 del protocollo Secure Shell (SSH). Supporta RSA e crittografia a curva ellittica per lo scambio di chiavi. Dropbreak è compatibile con l’autenticazione con chiave pubblica OpenSSH ~ / .ssh / authorized_keys. Presumo che tu abbia già installato Debian o Ubuntu Linux con LVM e LUKS. Ecco la mia configurazione in cui ho anche il software RAID-1:
/ boot / efi – La partizione di avvio del sistema viene creata quando la scheda madre esegue UEFI anziché BIOS.
/ dev / md0 – Linux / boot / (RAID-1 / dev / md0 montato nella directory / boot /) contiene solo i file necessari durante il processo di avvio. Il disco RAM inizializzato dal boot loader chiamato initrd. Usiamo update-initramfs per collegare il nostro server ssh Dropbear al processo di avvio. Esegui il comando ls per cercare nella directory / boot /. Vedrai i file come segue: ls -1 /boot/*$(uname -r)* /boot/config-4.19.0-13-amd64 /boot/initrd.img-4.19.0-13-amd64 /boot/System.map-4.19.0-13-amd64 /boot/vmlinuz-4.19.0-13-amd64 vmlinuz è il mio kernel Linux e initrd contiene driver Linux, supporto RAID, server ssh Dropbear e altre cose per avviare il sistema Linux.
/ dev / md1 – Il mio dispositivo RAID-1 con sistema crittografato LUKS. Ha due membri LVM. Uno per lo scambio e un altro per la partizione di root. In altre parole, tutti i dati sono crittografati tranne / boot / efi e / boot / partition. È anche possibile crittografare / boot /. Ricorda che il tuo modello di sicurezza e minaccia è diverso, quindi potresti voler utilizzare una protezione aggiuntiva come la password BIOS / UEFI all’avvio, proteggere l’accesso a casa / ufficio / datacenter, abilitare FDE secondo le tue esigenze e così via.
Il mio esempio di configurazione per lo sblocco remoto della radice crittografata LUKS in Ubuntu / Debian
Esegui il comando lsblk per vedere i dischi correnti, RAID, crittografia e informazioni LVM: # lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT Possiamo anche usare il comando cat per identificare le partizioni crittografate: sudo cat /etc/crypttab Ecco cosa vedo:
NOTA: Potresti visualizzare un avviso del tipo “dropbear: ATTENZIONE: file authorized_keys non valido, lo sblocco remoto di cryptroot tramite SSH non funzionerà!“. Ignoralo.
Passaggio 2: configurazione di Dropbear per sbloccare il sistema crittografato LUKS
Usa il comando su o il comando sudo per diventare utente root: sudo -i Cd in / etc / dropbear-initramfs usando il comando cd: cd /etc/dropbear-initramfs Modifica il file di configurazione: # vim config Modifica / Aggiorna DROPBEAR_OPTIONS come segue: DROPBEAR_OPTIONS="-I 180 -j -k -p 2222 -s" Dove le opzioni sono le seguenti:
-I 180 : Disconnette la sessione se non viene trasmesso o ricevuto traffico entro 180 secondi.
-j : Disabilita il port forwarding locale ssh.
-K : Disabilita anche il port forwarding remoto.
-p 2222 : Ascolta il server ssh Dropbera su un indirizzo e una porta TCP specificati. Se viene fornita solo una porta come 2222, ascolta tutti gli indirizzi. è possibile specificarne fino a 10 (predefinito 22 se non specificato).
-S : Disabilita gli accessi con password. Configureremo le chiavi SSH su un sistema Linux / Unix per l’autenticazione per ridurre la superficie di attacco.
Passaggio 3: configurazione dell’IP statico
Per un server Linux locale nel tuo seminterrato, puoi probabilmente capire l’IP dato a Dropbox tramite il tuo server DHCP, che è il comportamento predefinito. Tuttavia, un server remoto in un data center o un cloud necessita di un indirizzo IP pubblico come una normale sessione OpenSSH. Ecco come impostare un indirizzo IP pubblico. Modifica il file /etc/initramfs-tools/initramfs.conf # vim /etc/initramfs-tools/initramfs.conf Aggiungi informazioni IP staic per il tuo ssh Dropbear durante l’avvio: IP=192.168.2.19::192.168.2.254:255.255.255.0:debian Dove:
IP = – Avvia la configurazione dell’IP statico
:: – Separatore di campo
192.168.2.19 – IPv4
192.168.2.254 – Gateway
255.255.255.0 – Netmask
debian – Nome host
La sintassi completa è la seguente per le impostazioni IP staitc IPv4 e IPv6:
Passaggio 4: aggiornamento o generazione di un’immagine initramfs
Usiamo lo script update-initramfs per gestire le tue immagini initramfs sulla tua casella locale ogni volta che apportiamo modifiche a /etc/initramfs-tools/initramfs.conf o / etc / dropbear-initramfs / config: sudo update-initramfs -u sudo update-initramfs -u -v Il -u aggiorna un initramfs esistente e il file -v opzione aumenta la quantità di informazioni fornite durante l’azione scelta.
Passaggio 5: creazione delle chiavi SSH per l’accesso
Torniamo ai nostri client desktop come macOS, * BSD o distribuzione basata su Linux. Aprire il terminale e quindi digitare il comando seguente per configurare l’autenticazione basata su chiave pubblica SSH: {client}$ ssh-keygen -t rsa -f ~/.ssh/intel_nuc_debian Copia la chiave pubblica del tuo client desktop ~ / .ssh / intel_nuc_debian.pub in / etc / dropbear-initramfs / authorized_keys una chiave per riga: {client}$ cat ~/.ssh/intel_nuc_debian.pub Se l’accesso ssh root è abilitato, prova: {client}$ cat ~/.ssh/intel_nuc_debian.pub | ssh root@192.168.2.176 "cat >> /etc/dropbear-initramfs/authorized_keys" Per un utente normale prova: {client}$ scp ~/.ssh/intel_nuc_debian.pub vivek@192.168.2.176:~/key.pub {client}$ ssh vivek@192.168.2.176 {server}$ sudo -i {server}# cat /home/vivek/key.pub >> /etc/dropbear-initramfs/authorized_keys {server}# rm /home/vivek/key.pub {server}# exit {server}$ exit
Passaggio 6: testare il server Linux quando abilitiamo lo sblocco remoto LUKS
Fin qui tutto bene. Abbiamo installato Dropbear ssh per initramfs. Initramfs Dropbear configurato, incluso IP statico. Chiavi ssh installate ed è ora di riavviare il server Linux: {server}$ sudo reboot
Sblocco dei volumi LUKS utilizzando ssh
Usa il comando ping per verificare la connettività: {client}$ ping 192.168.2.19 Accediamo usando il comando ssh: {client}$ ssh -i ~/.ssh/intel_nuc_debian -p 2222 -o "HostKeyAlgorithms ssh-rsa" root@192.168.2.19 Sbloccalo, esegui: # cryptroot-unlock
clicca per ingrandire
Riassumendo
Ed ecco fatto, il disco LUKS sbloccato da remoto utilizzando ssh con l’aiuto del server ssh Dropbear. Potresti voler impostare il file di configurazione OpenSSH per evitare di digitare il comando ssh lungo.
???? Se ti è piaciuta questa pagina, per favore sostenere il mio lavoro su Patreon o con una donazione.
???? Ottieni i tutorial più recenti su argomenti SysAdmin, Linux / Unix, Open Source e DevOps tramite:
Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.