Archive for Herramientas Utiles

junio 20th 2018

Gestores de contraseñas: qué son, cómo se usan y cuál es el mejor

Número de lecturas: 848
{lang: 'es-419'}

Hackeruna: “Les comparto un post interesante que en medida resume mi experiencia con este tipo de aplicaciones y luego de varias pruebas y buscando la que mas se acomode a mi necesidad decidi continuar utilizando: LastPass “

Últimamente la seguridad de nuestras contraseñas ha vuelto a salir a la palestra a raíz del Celebgate y la filtración de cinco millones de contraseñas de Gmail. Y es que por mucho que tratemos de ir a otros modelos de autenticación o busquemos medidas de seguridad adicionales, las contraselas son prácticamente inevitables a día de hoy.

Por eso en Xataka hemos querido hacer un repaso al tema, explicando qué es realmente una contraseña segura y cómo podemos crearlas nosotros mismos. También revisaremos gestores de contraseñas, viendo cuáles son más recomendables y cómo nos pueden ayudar.

Creando contraseñas seguras

keyskeyboard.jpg

Empezando por lo primero: ¿qué es una contraseña segura? La respuesta es fácil: una contraseña que no pueden adivinar ni ordenadores ni humanos. Por ejemplo, 28712 es una contraseña que le costará adivinar a una persona, aunque un ordenador no tardaría mucho haciendo intentos aleatorios (fuerza bruta). Por otra parte, costaría que un programa adivinase mellamoguillermojulián, pero igual alguien que me conozca apenas tarda dos intentos en encontrarla.

Los consejos básicos suelen ser que usemos contraseñas suficientemente largas (12 caracteres es suficiente para que un ataque por fuerza bruta sea prácticamente imposible, ni ahora ni en unos cuantos años), y sobre todo que no sean comunes. Aquí va una lista más o menos completa:

  • Cuantas menos palabras de diccionario uses, mejor. Sí, “libroordenadorpatata” es una contraseña larga pero son tres palabras comunes, sencillas de adivinar.
  • No uses datos personales, o al menos no directamente. Un ordenador no adivinará que tu contraseña es “alamedilla85”, pero igual alguien que sepa dónde y cuándo naciste igual sí saca esa contraseña.
  • Por supuesto, tampoco uses tu nombre usuario o nombre real como contraseña.
  • Usa símbolos, números, y mayúsculas.
  • No uses contraseñas comunes, como “1234”, “contraseña” o “asdfg”.
  • Usa contraseñas diferentes para cada servicio. El consejo más importante, diría yo.
  • Cambia cada cierto tiempo las contraseñas.

A estas alturas estos consejos son conocidos por todos, y seguro que cualquiera puede aporrear el teclado y sacar una contraseña imposible de adivinar, como jhg7896/%asd7asdgFA&1.

La cuestión es que no nos sirve de nada tener una contraseña segura si no nos acordamos de ella. Buscando sobre este tema, de hecho, me encontré con una frase que debería quedársenos grabada:

La seguridad a costa de la usabilidad, es a expensas de la seguridad

Traducción: para que una contraseña sea de verdad segura, tiene que ser fácil de recordar. Para ello hay dos opciones. La primera es tener un algoritmo para crear tus contraseñas, de tal forma que sólo tengas que recordar una serie de pasos y no cuarenta contraseñas. Uno de ejemplo:

  1. Cogemos una frase fácil de recordar: yo juego al baloncesto con el número 15.
  2. Nos quedamos con la letra inicial de cada palabra: yjabcen15. Con esto ya tenemos una base.
  3. Para que la contraseña sea distinta para cada sitio, añadimos un guión y el nombre del servicio en mayúsculas: yjabcen15-XATAKA.
  4. Y ya para acabar, añadimos después el número de vocales que tenga el servicio, pero sustituyéndolo por un símbolo. En este caso shift + 3 es “·”, así que la contraseña final es yjabcen15-XATAKA·.

Al final acabamos con una contraseña de 17 caracteres, suficientemente segura tanto para ordenadores como para humanos. Lo único malo es que nos exponemos a que alguien adivine nuestro algoritmo, así que siempre podemos añadir algo de “salsa secreta”: por ejemplo, en lugar de usar el número de vocales del servicio, le sumamos un número secreto que sólo sepamos nosotros y nos quedamos con el último dígito del resultado. La cuestión es usar un método que nos resulte fácil de recordar y que no sea demasiado sencillo para que alguien lo adivine.

passwords-1.jpg

Tampoco hace falta romperse mucho la cabeza con las contraseñas. Los tipos de ataques a los que vamos a estar expuestos como usuario común son dos: ataques de fuerza bruta al hash de nuestra contraseña (cuando un atacante entra en una web y obtiene la lista de contraseñas hasheadas de los usuarios) y ataques personales de alguien que quiera entrar específicamente en nuestra cuenta. Para lo primero basta con no tener una contraseña común: a partir de un mínimo de seguridad los atacantes no van a invertir tanto tiempo para encontrar unas pocas contraseñas más.

Y para lo segundo, suele bastar con que la contraseña no tenga datos personales ni sea simple de adivinar para alguien que nos conozca, así que en cuanto nos compliquemos un poco nos quitamos este posible escenario.

En resumen, aunque es obvio que cuanta más seguridad mejor, en cuanto sigamos unos mínimos consejos de seguridad (contraseñas largas y no repetidas en diferentes servicios) tendremos la confianza de que no estaremos al alacance de los ataques más comunes.

Gestores de contraseñas

Otra posibilidad es dejar a los gestores de contraseñas que nos hagan el trabajo: ellos generan contraseñas aleatorias y las recuerdan por nosotros. Simplemente tenemos que limitarnos a saber la contraseña maestra que da acceso a nuestras cuentas. En Genbeta hicimos en su momento varias comparativas de servicios del estilo.

Además de generar las contraseñas, estos gestores se integran en nuestro navegador para rellenar los formularios de login de los sitios web, de tal forma que con sólo pulsar un botón se copie el usuario y contraseña. También son capaces de rellenar automáticamente perfiles cuando nos registramos, o de guardar las contraseñas cuando entramos en un sitio que no teníamos guardado. En muchos casos también podremos guardar otro tipo de credenciales, aunque no estén ligadas a páginas web.

Las contraseñas se almacenan cifradas usando nuestra contraseña (y en algún caso datos adicionales), de tal forma que nadie más que nosotros puede leerlas. Así, podemos crear contraseñas muy seguras sin que haga falta que nos acordemos de ellas: ya lo hace el gestor por nosotros.

Ahora mismo, yo daría tres opciones: Lastpass, 1Password y KeePass.

keepass.png

KeePass es una utilidad de código abierto que mantiene nuestras contraseñas cifradas en una base de datos. La ventaja es que absolutamente todo está bajo nuestro control. La desventaja es que tenemos que preocuparnos nosotros de instalar además los plugins para los navegadores y de encontrar una forma de sincronizar las contraseñas entre dispositivos. Entre aplicaciones oficiales y no oficiales, está disponible para prácticamente cualquier sistema.

1password.png

1Password tiene la misma idea de KeePass, pero es más fácil de usar, de integrar y además está preparado para sincronizar a través de Dropbox. Tiene aplicaciones para Windows, Mac, iOS y Android.

El último es mi favorito y el que yo recomendaría: Lastpass. La principal desventaja es que tus contraseñas se almacenan en la nube, aunque Lastpass promete que están cifradas con una clave derivada de tu contraseña maestra y correo, y que aunque un hacker entrase en sus servidores no podría ver ninguna contraseña. A cambio, LastPass puede ofrecer más controles de seguridad: permitir logins sólo desde ciertos países, impedir que entren desde Tor, activar autenticación en dos pasos o incluso cerrar sesiones en ciertos ordenadores.

¿Por qué recomendaría Lastpass? Aparte de porque ya me he acostumbrado, creo que si vamos a sincronizar nuestras contraseñas entre dispositivos es mejor hacerlo con un servicio dedicado a ello que guardar nuestra base de datos en otras nubes o que ande rondando por ahí con un USB. De todas formas, en la práctica, cualquiera de los tres servicios es igual de seguro si los usamos bien.

¿Podemos confiar en un gestor de contraseñas?

En cuanto a los posibles problemas de seguridad, es cierto que es un único punto de fallo: un acceso ahí y tienen todas nuestras contraseñas. Pero por otra parte, ¿qué es más fácil? ¿Asegurar una cuenta o asegurar cincuenta? Podemos aumentar las medidas de seguridad en un único punto y darle más seguridad a todas nuestras contraseñas. Además, estos productos, como decía antes, están dedicados a mantener tus contraseñas seguras y probablemente vayan a hacer un mejor trabajo de lo que harías tú sólo.

Un gestor de contraseñas nos puede dar más seguridad que la que podríamos lograr la mayoría de nosotros por nuestra cuenta.

Realmente es muy difícil que alguien acceda a los datos de tu gestor de contraseñas si tienes una buena contraseña maestra. Los datos se guardan cifrados y, en el caso de 1Password y Lastpass se transmiten por HTTPS. Incluso aunque hubiese alguien leyendo todo lo que mandas por Internet, no podría ver ninguna contraseña. Tampoco tendría éxito un atacante que entre a los servidores de Lastpass o que acceda a tu base de datos en Dropbox (o cualquier otro servicio de sincronización): sólo vería un montón de datos inútiles, imposibles de descifrar.

Y además, siempre podemos combinar los gestores de contraseñas con otros métodos. Por ejemplo, dejando por ejemplo las cuentas importantes (correo, bancos) con contraseñas seguras que no se guarden en el gestor, y dando a esas cuentas una capa más de protección con autenticación en dos pasos.

A modo de conclusión, en estas cosas hay que usar el sentido común, minimizar riesgos sin olvidarnos de la comodidad (no sirve de nada tener un método superseguro para gestionar contraseñas si no lo usamos), y procurar no depender de una única herramienta o método – mucho mejor usar un gestor y tu memoria que sólo un gestor: ¿qué pasa si éste deja de funcionar?.

Fuente:

https://www.xataka.com/

febrero 5th 2018

Instalar composer en Amazon AMI running on EC2

Número de lecturas: 1034
{lang: 'es-419'}

Para instalar composer en amazon se debe seguir los siguientes pasos:

Fuente:
gist.github.com/asugai/6694502

 

noviembre 27th 2017

Renombrar varios archivos a la vez, en lote, desde consola (linux)

Número de lecturas: 2750
{lang: 'es-419'}

Muchas veces tenemos un montón de ficheros y queremos modificar en lote su nombre de archivo por alguna circunstancia, añadir texto, suprimir texto, reemplazar algún carácter por otro… y nos llevaría mucho tiempo ir editando uno a uno cuando lo que queremos es hacer la misma edición para todos. Para ello podemos renombrar todos los archivos en lote, todos a la vez, usando desde una consola Linux el comando rename (*ver pie) con expresiones regulares que nos permitan reemplazar lo que necesitemos. Mostraremos características, algunos ejemplos y la explicación de expresiones regulares para usar con rename:

Características:

Parámetros del comando rename:
-v (Verbose: modo detallado, nos saca en pantalla lo que se va haciendo en el proceso)
-n (No Action: no realiza la acción, solo nos muestra lo que haría, es importante poner este parámetro junto con -v la primera vez que ejecutamos para comprobar que el resultado que vamos a obtener es el que queremos)
-f (Force: sobrescribe los ficheros existentes)
*.* para que trate todos los archivos con extensión del directorio
\ Localiza caracteres especiales tipo [ , {, (, -, _, “.”, …

 

Ejemplos:

1) Añadir algo tras una parte del nombre del archivo que es común en todos los ficheros.
Ejemplo:
imagenXXXX.jpg por imagen_NEW_XXXX.jpg

# rename 's/imagen/imagen_NEW_/' *.jpg -v-n

2) Renombrar un grupo de imágenes con nombres diferentes. Si tenemos un grupo de imágenes (por ejemplo PNG) a las que les queremos añadir una información en la parte final del nombre de la imagen antes de la extensión.
Ejemplo:
nombreimagen.png por nombreimagen_150x150.png

# rename 's/\.png/\_150x150.png/' *.png -v -n

3) Vamos a suponer que queremos reemplazar los guiones bajos por guiones medios (“_” por “-“) en los nombres de nuestros archivos de un directorio determinado.

# rename 's/_/-/' *.jpg -v -n

Podemos ejecutar repetidamente por si hay varios guiones bajos en el nombre del archivo o utilizar expresiones regulares de repetición tipo {m} {n}… * Ver más abajo la referencia de expresiones regulares

4) Añadir texto al inicio del nombre del fichero. Con el carácter ^ le indicamos al comando rename que se sitúe en el comienzo del nombre del fichero y ahí inserte o ejecute la segunda parte.
Ejemplo:
leccion 1.doc,
leccion 2.doc
por
tema – leccion 1.doc,
tema – leccion 2.doc …

# rename 's/^/tema – /' *.doc -v -n

5) Si queremos eliminar varios caracteres antes de un punto de corte determinado.
Ejemplo:
texto1_abc_001_small.jpg,
texto2_abc_002_small.jpg,
texto3_abc_003_small.jpg
por
texto1_small.jpg,
texto2_small.jpg,
texto3_small.jpg

Utilizamos para el corte la cadena “_small” y le decimos que nos elimine los 8 caracteres (\w) anteriores, o los reemplace por lo que indiquemos en la segunda parte del comando rename.

# rename 's/\w{8}\_small/_small/' *.jpg -v -n

5b) Si queremos reemplazar desde un punto determinado de corte, pero respetando un número concreto de caracteres numéricos antes de la parte donde se produce el corte. Para este caso usamos el elemento “$1” en la cadena de la parte derecha, para que nos coja esa variable obtenida de la parte izquierda.  Viendo el ejemplo se entenderá mejor.
Ejemplo:
texto1_uno001_small.jpg,
texto2_otro002_small.jpg,
texto3_cualquiera003_small.jpg …
por
texto1_uno_ADD-001_small.jpg,
texto2_otro_ADD-002_small.jpg,
texto3_cualquiera_ADD-003_small.jpg …

Utilizamos para el corte la cadena “_small” y le decimos que nos guarde los 3 caracteres numéricos (\d) anteriores (001, 002, 003…) utilizando el $1 en la segunda parte del comando (la expresión de la derecha) Nos añadirá o modificara lo indicado en la segunda parte del comando rename justo antes de esos 3 caracteres reservados antes del corte.

# rename 's/(\w{3})\_small/_ADD–$1_small/' *.jpg -v -n

6) Cambiar mayúsculas y minúsculas.
Ejemplo:
mi_fichero.txt por MI_FICHERO.TXT

# rename 'y/a-z/A-Z/' *.txt -v -n

7) Eliminar del nombre del fichero caracteres especiales que no están entre la letra a y la z (a-z) . Dejando en el nombre del fichero solo caracteres alfanuméricos.
Ejemplo:
mi-fichero.txt por mifichero.txt

# rename 'v/[^a-z]//' *.* -v -n

Para cambiar varios caracteres lo ejecutamos varias veces:
Ejemplo:
mi-fichero-con-varios-caracteres.txt por mificheroconvarioscaracteres.txt
Lo ejecutaremos 4 veces.

 

Expresiones regulares:

A continuación dejo un listado explicando (en inglés) las expresiones regulares que se pueden utilizar con este comando rename:

^ matches the beginning of the line
$ matches the end of the line
. Matches any single character
(character)* match arbitrarily many occurences of (character)
(character)? Match 0 or 1 instance of (character)
[abcdef] Match any character enclosed in [] (in this instance, a b c d e or f) ranges of characters such as [a-z] are permitted. The behaviour of this deserves more description.
[^abcdef] Match any character NOT enclosed in [] (in this instance, any character other than a b c d e or f)
(character){m,n} Match m-n repetitions of (character)
(character){m,} Match m or more repetitions of (character)
(character){,n} Match n or less (possibly 0) repetitions of (character)
(character){n} Match exactly n repetitions of (character)
(expression) Group operator.
\n Backreference – matches nth group
expression1|expression2 Matches expression1 or expression 2. Works with GNU sed, but this feature might not work with other forms of sed.
\w matches any single character classified as a “word” character (alphanumeric or “_”)
\W matches any non-“word” character
\s matches any whitespace character (space, tab, newline)
\S matches any non-whitespace character
\d matches any digit character, equiv. to [0-9]
\D matches any non-digit character

 

* Please note that the rename command is part of the util-linux package and can be installed on a Debian or Ubuntu Linux, using the following syntax:

$ sudo apt-get install renameutils

Fuente:
bonaval.com

noviembre 24th 2017

¿Qué es y para que sirve un sandbox en la informática?

Número de lecturas: 1066
{lang: 'es-419'}

A continuación veremos una explicación simple para que todo el mundo pueda comprender lo que es un sandbox en el mundo de la informática.

¿QUÉ ES UN SANDBOX?

Un sandbox es un mecanismo de seguridad para disponer de un entorno aislado del resto del sistema operativo.

Todos los programas que se ejecutan dentro de un sandbox lo hacen de forma controlada mediante los siguientes aspectos:

  1. Se les asigna un espacio en disco. Estos programas no podrán acceder a ningún espacio del disco que no les haya sido asignado previamente.
  2. Podemos hacer que nuestros programas se ejecuten en un sistema de archivos temporal (tmpfs) para aislarlos del resto del sistema operativo.
  3. También se les asigna un espacio en memoria. Los programas no podrán acceder a otras partes de la memoria que no les hayan sido asignadas.
  4. Les podemos dar o restringir la capacidad para acceder y consultar dispositivos de almacenamiento externos.
  5. Les restringimos la capacidad para que puedan inspeccionar la máquina anfitrión.
  6. Podemos restringir el acceso de los programas a la red, al servidor de las X, al servidor de sonido, etc.
  7. Podemos limitar el ancho de banda que usa un determinado programa.
  8. Etc.

Consecuentemente podemos afirmar que los programas se ejecutan en un entorno controlado y separado del sistema operativo. Por lo tanto el hecho de ejecutar un programa en un sandbox es un ejemplo específico de virtualización.

¿QUÉ UTILIDAD TIENE UN SANDBOX?

Nos podemos hacer la idea que su principal utilidad es ejecutar programas de forma segura y sin peligro de comprometer el resto del sistema operativo.

Algunos ejemplos de los casos en que podemos utilizar un sandbox son los siguientes:

  1. Instalar y usar de forma segura programas que no son fiables y/o pueden contener virus y/o código malicioso.
  2. Usar programas que tienen el potencial de comprometer la seguridad de nuestro sistema operativo como por ejemplo un navegador web, Skype, un lector de pdf, un keygen descargado de Internet, etc.
  3. Crear un entorno de pruebas para ejecutar programas o un código que acabamos de crear.
  4. Para descargar Torrents.
  5. Etc.

Por lo tanto podemos ver que un sandbox no es de uso exclusivo para programadores o expertos informáticos. También es útil para todo tipo de usuarios.

Algunos de los navegadores web que usamos disponen de su propio sandbox. No obstante no es mala idea usar dos capas de protección porque los navegadores web son altamente susceptibles de sufrir problemas de seguridad.

¿CÓMO PODEMOS USAR UN SANDBOX?

En función del sistema operativo que usemos existen diferentes software que nos permitirán ejecutar programas dentro de un sandbox. Algunos ejemplos son los siguientes:

  1. GNU-Linux: Firejail, Glimpse.
  2. Windows: Sandboxie, Shadow Defender.

Fuente:

geekland.eu