Archivos de la categoría Seguridad Informática

Manual para instalar OpenVPN en Ubuntu con script

Hace ya algun tiempo me hice con un servidor y lo voy usando para hacer mis cosicas. Como por ejemplo instalar rTorrent para poder bajarme ficheros el cual estuvo acompañado de otro post para mover ficheros entre el servidor y mi ordenador. Esta vez lo que quiero hacer es usar el server como túnel para evitar contenidos restringidos en el país dónde estoy y mejorar la seguridad en redes abiertas.
Primero de todo tendremos que instalar el software necesario. Para ello ejecutando la siguiente linea en la consola bastará:

wget --no-check-certificate -O; chmod +x; ./

Para los que os gusta hacerlo paso a pasa y configurarlo todo al milímetro al final del post hay un link (en inglés) que os ayudará. Para el resto de mortales el siguiente script lo hace todo, es simplemente un autoinstaller que puede generar claves, revocar certificados y desinstalar OpenVPN.

# OpenVPN road warrior installer for Debian-based distros

# This script will only work on Debian-based systems. It isn't bulletproof but
# it will probably work if you simply want to setup a VPN on your Debian/Ubuntu
# VPS. It has been designed to be as unobtrusive and universal as possible.

if [ $USER != 'root' ]; then
echo "Sorry, you need to run this as root"

if [ ! -e /dev/net/tun ]; then
echo "TUN/TAP is not available"

if [ ! -e /etc/debian_version ]; then
echo "Looks like you aren't running this installer on a Debian-based system"

# Try to get our IP from the system and fallback to the Internet.
# I do this to make the script compatible with NATed servers (
# and to avoid getting an IPv6.
IP=$(ifconfig | grep 'inet addr:' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | cut -d: -f2 | awk '{ print $1}' | head -1)
if [ "$IP" = "" ]; then
IP=$(wget -qO-

if [ -e /etc/openvpn/server.conf ]; then
while :
echo "Looks like OpenVPN is already installed"
echo "What do you want to do?"
echo ""
echo "1) Add a cert for a new user"
echo "2) Revoke existing user cert"
echo "3) Remove OpenVPN"
echo "4) Exit"
echo ""
read -p "Select an option [1-4]: " option
case $option in
echo ""
echo "Tell me a name for the client cert"
echo "Please, use one word only, no special characters"
read -p "Client name: " -e -i client CLIENT
cd /etc/openvpn/easy-rsa/2.0/
source ./vars
# build-key for the client
export KEY_CN="$CLIENT"
export EASY_RSA="${EASY_RSA:-.}"
"$EASY_RSA/pkitool" $CLIENT
# Let's generate the client config
mkdir ~/ovpn-$CLIENT
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/ovpn-$CLIENT/$CLIENT.conf
cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt ~/ovpn-$CLIENT
cp /etc/openvpn/easy-rsa/2.0/keys/$CLIENT.crt ~/ovpn-$CLIENT
cp /etc/openvpn/easy-rsa/2.0/keys/$CLIENT.key ~/ovpn-$CLIENT
cd ~/ovpn-$CLIENT
sed -i "s|cert client.crt|cert $CLIENT.crt|" $CLIENT.conf
sed -i "s|key client.key|key $CLIENT.key|" $CLIENT.conf
tar -czf ../ovpn-$CLIENT.tar.gz $CLIENT.conf ca.crt $CLIENT.crt $CLIENT.key
cd ~/
rm -rf ovpn-$CLIENT
echo ""
echo "Client $CLIENT added, certs available at ~/ovpn-$CLIENT.tar.gz"
echo ""
echo "Tell me the existing client name"
read -p "Client name: " -e -i client CLIENT
cd /etc/openvpn/easy-rsa/2.0/
. /etc/openvpn/easy-rsa/2.0/vars
. /etc/openvpn/easy-rsa/2.0/revoke-full $CLIENT
# If it's the first time revoking a cert, we need to add the crl-verify line
if grep -q "crl-verify" "/etc/openvpn/server.conf"; then
echo ""
echo "Certificate for client $CLIENT revoked"
echo "crl-verify /etc/openvpn/easy-rsa/2.0/keys/crl.pem" >> "/etc/openvpn/server.conf"
/etc/init.d/openvpn restart
echo ""
echo "Certificate for client $CLIENT revoked"
apt-get remove --purge -y openvpn openvpn-blacklist
rm -rf /etc/openvpn
rm -rf /usr/share/doc/openvpn
sed -i '/--dport 53 -j REDIRECT --to-port/d' /etc/rc.local
sed -i '/iptables -t nat -A POSTROUTING -s' /etc/rc.local
echo ""
echo "OpenVPN removed!"
4) exit;;
echo 'Welcome to this quick OpenVPN "road warrior" installer'
echo ""
# OpenVPN setup and first user creation
echo "I need to ask you a few questions before starting the setup"
echo "You can leave the default options and just press enter if you are ok with them"
echo ""
echo "First I need to know the IPv4 address of the network interface you want OpenVPN"
echo "listening to."
read -p "IP address: " -e -i $IP IP
echo ""
echo "What port do you want for OpenVPN?"
read -p "Port: " -e -i 1194 PORT
echo ""
echo "Do you want OpenVPN to be available at port 53 too?"
echo "This can be useful to connect under restrictive networks"
read -p "Listen at port 53 [y/n]: " -e -i n ALTPORT
echo ""
echo "Finally, tell me your name for the client cert"
echo "Please, use one word only, no special characters"
read -p "Client name: " -e -i client CLIENT
echo ""
echo "Okay, that was all I needed. We are ready to setup your OpenVPN server now"
read -n1 -r -p "Press any key to continue..."
apt-get update
apt-get install openvpn iptables openssl -y
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn
# easy-rsa isn't available by default for Debian Jessie and newer
if [ ! -d /etc/openvpn/easy-rsa/2.0/ ]; then
wget --no-check-certificate -O ~/easy-rsa.tar.gz
tar xzf ~/easy-rsa.tar.gz -C ~/
mkdir -p /etc/openvpn/easy-rsa/2.0/
cp ~/easy-rsa-2.2.2/easy-rsa/2.0/* /etc/openvpn/easy-rsa/2.0/
rm -rf ~/easy-rsa-2.2.2
rm -rf ~/easy-rsa.tar.gz
cd /etc/openvpn/easy-rsa/2.0/
# Let's fix one thing first...
cp -u -p openssl-1.0.0.cnf openssl.cnf
# Fuck you NSA - 1024 bits was the default for Debian Wheezy and older
sed -i 's|export KEY_SIZE=1024|export KEY_SIZE=2048|' /etc/openvpn/easy-rsa/2.0/vars
# Create the PKI
. /etc/openvpn/easy-rsa/2.0/vars
. /etc/openvpn/easy-rsa/2.0/clean-all
# The following lines are from build-ca. I don't use that script directly
# because it's interactive and we don't want that. Yes, this could break
# the installation script if build-ca changes in the future.
export EASY_RSA="${EASY_RSA:-.}"
"$EASY_RSA/pkitool" --initca $*
# Same as the last time, we are going to run build-key-server
export EASY_RSA="${EASY_RSA:-.}"
"$EASY_RSA/pkitool" --server server
# Now the client keys. We need to set KEY_CN or the stupid pkitool will cry
export KEY_CN="$CLIENT"
export EASY_RSA="${EASY_RSA:-.}"
"$EASY_RSA/pkitool" $CLIENT
# DH params
. /etc/openvpn/easy-rsa/2.0/build-dh
# Let's configure the server
cd /usr/share/doc/openvpn/examples/sample-config-files
gunzip -d server.conf.gz
cp server.conf /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0/keys
cp ca.crt ca.key dh2048.pem server.crt server.key /etc/openvpn
cd /etc/openvpn/
# Set the server configuration
sed -i 's|dh dh1024.pem|dh dh2048.pem|' server.conf
sed -i 's|;push "redirect-gateway def1 bypass-dhcp"|push "redirect-gateway def1 bypass-dhcp"|' server.conf
sed -i "s|port 1194|port $PORT|" server.conf
# Obtain the resolvers from resolv.conf and use them for OpenVPN
cat /etc/resolv.conf | grep -v '#' | grep 'nameserver' | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | while read line; do
sed -i "/;push \"dhcp-option DNS\"/a\push \"dhcp-option DNS $line\"" server.conf
# Listen at port 53 too if user wants that
if [ $ALTPORT = 'y' ]; then
iptables -t nat -A PREROUTING -p udp -d $IP --dport 53 -j REDIRECT --to-port $PORT
sed -i "/# By default this script does nothing./a\iptables -t nat -A PREROUTING -p udp -d $IP --dport 53 -j REDIRECT --to-port $PORT" /etc/rc.local
# Enable net.ipv4.ip_forward for the system
sed -i 's|#net.ipv4.ip_forward=1|net.ipv4.ip_forward=1|' /etc/sysctl.conf
# Avoid an unneeded reboot
echo 1 > /proc/sys/net/ipv4/ip_forward
# Set iptables
iptables -t nat -A POSTROUTING -s -j SNAT --to $IP
sed -i "/# By default this script does nothing./a\iptables -t nat -A POSTROUTING -s -j SNAT --to $IP" /etc/rc.local
# And finally, restart OpenVPN
/etc/init.d/openvpn restart
# Let's generate the client config
mkdir ~/ovpn-$CLIENT
# Try to detect a NATed connection and ask about it to potential LowEndSpirit
# users
EXTERNALIP=$(wget -qO-
if [ "$IP" != "$EXTERNALIP" ]; then
echo ""
echo "Looks like your server is behind a NAT!"
echo ""
echo "If your server is NATed (LowEndSpirit), I need to know the external IP"
echo "If that's not the case, just ignore this and leave the next field blank"
read -p "External IP: " -e USEREXTERNALIP
if [ $USEREXTERNALIP != "" ]; then
# IP/port set on the default client.conf so we can add further users
# without asking for them
sed -i "s|remote my-server-1 1194|remote $IP $PORT|" /usr/share/doc/openvpn/examples/sample-config-files/client.conf
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/ovpn-$CLIENT/$CLIENT.conf
cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt ~/ovpn-$CLIENT
cp /etc/openvpn/easy-rsa/2.0/keys/$CLIENT.crt ~/ovpn-$CLIENT
cp /etc/openvpn/easy-rsa/2.0/keys/$CLIENT.key ~/ovpn-$CLIENT
cd ~/ovpn-$CLIENT
sed -i "s|cert client.crt|cert $CLIENT.crt|" $CLIENT.conf
sed -i "s|key client.key|key $CLIENT.key|" $CLIENT.conf
tar -czf ../ovpn-$CLIENT.tar.gz $CLIENT.conf ca.crt $CLIENT.crt $CLIENT.key
cd ~/
rm -rf ovpn-$CLIENT
echo ""
echo "Finished!"
echo ""
echo "Your client config is available at ~/ovpn-$CLIENT.tar.gz"
echo "If you want to add more clients, you simply need to run this script another time!"

“Happy tunneling

Bonus: Para los que os guste un poco más el heavy metal aquí un tutorial paso a paso con explicaciones más detalladas.

Me declaro abiertamente en contra la seguridad biométrica

Después de la presentación del iPhone 5S la gente estaba en contra de de la inclusión del lector de huellas dactilares en el aparato. El motivo era que Apple tendría las huellas dactilares de millones de personas, y en consecuencia porqué no la NSA. Y esto es un gran problema para nuestra privacidad ciertamente, aunque el problema no se acaba aquí.

A pesar de que se hayan usado las huellas dactilares como métodos identificativos únicos para señalar a los autores de un crimen en las pasadas décadas, quizás no sea la mejor opción para la seguridad de los dispositivos.

Se calcula que el 90% de estos dispositivos pueden ser engañados usando gelatina que uno mismo puede cocinar en casa. Incluso en un colegio australiano los niños lograron engañar a estos dispositivos usando gominolas!

Los principales problemas que nos vienen a la cabeza después de la suplantación es el que pasa si sales de la ducha y tienes los dedos arrugados? O tienes las manos frías? Y si te quemas o te haces un corte? La respuesta es: se puede usar el pin xD Con esto pretendía mostrar que aun nos queda un rato para mejorar.

Supongamos que no pasa nada, que nos identifican el 100% de las veces.

Los expertos recomiendan cambiar las claves que usamos en nuestros servicios de forma periódica para evitar problemas de seguridad por el simple motivo de que pueden ser interceptadas y una vez que no son secretas pierden todo su valor.

Ahora la pregunta, ¿cómo vas a cambiarte la huella dactilar de forma periódica?

Y el golpe de gracia, si alguien quiere robarte la información que almacenas quizás te quedes sin dedo. #JustSaying

Bonus: Ya se ha crackeado el lector de huellas del iPhone 5S

Linkedin recomendaciones de contacto sin motivo aparente

El otro día me dediqué a mirar las recomendaciones de contacto que me enseñaba Linkedin y vi algunas personas que no tenían que aparecer. No tenían que aparecer porque no teníamos ningún tipo de conexión ni de segundo ni tercer grado, en algunos casos las recomendaciones no tenían más que apenas unos pocos contactos (menos de 30), de ubicación geográfica tanto de la vivienda como de la empresa en algunos casos no está ni en la misma comunidad autónoma y no formaban parte de la misma industria prácticamente se podría decir que ellos eran de letras y yo de números.

Indagando un poco Marc me ha pasado un link interesante LinkedIn: The Creepiest Social Network en el que hace algunas indagaciones sobre este mismo problema.

En Linkedin Help Center dice que las sugerencias de contactos se hacen de dos formas:
1) Mediante la relación entre contactos, industria, empresa, experiencias o lugares de formación comunes.

2) Contactos que has importado de tu cuenta de email.

El autor del post anteriormente mencionado al igual que yo no tenemos la conexión entre Linkedin y Facebook. Las únicas aplicaciones externas a Linkedin que les he permitido el acceso es Slideshare y twitterfeed.

Finalmente se llega a la conclusión que Linkedin saca información de lugares dónde no se dicen. Y todo parece indicar que en Silicon Valley se comparten más datos de lo que pensábamos, esto incluye la [en] NSA.

Con este post quiero invitar a la reflexión 😉

Bonus: Os dejo un reportaje sobre Google Books de [cat] Sense ficció, Google i el Cervell mundial.

Posibles problemas del Big Data

No todo es maravilloso en el Big Data, también tiene algunos inconvenientes que es necesario saber para no caer en errores.

Correlación: Que algo suceda no quiere decir que tenga una correlación que nos afecte. Por ejemplo que la gente que viene a trabajar los lunes esté más cansada y que los lunes tengamos más trabajadores que vienen en bus no quiere decir que al venir en bus se cansen más. Puede ser que su fin de semana fuera agotador.

Ahora ya no se pueden trazar estadísticas desde el despacho de la oficina, se tiene que hacer experimentos en el mundo real y comprobar que las hipótesis con sus conclusiones son ciertas.

No todas las organizaciones (incluida la administración) son capaces o tienen ganas de adaptarse.

Comprender los resultados: Prácticamente cualquier ordenador ahora te puede calcular grandes cantidades de datos, pero detrás de los resultados tiene que haber una conclusión. Los números por si solos son estériles, tiene que haber una parte humana para interpretar los resultados correctamente y sacar las conclusiones acertadas.

Problemas de base: Todos los datos están en un mismo sitio? Los poseedores de estos son las mismas personas? Puede pasar que en una empresa los datos estén repartidos entre los diferentes departamentos y almacenados de distintas formas. Esto requeriría una colaboración distinta entre los distintos departamentos de la misma empresa.

Pero no sólo esto, sino que también puede pasar que la empresa no sea la propietaria de los datos y consecuentemente no los puedas usar en según que circunstancias o necesites permisos.

Problemas de identificación: Esta es la incapacidad de identificación de los datos. Pongo un ejemplo más aclarador. Si lo que transmite datos es una tarjeta SIM como sabemos si es hombre o mujer, su edad… Los datos son de más utilidad si están ligados con las personas.

Problemas de privacidad: cada vez más los clientes quieren tener más control sobre sus datos y en que forma se usan, por lo que normalmente tienen que autorizar un permiso expreso para que sus datos se usen. A parte de esto la ley de cada país dictamina como se tienen que tratar estos datos, y en ocasiones como España, esta ley es muy dura. Todo esto puede terminar como 1984 de George Orwell.

Información desactualizada: Algunas veces nos entestamos en guardar datos. Esto es bueno para hacer predicciones, pero no por eso tenemos que dejar de adquirir nueva información. Basar decisiones en datos desactualizados no es muy sabio. Siempre es mejor tener información actualizada, forzando un poco más la situación podemos encontrar el ejemplo de que un cliente se ha mudado y la residencia que tenemos ya no es válida.

Incapacidad de tratamiento de la información en tiempo real: Algunas veces no vamos a necesitar los datos de inmediato, pero otras veces si que necesitamos saber los resultados progresivos para actuar al respeto. Por ejemplo, de que sirve tener los niveles de existencias si sólo se calculan una vez por semana? Si los tienes actualizados posiblemente no tengas problemas de aprovisionamiento. Sé que es un ejemplo infrecuente raro pero sirve.

 No todos los datos son información: hay infinidad de motivos por los cuales el 100% de nuestros datos no aportan información. Como por ejemplo duplicidad de datos P.ej. Retweets manuales (o la misma info en diferentes redes sociales), backups, etc.

Problemas de relevancia: No toda la información tiene la misma importancia. Hay ruido en Internet, pero además para lo que algunos puede ser ruido para otros puede ser música. Seguro que los diarios Chinos son importantes para los Chinos, pero para mi no me aportarían demasiado a menos que viviera allí.

Como veis no todo son ventajas, aunque a mi parecer vale la pena intentarlo. El futuro está en la optimización de los recursos y en esto se basa el Big Data.

Esos amigos del Facebook que son unos conocidos

Con más de 900M de usuarios Facebook es la caña, todos estamos metidos. Competimos por quien la tiene más larga (la lista de amigos, claro está). Actualmente tengo 287 “contactos” y ya son demasiados.

No creo que el problema sea yo, sino todos los demás (típico). Dime con cuantos de tus contactos has hablado en el último mes? Un mes es mucho tiempo y no me creo que hayas hablado con más de la mitad. Sigue pensando, en 6 meses, y en un año? Cuantos de ellos saben lo que tu estudias o de lo que trabajas? Y tu de ellos lo sabes? Sabes dónde viven? Un amigo esto lo sabe, Keep thinking…

Eso de coleccionar contactos al principio todos lo hemos hecho, hasta darnos cuenta de que no sirve de nada más que para fardar. Eso de ir acumulando amigos como el que colecciona sellos es algo un poco inútil. Y que es eso de agregar como a amigos comercios? Aun no saben que existen las fanpages?

Si haces un amigo hoy lo vas a tener mañana y pasado a menos que lo borres. A medida que van pasando los años vas conociendo gente nueva que vas agregando. Pero al cerrar las etapas de tu vida no borras esos amigos, sino que permanecen allí. Pueden ver todo lo que tu haces, tus fotos, etc.

Debido a mi reticencia de mi privacidad voy borrando amistades que sé que no volveré a ver y que no he tenido mucho contacto. Cuando hay más “cercanía” los agregas, pero luego como no han sido una amistad verdadera la cosa se enfría hasta el punto que pasan a ser unos simples conocidos. Por no rajar ya de los que te agregan por el simple hecho de haber salido de fiesta juntos alguna vez o por el simple hecho de pertenecer al mismo pueblo.

Facebook va a terminar siendo nuestro teléfono ya que nos comunicaremos a través de él, en el mejor de los casos. En el peor se apropiará de nuestras vidas, sabrá más que nosotros mismos.

Supongo que en el fondo esto es una justificación por la cual tengo “tan pocos amigos” o más bien, mi justificación de porque de vez en cuando voy borrando algunos. Al fin y al cabo creo que con 100 contactos menos haría lo mismo… Creo que ninguno de ellos o muy pocos se daría cuenta de que ya no me tienen.

Facebook sucks! Pero el problema no está en la plataforma, sino en la gente. Tenemos que aprender a distinguir entre amigos, conocidos y saludados. Aunque si lo queremos para cotillear y descubrir que nuestra ex se ha hecho pareja nueva admitamos que somos unos cotillas y no unas personas súper sociales.

Ten en cuenta que en Facebook todo el mundo está de fiesta y es feliz, pero las caras en el metro no demuestran lo mismo. Escoge tu realidad.

Inspirado en Facebook: amigos, conocidos y conectados

Los grandes nos controlan

Ahora ya no solo los países nos espían, las grandes corporaciones también lo hacen. Quizás sea con buena intención, pero eso no quita importancia al asunto. Hace poco se descubrió que algunas compañías telefónicas de EEUU controlaban los sms, emails y todo lo que ocurriera en el smartphone para “mejorar” su servicio. Creo que el principal problema no es que nos espíen, sino que lo hagan sin que lo sepamos, o mejor dicho, sin que la gran mayoría sea consciente. Antes de seguir ved el siguiente vídeo.

Principalmente me voy a centrar en Google ya que más de una vez se ha puesto de manifiesto la moralidad tanto de Facebook como de su creador.

Google con el lema “Don’t be evil”, se ha posicionado como una empresa con valores morales, moderna y para la gente joven. Pero poco a poco se ha ido posicionando de un modo distinto al inicial. Como con la regulación de internet o la recolección de datos. Google es una gran base de datos saviamente utilizada.

Lejos de criticar todos los datos que recolectó Google con los coches del StreetView (wifis, emails…), está recolectando muchos de nuestros datos vía internet.

Los datos que almacena son impresionantes debido a todos los servicios de los que dispone. Google posiblemente sea la empresa que más datos tenga y la que mejor los usa. Cada vez que realizamos una búsqueda, Google sabe de nosotros:

  • Lo que hemos buscado anteriormente, y de este modo nos ofrece unos resultados menos ambiguos y mas centrados en nuestros intereses.
  • Que comparten y que les gusta a nuestros amigos, con más relevancia con su red social Google+ también usa datos de Facebook y Twitter, con la premisa de que si les gusta a nuestros amigos a nosotros también.
  • Lo que han buscado otros usuarios, si la mayoría de la gente que busca una palabra en Google no entra en en primer resultado o entra pero vuelve a buscar para entrar al segundo Google deducirá que el segundo resultado es mejor que el primero.
  • Google Analytics es de Google, y me atrevería a decir que el 99% de las webs que tienen algún método de seguimiento de los usuarios usan Google analytics, y de este modo Google sabe si los usuarios les gusta tu web o no y actuar en consecuencia.
  • Blogger es de Google, él sabe lo que gusta a sus blogeros, los temas interesantes…
  • Rastrea la web de forma continuada y almacena todos los datos incluso algunos protegidos por robots.txt o tags específicas. Además de resistirse a borrar los datos ya almacenados.
  • Gmail quiere decir GoogleMail, todos nuestros emails están en su poder.
  • Adwords y Adsense lo mismo desde diferentes prespecitvas, Google sabe lo que se busca vender y a que precio estás dispuesto porque entren en tu web. Uno de los factores del precio es la cantidad de veces que la gente entra en tu anuncio o el tiempo que pasan luego en tu web.
  • Google docs, hermosa herramienta para editar archivos en linea evitando así tener que enviar copias por email a todos los colaboradores.
  • Google reader, controla que webs son mas leídas o cuales tienen su tráfico mas fiel.
  • Google calendar, no se le pasa ni un evento y si es interesante quizás actúe en consecuencia.
  • Youtube, sabe lo que vemos, sabe lo que subimos.

Me he dejado muchos otros servicios y factores influyentes pero… Aun no estás asustado? Busca cualquier cosa en Google, pídele a un amigo que haga busque lo mismo y compara resultados.

Acojonante no? Esperemos que todo sea por un bien y no les de por hacer el mal. Pero hasta que punto queremos ser desnudados? O hasta que punto seremos capaces de creernos lo que hay en nuestra burbuja?

¿Como crear una contraseña segura?

Muchas veces simplemente por simplicidad, por vagancia por comodidad o por lo que sea usamos siempre la misma contraseña para todos los servicios. Además muchas veces esa contraseña es demasiado simple, hecho que compromete la seguridad de nuestras cuentas y servicios. Empecemos pues:

¿Como es una contraseña segura?

1- La contraseña debe ser alfanumérica, debe constar de letras mayúsculas, minúsculas y números.

2- Cuando sea posible introducir caracteres no “normales” en nuestro password como ?$%&…

3- Debe tener más de 6 caracteres, 8 para ir bien, pero cuantos mas mejor

4- Que no sea una palabra que salga en el diccionario, las palabras son ilimitadas, las combinaciones infinitas

5- Evitar que sean nombres de persona o fechas, como tu nombre y cumpleaños

6- No usar la misma contraseña en todos los servicios, lo ideal seria una contraseña por sitio web

No te emociones haciendo miles de contraseñas imposibles que no consigas recordar. Te voy ayudar a saber como crear una contraseña segura (con la teoría y luego ejemplos/práctica).


Para empezar pensaremos en una frase fácil de recordar, de la cuál solo usaremos las primeras letras de cada palabra. En la frase debe haber espacio para poner el nombre del servicio que entremos (gmail, facebook, twitter…).

Ahora solo cogeremos la primera letra de cada palabra, y las dos primeras del servicio al que accedemos. Lo ponemos todo junto sin espacios (o poniendo un espacio al final solamente para joder :P, siempre que se pueda).

Ahora cambiaremos algunas letras por números, A=4 E=3 i=1 O=0 T=7 B=8 S=5 G=6. Aunque puedes usar mas números. Si quieres puedes añadir números al principio o al final.

Las letras que estén en posiciones múltiples de 3 serán mayúsculas, si hay un número podemos poner en mayúscula la anterior.

Si el sistema te lo permite usa /&%$! etc.


La frase que he pensado es: “estoy intentando logearme para entrar en X”. Sustituiremos X por gmail, quedando “estoy intentando logearme para entrar en gmail”. Cogemos la primera letra de cada palabra quedando “eilpeegm”.

Cambiamos las letras por números quedando “3ilp336m”. Ahora pondremos las mayúsculas donde sea requerido, quedando “3iLp336m”.

Para terminar usaremos los caracteres especiales, dejando “/&3iLp336m%$”.

Ahora ya tenemos una super contraseña!

Ya se que esto puede parecer un poco lioso, pero si lo haces de un modo habitual te será más fácil. No te desanimes ti te cuesta un poco, pero piensa que estamos colgando información muy sensible en internet.

Para terminar recuerda que el sistema más seguro es el que no está conectado, no se puede acceder a él, está apagado y no está conectado a nada, pero quién quiere eso?

Puedes aplicar un nuevo y diferente algoritmo siguiendo estos pasos.