Generar contraseñas seguras y sistemas de archivos cifrados en Linux

En un mundo donde la seguridad informática es una prioridad, la protección de datos sensibles y la generación de contraseñas seguras son elementos clave para evitar accesos no autorizados. A continuación, se detallan algunas herramientas y técnicas avanzadas para generar contraseñas aleatorias, cifrar archivos y crear sistemas de archivos portátiles y cifrados en sistemas Linux.

Generación rápida de contraseñas aleatorias

La creación de contraseñas robustas es uno de los pilares de la ciberseguridad. Existen métodos sencillos y eficientes para generar contraseñas aleatorias utilizando herramientas comunes en sistemas Linux, como OpenSSL y /dev/urandom.

1. Usando OpenSSL para generar contraseñas

OpenSSL es una herramienta ampliamente utilizada para generar contraseñas seguras sin intervención humana. Un ejemplo para crear una contraseña de 24 caracteres en base64 es:

openssl rand -base64 24

Este comando genera una contraseña aleatoria en formato base64, ideal para sistemas que requieren cadenas seguras sin intervención humana.

2. Usando /dev/urandom para generar contraseñas

Si OpenSSL no está disponible en el sistema, también se puede recurrir a /dev/urandom, una fuente de generación de números aleatorios de alta calidad en Linux. Con el siguiente comando se puede generar una cadena de 32 bytes:

head -c 32 < /dev/urandom | xxd -p -c 32

Para obtener una contraseña alfanumérica de 16 caracteres, podemos usar:

head -c 32 < /dev/urandom | base64 | tr -dc '[:alnum:]' | head -c 16

Este último comando filtra los caracteres especiales, limitando la salida a letras y números, lo que puede ser más adecuado para sistemas que no permiten símbolos en las contraseñas.

Cifrado de sistemas de archivos portátiles

La protección de los datos almacenados es crucial, especialmente cuando se manejan archivos sensibles. En Linux, existen varias formas de crear sistemas de archivos cifrados que pueden transportarse entre diferentes máquinas. Aquí se explican dos métodos utilizando cryptsetup y EncFS.

1. Cifrado con cryptsetup y LUKS

El primer método utiliza cryptsetup con LUKS (Linux Unified Key Setup), un estándar de cifrado para sistemas de archivos en Linux. A continuación, se muestra cómo crear un archivo de 256 MB cifrado:

dd if=/dev/urandom of=/tmp/crypted bs=1M count=256 iflag=fullblock
cryptsetup luksFormat /tmp/crypted
cryptsetup open /tmp/crypted sec
mkfs -t ext3 /dev/mapper/sec

Esto crea un archivo cifrado que actúa como un disco duro virtual. Después de montarlo, se puede acceder a él como cualquier otro sistema de archivos:

cryptsetup open /tmp/crypted sec
mount -o nofail,noatime /dev/mapper/sec /mnt/sec

Cuando se termina de usar, se desmonta y se cierra la unidad cifrada:

umount /mnt/sec
cryptsetup close sec

Este sistema es útil cuando se desea transportar archivos cifrados entre diferentes dispositivos con Linux, ya que es fácilmente desmontable y remonta en cualquier equipo que soporte LUKS.

2. Cifrado con EncFS

Otra opción para crear sistemas de archivos cifrados es EncFS, que permite montar un sistema de archivos cifrado en el espacio de usuario sin necesidad de permisos de administrador. El siguiente comando crea un sistema de archivos cifrado en el directorio .raw y monta el contenido cifrado en .sec:

mkdir .raw .sec
encfs --standard "${PWD}/.raw" "${PWD}/.sec"

EncFS es conocido por su facilidad de uso y es una excelente opción para aquellos que necesitan montar sistemas de archivos cifrados en carpetas locales. Para desmontar el sistema de archivos, se utiliza:

fusermount -u .sec

Cifrado de archivos individuales

Además de los sistemas de archivos cifrados, en muchos casos es necesario cifrar archivos individuales antes de transferirlos o almacenarlos en medios externos. OpenSSL ofrece una manera fácil y rápida de cifrar archivos con algoritmos de alta seguridad, como AES-256.

1. Cifrar un archivo con OpenSSL

Para cifrar un archivo, como un registro o documento confidencial, utilizando AES-256 con una contraseña predefinida, se puede usar el siguiente comando:

openssl enc -aes-256-cbc -pbkdf2 -k fOUGsg1BJdXPt0CY4I <input.txt >input.txt.enc

Este comando toma el archivo input.txt, lo cifra utilizando la contraseña proporcionada (fOUGsg1BJdXPt0CY4I en este caso), y genera el archivo cifrado input.txt.enc.

2. Descifrar un archivo cifrado

Para recuperar el archivo original, se utiliza el siguiente comando:

openssl enc -d -aes-256-cbc -pbkdf2 -k fOUGsg1BJdXPt0CY4I <input.txt.enc >input.txt

Este método garantiza que los archivos confidenciales permanezcan seguros durante la transferencia o el almacenamiento en medios no confiables.

Conclusión

Tanto la generación de contraseñas aleatorias como el cifrado de sistemas de archivos y archivos individuales son componentes esenciales para la seguridad de los datos en entornos Linux. Herramientas como OpenSSL, cryptsetup y EncFS ofrecen soluciones poderosas y flexibles para proteger la información, ya sea mediante la creación de contraseñas robustas o la implementación de sistemas de archivos cifrados transportables. En un entorno cada vez más orientado a la seguridad, dominar estas herramientas puede marcar una gran diferencia en la protección de la información confidencial.

IMPORTANTE: Recuerda utilizar esta información con responsabilidad y siempre que sepas como hacer uso de ella.

Fuente: GitHub.

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