LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

Cuando tiene datos importantes y confidenciales, es crucial tener una capa adicional de seguridad para sus archivos y directorios, especialmente cuando necesita transmitir los datos con otras personas a través de una red.

Por esa razón, estoy buscando una utilidad para encriptar y desencriptar ciertos archivos y directorios en Linux, afortunadamente encontré una solución que tar con OpenSSL puede satisfacer mis necesidades, sí, con la ayuda de estas dos herramientas puedes crear y encriptar fácilmente un archivo de almacenamiento sin ningún tipo de molestia.

Vea también el artículo

Como tener seguro, protegido y encriptado tu Navegador Web Firefox (versión mejorada - versión 3)

En este artículo, veremos cómo crear y cifrar un archivo comprimido tar o gz ( gzip ) con OpenSSL :

Recuerde que la forma convencional de usar OpenSSL es:

# Comando openssl Argumentos de opciones del comando

Encriptar archivos en Linux

Para cifrar el contenido del directorio de trabajo actual (dependiendo del tamaño de los archivos, esto puede llevar un tiempo):

# tar -czf - * | openssl enc -e -aes256 -out secured.tar.gz
Explicación del comando anterior:
  1. enc  -> comando openssl para cifrar con cifrados
  2. -e    -> una opción del comando enc para cifrar el archivo de entrada, que en este caso es la salida del comando tar
  3. -aes256 -> el cifrado de la encriptación
  4. -out -> opción enc utilizada para especificar el nombre del nombre de archivo de salida, secure.tar.gz

Desencriptar archivos en Linux

Para descifrar el contenido de un archivo tar, use el siguiente comando.

# openssl enc -d -aes256 -in secured.tar.gz | tar xz -C test

Explicación del comando anterior:

  1. -d -> utilizado para descifrar los archivos
  2. -C -> extraer en el subdirectorio denominado test (si quitas "-C test" será en el directorio actual)

La siguiente imagen muestra el proceso de cifrado y lo que sucede cuando intenta:

  1. extraer el contenido del tarball de la forma tradicional
  2. use la contraseña incorrecta, y
  3. cuando ingresa la contraseña correcta

Cifrar o descifrar un archivo Tar en Linux

Cuando trabaja en una red local o en Internet, siempre puede proteger sus documentos o archivos vitales que comparte con otros cifrándolos, lo que puede ayudar a reducir el riesgo de exponerlos a atacantes malintencionados.

Observamos una técnica simple para cifrar archivos tar utilizando OpenSSL, una herramienta de línea de comandos de openssl. Puede consultar su página de manual para obtener más información y comandos útiles.

Como ejemplo, puedes ver este script para hacer una copia "segura" del directorio de Mozilla. (que puedes modificar a tu gusto)

Ojo, haz una copia de seguridad previa de tu directorio $HOME/.mozilla, por ejemplo así:

tar cvfz CopiaSeg-mozilla.tgz .mozilla,

podrás descomprimir la copia así:

tar xvfz CopiaSeg-mozilla.tgz

Fichero: cifra-firefox.sh


#!/bin/bash
################################################################################### # Script para realizar el trabajo de encriptación automatizado. # (c) Javier Orovengua Miguel, para ExtreHost.com y Linuxparty.es # El script se puede compartir bajo los términos de la licencia GPL # y modificar, respetando el autor y estos créditos de inicio. # Versión del Script 1.14
# --------------------------------------
# USO:
# --------------------------------------
# La ejecución del script sin argumentos, cifrará el directorio en $HOME/.mozilla
#
# La ejecución del script con el parámetro "-u", descifrará el archivo previamente
# creado por la ejecución del script sin argumentos y con la contraseña correcta.
#################################################################################### # Definimos colores, sólo por diversión rojo='\033[0;31m' rojoI='\033[1;31m' rosaI="\033[1;35m" amarillo='\033[1;33m' cian='\033[1;36m' azul='\033[0;34m' verde='\033[1;32m' destaca='\033[1;38m' NC='\033[0m' # No Color printf ${NC} # Si usamos la opción -u, desencriptará el archivo. if [ "$1" == "-u" ] ; then echo "DEScifrando..." echo "Para encriptar, use el comando sin argumentos"
# Descomprime
openssl enc -d -aes256 -in secured-mozilla.tar.gz | tar xz -C /
# Comprobamos que está el directorio. ls -l $HOME/.mozilla echo "--------------" echo "--------------"
echo "¿Ejecutar firefox ahora?" if /usr/local/bin/espera.sh ; then echo "SI" firefox else echo "NO" fi
echo "--------------" echo "--------------" echo "¿Borrar POR SEGURIDAD el directorio de Trabajo?" echo "--------------" echo "--------------"
if /usr/local/bin/espera.sh ; then echo "SI" rm -rfv $HOME/.mozilla else echo "NO" fi exit fi
# Sin opciones, el archivo comprime el directorio.
echo "Comprimiendo y cifrando..." echo "Para desencriptar use el mismo comando con la opción -u " tar -czf - $HOME/.mozilla | openssl enc -e -aes256 -out secured-mozilla.tar.gz

El script "espera.sh"

#!/bin/bash
# El script también puede utilizarlo de la siguiente manera:

# if /root/bin/espera.sh ; then
#   echo "SI"
# else
#   echo "NO"
# fi

echo -n "Pulse una tecla para continuar... (o 's' o 'n' para confirmar)"; read -n 1 key
if [ "$key" == 's' -o "$key" == 'S' ]; then
 exit 0 # Todo OK
else
 exit 1 # Contrario
fi

Como de costumbre, para cualquier pensamiento adicional o consejo simple que desee compartir con nosotros, utilice el formulario de comentarios a continuación y en el próximo consejo, veremos una forma de traducir los permisos rwx en formato octal.

Un script mejorado de la versión anterior para colocar en el escritorio sería éste.

Archivo: cfirefox.sh


#!/bin/bash
################################################################################### # (c) Javier Orovengua Miguel, para ExtreHost.com y LinuxParty.es # El script se puede compartir bajo los términos de la licencia GPL # y modificar, respetando el autor y estos créditos de inicio. # Versión del Script 1.14 #################################################################################### # Definimos colores, primer plano PNegro='\033[30m' PRojo='\033[31m' PVerde='\033[32m' PNaranja='\033[33m' PAzul='\033[34m' PMagenta='\033[35m' PCian='\033[36m' PGris='\033[37m' NC='\033[39m' # Colores de fondo, video inverso o segundo plano IGris='\033[100m' # Gris oscuro IRojo='\033[101m' # Luz roja IVerde='\033[102m' # Verde claro IAmarillo='\033[103m' # Amarillo IAzul='\033[104m' # Azul claro IMagenta='\033[105m' # Morado claro ICian='\033[106m' # Verde azulado IBlanco='\033[107m' # Blanco INC='\033[40m' clear # El script es para colocarlo en /usr/local/bin y crear un archivo de escritorio # sustituyendo al que hace la ejecución directa de firefox. (archivo separado) # ---------------- USO ---------------------- # La ejecución directa del escritorio desencriptará el archivo comprimido # y encriptado, que previamente hemos creado con el escript "cifrar-firefox.sh" # Al salir de firefox, se borrará el contenido en $HOME/.mozilla, quedando # protegido su contenido de curiosos. # # Opcionalmente, puede usar este mismo script para hacer el mismo trabajo que # hace "cifrar-firefox.sh", incluyendo el argumento -c, para crear por primera # vez el archivo comprimido y encriptado con el que va a trabajar. echo "DEScifrando..." printf ${PNegro}${IVerde} echo "Introduce la contraseña:" printf ${NC}${INC} if [ -f $HOME/secured-mozilla.tar.gz ] ; then openssl enc -d -aes256 -in $HOME/secured-mozilla.tar.gz | tar xz -C / firefox rm -rf $HOME/.mozilla else printf ${PRojo}${IAmarillo} echo "No exsite el fichero: $HOME/secured-mozilla.tar.gz" printf ${NC}${INC} fi printf ${PNegro}${IVerde} echo "CORRECTAMENTE Terminado" printf ${NC}${INC} sleep 2 # Fin del script exit # Para comprimir el archivo y cifrar por primera vez if [ "$1" == "-c" ] ; then echo "Comprimiendo y cifrando..." if [ -d $HOME/.mozilla ] ; then tar -czf - $HOME/.mozilla | openssl enc -e -aes256 -out secured-mozilla.tar.gz else printf "${PAzul}${ICian}" echo "No hay directorio que comprimir, no existe" printf "${NC}${INC}" fi fi

El archivo del escritorio: (Colocar tal cual).

Recordar que debe indicarse que el script debe ejecutarse en una ventana de Shell, para que pueda solicitar la contraseña.

Arhivo: cFirefox.desktop


[Desktop Action new-private-window]
Exec=firefox --private-window %u Name=Open a New Private Window Name[en-US]=New Private Window Name[es-AR]=Nueva ventana privada Name[es-CL]=Nueva ventana privada Name[es-ES]=Nueva ventana privada Name[es-MX]=Nueva ventana privada [Desktop Action new-window] Exec=firefox --new-window %u Name=Open a New Window Name[en-GB]=New Window Name[en-US]=New Window Name[es-AR]=Nueva ventana Name[es-CL]=Nueva ventana Name[es-ES]=Nueva ventana Name[es-MX]=Nueva ventana [Desktop Entry] Actions=new-window;new-private-window; Categories=Network;WebBrowser; Comment[es_ES]=Navegue por la web Comment=Navegue por la web Exec=/usr/local/bin/cfirefox.sh GenericName[es_ES]=Navegador web GenericName=Navegador web Icon=firefox Keywords=web;browser;internet; MimeType=text/html;application/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml; Name=cFirefox Path= StartupNotify=true Terminal=true TerminalOptions= Type=Application Version=1.0 X-DBUS-ServiceName= X-DBUS-StartupType=none X-Desktop-File-Install-Version=0.23 X-KDE-SubstituteUID=false X-KDE-Username=

Binarios para Windows:

  1. Comando: tar -> http://gnuwin32.sourceforge.net/packages/gtar.htm
  2. Comando: gzip -> http://gnuwin32.sourceforge.net/packages/gzip.htm
  3. Comando: openssl -> http://gnuwin32.sourceforge.net/packages/openssl.htm

 

El script ha funcionado y funciona sin problemas en Windows 10, el mismo indica la ruta de trabajo. La filosofía de ambos ficheros de proceso por lotes es igual que el de los scripts de Linux arriba mencionados.

fichero: cifra-firefox.bat

@rem Versión 1.1
@
echo off cd %HOMEPATH% echo %HOMEPATH% IF "%1"=="-u" GOTO Descifra GOTO :Cifra :Descifra echo DEScifrando... echo Para encriptar use el mismo comando sin argumentos openssl enc -d -aes256 -in secured-mozilla.tar.sec > secured-mozilla.tar tar xfz secured-mozilla.tar del secured-mozilla.tar echo --------------- echo --------------- dir AppData\Roaming\Mozilla echo --------------- echo --------------- echo ¿Ejecutar firefox ahora? 1-s / 2-no set /p eoption=">>" IF %eoption%==1 ( echo "Iniciar Firefox..." start "C:\Program Files\Mozilla Firefox" /b firefox.exe ) ELSE ( echo "Fin" goto :Fin ) echo ----------------------- echo ----------------------- echo NO LO BORRE HASTA QUE TERMINE DE USAR FIREFOX !!!!! pause echo ¿Por seguridad borrar el directorio de trabajo? 1-s / 2-no echo ----------------------- echo ----------------------- set /p doption=">>" IF %doption%==1 ( cd AppData\Roaming del /s /q Mozilla exit ) ELSE ( echo "Fin" goto :Fin ) :Cifra echo "Comprimiendo y cifrando..." echo "Para desencriptar ejecte este script con la option -u" tar -cf - AppData\Roaming\Mozilla | openssl enc -e -aes256 -out secured-mozilla.tar.sec :Fin

El comando cfirefox, que es la versión "rápida", para ejecutar firefox con el paquete encriptado.

Archivo: cfirefox.bat

@rem Versión 1.1
@echo off

cd %HOMEPATH%
echo %HOMEPATH%
echo VERSION 1.1
IF "%1"=="-c" GOTO :Cifrar
:Descifra
  echo DEScifrando...
  echo Introduce la contraseña:
  echo Para encriptar use el mismo comando con argumento -c
  openssl enc -d -aes256 -in secured-mozilla.tar.sec > secured-mozilla.tar
  tar xfz secured-mozilla.tar
  del secured-mozilla.tar
  echo ---------------
  echo ---------------
  dir AppData\Roaming\Mozilla
  echo ---------------
  echo ---------------
  
rem  echo ¿Ejecutar firefox ahora? 1-s / 2-no
rem  set /p eoption=">>"
rem  IF %eoption%==1 (
      echo .
      echo "Iniciar Firefox..."
      start "C:\Program Files\Mozilla Firefox" /b firefox.exe
rem  ) ELSE (
rem      echo "Fin"
rem      goto :fin
rem  )
  echo -----------------------
  echo -----------------------
  echo NO LO BORRE HASTA QUE TERMINE DE USAR FIREFOX !!!!!
  pause
  echo ¿Por seguridad borrar el directorio de trabajo? 1-s / 2-no
  echo -----------------------
  echo -----------------------
  set /p doption=">>"
  IF %doption%==1 (
       cd AppData\Roaming
       del /s /q Mozilla
       goto :fin
  ) ELSE (
       echo "Fin"
       goto :fin
  )
exit
:Cifrar
echo Comprimiendo y cifrando..."
echo Para desencriptar ejecute este script SIN argumentos
tar -cf - AppData\Roaming\Mozilla | openssl enc -e -aes256 -out secured-mozilla.tar.sec
:fin

Si quiere dejar una versión mejorada de ambos ficheros de proceo por Lote de Windows, déjelo en los comentarios, los incluiremos en el artículo y le añadiremos sus referencias.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Usamos cookies propias y de terceros para mejorar la navegación y tareas analíticas. Al continuar navegando entendemos que aceptas nuestra política de cookies. Ver política