Todos los sistemas operativos Ámsterdam · París · Reikiavik +5 Paga con Criptomoneda
Seguridad y refuerzoAvanzado21 min de lecturaActualizado: 2026-08-29

Cifra un VPS con LUKS

El cifrado de disco completo responde exactamente a una pregunta: qué ocurre cuando otra persona termina teniendo tu disco mientras está apagado. Esto es cómo configurarlo correctamente en un VPS alquilado — y un relato honesto de las amenazas que no toca.

Cifra un VPS con LUKS
En esta página
  1. Lo que el cifrado en reposo protege realmente
  2. La advertencia del hardware alquilado, dicha sin rodeos
  3. Volumen de datos o sistema de archivos raíz: elige antes de teclear
  4. Lo que necesitas antes de empezar
  5. Paso a paso
  6. Los keyslots, la cabecera y la frase de contraseña que rotaste
  7. Rendimiento: AES-NI, NVMe y los dos flags que vale la pena conocer
  8. La vía del sistema de archivos raíz, y el desbloqueo remoto por SSH
  9. El día después: qué cambia y qué no
  10. Preguntas frecuentes

El argumento para cifrar un servidor que alquilas es más estrecho de lo que sugiere el marketing, y mucho más sólido dentro de ese margen estrecho. Los discos NVMe fallan y vuelven al proveedor con tus datos todavía dentro. Los nodos se retiran y el almacenamiento se revende. El hardware se clona, o se saca de un rack. En cada uno de esos casos, LUKS es la diferencia entre un sistema de archivos legible — tus claves, tu base de datos, tu spool de correo — y un bloque de ruido con el que nadie puede hacer nada.

Lo que no es, es protección frente a la máquina en la que se ejecuta. Esa distinción es toda la guía, así que va primero, antes de un solo comando. Luego el trabajo: un volumen LUKS2 hecho correctamente, una copia de seguridad de la cabecera, swap cifrado, desbloqueo remoto por SSH, y el plan de recuperación para el reinicio que no vuelve. La máquina que hay debajo puedes alquilarla sin identificación y pagarla en Monero; el cifrado es una capa que añades encima de eso, no un sustituto de ello.

Lo que el cifrado en reposo protege realmente

El cifrado de disco completo responde una pregunta y la responde por completo: ¿qué pasa cuando otra persona termina teniendo el disco mientras está apagado? En infraestructura alquilada eso no es hipotético. Los discos fallan y vuelven al proveedor. Los nodos se retiran y su almacenamiento se revende. Los volúmenes se clonan durante una investigación, o salen de un edificio en una caja.

  • Cubierto. Un disco apagado, una imagen offline de tu volumen, una unidad devuelta en garantía, un nodo retirado, un archivo de snapshot copiado. En cada caso el atacante tiene el texto cifrado y una cabecera, y sin una frase de contraseña ahí termina la historia.
  • No cubierto: una máquina en marcha. En el momento en que el volumen está abierto, la clave está en la memoria del kernel y el sistema de archivos queda a la vista de cualquier cosa con acceso root.
  • No cubierto: tu tráfico. Los bytes que viajan por la red son problema de TLS y de WireGuard. LUKS nunca los ve.
  • No cubierto: una cuenta root comprometida. Un intruso que ya está dentro lee tus archivos a través del mismo punto de montaje que tú. Para eso está el endurecimiento, y los dos controles no son intercambiables.

La lista es corta a propósito. El cifrado en reposo es un control barato y de alto valor con un alcance delimitado con precisión, y casi toda la decepción que la gente reporta con él viene de haber esperado calladamente que también cubriera las otras tres líneas.

La advertencia del hardware alquilado, dicha sin rodeos

Cuando tu volumen cifrado está abierto, la clave está en la RAM de la máquina invitada — y en cualquier VPS, en cualquier lugar, esa RAM vive en una máquina que el operador controla físicamente. Un hipervisor puede leer la memoria del invitado. Esto no es un fallo de LUKS, ni de KVM, ni de este proveedor en particular; es lo que significa alquilar un ordenador, y cualquier proveedor que te diga lo contrario está describiendo un producto que no existe.

Así que las cuentas son claras: el cifrado en reposo lleva el ataque offline a lo imposible y deja el ataque online exactamente donde estaba. Una unidad que sale del rack se vuelve inútil. Un servidor en marcha está tan expuesto como lo estaba ayer. Las dos mitades de esa frase son ciertas a la vez, y una guía que solo te cuenta la primera mitad no te está haciendo ningún favor.

Lo que mueve la segunda aguja es un conjunto distinto de controles, y se suman al cifrado en lugar de sustituirlo. No hay nada registrado que revelar, porque aquí el registro es sin KYC — un correo electrónico para la entrega de credenciales y nada más. El pago se liquida on-chain en lugar de a través de un banco. Y la jurisdicción en la que se encuentra la máquina decide qué órdenes judiciales tienen algún poder aquí. Nuestro desglose honesto de lo que oculta un VPS pagado en cripto repasa el resto, y la entrada sobre los Fourteen Eyes cubre el lado del intercambio de inteligencia. Leído como una capa entre varias, LUKS tiene un valor excelente. Leído como un escudo contra tu propio proveedor, es un malentendido.

Volumen de datos o sistema de archivos raíz: elige antes de teclear

Esto puede tomar dos formas, y la elección va de riesgo, no de fortaleza.

  • Un volumen de datos cifrado. Un contenedor LUKS junto al sistema operativo. Todo lo que importa — bases de datos, correo, claves, subidas, copias de seguridad — vive dentro de él; el sistema operativo en sí queda sin cifrar. Diez minutos de trabajo, ningún riesgo de arranque y reversible en cualquier momento. Esto es lo que debería montar la mayoría de los lectores, y es lo que hacen los pasos de más abajo.
  • Un sistema de archivos raíz cifrado. Todo queda dentro, incluidos los logs, las listas de paquetes y ese historial de la shell que habías olvidado. Estrictamente más fuerte, y realmente más difícil de aplicar en una máquina que ya está en marcha.

Vale la pena explicar el motivo de esa dificultad porque ningún tutorial lo hace nunca: no puedes cifrar un sistema de archivos que está montado en lectura-escritura ahora mismo y sirviendo tu propia sesión SSH. Los dos métodos reales — reducir y copiar, o cryptsetup reencrypt en el mismo sitio — necesitan la raíz desconectada. En una máquina con consola fuera de banda, arrancas un instalador y es rutinario. En un VPS sin consola, primero tienes que volcar el sistema en marcha a un disco RAM, y si algo de eso sale mal la máquina no vuelve y el único camino de recuperación es una reinstalación, que borra el disco.

Así que: monta hoy el volumen de datos, pon en él todo lo que importa, y trata la raíz cifrada como una decisión que se toma en el momento del despliegue, en una máquina que todavía no tiene nada que perder. La última sección cubre esa vía, incluyendo dropbear-initramfs para escribir la frase de contraseña por SSH durante el arranque.

Lo que necesitas antes de empezar

No mucho, y eso es parte de por qué merece la pena hacerlo.

  • Un plan. El cifrado no añade ningún requisito de RAM y casi ninguno de CPU. Cub (1 vCPU / 2 GB / 40 GB NVMe, $5.00/mo) es suficiente; Scout (2 vCPU / 4 GB / 70 GB, $9.00/mo) es el tamaño cómodo si la máquina también ejecuta un servicio de verdad. El único número que importa es el disco, porque tu volumen cifrado sale de ahí.
  • Debian 12 o 13 de la biblioteca de plantillas, o Ubuntu LTS — los comandos de abajo tienen sabor Debian y los nombres de los paquetes cambian en otros sitios. El despliegue tarda alrededor de un minuto, y la virtualización KVM completa significa un kernel de verdad con los módulos dm-crypt presentes, no un contenedor tomado prestado de otro.
  • Diez minutos de endurecimiento básico primero. El cifrado en una máquina que todavía acepta inicio de sesión con contraseña es una cerradura en una puerta sin marco.
  • Una frase de contraseña que no hayas usado en ningún otro sitio, generada en lugar de inventada, y guardada en algún lugar que sobreviva a que pierdas esta máquina. No hay recuperación, ni restablecimiento, ni ticket de soporte que sirva de algo.
  • Un lugar fuera de la máquina para guardar la copia de seguridad de la cabecera. Las snapshots semanales están incluidas en todos los planes, pero una snapshot de un volumen cifrado sigue estando cifrada — útil para revertir, inútil si la frase de contraseña ha desaparecido.

La ubicación no cambia nada de esto, así que elige según precio o jurisdicción: Ámsterdam, París, Bucarest y Sofía están al precio base, mientras que Zúrich, Reikiavik, Estocolmo y Kuala Lumpur llevan un multiplicador.

Paso a paso

  1. Despliega, endurece, y confirma que la CPU tiene AES-NI

    Despliega Debian 13 desde la biblioteca de plantillas y dedica primero diez minutos a los fundamentos: solo claves SSH, inicio de sesión con contraseña de root deshabilitado, nftables con denegación por defecto, actualizaciones de seguridad desatendidas. Luego confirma que el hardware no te va a hacer pagar por esto:

    grep -o -m1 ' aes ' /proc/cpuinfo
    apt update && apt install -y cryptsetup
    cryptsetup benchmark

    Lo que buscas son cifras de aes-xts en gigabytes por segundo. Cualquier CPU de servidor x86-64 de la última década tiene AES-NI, así que el cifrado no será tu cuello de botella — lo será el NVMe de debajo, exactamente igual que antes.

  2. Reserva el espacio para el volumen

    Si el disco de tu plan tiene espacio sin particionar, úsalo — una partición real es lo más limpio para cifrar:

    lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
    sgdisk -n 0:0:0 -c 0:secure /dev/vda
    partprobe /dev/vda

    Si la plantilla llenó el disco entero, no luches contra eso. Un contenedor respaldado por un archivo es una opción perfectamente válida aquí, no cuesta nada de rendimiento en NVMe, y se puede ampliar más adelante:

    fallocate -l 20G /var/lib/secure.img
    chmod 600 /var/lib/secure.img
    losetup --find --show /var/lib/secure.img

    Fíjate en el dispositivo loop que imprime — normalmente /dev/loop0. Todo lo de más abajo usa /dev/disk/by-partlabel/secure; sustitúyelo por tu dispositivo loop si has tomado la vía del contenedor.

  3. Formatéalo como LUKS2 — y limita el coste de memoria

    Este es el comando que lo decide todo, así que vale la pena leerlo en lugar de solo pegarlo:

    cryptsetup luksFormat --type luks2 \
      --cipher aes-xts-plain64 --key-size 512 \
      --pbkdf argon2id --pbkdf-memory 262144 --iter-time 5000 \
      /dev/disk/by-partlabel/secure

    --key-size 512 es AES-256 en modo XTS, que divide la clave en dos — no es AES-512, que no existe. --pbkdf argon2id es la derivación de clave memory-hard que hace que forzar tu frase de contraseña por fuerza bruta sea costoso tanto en RAM como en CPU.

    --pbkdf-memory 262144 limita eso a 256 MB, y es la línea que la gente se salta y luego lamenta. Si lo dejas sin especificar, cryptsetup ajusta el coste de memoria a la RAM disponible en el momento de formatear. Desbloquea después esa misma cabecera en algún sitio con menos RAM — un plan de 1 GB, un entorno de rescate, un initramfs — y puede fallar directamente. Límitalo a propósito.

  4. Ábrelo, ponle un sistema de archivos, móntalo
    cryptsetup --perf-no_read_workqueue --perf-no_write_workqueue \
      --allow-discards open /dev/disk/by-partlabel/secure secure
    
    mkfs.ext4 -L secure /dev/mapper/secure
    mkdir -p /srv/secure
    mount -o noatime /dev/mapper/secure /srv/secure
    df -h /srv/secure

    Los dos flags de workqueue importan en NVMe y en ningún otro sitio; --allow-discards mantiene TRIM funcionando a costa de revelar qué bloques están en uso a cualquiera que tenga el disco apagado. Ambos se explican más abajo — los valores por defecto de arriba son los correctos para un servidor de propósito general.

  5. Haz una copia de seguridad de la cabecera de LUKS, fuera de la máquina

    Haz esto ahora, antes de que haya nada en el volumen que valga la pena perder. La cabecera son unos 16 MB de metadatos que contienen los keyslots, y una cabecera corrupta significa que el texto cifrado es irrecuperable, por bien que recuerdes la frase de contraseña:

    cryptsetup luksHeaderBackup /dev/disk/by-partlabel/secure \
      --header-backup-file /root/secure-header.img
    sha256sum /root/secure-header.img

    Cópiala a otro sitio — bájatela con scp, guárdala en un gestor de contraseñas, imprime el hash — y luego borra la copia local. Trata ese archivo como si fuera la frase de contraseña, porque combinado con cualquier frase de contraseña que haya tenido alguna vez, lo es.

  6. Mueve al volumen lo que importa

    Un volumen cifrado en el que no escribe nada no protege nada. Detén primero el servicio, mueve su estado, y luego haz un bind-mount de la ruta antigua para que no haya que reconfigurar nada más:

    systemctl stop postgresql
    rsync -aHAX --info=progress2 /var/lib/postgresql/ /srv/secure/postgresql/
    mv /var/lib/postgresql /var/lib/postgresql.old
    mkdir /var/lib/postgresql
    echo '/srv/secure/postgresql /var/lib/postgresql none bind 0 0' >> /etc/fstab
    mount /var/lib/postgresql
    systemctl start postgresql

    Comprueba que el servicio funciona bien antes de pasar shred o eliminar el directorio .old — y recuerda que en un sistema de archivos copy-on-write o en un NVMe con wear levelling, borrar el texto en claro no es lo mismo que destruirlo. La versión limpia de esta historia es crear el volumen cifrado antes de que el servicio exista.

  7. Decide cómo se desbloquea, y sé honesto al respecto

    Aquí está la bifurcación con la que todo el mundo se topa. Añade el volumen a /etc/crypttab con noauto para que nada bloquee el arranque, y desbloquéalo a mano por SSH cuando lo necesites:

    echo 'secure /dev/disk/by-partlabel/secure none \
      luks,noauto,discard,no-read-workqueue,no-write-workqueue' >> /etc/crypttab
    cryptdisks_start secure

    Esa es la configuración honesta: la clave existe solo mientras tú estás presente, y un reinicio deja el volumen cerrado hasta que tú digas lo contrario. El coste es que los reinicios desatendidos vuelven con el servicio caído.

    La alternativa es un keyfile en /etc/crypttab para que el volumen se abra automáticamente. Si ese keyfile vive en el mismo disco, no has cifrado nada — quien tenga la unidad apagada tiene la clave justo al lado de la cerradura. Solo tiene sentido cuando la clave viene de algún sitio que el disco no controla: obtenida a través de un túnel WireGuard en el arranque, o escrita en un initramfs por SSH como en la última sección. Elige a propósito; el desbloqueo manual por defecto es el que significa lo que dice.

  8. Cifra la swap, y verifica todo el conjunto

    La swap es el lugar donde la memoria termina convertida en un artefacto de disco, así que un volumen cifrado junto a una swap en claro filtra exactamente los secretos que estabas protegiendo. Una clave aleatoria por arranque es la respuesta correcta — nada que gestionar, nada que perder. Comprueba primero swapon --show y sustituye tu propio dispositivo; si la plantilla te dio un archivo de swap en lugar de una partición, bórralo y usa en su lugar una partición pequeña, porque un dispositivo de clave aleatoria necesita un dispositivo de bloques:

    swapoff -a
    sed -i '/swap/s/^/#/' /etc/fstab
    echo 'swap /dev/vda3 /dev/urandom \
      swap,cipher=aes-xts-plain64,size=512' >> /etc/crypttab
    echo '/dev/mapper/swap none swap sw 0 0' >> /etc/fstab

    Después reinicia — mientras todavía sale barato equivocarse — y comprueba el resultado con honestidad:

    lsblk -o NAME,FSTYPE,MOUNTPOINT
    cryptsetup status secure
    blkid /dev/disk/by-partlabel/secure   # should say crypto_LUKS
    swapon --show                          # should show /dev/mapper/swap

    La prueba que de verdad cuenta: con el volumen cerrado, confirma que /srv/secure está vacío y que el servicio que depende de él se niega a arrancar. Si las dos cosas son ciertas, el cifrado es real y no decorativo.

Los keyslots, la cabecera y la frase de contraseña que rotaste

LUKS2 mantiene hasta 32 keyslots. Cada uno guarda una copia de la misma clave maestra, envuelta con una frase de contraseña distinta, por lo que puedes añadir una segunda frase de contraseña sin volver a cifrar nada:

cryptsetup luksAddKey /dev/disk/by-partlabel/secure
cryptsetup luksDump /dev/disk/by-partlabel/secure | grep -A2 '^Keyslots'
cryptsetup luksKillSlot /dev/disk/by-partlabel/secure 1

Dos frases de contraseña desde el principio es lo correcto por defecto: una que uses, otra apuntada y guardada en otro sitio. Perder el único acceso a un volumen por una errata en un gestor de contraseñas es, con diferencia, la forma más común en que la gente pierde datos de LUKS, muy por delante de cualquier cosa que haga un adversario.

Ahora, la trampa. Una copia de seguridad de la cabecera hecha antes de rotar una frase de contraseña sigue abriendo el volumen con la frase de contraseña antigua. Los keyslots viven en la cabecera, así que una copia antigua de la cabecera es una copia antigua de los keyslots — la clave maestra de debajo nunca cambió. Si rotas porque una frase de contraseña puede haberse filtrado, tienes que destruir cada copia de la cabecera hecha antes de la rotación y tomar una nueva. De lo contrario, la rotación no ha logrado nada salvo hacerte sentir mejor.

Ese mismo hecho hace que las copias de la cabecera sean sensibles por derecho propio: ese archivo de 16 MB, junto con cualquier frase de contraseña que haya conocido alguna vez, basta para descifrar el volumen. Guárdala donde guardarías la frase de contraseña, no donde guardas tus snapshots.

Rendimiento: AES-NI, NVMe y los dos flags que vale la pena conocer

cryptsetup benchmark te dice la verdad para tu vCPU concreta en unos quince segundos. En cualquier CPU con AES-NI — es decir, en cualquier procesador de servidor x86-64 de la última década — espera varios gigabytes por segundo con aes-xts, cómodamente más rápido que el NVMe que hay debajo. El sobrecoste práctico en cargas de trabajo reales es un porcentaje bajo de un solo dígito, y es de CPU, no de latencia.

Dos opciones de cryptsetup importan en almacenamiento rápido, y solo en almacenamiento rápido:

cryptsetup --perf-no_read_workqueue --perf-no_write_workqueue \
  --allow-discards open /dev/disk/by-partlabel/secure secure

Los flags de workqueue evitan las colas internas de dm-crypt y entregan la E/S directamente al dispositivo. En un disco mecánico no cambian nada; en NVMe RAID10 eliminan un cuello de botella real con una cola de profundidad alta. Añádelos a la línea de opciones de crypttab como no-read-workqueue,no-write-workqueue para que sean permanentes.

--allow-discards es la que tiene una contrapartida. Deja pasar TRIM hasta el NVMe, lo que mantiene el rendimiento de escritura con el tiempo — y también revela a quien tenga el disco apagado qué bloques están en uso y cuáles están libres. Es una fuga de información real, aunque modesta: expone aproximadamente cuán lleno está el volumen y puede insinuar la estructura del sistema de archivos. En un servidor de propósito general, acepta el rendimiento. Si el contenido del volumen es del tipo en el que su tamaño es sensible, deja los discards desactivados.

La vía del sistema de archivos raíz, y el desbloqueo remoto por SSH

Si quieres tenerlo todo cifrado, hazlo en una máquina que todavía no tenga nada — despliega, convierte y luego construye. La conversión en sí es estándar: reduce el sistema de archivos raíz mientras está desconectado, crea un contenedor LUKS2 en el espacio liberado, copia el sistema con rsync -aHAX, apunta /etc/fstab y /etc/crypttab al dispositivo mapper, y luego update-initramfs -u -k all y reinstala GRUB. Lo que convierte esto en un problema propio de un VPS sin consola son las palabras mientras está desconectado: llegar hasta ahí sin consola significa primero volcar el sistema en marcha a una raíz en RAM, y ese es el paso que termina en una reinstalación cuando sale mal.

Lo que hace utilizable una raíz cifrada en una máquina remota es dropbear-initramfs — un servidor SSH de unos 200 KB incrustado en la imagen de arranque, escuchando mientras el kernel espera la frase de contraseña:

apt install dropbear-initramfs cryptsetup-initramfs

# Debian 12/13: /etc/dropbear/initramfs/
cp ~/.ssh/unlock_key.pub /etc/dropbear/initramfs/authorized_keys
chmod 600 /etc/dropbear/initramfs/authorized_keys

echo 'DROPBEAR_OPTIONS="-I 300 -j -k -p 2222 -s -c cryptroot-unlock"' \
  >> /etc/dropbear/initramfs/dropbear.conf

echo 'IP=:::::eth0:dhcp' >> /etc/initramfs-tools/initramfs.conf
update-initramfs -u -k all

Después haces ssh -p 2222 root@your-ip durante el arranque, y el comando forzado cryptroot-unlock pide la frase de contraseña. Hay tres cosas que vale la pena saber antes de confiar en esto. El initramfs tiene su propia clave de host, así que tu cliente avisará de una discrepancia en el puerto 2222 — eso es lo esperado, y la razón para darle un puerto dedicado. Esa clave de host y tu authorized_keys están en una partición de arranque sin cifrar, legible por cualquiera que tenga el disco, así que usa una clave de desbloqueo que no sirva para nada más. Y -s desactiva el inicio de sesión con contraseña en el initramfs, lo cual no es opcional.

El otro detalle que muerde en los planes pequeños es el mismo del paso tres, y aquí muerde con más fuerza. El initramfs se ejecuta antes de que la mayor parte de tu RAM esté disponible para nada cómodo, así que una cabecera formateada con un coste de memoria de Argon2id alto puede no llegar a desbloquearse en la misma máquina que la creó. Formatea con --pbkdf-memory limitado, y prueba el reinicio mientras todavía no tienes nada que perder.

El día después: qué cambia y qué no

Muy poco, que es justo la cuestión. Un volumen LUKS abierto es un dispositivo de bloques normal; fsck, rsync, df y tu herramienta de copias de seguridad se comportan exactamente igual que antes. Las actualizaciones del kernel no se ven afectadas porque dm-crypt está integrado en el árbol del kernel. Ampliar el volumen tras subir de plan son dos comandos — cryptsetup resize y después el redimensionado propio del sistema de archivos — y no necesita volver a cifrar nada.

Vale la pena adquirir tres hábitos. Ensaya el reinicio con regularidad, en lugar de descubrir a las tres de la madrugada que una frase de contraseña que nunca apuntaste es la única copia que existe. Mantén las copias de seguridad cifradas de forma independienterestic o borg hacia un destino externo, que es un control separado del volumen y sobrevive a perder la máquina por completo; el complemento de copia de seguridad externa diaria cuesta $2.00/mo si prefieres no montarlo tú mismo. Y cierra el volumen antes de dejar de ocuparte de la máquina: ejecutar cryptsetup close secure antes de un apagado planeado, una migración o una reinstalación hace que la clave salga de la memoria antes de que el disco deje de ser tuyo.

En cuanto a la política, no hay nada que negociar. Tienes root completo en un invitado KVM y lo que hagas con la capa de bloques es asunto tuyo; cifrar tu propio volumen es administración de sistemas ordinaria, no un caso límite. La política de uso aceptable trata sobre la conducta — el suelo innegociable es nada de CSAM y nada de terrorismo — y no tiene nada que decir sobre dm-crypt. Lo que sí cambia el cifrado es la forma de un hipotético mal día: un volumen apagado que sale de este edificio es ruido, y eso vale tus diez minutos.

Preguntas frecuentes

¿El cifrado de disco completo impide que mi proveedor de hosting lea mis datos?

No mientras el servidor está en marcha. En cuanto el volumen está desbloqueado, la clave está en la RAM de la máquina invitada, y en cualquier VPS esa memoria está en hardware que controla el operador — un hipervisor puede leerla. Lo que LUKS hace por completo es dejar inútil el disco apagado: una unidad devuelta a un proveedor, un nodo retirado, una imagen offline. Cualquiera que venda el cifrado de disco como protección frente a tu propio proveedor está describiendo algo que no existe.

¿Puedo cifrar un VPS que no tiene acceso a consola ni a KVM-over-IP?

Un volumen de datos cifrado, sí — enteramente por SSH, sin riesgo de arranque, en unos diez minutos. Una raíz cifrada es distinta: todos los métodos necesitan la raíz desconectada, lo que en una máquina sin consola significa primero volcar el sistema en marcha a un disco RAM. Funciona, y también es así como la gente pierde servidores. Convierte en el momento del despliegue, cuando la máquina no tiene nada, y usa dropbear-initramfs para poder escribir la frase de contraseña por SSH durante el arranque.

¿Cuánto rendimiento cuesta realmente LUKS?

Un porcentaje bajo de un solo dígito en cualquier CPU con AES-NI, es decir, en cualquier vCPU x86-64 moderna. Ejecuta cryptsetup benchmark y verás aes-xts en gigabytes por segundo — más rápido que el NVMe sobre el que se asienta, así que el almacenamiento sigue siendo el cuello de botella. En discos rápidos, --perf-no_read_workqueue y --perf-no_write_workqueue recuperan la mayor parte de lo que queda con una cola de profundidad alta.

¿Qué pasa si pierdo la frase de contraseña?

Los datos desaparecen. No hay mecanismo de recuperación, ninguna clave maestra en manos de nadie más, y ningún ticket de soporte que ayude — esa es justo la propiedad que estabas comprando. Mitígalo por adelantado: añade una segunda frase de contraseña en un keyslot separado con cryptsetup luksAddKey, y guarda una copia de la cabecera fuera de la máquina. Ten en cuenta que una copia de la cabecera hecha antes de rotar una frase de contraseña sigue abriendo el volumen con la frase de contraseña antigua, así que destruye las copias obsoletas cuando rotes.

¿Qué plan de VPS necesito para ejecutar un volumen cifrado?

El cifrado no añade ningún requisito de RAM y casi ninguno de CPU, así que el nivel lo determina tu carga de trabajo, no LUKS. Cub (1 vCPU / 2 GB / 40 GB NVMe, $5.00/mo) ejecuta un volumen cifrado sin ni siquiera notarlo; Scout (2 vCPU / 4 GB / 70 GB, $9.00/mo) es el tamaño cómodo cuando la máquina también ejecuta una base de datos o un servidor de correo. La única restricción real es el disco, ya que el volumen sale de ahí.

¿Está permitido cifrar mi servidor en estos planes?

Sí — es administración de sistemas ordinaria. Tienes root completo en un invitado KVM con un kernel de verdad, así que dm-crypt, el particionado personalizado y cualquier otra cosa en la capa de bloques son tuyos para configurar. La política de uso aceptable regula la conducta, no la configuración, y el suelo innegociable ahí es nada de CSAM y nada de terrorismo.

¿Tengo que cifrar también la swap?

Sí, y es el paso que se saltan la mayoría de las guías. La swap es donde la memoria del kernel — incluidas las claves y los búferes descifrados — termina convertida en un artefacto de disco, así que una swap en claro junto a un volumen cifrado filtra justo lo que estabas protegiendo. Usa una clave aleatoria por arranque a través de /etc/crypttab: nada que gestionar y nada que perder. La hibernación se vuelve imposible como consecuencia, lo cual en un VPS no te cuesta nada.

Despliega un VPS offshore en un minuto

Sin KYC, pago en cripto, todo NVMe. Elige un plan, paga con Monero o cualquier moneda principal y obtén root en unos 60 segundos.

Fenrir en guardia