eapol_test över en VPN: behöver RADIUS-utbytet lager 2?
eapol_test kör peer och RADIUS-klient i en och samma process, så en routad VPN bär UDP 1812. Kontrollera den kompilerade metodlistan och testa sedan den verkliga åtkomsten separat.
Be om en labbväxelport för att kunna köra eapol_test — och du har förmodligen läst verktyget fel. Peeren och RADIUS-klienten bor båda inne i den enda binärfilen, så det enda samtal som lämnar maskinen är själva RADIUS-utbytet. En routad tunnel mellan testvärden och autentiseringsservern är hela nätverkskravet. Den fysiska 802.1X-vägen är något annat du kanske fortfarande måste testa, och det är inte den här.
Varför namnet får folk att leta efter en växelport
EAPOL är det ramformat som en supplicant och en växel använder på ett LAN, och verktyget lånar namnet eftersom det växte fram ur den världen. Det som levereras är ett testprogram som bär peerens tillståndsmaskin och RADIUS-klienten i en process, så de två halvorna av ett 802.1X-samtal möts aldrig över en kabel. Namnet är historia, inte ett topologikrav.
Folk frågar fortfarande efter porten eftersom programmet vilar på en autentiseringsenhets beteende, och det låter som hårdvara. Dess lim återger autentiseringsenhetens tillståndsmaskin, så ett test slutförs utan någon åtkomstpunkt i rummet; den kompilerade binärfilen länkar wpa_supplicants EAP-peer till hostapds RADIUS-klient. Tar man bort växeln tar man bort EAPOL-hoppet, inte autentiseringslogiken. Det som återstår är ett klient-server-utbyte mellan två IP-värdar.
Följ ett RADIUS-utbyte hopp för hopp
Följ ett enda försök och vägen är kort. Peeren inuti eapol_test producerar en EAP-Response för metoden du konfigurerade, och RADIUS-klienten i samma process lägger den i en Access-Request och bär nyttolasten i EAP-Message-attribut bredvid en Message-Authenticator. Det datagrammet är adresserat till servern på UDP-port 1812 och lämnar värden som vilket annat IP-paket som helst, och det är där tunneln kommer in. Servern bedömer det mot sin policy och sina metodmoduler och svarar sedan med Access-Challenge, Access-Accept eller Access-Reject.
eapol_test -c peap-mschapv2.conf -a 198.51.100.20 -p 1812 \
-s REPLACE_WITH_RADIUS_SECRET -t 30Binärfilen tar serveradressen, porten och den delade hemligheten från kommandoraden, och metoden och inloggningsuppgifterna från ett konfigurationsblock i wpa_supplicant-stil. Inget i det anropet beror på grannskap på lager 2: -a nås via routning, och en VPN som routar den räcker. Om tunneln tappar datagrammet misslyckas testet precis som mot en onåbar server på ett platt LAN.
Binärfilen och serverns policy är olika listor
Två oberoende listor avgör om en metod kan passera, och att blanda ihop dem kostar en dag. Den första listan är kompilerad in i binärfilen: byggkonfigurationen väljer vilka EAP-metoder som finns, så ett bygge utan en metod kan inte förhandla den, vad servern än tillåter. Den andra listan lever på servern, där policyn säger vilka av de stödda metoderna den här klientklassen får använda. En passering kräver ett snitt, och ingen lista kan fylla ett hål i den andra.
Kontrollera den första listan innan du klandrar servern. Sök efter metodnamnet i den installerade binärfilen, eller läs byggkonfigurationen den kom från. Om metoden saknas, bygg om i stället för att redigera RADIUS-policyn; om den finns och utbytet fortfarande misslyckas har problemet flyttat till inloggningsuppgifter, policy eller certifikattillit.
Vad en passering fortfarande inte täcker
En lyckad körning bevisar en metod, för en uppsättning inloggningsuppgifter, mot en RADIUS-policy, över en nätverksväg. Den övar inte åtkomstpunktens radio, en växels EAPOL-hantering, VLAN-tilldelningen som följer efter autentisering, eller sättet en VPN-koncentrator integreras med samma server. De komponenterna var aldrig på den testade vägen. Behandla resultatet som begränsat bevis, och säg vilken gräns det täcker när du rapporterar det.
Den användbara registreringen är vad servern och processen var för sig observerade: vilken metod som förhandlades, var utbytet stannade och vad servern loggade. Håll delade hemligheter och privata nycklar utanför den registreringen.
Checklista innan du citerar resultatet
Innan någon behandlar utdata som ett godkännande, bekräfta fyra saker. Bygget innehåller metoden som testas, RADIUS-slutpunkten och den delade hemligheten tillhör miljön som testas, serverns policy släpper igenom den här testidentiteten, och nätverksvägen är av samma klass som den produktionsklienter använder. Namnge sedan vad körningen inte rörde: åtkomstpunkt, växel, VLAN och koncentratorintegration behöver var sin rad i testplanen.
Två tester med två ägare slår ett tvetydigt godkännande. Körningen med eapol_test svarar på metod-och-server-frågan; åtkomsttjänsten svarar på genomdrivandefrågan.