Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

LUKS (Linux Unified Key Setup) är ett av de olika diskkrypteringsformaten som är tillgängliga för Linux som är plattformsoberoende. Denna handledning kommer att förse dig med rot- och swap-partitioner inuti en LVM (Linux Volume Manager)-volym som finns inuti en krypterad LUKS-partition. Den här handledningen låter dig också låsa upp LUKS-partitionen på distans med hjälp av en förenklad SSH-serverdemon med vilket som helst kompatibelt SSH-klientprogram.

Förutsättningar

Steg 1: Miljöinställningar

sidan Distribuera servrar gör du följande:

  • Välj din serverplats i Server Locationavsnittet.
  • Välj CentOS7under ISO Libraryfliken i Server Typeavsnittet.
  • Välj de hårdvaruspecifikationer du behöver i Server Sizeavsnittet.
  • Klicka på Deploy Nowknappen.

Använd View Consolealternativet för att komma åt VPS-instansen via noVNC-konsolen.

Steg 2: Starta CentOS 7 Text Mode Installer

Välj Install CentOS Linux 7alternativet.

Tryck på Tabknappen.

Skriv in textefter vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20\86_64 quietså att det ser ut så här vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20\86_64 quiet textoch tryck på Enterknappen.

VPS kommer nu att starta upp i textläget CentOS installationsprogrammet. Du kommer att se en skärm i noVNC-konsolen som på bilden nedan.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Steg 3: Ställ in LVM på LUKS Full Disk Encryption

Använd Alt + Right Arrow Keykombinationen för att navigera till TTY2-konsolen för att skriva kommandon på kommandoraden.

Skriv följande kommandon nedan för att skapa en partition som innehåller GRUB2-starthanteraren, en okrypterad /bootpartition och en primär partition som kommer att hålla LUKS-partitionen.

parted -a opt -s /dev/vda mklabel gpt
parted -s /dev/vda unit mb
parted -s /dev/vda mkpart primary 1 3
parted -s /dev/vda name 1 grub
parted -s /dev/vda set 1 bios_grub on
parted -s /dev/vda mkpart primary 3 259
parted -s /dev/vda name 2 boot
parted -s /dev/vda mkpart primary 259 100%
parted -s /dev/vda name 3 root

Skriv följande kommando för att visa partitionslayouten.

parted -s /dev/vda print

Fyll sedan den namngivna rootfspartitionen med pseudoslumpdata. Detta kommer att ta lite över en halvtimme att slutföra.

dd if=/dev/urandom of=/dev/vda3 bs=1M status=progress

På CentOS 7 cryptsetupanvänder kommandona standardchifferet för aes-xts-plain64, standardnyckelstorleken på 256 bitar och standardhash för SHA1. Istället kommer LUKS-partitionen att skapas med det säkrare Serpent-chifferet, med en nyckelstorlek på 512 bitar och med Whirlpool-hash.

cryptsetup luksFormat /dev/vda3 -c serpent-xts-plain64 -h whirlpool -s 512

Mata in svaren när du uppmanas med följande frågor, tryck sedan på Enterknappen:

  • Är du säker? (Skriv versaler ja):YES
  • Ange lösenordsfras: strong-password
  • Verifiera lösenordsfras: strong-password

Valfritt: Säkerhetskopiera LUKS-partitionshuvudet

Varning Detta kommer att tillåta root-inloggning och kopiering utan en lösenordsuppmaning. Döda den här SSH-servern efter att du har hämtat /tmp/luks-header-backup.imgfilen.

För säker förvaring, spara en kopia av LUKS-partitionshuvudet. Detta säkerställer att om rubriken på din LUKS-partition på något sätt är skadad, kan den återställas. Om rubriken skadas utan en fungerande säkerhetskopia går dina data förlorade för alltid.

cryptsetup luksHeaderBackup /dev/vda3 --header-backup-file /tmp/luks-header-backup.img

För att kopiera /tmp/luks-header-backup.imgfilen från servern måste en SSH-server tillfälligt startas, med hjälp av den körbara säkra kopian scppå en klientvärd, för att hämta den.

Skriv följande kommando nedan för att generera SSH-värdnycklarna.

sshd-keygen

Skriv följande kommando nedan för att skapa /etc/ssh/sshd_configfilen.

cp /etc/ssh/sshd_config.anaconda /etc/ssh/sshd_config

Skriv följande kommando nedan för att redigera /etc/ssh/sshd_configfilen.

vi /etc/ssh/sshd_config

För att redigera filen, tryck på Insertknappen och använd piltangenterna för att navigera till de delar av filen som behöver redigeras.

På rad ett ändrar du numret Port 22från standardvärdet 22till ett slumpmässigt antal som du väljer mellan 1025och 65535. (Exempel: port 25782)

Scrolla ner till rad nummer tretton, tryck på Endknappen och tryck på Enterknappen.

På nästa rad lägger du till HostKey /etc/ssh/ssh_host_ed25519_keyoch trycker på Enterknappen.

På nästa rad lägger du till HostKey /etc/ssh/ssh_host_rsa_keyoch trycker på Enterknappen.

Tryck på Escknappen, skriv :wqoch tryck på Enterknappen för att spara filen.

Standardnätverksgränssnittet eth0behöver en IP-adress. Skriv följande kommando nedan för att tilldela IP-adressen som anges för din instans till eth0nätverksgränssnittet.

dhclient

Skriv följande kommando för att visa den tilldelade IP-adressen. IP-adressen kommer att listas omedelbart efter inetoch före netmask. (Exempel: inet 192.0.2.1nätmask)

ifconfig eth0

Skriv följande kommando för att starta SSH-servern.

/usr/sbin/sshd

Om du använder scpkommandot från en kommandorad på en klientdator, använd följande kommando nedan som en mall för att hämta /tmp/luks-header-backup.imgfilen. Ersätt 25782med det faktiska portnumret som tilldelats i /etc/ssh/sshd_config. Ersätt 192.0.2.1med den faktiska tilldelade IP-adressen.

scp -P 25782 root@192.0.2.1:/tmp/luks-header-backup.img .

Efter att luks-header-backup.imgfilen har hämtats, döda omedelbart SSH-servern genom att skriva kommandot nedan i noVNC-konsolfönstret.

killall sshd

Öppna LUKS-partitionen för att ställa in den fysiska LVM-volymen som kommer att finnas inuti.

cryptsetup luksOpen /dev/vda3 centos

Mata in lösenfrasen som skapades tidigare för att öppna LUKS-partitionen när du uppmanas, tryck sedan på Enterknappen.

Ange lösenordsfras för /dev/vda3:strong-password

Skriv följande kommando nedan:

ls /dev/mapper

Den kommer att innehålla följande filer heter centos, control, live-baseoch live-rw. Det centosär LUKS-partitionen.

Skriv följande kommando nedan för att skapa den fysiska LVM-volymen.

pvcreate /dev/mapper/centos

När det lyckas kommer du att få följande meddelande:

Physical volume "/dev/mapper/centos" successfully created

Skriv följande kommando nedan för att skapa LVM-volymgruppen.

vgcreate ssd /dev/mapper/centos

När det lyckas kommer du att få följande meddelande:

Volume group "ssd" successfully created

Skriv följande kommando nedan för att skapa en LVM logisk volym för en swap-partition. Använd en sund bedömning för att skapa en swap-partition, av den nödvändiga storleken (-L = storleken på volymen), baserat på din VPS-instans.

lvcreate -L 1G -n swap ssd

När det lyckas kommer du att få följande meddelande:

Logical volume "swap" created

Skriv följande kommando nedan för att skapa en logisk LVM-volym för rotpartitionen. Detta kommer att använda det återstående lediga utrymmet samtidigt som du reserverar fem procent (5%) för att innehålla LVM-ögonblicksbilder av dina logiska volymer om du så önskar.

lvcreate -l 95%FREE -n root ssd

När det lyckas kommer du att få följande meddelande:

Logical volume "root" created

Visa den fysiska volymen för LVM.

pvdisplay

Du kommer att se text i noVNC-konsolen som liknar den som visas på bilden nedan.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Visa LVM-volymgruppen.

vgdisplay

Du kommer att se text i noVNC-konsolen som liknar den som visas på bilden nedan.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Visa LVM logiska volym(er).

lvdisplay

Du kommer att se text i noVNC-konsolen som liknar den som visas på bilden nedan.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Skriv följande kommando nedan för att avaktivera LVM-volymgruppen. Detta måste göras för att tillåta cryptsetupatt stänga LUKS-partitionen i nästa steg.

vgchange -a n

När det lyckas kommer du att få följande meddelande:

0 logical volume(s) in volume group "ssd" now active

Stäng LUKS-volymen.

cryptsetup luksClose centos

Skriv följande kommando nedan:

ls /dev/mapper

It will contain the following files named control, live-base and live-rw. The centos file, containing the LUKS partition, will be missing to ensure that that it was closed properly.

Type reboot and press the Enter key to reboot.

Step 4: Start The CentOS 7 GUI Mode Installer

Select the Install CentOS Linux 7 option and press the Enter key.

The VPS will now boot into the GUI mode CentOS installer. You will see a screen in the noVNC console like pictured in the image below. Select Install CentOS 7 (1) and press the Enter key.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

On the WELCOME TO CENTOS 7 screen, click the blue Continue button (1).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Attention If you're not using the default language of English and the locale of the United States, input your language in the search bar (1). Click on the language (2) and the appropriate locale (3) associated with it. When satisfied, click the blue Continue button (4).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

On the INSTALLATION SUMMARY screen, click on INSTALLATION DESTINATION (Automatic partitioning selected) (1) under SYSTEM.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

On the INSTALLATION DESTINATION screen, select the I will configure partitioning (1) option under Other Storage Options (Partitioning) and click the blue Done button (2) at the top left of the screen.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

On the MANUAL PARTITIONING screen, click on the Unknown expandable accordion (1). It will reveal three partitions named BIOS Boot (vda1), Unknown (vda2) and Encrypted (LUKS) (vda3).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

With the BIOS Boot partition highlighted in blue (1), select the checkbox option of Reformat (2) next to the File System: accordion and click the Update Settings button (3).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Click on the Unknown partition (1) so that it is highlighted in blue. Select the checkbox option of Reformat (2) next to the File System: accordion. Select ext2 in the File System: accordion (3), enter /boot in the text field (4) under Mount Point:, enter boot in the text field (5) under Label: and click the Update Settings button (6).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Click on the Encrypted (LUKS) partition (1) so that it is highlighted in blue. Enter the passphrase you created for LUKS partition in Step 3: Setup LVM On LUKS Full Disk Encryption in the Passphrase: text field (2) and click the Unlock button (3).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

A new Unknown expandable accordion (1) will appear. It will reveal two partitions named Unknown (ssd-root) and Unknown (ssd-swap).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

With the Unknown (ssd-root) partition (1) highlighted in blue, select the checkbox option of Reformat (2) next to the File System: accordion. Select xfs in the File System: accordion (3), enter / in the text field (4) under Mount Point:, enter root in the text field (5) under Label: and click the Update Settings button (6).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Click on the Unknown (ssd-swap) (1) partition so that it is highlighted in blue. Select the checkbox option of Reformat (2) next to the File System: accordion. Select swap in the File System: accordion (3), enter swap in the text field (4) under Label: and click the Update Settings button (5).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Click the blue Done button (1) at the top left of the screen.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

A box named SUMMARY OF CHANGES will pop up. Click the Accept Changes button (1). This will bring you back to the WELCOME TO CENTOS 7 screen.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Click on NETWORK & HOST NAME (Not connected) (1) under SYSTEM.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

On the NETWORK & HOST NAME screen, move the slider (1), next to the right of Ethernet(eth0) field, from the OFF position to the ON position. If you want to use a custom hostname instead of the default (192.0.2.1.vultr.com) in the Host name: text box (2), change it. Click the blue Done button (3) at the top left of the screen. This will bring you back to the WELCOME TO CENTOS 7 screen.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

When you are satisfied with the options on the WELCOME TO CENTOS 7 screen, click the blue Begin Installation button (1).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

On the CONFIGURATION screen, click on ROOT PASSWORD (Root password is not set) (1) under USER SETTINGS.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

On the ROOT PASSWORD screen, enter a strong password in both the Root Password: (1) and Confirm: (2) text fields. Click the blue Done button (3) at the top left of the screen. This will bring you back to the CONFIGURATION screen.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

On the CONFIGURATION screen, click on USER CREATION (No user will be created) (1) under USER SETTINGS.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

On the CREATE USER screen, enter your full name in the Full name text field (1), an username in the User name text field (2), a strong password in both the Password (3) and Confirm password (4) text fields. Click on the Advanced... button (5).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

A box named ADVANCED USER CONFIGURATION will pop up. In the Add user to the following groups: text field (1) under Group Membership, enter wheel and click the Save Changes button (2).

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Click the blue Done button (1) at the top left of the screen.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

The post-installation process will now commence. It will take a few minutes to complete. When it is finished, click on the blue Reboot button (1) to reboot your VPS instance.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

Navigate back to the VULTR Server Management Screen. Click on the Settings link at the top. Click on Custom ISO on the menu on the left side. On the Custom ISO page, click on the Remove ISO button to unmount the ISO and reboot into your CentOS 7 VPS instance. Click the OK button when prompted and the VPS instance will reboot.

Navigate back to the View Console window to access the VPS instance via the noVNC console. Refresh the window if noVNC has disconnected.

You will be prompted to enter the passphrase (Example: Please enter passphrase for disk primary (luks-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)!:) you created for LUKS partition in Step 3: Setup LVM On LUKS Full Disk Encryption. Enter the passphrase and press the Enter key.

Installera och ställ in CentOS 7 för att fjärrlåsa upp LVM på LUKS diskkryptering med SSH

You will then be presented with the console login prompt. You can now close the noVNC console window.

Step 5: Update The System

Log in via SSH with a regular user and update the system as follows.

sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y

Step 6: Install Dracut-Crypt-SSH

While still logged in as a regular user, type the following commands below to install dracut-crypt-ssh.

sudo yum install wget -y
sudo wget -O /etc/yum.repos.d/rbu-dracut-crypt-ssh-epel-7.repo https://copr.fedorainfracloud.org/coprs/rbu/dracut-crypt-ssh/repo/epel-7/rbu-dracut-crypt-ssh-epel-7.repo
sudo yum install dracut-crypt-ssh -y

Type the following command below to install the nano editor to ease editing of files.

sudo yum install nano -y

You will need to edit the default grub file located in /etc/default/grub.

sudo nano /etc/default/grub

Insert rd.neednet=1 ip=dhcp between GRUB_CMDLINE_LINUX="crashkernel=auto and rd.luks.uuid=luks-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

Save the file by entering the following keyboard combinations. Press the Ctrl + x keys, press the y key and press the Enter key.

Regenerate you GRUB configuration file by type the command below.

sudo grub2-mkconfig -o /etc/grub2.cfg 

Backup the original /etc/dracut.conf.d/crypt-ssh.conf by typing the following command below.

sudo mv /etc/dracut.conf.d/crypt-ssh.conf /etc/dracut.conf.d/crypt-ssh.conf.orig

Create a new /etc/dracut.conf.d/crypt-ssh.conf file by typing the following command below.

sudo nano /etc/dracut.conf.d/crypt-ssh.conf

Copy and paste the following text below into the nano editor.

dropbear_acl="/etc/dropbear/keys/authorized_keys"
dropbear_ecdsa_key="/etc/dropbear/keys/ssh_ecdsa_key"
dropbear_rsa_key="/etc/dropbear/keys/ssh_rsa_key"

Create the directory keys under /etc/dropbear/, with the necessary directory permissions, that will hold the authorized_keys, ssh_ecdsa_key and ssh_rsa_key files.

sudo mkdir /etc/dropbear/keys/; sudo chmod /etc/dropbear/keys/

Generate the ssh_ecdsa_key and ssh_rsa_key files with the ssh_keygen program by typing the following commands below. Press the Enter key twice, for each command, when prompted for passphrases.

sudo ssh-keygen -t ecdsa -f /etc/dropbear/keys/ssh_ecdsa_key
sudo ssh-keygen -t rsa -f /etc/dropbear/keys/ssh_rsa_key

Change the file permissions on ssh_ecdsa_key, ssh_ecdsa_key.pub, ssh_rsa_key and ssh_rsa_key.pub by typing the command below.

sudo chmod 400 /etc/dropbear/keys/*_key; sudo chmod 444 /etc/dropbear/keys/*.pub

Generate public keys using the How Do I Generate SSH Keys? tutorial, found at the beginning of the tutorial under Prerequisites, for your prospective client operating system.

Copy and paste all the text in the public key into the /etc/dropbear/keys/authorized_keys file using the nano program by typing the command below.

sudo nano /etc/dropbear/keys/authorized_keys

You must first build the initramfs and any subsequent update of the dracut-crypt-ssh configuration. Type the following command below for the initial build of the initramfs.

sudo dracut -f

Once that's complete, your CentOS 7 install is set up to listen for your SSH client to connect and allow you to unlock the LUKS partition using your passphrase. You may now reboot your CentOS 7 instance by typing the command below.

sudo reboot

På dina klientsystem, se avsnitten 3.3. Unlocking the volumes interactivelyoch 3.4. Unlocking using thelås commandupp Dracut-Crypt-SSH GitHub-sidan för att antingen tvinga fram en lösenfrasprompt eller använd unlockkommandot för att öppna din LUKS-partition från din SSH-klient.

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer