Según tengo entendido, los puntos de acceso inalámbrico que usan WPA-Enterprise (es decir, WPA plus 802.1X) pueden enviar un certificado de clave pública a un cliente durante la configuración de la conexión. El cliente puede verificar este certificado para asegurarse de que no se está conectando a un AP no autorizado (similar a la validación del certificado en HTTPS).
Preguntas:
- ¿Entendí esto correctamente?
- En caso afirmativo, ¿hay alguna manera de descargar el certificado AP? Idealmente, me gustaría una solución que funcione bajo Linux.
Me gustaría descargar un certificado autofirmado, para usarlo para verificar intentos posteriores de conexión. Esto sería más simple que pedirle al operador del AP un archivo.
Respuestas:
Sí, las configuraciones WPA-Enterprise más comunes usan PEAP o TTLS, ambas implementan TLS sobre EAP sobre 802.1X.
Por lo general, el certificado ya está publicado en algún lugar por los operadores de red para este propósito exacto. No es algo que el usuario deba pedir .
Lamentablemente, wpa_supplicant no tiene una opción para volcar los certificados, incluso en modo de depuración. (Actualizaré esto si encuentro una mejor manera). Sin embargo, aún puede monitorear el proceso de autenticación EAPOL real. Primero, instala Wireshark.
Mientras está desconectado, active la interfaz manualmente e inicie una captura en ella:
Inicie wpa_supplicant y pronto verá el protocolo de enlace TLS:
El servidor enviará sus certificados inmediatamente después de ServerHello. Seleccione el primer paquete de este tipo, luego busque en:
Haga clic derecho en la primera instancia de "Certificado ( cosas )" y elija "Exportar bytes de paquetes seleccionados". Wireshark lo guardará como un archivo, en formato DER binario. Repita esto para todos los demás certificados. El superior (servidor RADIUS) tiene información que puede configurar
altsubject_match
; el último (CA raíz) se debe dar a wpa_supplicant comoca_cert
.Ahora tiene algunos
*.crt
o*.der
archivos en formato DER binario. Conviértalos al formato de "texto" PEM:(Si su wpa_supplicant está utilizando OpenSSL como el manejador TLS, debe darle el certificado de "CA raíz"; darle el certificado del servidor no funcionará.
Tenga en cuenta que también es posible que el último certificado visto en Wireshark no sea de una CA raíz, sino que solo sea emitido por una de las CA raíz en su
/etc/ssl/certs
directorio ... Si ese es el caso, asegúrese de configurarlodomain_suffix_match
también; de lo contrario, el uso de CA públicas sería inseguro (802.1X desafortunadamente no sabe con qué "nombre de host" verificar, de la forma en que HTTPS lo haría).fuente
tpcpdump
pero funcionó de maravilla. Sin embargo, es curioso, mi transmisión solo tenía una entrada de