19 votos

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

Me gustaría actualizar mi WiFi de "WPA2 Personal" a "WPA2 Enterprise" porque sé que en principio, en un WiFi asegurado con "WPA2 Personal", los dispositivos que conocen el PSK pueden husmear el tráfico de los demás una vez que han capturado la asociación entre la estación y el AP. Para reducir el efecto que tendría un solo dispositivo comprometido en la 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" de los otros 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", necesitas un servidor RADIUS.

Ahora, por lo que entiendo, el servidor RADIUS sólo realiza la autenticación, pero no realiza el cifrado o el intercambio de material de claves. Así que básicamente, un AP obtiene una solicitud de asociación de un STA, el cliente proporciona las credenciales, luego el AP las 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.

¿Este es el modelo correcto? Si es así, entonces 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 esto es así, entonces tengo curiosidad por saber por qué requieren una máquina de servidor completo para esto, ya que, incluso para miles de usuarios, los nombres de usuario y las contraseñas no son muchos datos para almacenar y verificar las credenciales es una tarea bastante básica, por lo que parece que esto es algo que también podría ser fácilmente hecho por el propio AP. Así que, ¿por qué requerir un servidor dedicado para esto?

Así que tal vez me equivoqué y el servidor RADIUS no sólo se utiliza para la autenticación, sino para la encriptación real? Si un STA envía datos a una red utilizando "WPA2 Enterprise", los encripta con alguna clave de sesión, entonces el AP recibe los datos encriptados, pero, a diferencia de "WPA2 Personal", no puede desencriptarlos, por lo que pasa los datos al servidor RADIUS, que tiene el material clave (y la potencia de cálculo) para desencriptarlos. Una vez que el RADIUS ha obtenido el texto claro, pasa el material no cifrado 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 viejo aquí, que tiene un servidor RADIUS funcionando en él. Pero, como dije, el dispositivo es bastante viejo y por lo tanto implementa una versión antigua de RADIUS con conocidas debilidades de seguridad. Ahora me gustaría saber si esto comprometería mi seguridad WiFi si se utiliza 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 otra parte, si el atacante sólo puede hablar con el AP, que a su vez habla con el servidor RADIUS para comprobar las credenciales, entonces un "servidor RADIUS vulnerable" podría no ser un gran problema, ya que el atacante no se metería en la red WiFi, y por lo tanto no podría hablar con el servidor RADIUS, en primer lugar. El único dispositivo que hablaría con el servidor RADIUS sería el propio AP, para comprobar las credenciales, con todo el material clave generado y la criptografía realizada en el propio AP (sin compromiso). El atacante sería revocado y, por lo tanto, no podría unirse a la red y explotar las debilidades del servidor RADIUS potencialmente vulnerable.

Entonces, ¿cómo está exactamente el servidor RADIUS involucrado en la seguridad de "WPA2 Enterprise"?

18voto

Simon Puntos 165

El WPA2 Enterprise está basado 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 de legado.

El papel del servidor RADIUS es sólo al principio de la conexión, pero hace una pequeña cosa más de lo que has mencionado. 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 PA que acepte esa solicitud de conexión, el servidor RADIUS envía ese material de claves en un mensaje de "clave" RADIUS (reutilizaron un mensaje/atributo RADIUS MPPE-KEY en el que Microsoft había sido pionero) al PA, de modo que el PA sabe qué claves por usuario por sesión (incluida la clave temporal Pairwise o PTK) debe utilizar para esa sesión. Esto termina con la participación del servidor RADIUS.

Tienes toda la razón en que no se necesitan muchos caballos de fuerza para hacer funcionar un servidor RADIUS. Al igual que un servidor DHCP o un servidor DNS para una pequeña red o dominio, realmente no necesitas hardware de "clase de servidor" para ejecutarlo. Probablemente cualquier pequeña caja de red incrustada de baja potencia servirá. Hay muchos protocolos en las redes modernas donde el extremo "servidor" no requiere mucha potencia según los estándares de hoy en día. Sólo porque escuches el término "servidor", no asumas que requiere un hardware de servidor de gran potencia.


Historia de fondo

Verán, RADIUS fue originalmente una forma de mover la autenticación de los servidores PPP de su módem telefónico a un servidor centralizado. Es por eso que significa "Servicio de Autenticación Remota de Usuario Dial-In" (debería ser "Servicio de Autenticación Remota de Usuario Dial-In", pero DIURAS no suena tan bien como RADIUS). Cuando se empezó a utilizar PPP para la autenticación DSL (PPPoE, PPPoA) y la autenticación VPN (PPTP y L2TP-over-IPSec son ambas "PPP dentro de un túnel cifrado"), era natural seguir utilizando los mismos servidores RADIUS para la autenticación centralizada de todos los "Servidores de Acceso Remoto" de su empresa.

Faltaban los mecanismos de autenticación originales de la PPP y se necesitó mucha participación de los organismos normativos para crear otros nuevos, por lo que finalmente se creó el Protocolo de Autenticación Extensible (EAP) para que fuera un sistema de complemento de tipo automático para la autenticación de tipo PPP. Naturalmente, los servidores RADIUS y los clientes PPP fueron los primeros lugares que necesitaron soportar el EAP. Podrías, por supuesto, tener tu módem dial-in / servidor PPP, o tu servidor VPN, o tu servidor PPPoE / PPPoA (en realidad, L2TP PPP), o lo que sea, implementar EAP localmente, pero por ahora, RADIUS fue tan ampliamente implementado que fueron principalmente los servidores RADIUS los que lo implementaron.

Eventualmente alguien quiso una forma de requerir autenticación cuando alguien se conecta a un puerto Ethernet no vigilado en el vestíbulo o en una sala de conferencias, así que "EAP sobre LAN" fue creado 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 la Alianza Wi-Fi creó un programa de certificación de interoperabilidad / marca / marketing alrededor de 802.11i, y lo llamó Wi-Fi Protected Access 2 (WPA2).

Así que, mientras que tu AP 802.11 podría cumplir por sí mismo el papel de "Autentificador" 802.1X (WPA2-Enterprise) por sí mismo (sin la ayuda de un servidor RADIUS), no es algo que se haga comúnmente. De hecho, en algunos AP que son capaces de hacer 802.1X de forma autónoma, en realidad construyeron un servidor RADIUS de código abierto en su firmware, y realizan la autenticación 802.1X a través de RADIUS mediante bucle de retorno, porque es más fácil conectarlo de esa forma en lugar de intentar implementar su propio código de autenticación EAP, o copiar el código de algún software de servidor RADIUS de código abierto e intentar integrarlo directamente en los demonios relacionados con 802.11 de su firmware AP.


Dado ese historial, y dependiendo de la antigüedad de su servidor RADIUS propuesto, la pregunta importante es si implementa el tipo o tipos de EAP que desea utilizar para la autenticación en su red. ¿PEAP? ¿TTLS?

Asimismo, cabe señalar 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 otros casos) y el servidor RADIUS, tanto para autenticar el cliente y el servidor RADIUS entre sí, como para cifrar su comunicación. La mayoría de los servidores RADIUS permiten especificar diferentes Secretos Compartidos para cada AP, basados en la dirección IP del AP. Así que un atacante en su red tendría que ser capaz de hacerse cargo de esa dirección IP, y adivinar ese secreto compartido, con el fin de que el servidor RADIUS hable con él. Si el atacante no estuviera en la red todavía, el atacante sólo sería capaz de tratar de enviar mensajes EAP especialmente elaborados/corruptos que el AP retransmitiría a través de RADIUS al servidor RADIUS. Si el problema de seguridad que le preocupa podría ser explotado a través de mensajes EAP malformados, entonces aún podría tener un problema.

3voto

H. Kocher Puntos 138

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

Dicho esto,

1) el servidor radio puede ser fácilmente protegido por reglas de firewall, aceptando paquetes sólo de APs (el cliente wifi nunca hablará directamente al servidor radio)

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

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

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: