Cómo generar una contraseña segura
Uno de los grandes problemas que nos encontramos al conectar un sistema a la red (Internet) es sin duda, los distintos ataques a los que tenemos que hacer frente. Por desgracia, no hay una persona como tal jugando con direcciones IP buscando a alguien a quien atacar, eso hoy día ha sido delegado a un ejército de sistemas «zombies» repartidos por todo el globo de forma que los ataques sean distribuidos, automatizados, rápidos y efectivos.
El momento de generar una contraseña se suele tomar a la ligera y es algo bastante importante plantear:
Primero, necesitamos una contraseña que sea fácil de recordar para poder escribirla siempre que nos la pidan.
Por otro lado, la contraseña debe ser difícil de obtener mediante fuerza bruta, (aunque el uso de GPU para desencriptar contraseñas, unido a algoritmos distribuidos en cientos de máquinas, puede reducir el tiempo para descifrar la contraseña en apenas unos minutos), de manera que cada vez hay más sitios que utilizan sistemas de autentificación en dos pasos o bien te exigen poner una contraseña con letras, números, simbolos, mayúsculas, y una longitud mínima de 15 caracteres.
Existen sistemas mnemotécnicos para ayudarnos a recordar contraseñas fuertes, pero lo que mucha gente empieza a hacer es disponer de un archivo donde guardar todas las contraseñas fuertes que utilizan y hacer uso del «copy+paste» para evitar recordarlas. Hay otras personas que utilizan contraseñas aleatorias y hacen uso del «he olvidado la contraseña» para evitar recordar semejante cadena. Sea como fuere, el uso de contraseñas fuertes es algo obligatorio incluso para algo rápido y sencillo.
En VoIP, vamos a ver que la cosa es mucho más sencilla…
Tal y como explicamos en el artículo Cómo funciona un ataque VoIP, los sistemas zombies son capaces de detectar un sistema VoIP (aunque esté en otro puerto diferente), y empezar a probar cuentas numéricas y alfanuméricas con cientos de millones de combinaciones de contraseñas hasta que ocurren dos cosas:
- El bot atacante satura el servidor provocando una denegación de servicio (Ataque DoS).
- Encuentra una combinación usuario-contraseña que le permite hacer llamadas autentificadas y «empieza el baile«.
Sobre la primera posibilidad, poco podemos hacer, salvo tener un ancho de banda suficiente (>10Mb) y utilizar un sistema de protección como sipcheck o similar, pero sobre la segunda posibilidad, lo único que nos libra es utilizar una contraseña lo suficientemente fuerte como para evitar que después de 100.000.000 de combinaciones, den con ella. Muchas personas utilizan contraseñas fáciles de recordar para nuestros teléfonos IP. Este es, sin duda uno de los mayores errores que podemos cometer.
Hay que recordar que la contraseña de una cuenta IP no es como la del correo electrónico o la de acceso a redes sociales… es un valor que se guarda en el teléfono y es el único que la usa, por lo que, ni nosotros, ni el usuario tienen por qué conocerla, ni jamás deberán introducirla, así que puede ser tan dura como necesitemos, sin miedo a olvidarla, ya que en cualquier momento podemos acceder al servidor y verla siempre que la necesitemos.
En SIP, las contraseñas pueden contener: letras (a-z, A-Z), números (0-9), símbolos (!#$%&\/()=?*[\]_:.,{}+-];) por lo que en Sinologic, hemos creado una herramienta que genera contraseñas aleatorias utilizando estas combinaciones y con una longitud suficiente (más de 10 caracteres).
La herramienta de Sinologic para generar contraseñas la tenéis disponible aquí
https://www.sinologic.net/proyectos/genpass
Hay quien utiliza direcciones MAC, o incluso códigos MD5 como contraseñas, pero esto es un grave error ya que ambas posibilidades están basadas en código hexadecimal, por lo que la única «fortaleza» es la longitud de dicho código.
Por ejemplo, en la configuración de un usuario SIP en Asterisk, podéis tener algo así:
[ElioRojano]
type=friend
host=dynamic
secret=KFAvE8}Sino+I((q
context=outgoing
nat=force_rport,comedia
qualify=6000
disallow=all
allow=g729
allow=g722
allow=alaw
La herramienta generador de contraseñas, permite incluir un trozo de texto (en el ejemplo: Sino) para identificar que la contraseña es personalizada y creada para ese caso. Puede ser el nombre de una empresa, de la persona responsable de la cuenta o incluso seleccionar el juego de caracteres que quieres utilizar para generar tu propia contraseña.