GNU/Linux >> Tutoriales Linux >  >> Linux

Desbloquee discos encriptados en Linux automáticamente

Desde el punto de vista de la seguridad, es importante cifrar sus datos confidenciales para protegerlos de miradas indiscretas y piratas informáticos. La configuración de clave unificada de Linux (LUKS) es una gran herramienta y un estándar común para el cifrado de disco de Linux. Debido a que almacena toda la información de configuración pertinente en el encabezado de la partición, facilita la migración de datos.

Para configurar discos o particiones cifradas con LUKS, deberá utilizar la utilidad cryptsetup. Desafortunadamente, una de las desventajas de encriptar sus discos es que tiene que proporcionar manualmente la contraseña cada vez que se reinicia el sistema o se vuelve a montar el disco.

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

Sin embargo, Network-Bound Disk Encryption (NBDE) puede desbloquear discos cifrados de forma automática y segura sin la intervención del usuario. Está disponible en varias distribuciones de Linux, comenzando con Red Hat Enterprise Linux 7.4, CentOS 7.4 y Fedora 24, y en versiones posteriores de cada una.

NBDE se implementa con las siguientes tecnologías:

  • Marco de horquilla: Una herramienta de marco conectable que descifra y desbloquea automáticamente volúmenes LUKS
  • Servidor Tang: Un servicio para vincular claves criptográficas a la presencia en la red

Tang proporciona las claves de cifrado al cliente Clevis. Según los desarrolladores de Tang, esto proporciona una alternativa segura, sin estado y anónima a los servicios de custodia de claves.

Dado que NBDE utiliza la arquitectura cliente-servidor, debe configurar tanto el cliente como el servidor. Puede usar una máquina virtual en su red local para su servidor Tang.

Instalación del servidor

Instale Tang usando sudo:

sudo yum install tang -y

Habilite el servidor Tang:

sudo systemctl enable tangd.socket --now

El servidor Tang funciona en el puerto 80 y debe agregarse a firewalld. Agregue la regla de firewall adecuada:

sudo  firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload

El servidor debería estar ahora instalado.

Instalación del cliente

Para este ejemplo, suponga que agregó un nuevo disco de 1 GB llamado /dev/vdc a su sistema.

Crea la partición primaria usando fdisk o parted:

sudo fdisk /dev/vdc

Complete los siguientes pasos para instalar el cliente.

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x4a6812d4.

Command (m for help):

Introduzca n para crear la nueva partición:

Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended  
Select (default p):

Presiona Entrar tecla para seleccionar la partición primaria:

Using default response p
Partition number (1-4, default 1):

Presiona Entrar tecla para seleccionar el número de partición predeterminado:

First sector (2048-2097151, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):

Presiona Entrar tecla para seleccionar el último sector:

Using default value 2097151
Partition 1 of type Linux and of size 1023 MiB is set

Command (m for help): wq

Escriba wq para guardar los cambios y salir de fdisk:

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Ejecute partprobe para informar al sistema de los cambios en la tabla de particiones:

sudo partprobe

Instale el paquete cryptsetup usando sudo:

sudo yum install cryptsetup -y

Usa el cryptsetup luksFormat comando para cifrar el disco. Deberá escribir cuando se le solicite y también elija e ingrese una frase de contraseña para encriptar el disco:

sudo cryptsetup luksFormat /dev/vdc1
WARNING!
========
This will overwrite data on /dev/vdc1 irrevocably.

Are you sure? (Type uppercase yes):

Enter passphrase for /dev/vdc1:
Verify passphrase:

Utilice cryptsetup luksOpen comando para asignar la partición cifrada a un dispositivo lógico. Por ejemplo, use encryptedvdc1 como el nombre. También deberá ingresar la frase de contraseña nuevamente:

sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1
Enter passphrase for /dev/vdc1:

La partición cifrada ahora está disponible en /dev/mapper/encryptedvdc1 .

Cree un sistema de archivos XFS en la partición cifrada:

sudo mkfs.xfs /dev/mapper/encryptedvdc1

Cree un directorio para montar la partición cifrada:

sudo mkdir /encrypted

Utilice cryptsetup luksClose comando para bloquear la partición:

cryptsetup luksClose encryptedvdc1

Instale los paquetes Clevis usando sudo:

sudo yum install clevis clevis-luks clevis-dracut -y

Modifique /etc/crypttab para abrir el volumen cifrado en el momento del arranque:

sudo vim /etc/crypttab

Agregue la siguiente línea:

encryptedvdc1       /dev/vdc1  none   _netdev

Modifique /etc/fstab para montar automáticamente el volumen cifrado durante un reinicio o en el momento del arranque:

sudo vim /etc/fstab

Agregue la siguiente línea:

/dev/mapper/encryptedvdc1   /encrypted       xfs    _netdev        1 2

Para este ejemplo, suponga que la dirección IP del servidor Tang es 192.168.1.20 . También puede usar el nombre de host o el dominio si lo prefiere.

Ejecute la siguiente clevis comando:

sudo clevis bind luks -d /dev/vdc1 tang '{"url":"http://192.168.1.20"}'
The advertisement contains the following signing keys:

rwA2BAITfYLuyNiIeYUMBzkhk7M

Do you wish to trust these keys? [ynYN] Y
Enter existing LUKS password:

Escribe Y para aceptar las claves del servidor Tang y proporcionar la contraseña de LUKS existente para la configuración inicial.

Habilite clevis-luks-askpass.path a través de systemctl para evitar que se le solicite la frase de contraseña para particiones no raíz.

sudo systemctl enable clevis-luks-askpass.path

El cliente está instalado. Ahora, cada vez que reinicie el servidor, el disco cifrado debería descifrarse y montarse automáticamente recuperando las claves del servidor Tang.

Si el servidor Tang no está disponible por algún motivo, deberá proporcionar la frase de contraseña manualmente para descifrar y montar la partición.


Linux
  1. ¿Hacer una partición de recuperación en Embedded Linux?

  2. Cómo administrar una partición de intercambio en Linux

  3. Preparar discos de datos en servidores en la nube de Linux

  4. Repita el comando automáticamente en Linux

  5. Cifrar una partición existente en Linux conservando sus datos

Gestión de particiones de Linux

Cómo montar una partición de Windows cifrada con Bitlocker en Linux

Cómo enumerar discos en Linux

Cómo cifrar la partición en Linux

Crear una partición en Linux:una guía paso a paso

Entendiendo la utilidad separada de Linux