Cifrados WiFi: Protegiendo nuestra red

Leave a Comment
En este post vamos a conocer los tipos de cifrados para nuestra red WiFi y explicar conceptos básicos para evitar que "el vecino" nos "robe" el internet.

¿Por qué deberíamos proteger nuestra red?

Bien, quizá os de igual por un motivo u otro que una tercera persona acceda a vuestra red ya que puede que para vosotros no sea una necesidad tener un buen ancho de banda o simplemente no os importa. Bien, perfecto, pero... ¿Qué puede hacer un atacante una vez que ha entrado en vuestra red?
En primer lugar podría ver qué equipos hay en tu red y explotar vulnerabilidades accediento a vuestros datos. Si tenéis cámaras IP podría acceder a ellas, si vuestra contraseña del router es la que venía por defecto podría modificar los parámetros de vuestro router e incluso dejaros sin internet (aunque tendría solución). Tambíen podría "esnifar" vuestros datos y obtener vuestras contraseñas. Por tanto, ¿Salimos ganando con un poco de protección, no?

Los cifrados actuales

WEP

WEP, acrónimo de Wired Equivalent Privacy, fue uno de los primeros cifrados WiFi (sobre el 2000). Hoy por hoy se conocen las vulnerabilidades de este sistema y en apenas unos minutos se puede obtener la contraseña del router "víctima". Por tanto bajo ningún concepto lo uséis, ya que es como si no tuviéseis protección.

WPA

WPA o "Wi-Fi Protected Access" surgió para corregir las limitaciones del WEP. Introdujo mejoras de seguridad como el TKIP (Temporal Key Integrity Protocol).
WPA implementa el sistema PSK o de clave compartida. Existe una versión "personal" y otra de empresa.

WPA2

Es el estándar más moderno para proteger redes inalámbricas y el que recomienda la Wi-Fi Alliance. Al igual que el WPA existe una versión personal (WPA2-Personal) y empresarial (WPA2-Enterprise). Este sistema es compatible con WPA (pero no con WEP), por tanto no vas a tener ningún problema con los dispositivos que soporten el anterior.

¿TKIP o AES?

Sin duda elegiríamos el cifrado AES ya que en el TKIP se han descubierto algunas vulnerabilidades. De todas formas aumentando la seguridad a WPA/WPA2 nadie (en principio) va a querer conectarse a nuestra red. El único inconveniente es que algunos dispositivos pueden no soportar el cifrado AES. Por tanto informaros pero en general los smartphones y ordenadores deben de funcionaros correctamente.

Eligiendo una contraseña fuerte

Mi recomendación es que la contraseña sea de unos 15 carácteres, que contenga tanto números como mayúsculas, minúsculas y caracteres especiales (@#~$%&...). Además deberíais no usar palabras tipo "1234", "contraseña", "movistar", ni nada relacionado con vosotros.
Otro factor importante es cambiar el nombre de la red para que no sepan de qué compañía sois.
Con esto estamos evitando los ataques por fuerza bruta o por diccionario.

Espero que os haya sido útil. En próximas entregas seguiremos viendo más factores "de riesgo".

GIF Blocker: una extensión realmente útil

Leave a Comment

No sé si os habrá pasado en Twitter (por ejemplo) o navegando en otras webs donde abundan los GIFs animados. Es una locura cuando aparecen cientos de ellos reproduciéndose todos a la vez y no podéis pararlos.
Si estáis hartos de que esto ocurra tenéis la extensión GIF Blocker (enlace) que nos permitirá bloquearlos a todos.
Otra extensión similar está disponible para los usuarios de Mozilla Firefox (enlace).

Con esto evitaremos esas molestas páginas webs en las que apenas se puede navegar.
¡Saludos!

Programando en C++: Tipos de datos (primitivos)

Leave a Comment
Los tipos de datos primitivos son aquellos que están definidos dentro del lenguaje. De todas formas vamos a ver los más usados, si queréis más información (enlace).

El problema en C/C++ es que el tamaño de las variables depende únicamente del compilador. Así si trabajamos en un ordenador de 64 bits: short <= int <= long <= long long <= 64.
Por tanto podemos usar el operador sizeof( tipo_dato ) para saber el tamaño. De todas formas vamos a ver los tamaños orientativos:

Tipos de datos numéricos enteros

  • short : 2 bytes (16 bits)
  • int : 4 bytes (32 bits)
  • long : 4 bytes (32 bits)
  • long long : 8 bytes (64 bits)
  • char : 1 bytes (8 bits)
El dato tipo char almacena caracteres (según el tipo de codificación) como números. Aquí (enlace) tenéis una lista de los valores.

Tipos de datos numéricos reales

  • float : 4 bytes (32 bits)
  • double : 8 bytes (64 bits)
Estos datos nos permiten almacenar números muy grandes, pero nos ofrecen poca precisión (de aproximadamente unos 15 dígitos). Más información del sistema 'coma flotante' (enlace).

Tipo de datos lógico

El dato bool puede ser true ( != 0 ) o false ( 0 ). Tiene 1 byte.

Sigend / Unsigned

Básicamente nos permiten almacenar más numeros pero sin signo. Por ejemplo, un int normal se considera 'signed', por tanto su rango estaría en el intervalo (suponiendo que es de 32 bits) [-2^16, 2^16-1]. El menos uno se debe a que incluimos el 0 en alguno de ellos.
En cambio un unsigned int iría desde el 0 hasta 2^32.

Comentad cualquier problema, si os ha sido de ayuda o no y lo que queráis tratar en la próxima entrega.
¡Saludos!