Vraag om een lab-switchpoort om eapol_test te draaien — en je hebt het gereedschap waarschijnlijk verkeerd gelezen. De peer en de RADIUS-client leven allebei in dat ene binaire bestand, dus het enige gesprek dat de machine verlaat is de RADIUS-uitwisseling zelf. Een gerouteerde tunnel tussen de testhost en de authenticatieserver is de hele netwerkvereiste. Het fysieke 802.1X-pad is iets anders dat je misschien nog moet testen, en dat is dit niet.

Waarom de naam mensen op zoek laat gaan naar een switchpoort

EAPOL is het frameformaat dat een supplicant en een switch op een LAN gebruiken, en het gereedschap leent de naam omdat het uit die wereld is gegroeid. Wat wordt geleverd is een testprogramma dat de peer-toestandsmachine en de RADIUS-client in één proces draagt, zodat de twee helften van een 802.1X-gesprek elkaar nooit over een kabel ontmoeten. De naam is geschiedenis, geen topologievereiste.

Mensen vragen nog steeds om de poort omdat het programma op het gedrag van een authenticator rust, en dat klinkt als hardware. De lijm reproduceert de toestandsmachine van de authenticator, zodat een test zonder enig access point in de ruimte wordt afgerond; het gecompileerde binaire bestand koppelt de EAP-peer van wpa_supplicant aan de RADIUS-client van hostapd. De switch weghalen haalt de EAPOL-hop weg, niet de authenticatielogica. Wat overblijft is een client-server-uitwisseling tussen twee IP-hosts.

Volg één RADIUS-uitwisseling hop voor hop

Volg één poging en het pad is kort. De peer in eapol_test produceert een EAP-Response voor de methode die je hebt geconfigureerd, en de RADIUS-client in hetzelfde proces stopt die in een Access-Request, met de payload in EAP-Message-attributen naast een Message-Authenticator. Dat datagram is geadresseerd aan de server op UDP-poort 1812 en verlaat de host als elk ander IP-pakket, en daar komt de tunnel in beeld. De server beoordeelt het tegen zijn beleid en zijn methodemodules en antwoordt dan met Access-Challenge, Access-Accept of Access-Reject.

eapol_test -c peap-mschapv2.conf -a 198.51.100.20 -p 1812 \
  -s REPLACE_WITH_RADIUS_SECRET -t 30

Het binaire bestand neemt het serveradres, de poort en het gedeelde geheim van de opdrachtregel, en de methode en inloggegevens uit een configuratieblok in wpa_supplicant-stijl. Niets in die aanroep hangt af van nabuurschap op laag 2: -a wordt via routing bereikt, en een VPN die het routeert is genoeg. Als de tunnel het datagram laat vallen, faalt de test precies zoals tegen een onbereikbare server op een plat LAN.

Het binaire bestand en het serverbeleid zijn verschillende lijsten

Twee onafhankelijke lijsten bepalen of een methode kan slagen, en ze verwarren kost een dag. De eerste lijst is in het binaire bestand gecompileerd: de buildconfiguratie kiest welke EAP-methoden bestaan, dus een build zonder een methode kan er niet over onderhandelen, wat de server ook toestaat. De tweede lijst leeft op de server, waar beleid zegt welke van de ondersteunde methoden deze clientklasse mag gebruiken. Slagen vereist een doorsnede, en geen enkele lijst kan een gat in de andere vullen.

Controleer die eerste lijst voordat je de server de schuld geeft. Zoek de methodenaam in het geïnstalleerde binaire bestand, of lees de buildconfiguratie waaruit het komt. Ontbreekt de methode, bouw dan opnieuw in plaats van het RADIUS-beleid te bewerken; is hij aanwezig en faalt de uitwisseling nog steeds, dan is het probleem verschoven naar inloggegevens, beleid of certificaatvertrouwen.

Wat een geslaagde test nog niet dekt

Een geslaagde run bewijst één methode, voor één set inloggegevens, tegen één RADIUS-beleid, over één netwerkpad. Hij oefent de radio van het access point niet, de EAPOL-afhandeling van een switch niet, de VLAN-toewijzing na authenticatie niet, en ook niet de manier waarop een VPN-concentrator met dezelfde server integreert. Die onderdelen stonden nooit op het geteste pad. Behandel het resultaat als begrensd bewijs, en zeg welke grens het dekt wanneer je het rapporteert.

Het nuttige verslag is wat de server en het proces elk waarnamen: welke methode werd onderhandeld, waar de uitwisseling stopte, en wat de server logde. Houd gedeelde geheimen en privésleutels buiten dat verslag.

Checklist voordat je het resultaat citeert

Voordat iemand de uitvoer als goedkeuring behandelt, bevestig vier dingen. De build bevat de geteste methode, het RADIUS-eindpunt en het gedeelde geheim horen bij de omgeving die wordt getest, het serverbeleid laat deze testidentiteit toe, en het netwerkpad is van dezelfde klasse als het pad dat productieclients gebruiken. Benoem dan wat de run niet heeft aangeraakt: access point, switch, VLAN en concentratorintegratie hebben elk hun eigen regel in het testplan nodig.

Twee tests met twee eigenaren verslaan één dubbelzinnige goedkeuring. De run met eapol_test beantwoordt de methode-en-server-vraag; de toegangsdienst beantwoordt de handhavingsvraag.

Gerelateerde artikelen