¿Para que necesitamos esto?
Si habéis leído las ultimas noticias sobre seguridad,sabréis que se ha descubierto una grave vulnerabilidad en el protocolo wpa2 que permite a un atacante descifrar el trafico inalámbrico, realizar ataques mitm,etc.. , por lo que si no usamos un canal seguro https o vpn, este trafico sera revelado a nuestro atacante. Es de esperar que en las próximas horas se publiquen los parches para las actualizaciones en clientes, pero también lo es que muchas actualizaciones no serán parcheadas en algunos dispositivos por considerarlos obsoletos, como seguramente sea el caso de los dispositivos con android instalado.
¿Que podemos hacer?
A parte de esperar a las correspondientes actualizaciones, podemos, configurar nuestro router para usar WPA-AES en vez de WPA-TKIP lo que evitaría que el atacante pudiera inyectar trafico, pero si tu dispositivo forma parte de la «obsolescencia programada» de los fabricantes, puede que este no sea parcheado nunca de forma oficial, por lo que tal vez vaya siendo hora de securizar mejor nuestra conexiones inalámbrica,para por lo menos saber que en casa vamos a tener seguridadACTUALIZACION Radius o wpa enterprise no protege contra KRACK https://security.stackexchange.com/questions/171515/does-eap-ttls-mitigate-against-krack, puesto que el ataque se realiza después de la autenticación.
¿Que es un servidor radius? Radius es un protocolo de comunicaciones, que provee de una autentificacion centralizada a los servicios de red, el servidor radius se encarga de comprobar al autenticidad de las conexiones clientes para validar el acceso a la red de los mismos.
¿Que necesitamos?
- Raspberry Pi 2 o superior
- WiFi USB with Antenna para la raspberry https://elinux.org/RPi_USB_Wi-Fi_Adapters
- Otro equipo a raspberry para montar el servidor radius
En mi caso usare un adaptador usb con chipset Zydas ZD1211 que compre hace ya bastantes años para «auditorias» wifi :P
Ap wifi
Para montar nuestro punto de acceso wifi en la raspberry seguiremos los pasos indicados en nuestro articulo sobre Rogue AP https://elbinario.net/2016/07/12/rogue-access-pointap-con-raspberryprimera-parte/
Ahora que tenemos nuestro Ap, necesitamos haber unas pequeñas modificaciones para configurar wpa2 enterprise en nuestro fichero hostapd.conf que creamos en el articulo anterior, quedando un fichero parecido a este:
ssid=APconLinux
interface=wlan0
driver=nl80211
ieee8021x=1
hw_mode=g
channel=1
wpa=2
wpa_key_mgmt=WPA-EAP
rsn_pairwise=CCMP
auth_algs=1
auth_server_addr=192.168.1.50 #ip_servidor_radius
auth_server_port=1812 #puerto_servidor_radius
auth_server_shared_secret=passwordRandom #el password que definamos en nuestro radius para clientes
Servidor radius Para la implementación del servidor radius vamos a usar freeradius
Instalamos el paquete freeradius
apt-get install freeradius
Configuramos la autentificacion peap
vim /etc/freeradius/3.0/mods_available/eap
Añadimos los usuarios
vim /etc/freeradius/3.0/users
Añadimos una configuración para nuestro ap(raspberry)
vim /etc/freeradius/3.0/clients.conf
Habilitamos mschap_v2
vim /etc/freeradius/3.0/mschap
¿Porque configuramos mschap_v2 si esta considerado como inseguro?: este articulo es para indicar una configuración simple de servidor radius básica, lo idóneo seria configurar eap-tls pero ello requeriría generar tanto certificados para los servidores como para todos los clientes que fueran a conectarse al radius y ello complicaría la idea de este articulo, de todas maneras mschap_v2 es inseguro si no se usa encapsulacion, y en este caso se la estamos pasando mediante peap.
Configuracion android
Una vez que tenemos andando nuestro hostapd y radius vamos a configurar nuestro movil android para que se conecte a la red.
Configuramos el metodo de autenticacion a la red
Configuramos nuestras credenciales
Con este tendremos nuestro servidor radius andando, obviamente si tenéis un router con soporte wpa2 enterprise, no tendreis que montar el ap, solo teneis que configurarlo con la ip y el secret de nuestro servidor radius.
Muy buen post, muy bien explicado e interesante. Me interesan estos temas, probaré con esto, gracias.
Gracias por compartir.
Comentar que parece ser que implementar RADIUS no evita que sea vulnerable a KRACK.
Cierto, KRACK actúa justo después de que la autenticación radius se halla producido por lo que el túnel de cifrado ya no te protege de este ataque cuando la autenticación se ha terminado.https://security.stackexchange.com/questions/171515/does-eap-ttls-mitigate-against-krack.
Gracias por comentarlo.