Cifre y descifre usando OpenSSL

Ya sea que esté asegurando información confidencial o para protegerse contra ataques ransomware, el cifrado es una forma efectiva de mantener sus datos seguros.

Una copia de seguridad solo sirve contra el ransomware si el equipo comprometido no puede destruirla con la misma facilidad que los archivos originales

Una herramienta de cifrado ampliamente utilizada es OpenSSL, que le permite cifrar y descifrar archivos utilizando el algoritmo Advanced Encryption Standard (AES). Este tutorial explica cómo cifrar y descifrar archivos con AES usando OpenSSL.

AES es un algoritmo de cifrado simétrico ampliamente utilizado para proteger los datos. AES se puede utilizar con varios modos de operación como CBC, BCE, etc. Para obtener todos los algoritmos de cifrado compatibles relacionados con AES, utilice el comando:

openssl enc -list | grep aes

Vamos a probar de 2 maneras, con clave publica y contraseña.

  • Para crea una clave privada ejecute:

openssl genrsa -out key.key

  • Para crear la clave pública, a partir de la clave privada ejecute:

openssl rsa -in key.key -pubout -out public.pem

  • Creamos el archivo ejecute:

echo «Top Secret» > data.txt

  • Encriptamos el archivo con la clave pública:

openssl pkeyutl -encrypt -pubin -inkey public.pem -in data.txt -out data.enc.txt

  • Desciframos el archivo con la clave privada:

openssl pkeyutl -decrypt -inkey key.key -in data.enc.txt -out data3.txt

Ahora bien si queremos poner una contraseña, hacerlo mas practico sin necesidad de tener claves publicas ni privadas, pero sera menos segura. Existe la posibilidad de añadir la contraseña al final del comando, Por ejemplo: “openssl enc -aes-256-cbc -pbkdf2 -salt -in data.txt -out data.enc.txt -pass pass:04157fca6154ecb8ed81b7706871e2a9”, pero en mi caso me preguntara.

  • Creamos el archivo ejecute:

echo «Top Secret» > data2.txt

  • Encriptamos el archivo y cuando nos pregunte la contraseña:

openssl enc -aes-256-cbc -pbkdf2 -salt -in data2.txt -out data2.enc.txt

  • Desciframos el archivo y cuando nos pregunte la contraseña:

openssl enc -d -aes-256-cbc -pbkdf2 -in data2.enc.txt -out data4.txt

Os dejo un script, de copia de seguridad de los archivos mas relevantes, de un sistema proxmox.