¿Qué hace el servidor RADIUS en una configuración WPA2 Enterprise?

17

Me gustaría actualizar mi WiFi del modo "WPA2 Personal" al modo "WPA2 Enterprise" porque sé que, en principio, en un WiFi asegurado con "WPA2 Personal", los dispositivos que saben que el PSK pueden detectar el tráfico del otro una vez que capturaron La asociación entre la estación y el AP. Para reducir el efecto que tendría un solo dispositivo comprometido en el WiFi (en modo "WPA2 Personal", sería capaz de descifrar el tráfico de otro cliente WiFi no comprometido, si antes hubiera capturado las "solicitudes asociadas" del otro clientes en modo promiscuo / monitor) Me gustaría actualizar mi WiFi a la seguridad "WPA2 Enterprise", donde, según tengo entendido, esto ya no es posible.

Ahora, desafortunadamente, para "WPA2 Enterprise", necesita un servidor RADIUS.

Ahora, por lo que entiendo, el servidor RADIUS solo realiza la autenticación, pero no realiza el cifrado o el intercambio de material clave. Básicamente, un AP recibe una solicitud de asociación de un STA, el cliente proporciona credenciales, luego el AP los pasa al servidor RADIUS, el servidor RADIUS dice "las credenciales están bien", luego el AP deja que el STA se asocie, de lo contrario no.

¿Es este el modelo correcto? Si es así, el servidor RADIUS no es más que una base de datos llena de credenciales de usuario (pares de nombre de usuario y contraseña). Si es así, tengo curiosidad por saber por qué requieren una máquina de servidor completa para esto, ya que, incluso para miles de usuarios, los nombres de usuario y las contraseñas no son una gran cantidad de datos para almacenar y verificar las credenciales es una tarea bastante básica, así que parece que esto es algo que también podría hacer fácilmente el propio AP. Entonces, ¿por qué requiere un servidor dedicado para esto?

Entonces, ¿tal vez me equivoqué y el servidor RADIUS no solo se usa para la autenticación, sino para el cifrado real? Si un STA envía datos a una red usando "WPA2 Enterprise", lo cifra con alguna clave de sesión, luego el AP recibe los datos cifrados, pero, al contrario de "WPA2 Personal", no puede descifrarlos, por lo que pasa los datos a al servidor RADIUS, que tiene el material clave (y la potencia de cálculo) para descifrarlo. Después de que RADIUS ha obtenido el texto claro, luego pasa el material sin cifrar de nuevo a la red cableada. ¿Es así como se hace?

La razón por la que quiero saber esto es la siguiente. Tengo un dispositivo bastante antiguo aquí, que tiene un servidor RADIUS ejecutándose en él. Pero, como dije, el dispositivo es bastante antiguo y, por lo tanto, implementa una versión antigua de RADIUS con debilidades de seguridad conocidas. Ahora me gustaría saber si esto comprometería mi seguridad WiFi si se usa para el cifrado en modo "WPA2 Enterprise". Si un atacante puede hablar con el servidor RADIUS cuando no está autenticado, esto podría comprometer la seguridad de mi red, por lo que no debería hacer esto. Por otro lado, si el atacante solo puede hablar con el AP, que a su vez habla con el servidor RADIUS para verificar las credenciales, entonces un "servidor RADIUS vulnerable" podría no ser un gran problema, ya que el atacante no obtendría en la red WiFi y, por lo tanto, no podría hablar con el servidor RADIUS, en primer lugar. El único dispositivo que habla con el servidor RADIUS sería el AP mismo, para verificar las credenciales, con todo el material clave generado y la criptografía realizada en el AP (sin compromisos). El atacante sería revocado y, por lo tanto, no podría unirse a la red y explotar las debilidades en el servidor RADIUS potencialmente vulnerable.

Entonces, ¿cómo es exactamente el servidor RADIUS involucrado con la seguridad "WPA2 Enterprise"?

no ser humano
fuente

Respuestas:

16

WPA2 Enterprise se basa en partes de 802.11i que se basan en 802.1X. 802.1X NO requiere un servidor RADIUS, pero así es como se hace comúnmente por razones heredadas.

La función del servidor RADIUS es solo al comienzo de la conexión, pero hace una pequeña cosa más de lo que mencionó. Como parte del mecanismo de autenticación, el material de claves se genera de forma segura en el servidor RADIUS (y el mismo material de claves también se genera en el cliente WPA2). Después de que el servidor RADIUS le dice al AP que acepte esa solicitud de conexión, el servidor RADIUS envía ese material de codificación en un mensaje de "clave" RADIUS (reutilizaron un mensaje / atributo RADIUS MPPE-KEY que Microsoft había promovido) al AP, por lo que el AP sabe qué teclas por usuario por sesión (incluida la clave temporal por pares o PTK) usar para esa sesión. Eso termina la participación del servidor RADIUS.

Tiene toda la razón en que realmente no se necesita mucha potencia del servidor para ejecutar un servidor RADIUS. Al igual que un servidor DHCP o un servidor DNS para una red o dominio pequeño, realmente no necesita hardware de "clase de servidor" para ejecutarlo. Probablemente cualquier pequeña caja de red integrada de baja potencia servirá. Hay muchos protocolos en las redes modernas donde el extremo del "servidor" no requiere mucha potencia para los estándares actuales. Solo porque escuche el término "servidor", no asuma que requiere hardware de servidor pesado.


Trasfondo

Verá, RADIUS era originalmente una forma de mover la autenticación de sus servidores PPP de módem de acceso telefónico a un servidor centralizado. Es por eso que significa "Servicio de usuario de acceso telefónico de autenticación remota" (debe ser "Servicio de autenticación de acceso remoto de usuario de acceso telefónico", pero DIURAS no suena tan bien como RADIUS). Cuando PPP comenzó a usarse para la autenticación DSL (PPPoE, PPPoA) y la autenticación VPN (PPTP y L2TP-over-IPSec son ambos "PPP dentro de un túnel encriptado"), era natural continuar usando los mismos servidores RADIUS para la autenticación centralizada para todos los "Servidores de acceso remoto" de su empresa.

Faltaban los mecanismos de autenticación originales de PPP, y se requirió una gran participación del cuerpo de estándares para crear otros nuevos, por lo que finalmente, el Protocolo de autenticación extensible (EAP) se creó para ser un sistema de complemento de tipo autenticación para autenticación similar a PPP. Naturalmente, los servidores RADIUS y los clientes PPP fueron los primeros lugares que necesitaban para admitir EAP. Podría, por supuesto, tener su módem de acceso telefónico / servidor PPP, o su servidor VPN, o su servidor PPPoE / PPPoA (realmente, L2TP PPP), o lo que sea, implementar EAP localmente, pero a estas alturas, RADIUS estaba tan ampliamente implementado que la mayoría de los servidores RADIUS lo implementaron.

Finalmente, alguien quería una forma de requerir autenticación cada vez que alguien se conecta a un puerto Ethernet sin protección en el vestíbulo o en una sala de conferencias, por lo que se creó "EAP sobre LAN" para esto. "EAPoL", como se le conocía, fue estandarizado como 802.1X. 802.1X se aplicó más tarde a las redes 802.11 en IEEE 802.11i. Y Wi-Fi Alliance creó un programa de certificación / branding / marketing de interoperabilidad alrededor de 802.11i, y lo llamó Wi-Fi Protected Access 2 (WPA2).

Por lo tanto, si bien su AP 802.11 podría cumplir con el rol completo de "Autenticador" 802.1X (WPA2-Enterprise) por sí solo (sin la ayuda de un servidor RADIUS), simplemente no se hace comúnmente. De hecho, en algunos AP que pueden hacer 802.1X de forma independiente, realmente construyeron y abrieron un servidor RADIUS de código abierto en su firmware, y realizan la autenticación 802.1X a través de RADIUS a través de loopback, porque es más fácil conectarlo de esa manera en lugar de intentar implemente su propio código de autenticación EAP o copie el código de algún software de servidor RADIUS de código abierto e intente integrarlo directamente en los demonios relacionados con 802.11 de su firmware AP.


Dada esa historia de fondo, y dependiendo de la antigüedad de su servidor RADIUS propuesto, la pregunta importante es si implementa los tipos EAP que desea usar para la autenticación en su red. PEAP? TTLS?

Además, tenga en cuenta que RADIUS utiliza tradicionalmente un "secreto compartido" conocido por el cliente RADIUS (el cliente RADIUS es el "servidor de acceso a la red": el AP en este caso, o un servidor VPN o PPP u otro "servidor de acceso remoto" en otro casos) y el servidor RADIUS, para autenticar el servidor y el cliente RADIUS entre sí, y para cifrar su comunicación. La mayoría de los servidores RADIUS le permiten especificar diferentes secretos compartidos para cada AP, en función de la dirección IP del AP. Por lo tanto, un atacante en su red tendría que ser capaz de hacerse cargo de esa dirección IP y adivinar ese secreto compartido para que el servidor RADIUS le hablara. Si el atacante aún no estaba en la red, el atacante solo podría intentar enviar mensajes EAP especialmente diseñados / corruptos que el AP retransmitiría a través de RADIUS al servidor RADIUS.

Spiff
fuente
Probablemente usaría EAP-EKE o, alternativamente, EAP-PWD si pudiera. Básicamente, lo único que quiero hacer es proteger a los usuarios, que pueden conectarse a la red, para que no puedan interceptar el tráfico de otros. Si WPA2-PSK estableciera "claves de sesión" a través de DH, eso sería perfecto para mí, pero desafortunadamente (por cualquier razón) no lo hace. No necesito ningún método de autenticación sofisticado. Todo lo que quiero es evitar que las estaciones intercepten el tráfico de los demás. Por todo lo demás, estoy bien con la seguridad de WPA2-PSK.
no.human.being
@ no.human.being Tenga en cuenta que no todos los métodos EAP admiten la creación del material de codificación necesario para 802.11i / WPA2-Enterprise. No estoy familiarizado con los dos tipos que mencionó, por lo que es posible que desee consultar en otro lugar para asegurarse de que sean adecuados para este propósito.
Spiff
1
Agradable escribir. No mencionó una razón importante por la que hay un servidor separado. Esto no se aplica a las implementaciones en el hogar, pero es una gran parte de "por qué existe esto". En cualquier implementación empresarial, los puntos de acceso no son confiables, ya que están ubicados en áreas públicas y, por lo tanto, no deben contener ninguna información del usuario. Además, con cualquier tipo de EAP que proporcione un túnel seguro al cliente (PEAP, TTLS, TLS), el AP ni siquiera participa en la autenticación, por lo que no puede interceptar las credenciales del usuario, incluso si se ve comprometido por alguien con un escalera :)
Munición Goettsch
3

WPA Enterprise (WPA con EAP) le permite tener muchos otros métodos de autenticación, como certificados digitales, tokens RSA, etc. Debe implementarse con un servidor radius, porque todos esos métodos están más allá de los nombres de usuario + contraseñas simples y el protocolo radius es el estándar de facto para la mayoría de los sistemas que necesitan AAA (autenticación, autorización, contabilidad).

Dicho esto,

1) el servidor radius puede protegerse fácilmente mediante reglas de firewall, aceptando paquetes solo de AP (el cliente wifi nunca hablará directamente al servidor radius)

2) el uso de un radio antiguo podría no funcionar, recomiendo uno de los últimos servidores freeradius

Más detalles sobre cómo funciona esto y qué debe hacer: http://wiki.freeradius.org/guide/WPA-HOWTO#Why-Would-I-Want-WPA ?

claudiuf
fuente
Si. Simplemente pensé que podría ahorrar energía (y ruido) al no instalar un servidor real para RADIUS porque no necesito "métodos de autenticación sofisticados", solo me gustaría evitar que los clientes inalámbricos se "olfateen entre sí" (ellos probablemente no, es solo un poco de paranoia extra ;-)). Básicamente, quiero la privacidad de una "red conmutada" en la red inalámbrica (que es un medio de transmisión inherente), por lo que necesito claves "por enlace" o "por cliente". "WPA2 Enterprise" probablemente se adapte a mis necesidades. Podría intentar configurar RADIUS en una placa integrada que ejecute Linux.
no.human.being
-2

FreeRadius se ejecutará en un Raspberry PI. El sistema operativo habitual es Raspbian, que es una versión de Debian, por lo que hará todas las cosas que desee que haga un servidor, por ejemplo, DHCP / DNS. Es barato, 40 dólares por una tabla desnuda, pero un presupuesto de 80 o 90 dólares para tener extras "opcionales", como un estuche y una fuente de alimentación ... He estado usando el radio en un Pi durante un par de años -24 / 7. También tiene zenmap y Wireshark. Es una plataforma de creación para probar cosas, ya que se ejecuta desde una tarjeta SD y puede copiar la tarjeta SD a su PC. Intente algo y restaure la tarjeta SD desde su PC si la arruinó.

Sean
fuente
2
Esta respuesta no explica el papel de un servidor RADIUS
janv8000