Soweit ich weiß, können drahtlose Zugriffspunkte mit WPA-Enterprise (dh WPA plus 802.1X) während des Verbindungsaufbaus ein Zertifikat mit öffentlichem Schlüssel an einen Client senden. Der Client kann dieses Zertifikat überprüfen, um sicherzustellen, dass keine Verbindung zu einem nicht autorisierten AP hergestellt wird (ähnlich wie bei der Zertifikatüberprüfung in HTTPS).
Fragen:
- Habe ich das richtig verstanden?
- Wenn ja, gibt es eine Möglichkeit, das AP-Zertifikat herunterzuladen? Idealerweise hätte ich gerne eine Lösung, die unter Linux funktioniert.
Ich möchte ein selbstsigniertes Zertifikat herunterladen, um nachfolgende Verbindungsversuche zu überprüfen. Dies wäre einfacher, als den Betreiber des AP nach einer Datei zu fragen.
Antworten:
Ja, die gängigsten WPA-Enterprise-Konfigurationen verwenden entweder PEAP oder TTLS. Beide implementieren TLS über EAP über 802.1X.
In der Regel wird das Zertifikat von den Netzbetreibern zu genau diesem Zweck bereits irgendwo veröffentlicht. Es ist nicht etwas, wonach der Benutzer fragen sollte .
Leider hat wpa_supplicant auch im Debug-Modus keine Option, die Zertifikate zu sichern. (Ich werde dies aktualisieren, wenn ich einen besseren Weg finde.) Sie können den tatsächlichen EAPOL-Authentifizierungsprozess jedoch weiterhin überwachen. Installieren Sie zuerst Wireshark.
Wenn die Verbindung getrennt ist, rufen Sie die Benutzeroberfläche manuell auf und starten Sie eine Erfassung:
Starten Sie wpa_supplicant und bald sehen Sie den TLS-Handshake:
Der Server sendet seine Zertifikate sofort nach ServerHello. Wählen Sie das erste derartige Paket aus und stöbern Sie dann in:
Klicken Sie mit der rechten Maustaste auf die erste Instanz von "Zertifikat ( Zeug )" und wählen Sie "Ausgewählte Paketbytes exportieren". Wireshark speichert es als Datei im binären DER-Format. Wiederholen Sie diesen Vorgang für alle anderen Zertifikate. Der oberste (RADIUS-Server) enthält Informationen, die Sie konfigurieren können
altsubject_match
. Die letzte (Root-CA) sollte an wpa_supplicant als übergeben werdenca_cert
.Jetzt haben Sie einige
*.crt
oder*.der
Dateien im binären DER-Format. Konvertieren Sie sie in das PEM-Format "Text":(Wenn Ihr wpa_supplicant OpenSSL als TLS-Handler verwendet, müssen Sie ihm das Zertifikat " Stammzertifizierungsstelle " geben. Wenn Sie ihm das Zertifikat des Servers geben, funktioniert dies nicht.
Beachten Sie, dass es auch möglich ist , dass das letzte Zertifikat in Wireshark gesehen nicht von einer Stammzertifizierungsstelle sein wird, aber nur von ausgestellt einen der Stammzertifizierungsstellen in Ihrem
/etc/ssl/certs
Verzeichnis ... Wenn das der Fall ist, sollten Sie Satzdomain_suffix_match
als auch - anders, Die Verwendung öffentlicher Zertifizierungsstellen wäre unsicher (802.1X weiß leider nicht, gegen welchen "Hostnamen" überprüft werden soll, wie dies beispielsweise bei HTTPS der Fall wäre.)quelle
tpcpdump
aber wie ein Zauber funktioniert. Komisch, mein Stream hatte nur einen Server Hallo, Zertifikat, ... Eintrag