Seguridad Wi-Fi empresarial – Servidores radius (III)

En esta tercera y última parte sobre seguridad Wi-Fi empresarial se detalla como conectar con diferentes clientes, desde varios sistemas operativos al servidor radius.

Primero se empezará a detallar como conectarse desde Windows 7:

Lo primero que hay que hacer es instalar la autoridad certificadora o CA.

De los certificados que se crearon en el artículo anterior tenemos root.pem, que es el que hay que instalar:

A la hora de instalarlo tenemos la opción de que se guarde automáticamente en una ubicación o de elegir un almacén concreto, que es la opción adecuada. Una vez seleccionada, se selecciona guardar en “Entidades de certificación raíz de confianza”.

Ya está instalado el certificado, ahora hay que configurar manualmente nuestra red Wireless, ya que Windows por sí solo no lo hace, por tanto debemos crear un perfil de forma manual.

Para ello, desde centro de redes y recursos compartidos, iremos a administrar redes inalámbricas y pulsaremos en agregar.

El nombre de la red debe coincidir con el que pusimos, es decir wifi_radius, los demás datos los rellenamos tal como se ven en la imagen:

Al pulsar el botón siguiente se muestra una nueva ventana donde se debe pulsar “cambiar la configuración de la conexión”.

Ahora en la pestaña seguridad se debe poner peap, en el tipo de autenticación de la red y darle a configurar.

Dentro de las propiedades de EAP , se elige el certificado instalado (SAW) y en método de autenticación EAP-MSCHAP v2.

Hay que pulsar sobre el botón configurar para desactivar la opción de login con las credenciales de Windows para la autenticación MSCHAP v2, desactivando el check.

Ya está configurado, solo queda conectar con wifi_radius, nos pedirá usuario y contraseña (juanito y passwordparajuanito), ya estaremos conectados.

Configuración desde un sistema Linux:

Existen dos opciones, la primera y más fácil es con Network-manager. Es un cliente en modo gráfico que suele venir en la mayoría de las distribuciones y que es muy fácil de configurar.

Una vez elegida la red, saldrá automáticamente la ventana de configuración y quedará de la siguiente forma:

El certificado CA será el archivo creado root.pem, y la clave “passwordparajuanito”.

En caso de no tener network-manager, se puede conectar desde un terminal, gracias a wpa supplicant:

aptitude install wpasupplicant

Una vez instalado, se debe crear el archivo de configuración, en este caso se llamará wpa_supplicant.conf

nano /etc/wpa_supplicant.conf

Y dentro quedará de la siguiente forma:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
network={

        proto=WPA
        pairwise=CCMP TKIP
        group=CCMP TKIP
        ssid="wifi_radius"
        key_mgmt=WPA-EAP
        eap=PEAP TTLS TLS
        identity="Juanito"
        password="passwordparajuanito"
        ca_cert="/home/user/miscertificados/pem/root.pem"
        phase2="auth=MSCHAPV2"
}

Para conectar, se ejecuta el commando wpa_supplicant, llamando al archivo de configuración creado:

wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf -dd

(Donde wlan0 es nuestra interfaz inalámbrica)

Al conectarnos saldrá algo como esto:

PA: TX EAPOL-Key - hexdump(len=99): 01 03 00 5f fe 03 12 00 10 00 00 00 00 00 00 00 02 
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 fa 1c 27 8c 5c a9 73 b6 c2 b6 46 a9 13 2c 9e 1b 00 00
wlan0: WPA: Key negotiation completed with 00:18:39:82:ff:61 [PTK=CCMP GTK=CCMP]
wlan0: Cancelling authentication timeout
wlan0: State: GROUP_HANDSHAKE -> COMPLETED
wlan0: CTRL-EVENT-CONNECTED - Connection to 00:18:39:82:ff:61 completed (auth) 
      [id=0 id_str=]
wpa_driver_wext_set_operstate: operstate 0->1 (UP)
netlink: Operstate: linkmode=-1, operstate=6
EAPOL: External notification - portValid=1
EAPOL: SUPP_PAE entering state AUTHENTICATED
EAPOL: Supplicant port status: Authorized
EAPOL authentication completed successfully
RTM_NEWLINK: operstate=1 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
WEXT: if_removed already cleared - ignore event
EAPOL: startWhen --> 0
wlan0: RSN: processing PMKSA candidate list
wlan0: RSN: not in suitable state for new pre-authentication
random: Got 4/4 bytes from /dev/random
EAPOL: authWhile --> 0

Configuración en un sistema Android:

Los sistemas Android, sólo son compatibles con la extensión pk12. Cuando se crearon los certificados, también se hizo en este formato, por tanto en este caso se debe copiar a la raíz de la tarjeta de memoria del teléfono la CA llamada root.pk12 y así poder instalarla.

Una vez copiada a la tarjeta SD del teléfono, se debe ir a ajustes, seguridad y dentro de seguridad, en la zona de almacenamiento de credenciales se debe pulsar sobre “instalar desde tarjeta SD”.

Para instalar el certificado, pedirá la clave del certificado, que pusimos a la hora de crearlo “passwordcert”

Una vez creado el certificado, pide un PIN o clave para protección del móvil, que ha de ponerse de forma obligatoria:

Ya está instalado el certificado en el sistema, sólo queda ir a ajustes, conexiones inalámbricas y redes, Wi-Fi, conectar con wifi_radius.

La configuración de los campos se hace tal y como muestran las imágenes:

Ahora sólo queda darle a conectar:

Para sistemas operativos IOS, dependiendo de la versión del sistema operativo, o se configura directamente en ajustes de conexión o previamente ha de crearse un perfil con la utilidad iphone configuration utility para luego instalar ese perfil en el sistema.

Este perfil es el que instala el certificado que luego usaremos en la configuración.

Para descargar la aplicación y usarla desde Windows, la podemos descargar desde este link.

Comments

  1. Muy buen artículo, muy útil e interesante…una cosa tengo que decir, que las pequeñas y medianas empresas también son un blanco para los ciberdelincuentes. El error está en que no se consideran importantes y piensan que no disponen de información valiosa. Y por esto no se protegen contra las amenazas. Vamos a ver en el futuro si cambian de pensamiento!

  2. Sabiendo que MS-CHAPv2 está roto[1], ¿qué otro tipo de autenticación recomendarías para sistemas Windows?

    Saludos y enhorabuena por la serie de artículos

    [1] https://www.cloudcracker.com/blog/2012/07/29/cracking-ms-chap-v2/

  3. Juan Manue Sanz says

    Siempre puedes usar EAP-TLS, con la pega de que tendrás que crear y usar certificados de cliente en cada máquina que se quiera conectar

  4. Hola, gracias por el tutorial.

    ¿Qué me recomendarían para que la autenticación sea segura pero no necesite agregar ningún tipo de certificado en los equipos clientes?. Planeo usar los usuarios y contraseñas de un servidor Ldap.

  5. Hola Daniel, sin certificado no hay nada seguro, pero si no te queda otra deberías usar EAP, y con claves lo mas complicadas y largas posible (al menos 13 caracteres) con caracteres alfanuméricos, símbolos, mayúsculas etc..
    En cualquier caso siempre te recomiendo EAP-PEAP v2 – TLS, olvidate de usar MsChapV2 o GTC

    De todas formas hoy por hoy casi es mejor usar WPA2 PSK AES con clave robusta y desactivando WPS del AP que usar WPA enterprise.

  6. Gracias Juan Manuel.

    Dejar solo WPA2 con AES no es una opción ya que aunque la clave sea segura esta termina prostituyéndose y se la pasan entre el personal. Se va de la empresa alguien que sabía la clave y toca cambiarla y avisar a todos, eso genera mucho trabajo, es mejor que cada usuario o equipo tenga su propia clave.

    Se me ocurre lo siguiente… Si uso un certificado comercial en el servidor Radius los equipos podrían verificar su autenticidad sin que sea necesario agregar el certificado a los equipos clientes ¿Verdad?

    Hoy en día existen certificados gratis, creo que podría ser una opción.

  7. Ok, claro puedes usar un certificado ya firmado, es más creo recordar que la casa de la moneda y timbre te generaba un certificado de forma gratuita por periodo de un año. En caso de usar MSCHAPv2 sin certificados, usa claves robustas con eso por lo menos te aseguras de poner las cosas difíciles. Saludos

Trackbacks

  1. […] En esta tercera y última parte sobre seguridad Wi-Fi empresarial se detalla como conectar con diferentes clientes, desde varios sistemas operativos al servidor radius. Primero se empezará a detalla…  […]