La idea de usar 802.1x como un medio para combatir el acceso no autorizado a la red no es nueva. Cada uno de nosotros debe haber encontrado un servicio de mensajería del servicio de entrega, que puede ver un cable de conexión de la manga de una chaqueta de la empresa, y ya puede ver cómo él, al notar un enchufe RJ-45 libre, se apresura hacia él con un movimiento rápido ...
Sin embargo, si en el concepto general el uso y la configuración de 802.1x con autorización a través de RADIUS es simple y vencido, en este caso hubo un incidente, cuya solución ofreceré a continuación.
Dado:- Interruptor de acceso - EX2200, JunOS 12.3R2.
- Servidor RADIUS basado en NPS Windows Server 2012R2.
- Un zoológico diverso de dispositivos de este tipo: televisores, AppleTV, impresoras y otras pequeñas bestias de red, que no pueden iniciar sesión como participantes normales y adecuados a través de certificados o PEAP. Cada uno de los dispositivos en Active Directory tiene su propia cuenta en la unidad organizativa correspondiente con sAMAccountName = MAC (en minúsculas, sin caracteres de separación), contraseña = sAMAccountName.
Para los departamentos o grupos de seguridad que contienen estos dispositivos, se ha creado una FineGrainedPasswordPolicy por separado para poder establecer contraseñas inapropiadas para los estándares de seguridad.
Configuración original para 802.1x en EX2200:
//set actual interfaces set interfaces interface-range ACCESS_PORTS member "ge-0/0/[0-40]" // Config interface range as L2 ports set interfaces interface-range ACCESS_PORTS unit 0 family ethernet-switching set protocols dot1x authenticator authentication-profile-name dynamicvlan set protocols dot1x authenticator radius-options use-vlan-id set protocols dot1x authenticator interface ACCESS_PORTS supplicant single set protocols dot1x authenticator interface ACCESS_PORTS transmit-period 10 set protocols dot1x authenticator interface ACCESS_PORTS retries 0 set protocols dot1x authenticator interface ACCESS_PORTS mac-radius set protocols dot1x authenticator interface ACCESS_PORTS supplicant-timeout 10 //set actual reject-vlan and fail-vlan set protocols dot1x authenticator interface ACCESS_PORTS server-reject-vlan default set protocols dot1x authenticator interface ACCESS_PORTS server-fail vlan-name default set protocols dot1x authenticator interface ACCESS_PORTS guest-vlan default //set actual password set access radius-server 172.17.xx secret "xxx" set access profile dynamicvlan authentication-order radius set access profile dynamicvlan radius authentication-server 172.17.xx
Todas las estaciones de trabajo iniciaron sesión sin problemas, pero cualquiera de los shushera mencionados anteriormente - no.
Wireshark mostró obstinadamente que NPS envía Access-Reject con el código EAP 4, que, como se conoce en círculos estrechos, significa Fallo.
Informativo, sin embargo, como siempre ...
El protocolo utilizado por el solicitante para la autenticación de mac-radius es EAP-MD5 de forma predeterminada.
También hay opciones de PEAP y PAP.
PEAP no está disponible para EX2200.
Estamos intentando configurar PAP. En texto plano, por supuesto, realmente no quería, pero, por no tener lo mejor, manejamos el preciado equipo
set protocols dot1x authenticator interface ACCESS_PORTS mac-radius authentication-protocol pap
y (redoble de tambor) - Error de sintaxis - útilmente nos dice Juniper.
Durante el enfrentamiento, las amenazas con un soldador y otras medidas represivas, el sitio web de Juniper sugirió que esta opción solo está disponible para el firmware de la versión 15.1.
Parecería, aquí está, una solución al problema. Pero no, el mismo Juniper no solo lo recomienda, sino que también protege de todas las formas posibles la costumbre de la obscenidad como el firmware 15.1 en el EX2200. Grit, utilización del procesador central y RAM por encima de la norma, por lo tanto, 12.3: el techo de la versión JunOS para los afortunados propietarios de EX2200.
Bien, trataremos con el protocolo que envía los datos del interruptor a NPS.
Entonces resultó que por defecto los envía a eap-md5, ¿qué qué? - Correctamente, está deshabilitado en Windows Server, a partir de la versión 2008; dicen que no es seguro. Varias consultas en Google dan el resultado deseado: un archivo de registro que incluye el protocolo que necesitamos.
Sin embargo, NPS responde obstinadamente a las solicitudes de impresoras y otros
Access-Reject .
Sacó cigarrillos, recordó que lo había tirado, lo escondió ...
Google, quién está allí en el mundo ... Pero no, esto es de otra ópera ...
Ok Google?
Autenticación MAC 802.1x con NPS RADIUSDespués de algunas páginas de google, en el foro ubnt encontré lo que estaba buscando. Debe habilitar varios parámetros para las credenciales de los dispositivos y luego volver a crear las contraseñas y, voila, Miracle. Además, resultó incluso mejor de lo esperado. Eap-md5, por supuesto, no es una buena noticia, pero aún mejor que el texto sin formato.
La configuración resultante, la configuración y las capturas de pantalla de la política bajo el spoiler.
Configuración EX2200, políticas NPSArchivo de registro mágico que incluye soporte para EAP-MD5 en Windows Server 2012 R2 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\4] "RolesSupported"=dword:0000000a "FriendlyName"="MD5-Challenge" "Path"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\ 00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,52,00,\ 61,00,73,00,63,00,68,00,61,00,70,00,2e,00,64,00,6c,00,6c,00,00,00 "InvokeUsernameDialog"=dword:00000001 "InvokePasswordDialog"=dword:00000001
Después de realizar cambios en el registro, debe reiniciar el servicio NPS
Stop-Service IAS Start-Service IAS
Un script que establece la configuración necesaria para las cuentas del dispositivo: $devices=Get-ADUser -SearchBase "ou=802.1x-groups,ou=devices_groups,dc=company,dc=local" -Filter * foreach ($device in $devices) { set-aduser -Identity $device.name -UserPrincipalName ($device.name+"@company.local") -PasswordNeverExpires $true -AllowReversiblePasswordEncryption $true -CannotChangePassword $true Set-ADAccountPassword -Identity $device.name -NewPassword (ConvertTo-SecureString -AsPlainText $device.name -force) }
De hecho, establece los parámetros equivalentes a una captura de pantalla. Pero, una cosa es dejar un par de dispositivos, y otra muy distinta cuando tienes más de veinte. El script también restablece la contraseña para la cuenta del dispositivo, que es necesaria después de habilitar el cifrado inverso.
Configuración de la política de NPS:- Indicamos el grupo con dispositivos y el tipo de puerto.

- Después de manipular el registro, nuestro querido MD5-Challenge aparece en la lista de protocolos disponibles. Nosotros lo elegimos

- Establecemos la configuración restante en función de los requisitos de la implementación lógica. No es diferente de la configuración estándar RADIUS + 802.1x.

El resultado:- Los dispositivos de red como televisores, Apple TV, impresoras están autenticados por 802.1xy miembros del grupo.
- Las contraseñas no se transmiten en texto claro, sino al menos encriptadas.
Lista de direcciones, guías y recursos:Recomendaciones de Juniper para la versión de software en EX2200Soporte EAP-PAP en dispositivos Juniper para autenticación MAC RADIUSComunidad UBNT dando el último puntapié en la dirección correcta