Si tiene servidores Linux que dependen del cifrado, se debe a sí mismo reforzar la entropía del sistema. He aquí cómo hacerlo con haveged.
La aleatoriedad es mucho más importante en una computadora de lo que la mayoría de la gente cree. La aleatoriedad se utiliza en numerosas aplicaciones y también es clave para el cifrado, como el que se encuentra en SSL y TLS. Sin la aleatoriedad, el cifrado sería una tarea imposible.
VER: Política de cifrado (Tech Pro Research)
En la plataforma Linux, hay dos dispositivos que producen aleatoriedad: /dev/random y /dev/urandom. De los dos sistemas, /dev/random ofrece la mejor aleatoriedad, ya que esperará hasta que haya recibido suficiente entropía antes de proporcionar salida porque es un dispositivo de bloqueo. (La entropía es la aleatoriedad recogida por un sistema operativo o una aplicación para su uso en criptografía.) Sin embargo, /dev/urandom/ no es un dispositivo de bloqueo, así que cuando no hay suficiente entropía, continuará produciendo datos aleatorios aunque los datos que produzca en ese momento no sean verdaderamente aleatorios. Debido a que /dev/random es un dispositivo de bloqueo, esperará hasta que haya suficiente entropía para producir datos verdaderamente aleatorios.
Desafortunadamente, la piscina de entropía en una computadora es finita. Cuando se agota la reserva de entropía, pueden ocurrir cosas malas, especialmente en máquinas que dependen del cifrado. Si tiene un servicio dependiente de la encriptación en una máquina que se queda sin entropía temporalmente, el servicio podría ser puesto en espera hasta que se genere suficiente entropía.
Más información sobre redes
Si alguna vez has generado una tecla GPG, sabes de dónde viene gran parte de la aleatoriedad: el teclado y el ratón. Usted mueve el ratón y usa su teclado y el sistema generará suficiente entropía para realizar la tarea. ¿Pero qué pasa cuando estás en una máquina sin cabeza? ¿Cómo se genera la entropía?
Afortunadamente, hay una manera de ayudar a ello, gracias al software llamado haveged. El servicio ha sembrado la fuente aleatoria de un sistema ejecutando un bucle repetidamente y usando las diferencias en el contador de la marca de tiempo del procesador – esto gana entropía sin tener que usar un ratón o un teclado. En los sistemas que incluyen un ratón/teclado, añadirá aún más a la piscina de entropía. El software también asegura que la entropía nunca descienda por debajo de 1000 en un sistema para ayudar a asegurar que siempre haya suficiente.
Dicho esto, vamos a instalar y configurar haveged.
VER: Se abren las principales brechas de seguridad en Linux (ZDNet)
Instalación de haveged
La instalación del haveged es muy sencilla. Para instalar en plataformas basadas en Debian, haga lo siguiente.
- Abra una ventana de terminal.
- Emita el comando sudo apt-get install haveged.
- Permita que la instalación se complete.
- Set haveged up to start at boot with the command sudo update-rc.d haveged defaults.
Para instalar haveged en máquinas RHEL/Fedora/CentOS, haga lo siguiente.
- Abra una ventana de terminal.
- Cambie a la cuenta root emitiendo el comando su.
- Instale el software con el comando yum install haveged.
- Configure haveged para que empiece en el arranque con el comando chkconfig haveged activado.
Las pruebas han demostrado
Podemos usar la herramienta rng-test para realizar una prueba en el sistema de entropía habilitado. Primero debe instalar rng-tools con el comando sudo apt-get install rng-tools (en los sistemas yum que serían yum install rng-tools. Una vez instalado, ejecute un comando como:
cat /dev/random | rngtest -c 1000
Debería ver una salida similar a la que se muestra en la .
La parte importante de la información es el éxito. Hice la misma prueba 10 veces y nunca recibí menos de 998 de éxito. En una máquina similar, sin haveged instalado, la prueba no sólo fue significativamente más lenta (1.091 segundos con haveged vs. 67.636 segundos sin), sino que los éxitos se redujeron a un mínimo de 996. Aunque la tasa de éxito sigue estando dentro de un rango nominal, lo que debería preocupar es el tiempo en el que se realiza la prueba.
Con haveged, la entropía y el azar se generan exponencialmente más rápido; esto significa que sus servidores que dependen de la entropía y el azar se beneficiarán enormemente de tener este software a bordo.
Imprescindible
Si gestiona servidores que requieren SSL/TLS u otros servicios que dependen del cifrado, se debe a sí mismo añadir haveged. Es gratuito, fácil de instalar y, una vez instalado y en funcionamiento, garantizará que su servidor headless siempre tenga suficiente entropía para funcionar como se espera.
Boletín Semanal de Código Abierto
No se pierda nuestros consejos, tutoriales y comentarios sobre el sistema operativo Linux y las aplicaciones de código abierto. Entregado los martes