Cómo proteger datos con GPG de forma simple

Mejorando aún más la seguridad de mis datos (ver post para entender mejor) ahora uso GPG para cifrar los archivos de FlatPress. La idea surgió gracias a sieg84 y a HacKan, quienes me sugirieron que en vez de comprimir con password los archivos en un .RAR, simplemente comprimiera en .TAR.GZ y luego cifrara ese comprimido protegiéndolo con GPG.

Linux tiene muchas cualidades que me gustan, una de ellas es la ENORME documentación que tienen las aplicaciones, por lo que un simple man gpg en una terminal, listo… me devuelve toda la ayuda para aprender a trabajar con este 

Aquí les mostraré cómo pueden proteger un archivo con GPG sin muchas complicaciones, usando un password (passphrase o palabra-password) … y obviamente, luego cómo podrán acceder a él 

Supongamos que tenemos el archivo: mis-claves.txt

Para proteger a este archivo usando GPG en una terminal basta con poner:

gpg --passphrase desdelinux -c mis-claves.txt

¿Esto qué significa?

  • --passphrase desdelinux Con esto indicamos que cifraremos/protegeremos el archivo con el password: desdelinux
  • -c mis-claves.txt Con esto indicamos que es el archivo mis-claves.txt el que deseamos proteger.

Esto les creará un archivo llamado mis-claves.txt.gpg que es el cifrado, el que está protegido con GPG.

Esto tiene un detalle que al menos a mí no me gusta, pues al crearse el archivo mis-claves.txt.gpg se puede ver a simple vista (con solo ver el nombre del archivo) que es en realidad un archivo .txt, si bien NO podrán ver su contenido, personalmente no me gusta que sepan el tipo de archivo que es en realidad. Para evitar esto, podemos agregar el parámetro -o … el cual sirve para especificar el nombre del archivo final. O sea:

gpg --passphrase desdelinux -o mio.gpg -c mis-claves.txt

Esto generará un archivo llamado mio.gpg … y ya nadie sabrá qué extensión es en realidad el archivo 

Es MUY importante que sin importar los parámetros que usen, siempre dejen para el final el nombre del archivo que desean proteger, o sea… al final de la línea SIEMPRE debe aparecer : -c mis-claves.txt

Y así de simple es proteger archivos usando GPG y una palabra de password (passphrase), pero… ¿cómo descifrar un archivo?

Para poder ver el contenido de un archivo protegido con GPG es simple también  …

gpg --passphrase desdelinux -d mis-claves.txt.gpg

Como ven, lo único que cambia es que ahora al final ponemos -d (-d de descifrar) en vez del -c (-c de cifrar) que usamos antes 

Y esto es todo. Así de simple es proteger archivos con GPG sin complicarnos generando llaves ni mucho menos…

Si desean como fue mi caso, proteger una carpeta que contiene muchos archivos y subcarpetas, lo que hice fue comprimir en .TAR.GZ la carpeta y su contenido, y luego ese archivo comprimido (.tar.gz) es el que protegí con GPG.

Bueno… nada más que agregar, solo aclarar que no soy ni de lejos un experto en esto, por lo que si alguien conoce más al respecto, le agradecería que comparta con todos nosotros sus conocimientos 


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

      oroxo dijo

    quisiera hacer una observacion, soy usuario de gentoo y el paquete «app-crypt/gnupg» no lo tenia instalado, hago la observacion xq imagino que arch y otras distros del tipo «hagalo usted mismo» tendran que instalar el paquete para poder encriptar con gpg

         KZKG^Gaara dijo

      Oh vale, perfecta la aclaración 😀
      Gracias por el comentario 🙂

      Miguelinux dijo

    Hola! Tengo una duda, ¿hay alguna manera tal que al descifrar el archivo devuelva el nombre original o por lo menos la extensión original?
    Un saludo y muchas gracias 🙂

         KZKG^Gaara dijo

      Hola que tal.
      No soy experto en el tema, solo me leí la ayuda y busqué un poco de información al respecto jaja, pero… no estoy muy seguro. No leí de ninguna opción que permitiera que al descifrar, automáticamente reconozca el tipo de archivo y le ponga la extensión al final, por eso usé la opción -o para el output.

      Aunque, si cifras archivo.txt se convertiría en archivo.txt.gpg, y al descifrarlo volvería a ser archivo.txt

           HacKan dijo

        exactamente a eso se debe el comportamiento. si se le cambia el nombre luego de encriptado, no podra saberse la extension del archivo al desencriptar (en principio, dado que se puede analizar dicho archivo desencriptado y conocer asi su extension)

        saludos!

             KZKG^Gaara dijo

          En efecto 😀 … de hecho, un amigo me mostró un ejemplo de openssl … ¿conoces este comando? … nada mal jejeje.

      Félix dijo

    Basta añadir de nuevo la opción -o archivo.txt
    El problema es que automáticamente no lo hace (que yo sepa).
    Otra opción es que siempre lo comprimas en un archivo y luego hagas gpg con el nombre que quieras y así tú sabes que ese archivo siempre será un comprimido. No sé, es una idea.

      Giskard dijo

    Una pregunta, ya que no se usan el par de llaves sino una palabra clave (un password) no sería más fácil crear un RAR con clave y ya?

         KZKG^Gaara dijo

      En el script(LINK!) que publiqué aquí hace unos días lo que hacía era eso, comprimir en .RAR con password, pero… dado que GPG es mucho más seguro y fiable, por eso decidí usarlo en vez del .RAR 🙂

      Pirata, pirata dijo

    Ya, este tipo de cosas está bien para mandar los archivos cifrados a otra persona pero recuerden que antes de cifrar un archivo este se encuentra si cifrar en algún sitio y aunque lo borremos sólo bastaría con usar alguna utilidad de recuperación de datos para hacernos con él.

    Yo recomiendo el uso de particiones encriptadas con LUKS + LVM es lo más seguro que he visto: O sabes la contraseña o no entras y no afecta al rendimiento del equipo.

    Por otro lado, a la hora de borrar archivos sensibles suelo usar el comando «srm». Aunque es lento, da muy buen resultado.

         KZKG^Gaara dijo

      Sí, había pensado en la posibilidad de que se podrían recuperar los datos una vez borrados… mmm no conozco srm, le echaré un ojo a ver qué tal 😀

      El asunto de usar LVM y tal… joder, para el propósito personal de esto, o sea, para lo que estoy haciendo mi propio «sistema de seguridad», ahí creo que sí sería exagerar demasiado LOL!!.

      Gracias por tu comentario, de veras que sí 😉
      Saludos

           HacKan dijo

        Si te interesa el tema, tngo entendido que Ubuntu 12.10 tiene una opcion para hacerlo simple al instalar. Con las versiones anteriores, se hace usando el alternate.
        Pero si te interesa hacerlo ‘a mano’, pasate por mi web que escribi un tutorial al respecto hace un tiempo…

        Saludos!

             KZKG^Gaara dijo

          No entendí este comentario LOL!
          ¿Hacer qué simple al instalar?

      templix dijo

    Mejor que uses:

    $ gpg -o mio.gpg -c mis-claves.txt

    Así no dejarás la contraseña en el historial:

    $ history

    O al menos borra el comando del historial:

    $ history -d numero

         Viajerou dijo

      Eso es muy cierto, un pequeño detalle a tener en cuenta siempre.

      Iñlior dijo

    Si existe una manera de recuperar la extención comprimiendolos y redirigiendo mediante tuberias a gpg. Veamos un script.

    tar –create «$@» | gzip | gpg –default-recipient-self –no-tty –symmetric –encrypt –bzip2-compress-level 3 –passphrase «`zenity –entry –hide-text –text «Tecle el pasword de apertura»`» > «`basename %f | sed ‘s/\.[[:alpha:]]*$//’`.gpg»

    para decifrarlo
    gpg –no-tty –decrypt –passphrase «`zenity –entry –hide-text –text «Tecle el pasword de apertura»`» –output «`basename %f .gpg`.tar.gz» «$@»

      Vctrstns dijo

    Buenas.

    Buscando información sobre GPG, he encontrado esta entrada que me ha ido perfecta, pero tengo una duda, a ver si me pueden echar un cable.

    La duda es que si quiero usar gpg tengo que haber creado las claves publicas y privadas, correcto?
    Asi mismo, estoy utilizando un bash que se ejecuta desde un cron con otro usuario y quiero aprovechar las claves creadas con mi usuario desde este cron. He provado lo siguiente «gpg –local-user miUsuario» pero no me funciona.

    Estoy que quiero hacer, se puede hacer, o busco otra cosa.

    Gracias