La seguridad de nuestros datos debe ser una de las prioridades fundamentales tanto a nivel de administración como de uso personal ya que un acceso no autorizado a la información puede desencadenar situaciones de seguridad que afecten nuestra integridad.
OpenSSL es una potente herramienta que nos permite cifrar archivos de una forma integral usando diversos métodos de seguridad. Tener cifrada nuestra información es imprescindible si queremos evitar que los datos puedan llegar a otras manos no deseadas. Este tutorial tendrás las claves para poder mantener esa seguridad en tus archivos.
Con OpenSSL podremos usar un algoritmo simétrico cuando deseamos usar la misma clave tanto para el cifrado como para el descifrado de un archivo. Para este caso hemos creado un archivo llamado solvetic.txt en nuestra raíz de CentOS 7:
1. Encriptar un archivo usando comandos OpenSSL
El primer método que veremos será el proceso de encriptación de nuestro archivo y para ello usaremos la siguiente sintaxis:
openssl enc -aes-256-cbc -salt -in solvetic.txt -out solvetic.txt.enc
Los parámetros a usar son los siguientes:
Es importante añadir el parámetro -salt ya que de no hacerlo el archivo estará propenso a sufrir vulnerabilidades con herramientas de descifrado de una manera sencilla. Al momento de ejecutar esta sintaxis será desplegado un mensaje donde debemos ingresar y confirmar la contraseña asignada al texto:
En este punto podremos agregar diversos niveles de encriptación en este método como son:
- AES-128-cbc
- AES-256-cbc
- AES-128-ecb
- AES-256-ecb
- AES-192-cbc
- AES-192-ecb
- Camellia-128-cbc
- Camellia-256-cbc, entre otros.
Una vez realicemos esta acción podremos ver nuestro archivo encriptado con la extensión .enc:
Podremos intentar acceder al archivo encriptado usando alguno de los editores deseados, como nano ejecutando lo siguiente:
nano solvetic.txt.enc
2. Desencriptar un archivo usando comandos OpenSSL
En el momento que deseemos acceder al archivo encriptado usaremos la siguiente sintaxis para su desencriptación:
openssl enc -aes-256-cbc -d -in solvetic.txt.enc -solvetic.txtAl momento de pulsar enter será necesario ingresar la respectiva contraseña de acceso:
A partir de este momento tendremos acceso al contenido del archivo. Los parámetros usados en este proceso son:
3. Codificación Base64
Además del método de encriptación indicado anteriormente, con OpenSSL tenemos la posibilidad de añadir una codificación llamada Base64 la cual convierte la información binaria de 8 bits en un conjunto de caracteres ASCII. Este tipo de codificación es ideal cuando debemos transferir información por la red y por defecto el cifrado estará en formato binario.
La sintaxis para encriptar un archivo usando Base64 consiste en añadir el valor -a de la siguiente forma:
openssl enc -aes-256-cbc -salt -a -in solvetic.txt -out solvetic.txt.enc
Asignaremos las respectivas credenciales de acceso al archivo. El parámetro -a indica a OpenSSL que los datos serán cifrados tomando la Base64 como codificación. Si accedemos al archivo veremos su codificación en formato ASCII:
4. Métodos de encriptación no interactivos en CentOS 7
Usando este método el sistema le solicitará al usuario el ingreso de la contraseña durante la encriptación del archivo por lo cual esta será visible. Es importante usar este método en sitios donde la seguridad no sea vulnerada.
La sintaxis para encriptar un archivo usando este método es:
openssl enc -aes-256-cbc -salt -in solvetic.txt -out solvetic.txt.enc -k CONTRASEÑA
Para desencriptar este archivo usaremos la siguiente sintaxis:
openssl enc -aes-256-cbc -d -in solvetic.txt.enc -out solvetic.txt -k CONTRASEÑANo pierdas detalles del proceso y mira el videotutorial en el que se muestra cómo realizar este proceso de encriptado con OpenSSL.
De esta forma OpenSSL se convierte en una herramienta útil para proteger nuestros archivos de accesos no autorizados.