OS X Server: Konfigurieren der Vertrauenswürdigkeit von RADIUS-Servern in Konfigurationsprofilen bei Verwendung von TLS, TTLS oder PEAP
In diesem Artikel wird erläutert, wie die Vertrauenswürdigkeit bei Verwendung von Konfigurationsprofilen ordnungsgemäß eingestellt wird.
In OS X werden Clients mithilfe von Konfigurationsprofilen für den Verbindungsaufbau zu 802.1x-geschützten Netzwerken konfiguriert. Wenn das Konfigurationsprofil die Vertrauenswürdigkeit der RADIUS-Server für EAP-Typen, die einen sicheren Tunnel (TLS, TTLS, PEAP) aufbauen, nicht ordnungsgemäß konfiguriert, kann eines der folgenden Probleme auftreten:
Automatischer Verbindungsaufbau nicht möglich
Fehler bei der Authentifizierung
Roaming zu neuen Zugangspunkten funktioniert nicht
Damit du die Vertrauenswürdigkeit ordnungsgemäß konfigurieren kannst, musst du wissen, welche Zertifikate der RADIUS-Server während der Authentifizierung bereitstellt. Wenn du diese Zertifikate bereits kennst, fahre mit Schritt 13 fort.
EAPOL-Protokolle zeigen die vom RADIUS-Server bereitgestellten Zertifikate an. Um EAPOL-Protokolle in Mac OS X zu aktivieren, gib in Terminal folgenden Befehl ein:
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.eapolclient LogFlags -int -1
Stelle im Anschluss an die Aktivierung der EAPOL-Protokolle manuell eine Verbindung zum 802.1x-geschützten Netzwerk her. Du müsstest aufgefordert werden, die Vertrauenswürdigkeit des RADIUS-Serverzertifikats zu bestätigen. Bestätige die Vertrauenswürdigkeit des Zertifikats, damit die Authentifizierung abgeschlossen werden kann.
Suche die EAPOL-Protokolle.
- In OS X Lion and Mountain Lion, these logs can be found in /var/log/. The log will be called eapolclient.en0.log or eapolclient.en1.log.
- In OS X Mavericks, these logs can be found in /Library/Logs/CrashReporter/com.apple.networking.eapol.XXXXXXXX .
Öffne die Datei eapolclient.enX.log in der Konsole und suche einen Schlüssel namens TLSServerCertificateChain. Das sollte wie folgt aussehen:
Der Textblock zwischen und ist ein Zertifikat. Kopiere den Textblock, und füge ihn dann in einen Texteditor ein. Stelle sicher, dass dein Texteditor Nur-Text-Dateien sichern kann.
Füge eine Kopfzeile mit Inhalt
-----BEGIN CERTIFICATE-----
and a footer of-----END CERTIFICATE-----
. It should look like this:Sichere die Datei mit der Erweiterung .pem.
Öffne im Ordner "Dienstprogramme" die Schlüsselbundverwaltung.
Note: It may be helpful to create a new keychain so that you can easily find the certificate you import in the next step.
Ziehe entweder die von dir erstellte .pem-Datei in deinen neuen Schlüsselbund, oder wähle "Datei" > "Objekte importieren" und dann die zuvor erstellte .pem-Datei aus. Importiere die Datei in den Schlüsselbund deiner Wahl.
Wiederhole die Schritte oben für jedes Zertifikat im TLSCertificateChain-Array. Sehr wahrscheinlich hast du mehr als ein Zertifikat.
Überprüfe jedes importierte Zertifikat, damit du weißt, worum es sich handelt. Du solltest mindestens ein Root-Zertifikat und ein RADIUS-Server-Zertifikat haben. Möglicherweise hast du auch ein Zwischenzertifikat. Du musst alle vom RADIUS-Server bereitgestellten Root- und Zwischenzertifikate in die Zertifikats-Payload deines Konfigurationsprofils aufnehmen. Die Aufnahme der RADIUS-Serverzertifikate ist optional, wenn du die RADIUS-Servernamen im Bereich "Vertrauenswürdige Serverzertifikat-Namen" der Netzwerk-Payload aufnimmst. Ansonsten musst du auch die RADIUS-Serverzertifikate ins Profil aufnehmen.
Sobald du weißt, welche Zertifikate vom RADIUS-Server bereitgestellt werden, kannst du sie als .cer-Dateien aus dem Schlüsselbund exportieren und dem Konfigurationsprofil hinzufügen. Füge alle Root- und Zwischenzertifikate der Zertifikats-Payload zu deinem Konfigurationsprofil hinzu. Bei Bedarf kannst du auch die RADIUS-Serverzertifikate hinzufügen.
Suche in der Netzwerk-Payload den Abschnitt "Vertrauen", und markiere die soeben hinzugefügten Zertifikate als vertrauenswürdig. Stelle sicher, dass du nicht mögliche andere Zertifikate, die sich ebenfalls in der Zertifikats-Payload befinden können, als vertrauenswürdig markierst, da sonst die Authentifizierung fehlschlägt. Stelle sicher, dass nur die tatsächlich von deinem RADIUS-Server bereitgestellten Zertifikate als vertrauenswürdig markiert sind.
Füge als nächstes die Namen deiner RADIUS-Server dem Abschnitt "Vertrauenswürdige Serverzertifikat-Namen" hinzu. Dabei muss unbedingt der genaue Name (einschließlich Groß- und Kleinschreibung) verwendet werden, der als allgemeiner Name deines RADIUS-Serverzertifikats angezeigt wird. Wenn der allgemeine Name deines RADIUS-Serverzertifikats beispielsweise TEST.example.com lautet, musst du genau dieselbe Groß- und Kleinschreibung verwenden wie im Zertifikat. Der Wert "test.example.com" wäre nicht gültig, aber "TEST.example.com" schon. Du musst für jeden deiner RADIUS-Server einen neuen Eintrag hinzufügen. Für den Hostnamen kann auch ein Platzhalter verwendet werden. Zum Beispiel würde *.example.com alle RADIUS-Server auf der Domain example.com als vertrauenswürdig einstufen.
Wenn du zuvor eapol-Protokolle aktiviert hast, kann die Protokollierung mit dem folgenden Befehl deaktiviert werden:
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.eapolclient LogFlags -int 0
Wenn du dir nicht sicher bist, ob die Vertrauenswürdigkeit ordnungsgemäß konfiguriert ist, sieh unter /var/log/system.log nach. Öffne system.log in der Konsole und filtere nach "eapolclient", um alle Meldungen zum eapolclient-Vorgang anzuzeigen. Eine typische Vertrauensfehlermeldung sieht wie folgt aus:
Mar 31 12:27:14 Macintosh.local eapolclient[5961]: [eapttls_plugin.c:968] eapttls_verify_server(): server certificate not trusted status 3 0