Cifrado simétrico con GnuPG (Linux)

Esta entrada es para la consola de Linux  Empezaremos viendo que es GnuPG y como se utiliza gpg para cifrar de forma simétrica. Crearemos scripts a modo de ejemplo

GnuPG

GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales desarrollado por Werner Koch, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el estándar del IETF denominado OpenPGP. (Wiki)

Es un software utilizado para encriptación asimétrica , muy útil para enviar correo cifrado, y para firmar documentos. Desde la consola lo utilizaremos mediante el comando gpg. Presente en casi todas las distribuciones de Linux. Aconsejo usar el repositorio de tu distro si aún no lo tienes.

Cuando trabajamos con encriptación simétrica, una clave muy débil invalida la fortaleza de cualquier algoritmo. Aconsejo mirar anterior entrada Encriptacion Simetrica

Para entornos gráfico recomiendo Kleopatra, buena donde las haya esta aplicación.

¿Que algoritmos puedo usar?

Para ver con que algoritmos contamos en nuestro PC escribamos en la consola:

gpg –version


gpg (GnuPG) 2.2.10
libgcrypt 1.8.3
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html&gt;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/nukebull/.gnupg
Algoritmos disponibles:
Clave pública: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cifrado: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, 
CAMELLIA128, CAMELLIA192, CAMELLIA256
Resumen: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compresión: Sin comprimir, ZIP, ZLIB, BZIP2


Después de Cifrado, muestra todos los algoritmos que pode,os utilizar. IDEA,3DES,…,CAMELIA256

Como encriptar de forma simetrica usando gpg

Cifraremos el archivo ArchivoDeEntrada usando el algoritmo twofish y obtendremos el archivo cifrado ArchivoDeSalida

gpg -o ArchivoDeSalida -ca –cipher-algo twofish ArchivoDeEntrada

  • -o Crea el Archivo de salida
  • -c cifra de forma simétrica
  • -d descifra
  • -a Armadura ASCII (no es necesario, solo si se desea)
  • –cipher-algo elije el algoritmo de cifrado, en el ejemplo twofish (si no se pone elige AES256 por defecto, para la versión actual de gpg)

Crear varias capas usando un script de Bash

Supongamos que tenemos El archivo Datos.txt y lo tenemos que subir a Dropbox para la consulta con otras personas.

Lo cifraremos para que no sea de dominio publico. Y también usaremos vtres capas, con distintos algoritmos, por si un de ellos fuese roto en el futuro, no tener los datos expuestos.

Primer script, se encarga de encriptar(en mi caso lo he llamado cripto, y le doy permisos con chmod +x cripto)

En mi caso para ejecutarlo ./cripto

 


#!/bin/bash

#Vicente Parra
#www.nukebull.com
# Encriptador por capas camellia256 + twofish + AES256 + ARMOR ASCII

# Encriptac. gpg simetrica

gpg -o Datos.cam -c –cipher-algo camellia256 Datos.txt
echo “camellia256”

gpg -o Datos.two -c –cipher-algo twofish Datos.cam
echo “camellia256 + twofish”

# borra los fichero intermedio  si se desea omitir comentar la siguiente linea
rm Datos.cam

gpg -o DatosDropBox -ca –cipher-algo aes256 Datos.two
echo “camellia256 + twofish +AES256+ARMOR ASCII”

# borra los fichero intermedio , si se desea omitir comentar la siguiente linea
rm Datos.two


 

Segundo script, se encarga de desencriptar(en mi caso lo he llamado decripto, y le doy permisos con chmod +x decripto)

Para ejecutarlo ./decripto

 


#!/bin/bash

#Vicente Parra
#www.nukebull.com
# DesEncriptador por capas camellia256 + twofish + AES256 + ARMOR ASCII

# Encriptac. gpg simetrica (desencriptar)

gpg -o Datos.uno -d DatosDropBox
echo “AES256”

gpg -o Datos.dos -d Datos.uno
echo “twofish+ AES256”

# borra los fichero intermedio one si se desea omitir comentar la siguiente linea
rm Datos.uno

gpg -o DatosCliente.txt -d Datos.dos
echo “camellia256 + twofish +AES256+ARMOR ASCII”

# borra los fichero intermedio two, si se desea omitir comentar la siguiente linea
rm Datos.dos


La contraseña dentro del script

En el siguiente ejemplo la password no nos la pide, va dentro del script para veáis como se utiliza, es necesario poner –batch para que funcione en mi versión de gpg

 


#!/bin/bash

#Vicente Parra
#www.nukebull.com
# Encriptador por capas camellia256 + twofish + AES256 + ARMOR ASCII

#Variables-Password
p1=”218e13a205e802f2c”
p2=”9945e6fae4bacbbb0″
p3=”265e779f40fcbfbcd”

# Encriptac. gpg simetrica

gpg –batch -o Datos.cam -c –cipher-algo camellia256 –passphrase $p1 Datos.txt
echo “camellia256”

gpg –batch -o Datos.two -c –cipher-algo twofish –passphrase $p2 Datos.cam
echo “camellia256 + twofish”

# borra los fichero intermedio one si se desea omitir comentar la siguiente linea
rm Datos.cam

gpg –batch -o DatosDropBox -ca –cipher-algo aes256 –passphrase $p3 Datos.two
echo “camellia256 + twofish +AES256+ARMOR ASCII”

# borra los fichero intermedio two, si se desea omitir comentar la siguiente linea
rm Datos.two


Bibliografía para ampliar.

Enlace muy interesante que amplia conocimientos >> Enlace

Página del proyecto https://gnupg.org/

Doña wiki >>  Enlace Wiki

Backup con Bash y AES Crypt (Terminal Linux)

Haremos un backup, mediante un script con bash, con el terminal de Linux. Usaremos el editor gedit, los comandos tar (compresor empaquetador ), aescrypt (Encriptar), rm (borrar archivos).

Para  estos script debemos tener instalado aescrypt, usar el terminal, un editor tipo vim, gedit, … y ganas de teclear.

 

Instalar AES Crypt

En muchas distribuciones lo encontraras en su repositorio. Si no estuviera sigue los siguientes pasos:

Descarga desde la pagina del proyecto https://www.aescrypt.com/download/, elegir entre 32-64 bits y descomprimir el fichero desde la carpeta donde lo has descargado.

gzip -d AESCrypt-GUI-3.11-Linux-x86_64-Install.gz

darle premiso de Ejecución

chmod +x AESCrypt-GUI-3.11-Linux-x86_64-Install

Ejecuta el instalador.

./AESCrypt-GUI-3.11-Linux-x86_64-Install

 

¿Como creo un script de bash ejecutable?

Crearemos un documento de texto, en la primera linea debemos escribir

#!/bin/bash

luego escribir el codigo y darle permisos de ejecucion

chmod +x TuScriptBash

¿Que queremos hacer en este script?

  • Tenemos una carpeta con archivos y carpetas que queremos guardar en un archivo comprimido
  • También encriptaremos mediante al algoritmo AES256 dicho archivo comprimido.
  • Haremos dos script uno empaquetará y encriptará y el otro desencriptará y desempaquetará.
  • La password la pide el terminal mediante el uso de read -s.

Script para Encriptar (nombre del programa AESENCRYT)

#!/bin/bash
#Vicente Parra
#www.nukebull.com
# AES Crypt + Tar

#Variables Password entarada read -s oculta

echo “Introduce contraseña”
read -s Password

# tar + gzip no incluyo el ejecutable (-c crea archivo , z comprime gzip, -v vervose , -f  le da al archivo la terminación tar)
tar -czvf backup.tar.gz –exclude=”AESENCRYPT” *

# Encriptac. AES Crypt (-e encrypt , -p password)
aescrypt -e -p $Password backup.tar.gz

# borra los fichero intermedio tar.gz si se desea omitir comentar la siguiente linea
rm backup.tar.gz

echo Script Terminado

 

Antes de ejecutar acordarse de darle permisos.

chmod +x AESCRYPT

Para ejecutar  desde la carpeta que que nos interese hacer el backup.

./AESCRYPT

 

Script para Desencriptar ( nombre del programa AESDECRYP)

#!/bin/bash
#Vicente Parra
#www.nukebull.com
# desencriptador AES Crypt Tar

#Variables Password entarada read -s oculta
echo “Introduce contraseña”
read -s Password

# Desencriptar. AESCRYPT (-d decrypt, -p Password)
aescrypt -d -p $Password backup.tar.gz.aes

# borra los fichero intermedio tar.gz.aes si se desea desactivar comentar la siguiente linea
rm backup.tar.gz.aes

# tar + gzip  (-x desenpaqueta )
tar -xzvf backup.tar.gz

# borra los fichero intermedio tar.gz si se desea desactivar comentar la siguiente linea
rm backup.tar.gz

# borra los fichero AESDECRYPT si se desea activar descomentar la siguiente linea
# rm AESDECRYPT

 

Antes de ejecutar acordarse de darle permisos.

chmod +x AESDECRYPT

Para ejecutar

./AESDECRYPT

Podemos añadir más instrucciones, como copiar o mover a una carpeta especifica con cp o mv,, usar gpg (GnuPG) para encriptar de forma asimétrica en vez de aescript. Y otras muchas caracteristicas.

Si deseáis cualquier explicación de cualquier comando o de parte del script. Mandarme un comentario, Gracias

 

 

Keepass Password Safe

Keepass password Safe, desde hace años es es mi gestor de contraseñas, es software libre, y lo podéis descargar en la pestaña de descargas.

Es un gestor de contraseñas que guarda todos los datos en un archivo cifrado mediante el algoritmo AES256, aunque existen pugins con otros algoritmos.

La ventaja de guardarlo en un solo archivo hace que podamos guardar una copia en donde queramos, Se puede usar Windows, Linux y Android.

 

Pagina del proyecto: Keepass Password Safe
Versión Android que recomiendo, ya que no se conecta a Internet: keepass2 Ofline

¿Como se usa?

El programa es sencillo, mediante una contraseña maestra, crea un archivo encriptado donde guardará el resto de claves. También permite generar contraseñas seguras mediante un generador de contraseña.Se pueden ordenar por grupos.Para Linux en el repositorio encontrareis KeepasXC, con una GUI mejorada.
En el vídeo anterior se ve una muestra de como funciona.

Portabilidad

El archivo .kdbx contiene todas las claves, este mismo archivo lo podremos abrir desde el PC o desde el Movil,. Si no queremos pasarlo con todas las contraseñs, abrimos una copia borramos lo que no queremos que llegue al móvil y guardamos con otro nombre.
Por ejemplo podemos crear archivos; movil.kdbx, bancos.kdbx, foros.Kbdx si no las queremos en uno solo.

 

Encriptación Simétrica, Nivel Usuario.

La criptografía es una palabra de origen griego (κρύπτos (kryptós), «oculto», y γραφή (graphé), «grafo» o «escritura») que significa escritura oculta.
Un ejemplo sencillo de entender, seria invertir las palabras, aunque facil de descifrar.
Que buen dia>>>> Euq neub aid.

Esta entrada esta orientada a usuarios domestico, para puedan crear contraseñas seguras, guardar fotos y archivos. También pequeñas empresas que quieran guardar archivos de forma segura.
Daré prioridad a programas que estén en Windows y sean gratuitos, ye que son más accesible para todos.
También creare posteriormente otra entrada para Linux con script para bash usando criptografía híbrida, con un nivel menos básico.

La criptografía la podemos dividir en tres grandes grupos; Simétrica, Asimétrica e Híbrida (mezcla de las dos anteriores).
En esta entrada nos centraremos en la criptografía simétrica, como es, como usarla y que programas utilizar.

¿Que es la Criptografía Simétrica ?

Hablaremos de criptografía simétrica cuando con la misma clave podremos encriptar el mensaje (hacerlo oculto) y desencriptar (hacerlo visible).
Se utiliza principalmente para guardar archivos, guardar las contraseñas, subir archivos a la nube.
En el mundo actual donde prácticamente todo esta informatizado, existen métodos muy seguros al alcance de todos.

¿Dónde reside la fortaleza de este tipo de encriptación?

La forma más común de romper este tipo de encriptación se llama fuerza bruta, es simplemente probar claves hasta dar con ella o buscarla en un archivo, con las claves mas utilizadas. La fortaleza de este sistema esta en la clave, si esta es muy sencilla o son nombres comunes tu clave es poco efectiva o vulnerable.
Por tanto, es necesario crear una clave difícil, unas 24 cifras, incluyendo números, mayúsculas y minúsculas, (128 bits), con este tipo de claves tu archivo se puede considerar secreto con los actuales algoritmos o métodos de cifrado. Este seria un tipo de clave segura: jPChasLdbPeGbX4vYs62wuSU
En este tipo de cifrado lo más importante es la clave, independientemente del programa utilizado.
También es muy importante guardar la clave de forma segura, más abajo veremos gestores de contraseñas.

¿Qué algoritmo/método usar?

Normalmente a nivel usuario domestico aconsejo AES128 o AES256 es un estandar que encontrareis en la mayoria de programas y aún no se ha roto.
Existen más algoritmos para cifrar nuestros archivos, los más comunes son Twofish, Ghost,camellia,.. Todos a dia de hoy son muy buenos.
Para el usuario común, usando AES128 y una buena clave será suficiente, de echo este nivel de encriptación lo usan estados y empresas importantes.
Si eres de los que guarda tus datos comprometidos en la red o eres un poco paranoico, es aconsejable usar varias capas, si un algoritmo se consigue romper el otro u otros lo protegerán.

¿Programas para cifrar?

En esta entrada pondré varios programas de encriptación que estoy usando desde hace tiempo con muy buen resultado. En posteriores entradas explicare cada uno de ellos individualmente explicando como se utilizan.

  • Gestor de contraseñas:  KeePass Password Safe
    Es gratuito y lo encontramos en cualquier plataforma incluido Android. Te permite guardar todas tus contraseñas de forma segura. Enlace en el Blog Keepass Password Safe

  • Cifrar archivos: AES Crypt  es gratuito y sencillo de utilizar, junto a un programa para comprimir archivos (wiinzip, winrar,  7zip, Tar) tendremos una poderosa herramienta. Permite cifrar cualquier archivo con el botón derecho del ratón.

  • Guardar archivos en la nube (Cloud): Cryptomator es gratuito en versión PC y de pago para IOS y Android (4.99€) Todos tus archivos en Dropbox, Drive, .. estarán cifrados y tan solo tu podrás verlos.

  • Caja de Seguridad,/Disco virtual Encriptado: Veracrypt es gratuito y con muchas opciones. Crea un archivo cifrado del tamaño que configures y lo podrás abrir como si fuera otro disco duro.

Estos cuatros programas gratuitos nos permitirán guardar información de forma segura y ser nosotros los dueños de nuestra intimidad.
Hay otros programas de pago, algunos muy buenos, que se tratarán en otras entradas. También mira tu antivirus, puede que tenga  funciones de encriptación incluidas.

Si necesitáis ayuda, pon un comentario o mándame un email. Os contestare encantado

Editor gratuito para Youtube, OpenShot

Me ha surgido la necesidad de subir vídeos a youtube para mostrarlos en este blog. Buscaba algo sencillo y con lo necesario para editar videos.
Estoy empezando a usar OpenShot y realmente me da lo que necesito al mejor precio posible.

OpenShot
OpenShot
Caracteristicas:
    • Software, edición de vídeo.
    • Licencia libre, GNU-GLP ver. 3.
    • Multiplataforma Linux,Windows y Mac.
    • Mas de 70 idiomas.
    • Dirección URL, https://www.openshot.org/.
    • Soporta video en 4k.
    • Edición de titulo, entrada y créditos
    • Recorta y trocea cada clip de vídeo
    • Efectos para transiciones. Desvanecer, rebotar,…
    • Ajustes en el Audio.
    • Salida de vídeo optimizada, en multitud de formatos, incluido Youtube HD,
    • El proyecto esta activo, se actualiza constantemente.
    • Página de descarga https://www.openshot.org/download/
    • A continuación pongo un vídeo usando el programa, para que veáis como es.

 

Mi experiencia con el programa:
  • Lo estoy usando actualmente para mis primeros vídeos de Youtube, es sencillo, con todo lo necesario para empezar. Es fácil aprender a usarlo, esta en castellano, con muchas herramientas y ademas es gratuito. Pasará mucho tiempo para que necesites uno de pago
  • Lo aconsejo para empezar en Youtube y para uso domestico; vídeos familiares, de viajes,…
  • Para profesionales, la opción más acertada sería Adobe Premiere o toda la Suite de Adobe. Pero Tendrás que pagar una suscripción mensual

Antergos 18.8

 

Nos encontramos ante una distribución GNU/Linux basada en el Archiconocido Arch Linux. Antergos nade de la mano de Alexandre Filgueira, con la ayuda de Gustau Castells y Dustin Falgout el proyecto evoluciona hasta nuestros días. El 12/05/2013 sale la primera release, actualmente nos encontramos en la versión 18,8.

 

Antergos
Antergos 18.8

¿A quien esta enfocada esta distribución?

Si te gusta Arch Linux y te resulta muy engorrosa su instalación esta es tu mejor opción junto Manjaro Linux.
Necesitar un sistema para aprender linux, programar,…
Aquellos que quieran un sistema minimalista con tan solo lo que necesitas, a la vez que estable, dinámico y sencillo de instalar.Si quieres montar un servidor web, de correo,… te aconsejaría OpenSuse o Centos; optimizadas para este menester y con SeLinux o AppArmor activados por defecto en su kernel.

¿Que nos proporciona realmente Antergos?

Arch Linux es una distribución complicada de instalar y Antergos nos evita este mal trago. Crearemos una mínima instalación de Arch con el entorno de escritorio elegido, alguna herramienta de configuración y las aplicaciones básicas para el día a día,navegador, cliente de correo,…

Es ideal para instalar de segundo sistema operativo, tiene un repositorio grandísimo, estabilidad, rapidez,…Al ser una distribución Linux los parches de seguridad no tardaran meses como en otros sistemas operativos. Tardan días u horas.

 

Antergos 18.8
Antergos 18.8

Mi experiencia con Antergos.

Coincidió en el tiempo con las vulnerabilidades Meltdown y Spectre, que afectaban a mi Windows 10, durante meses mi CPU AMD se apagaba de forma aleatoria.(actualmente Microsoft ya ha subsanado el problema)
Necesitaba un sistema estable, no perder los datos antes de guardarlos, realizar una compra online y en el momento de confirmar el pago no se reiniciase el sistema,…
Linux se convirtió en necesidad, probé varias distribuciones y entre ellas Antergos. Me encanto desde el primer momento, mas tarde me compre SSD de 120Gb por algo mas de 30€ y ahí esta alojado ahora mismo.
En la instalación elegí Gnome 3 y poco mas, Luego instale los navegadores firefox y chromiun, kleopatra, evolution, gftp, firewalld y quite algún programa traía por defecto. En mi caso no instale el repositorio AUR y compile AESCrypt desde la pagina del proyecto (único programa que quería y estaba en UAR).
Es muy rápido, estable y se actualiza constantemente (rolling release). No tiene programas que te rastrean todo el día como si fueras un fugitivo (Cortana no está, no necesitas estar siempre geolocalizado,…). Menos programas innecesarios e intrusivos generan mejor rendimiento,mas estabilidad y mas seguridad, que es lo que queremos.
Mi experiencia ha sido y es muy positiva, aún la mantengo y creo que estará conmigo mucho tiempo junto con Windows 10 conviviendo en mi equipo.

 

Repositorio AUR ¿ángel o demonio?

Si te gusta programar, probar, programas en sus ultimas versiones, si te va la marcha, instalalo. Tu experiencia se vera incrementada y disfrutaras de de la esencia de las distribución Arch Linux.
Pero también tiene su lado oscuro, estos repositorios son de la comunidad y algunos pueden ser alterados de forma maliciosa.
Actividad poco probable pero que ya ha ocurrido.
El 07/06/2018 en el paquete “ACRORED” se encontró un código malicioso que interactuaba con systemd.
Vulnerabilidades hay en todos lados, el kernel mismo las tienen y se van subsanando, pero la diferencia es, que en algunos archivos de AUR poco utilizados se tarda mucho tiempo en encontrar y ser reparada.
De todos modos es una advertencia, aconsejo mirar si los paquetes tienen actividad o están obsoletos antes de instalarlos.

 

Antergos 18.8
Antergos 18.8

Bibliografía.

Sobre Antergos
https://antergos.com/
https://es.wikipedia.org/wiki/Antergos/
https://www.genbeta.com/a-fondo/asi-es-antergos-la-joya-de-la-corona-de-las-distros-linux-espanolas
Repositorio UAR
https://wiki.archlinux.org/index.php/Arch_User_Repository_(Espa%C3%B1ol)
Sobre vulnerabilidad UAR
https://lignux.com/detectados-peligrosos-scripts-en-algunos-repositorios-de-arch-linux/
https://thehackernews.com/2018/07/arch-linux-aur-malware.html