Clevis: El marco de cifrado automatizado que simplifica la seguridad de datos en Linux

El software Clevis se presenta como una solución innovadora para la automatización del cifrado y desbloqueo de datos en sistemas Linux. Desarrollado para integrarse fácilmente con tecnologías de cifrado como LUKS, este marco pluggable proporciona múltiples opciones para proteger datos y automatizar procesos de desbloqueo mediante el uso de «pins» especializados.

Cifrado y descifrado automatizado con Clevis

Clevis permite cifrar datos con un sencillo comando:

$ clevis encrypt PIN CONFIG < PLAINTEXT > CIPHERTEXT.jwe

Aquí, los parámetros clave son:

  1. PIN: El plugin que se encargará de la automatización del descifrado (por ejemplo, Tang o TPM2).
  2. CONFIG: Un objeto JSON con la configuración necesaria para realizar el cifrado.

El descifrado es igual de sencillo y no requiere interacción adicional del usuario:

$ clevis decrypt < CIPHERTEXT.jwe > PLAINTEXT

Integración con diferentes tecnologías

PIN: Tang

Clevis es compatible con el servidor Tang, que proporciona servicios de cifrado sin necesidad de gestionar claves en depósito. Esto permite el cifrado basado en red, útil para organizaciones que desean centralizar la gestión de claves.

$ echo "mensaje secreto" | clevis encrypt tang '{"url": "http://tang.local"}' > mensaje.jwe

PIN: TPM2

La compatibilidad con Trusted Platform Module 2.0 (TPM2) permite utilizar hardware dedicado para cifrar claves de forma segura y automatizar el descifrado en sistemas con soporte TPM2.

$ echo "mensaje secreto" | clevis encrypt tpm2 '{}' > mensaje.jwe

PIN: PKCS#11

Clevis puede interactuar con dispositivos PKCS#11 para desbloquear discos cifrados mediante PIN, ofreciendo opciones como proporcionar el PIN durante la configuración o en el momento del arranque.

$ clevis luks bind -d /dev/sda1 pkcs11 '{"uri": "pkcs11:"}'

Cifrado de volúmenes LUKS

Clevis permite automatizar el desbloqueo de volúmenes LUKS añadiendo claves de cifrado gestionadas automáticamente. Por ejemplo, para vincular un volumen LUKS con el pin Tang:

$ sudo clevis luks bind -d /dev/sda1 tang '{"url": "http://tang.local"}'

Una vez configurado, el volumen puede desbloquearse automáticamente en el arranque del sistema o mediante comandos como:

$ sudo clevis luks unlock -d /dev/sda1

Características avanzadas

Clevis también soporta configuraciones complejas como el uso de Shamir Secret Sharing (SSS), un esquema de umbral que combina múltiples métodos de desbloqueo para mayor seguridad y flexibilidad.

Por ejemplo, para configurar una política de desbloqueo que utilice Tang y TPM2 con un umbral de dos:

$ echo "secreto" | clevis encrypt sss \
'{"t": 2, "pins": {"tang": {"url": "http://tang.local"}, "tpm2": {"pcr_ids": "0"}}}' > secreto.jwe

Instalación y soporte multiplataforma

Clevis está disponible en las principales distribuciones Linux como Fedora, donde se puede instalar con:

$ sudo dnf install clevis clevis-dracut clevis-udisks2

Para sistemas que no cuentan con paquetes precompilados, también se puede compilar manualmente desde el código fuente disponible en GitHub.

Conclusión

Con una amplia compatibilidad y flexibilidad, Clevis simplifica el cifrado y desbloqueo de datos en Linux, reduciendo la dependencia de interacciones manuales. Su enfoque modular y automatizado lo convierte en una herramienta esencial para quienes buscan mejorar la seguridad de sus datos sin complicaciones.

Más información en GitHub Clevis

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×