freeradius und eine Falle bei der Zertifikaterneuerung

Vor kurzem lief ein Anwender in eine unangenehme Falle bei der Konfiguration von freeradius: Das Serverzertifikat vom Radius-Server wird in einer Datei abgelegt, die als „certificate_file“ in der eap.conf im Abschnitt tls konfiguriert wird.

eap {
[...]
     tls {
[...]
         certificate_file = ${certdir}/server.pem

In diese Datei kann optional zusätzlich die Zertifizierungskette vom Serverzertifikat mit aufgenommen werden, d.h., in der Datei stehen mehrere Zertifikate hintereinander:

-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----

Bei der Zertifikaterneuerung wurde dies übersehen, und in dem certificate_file nur das neue Serverzertifikat ohne Zertifizierungskette abgelegt. Daraufhin konnten sich diverse eduroam-Clients nicht mehr verbinden, und im freeradius-Log erschienen die folgenden Fehlermeldungen:


Tue Sep 30 13:28:01 2014 : Error: TLS Alert read:fatal:unknown CA
Tue Sep 30 13:28:01 2014 : Error: rlm_eap: SSL error error:14094418:SSL
routines:SSL3_READ_BYTES:tlsv1 alert unknown ca

Abhilfe: Vor der Zertifikaterneuerung prüfen, ob die verwendete freeradius-Konfiguration die Zertifizierungskette im certificate_file erfordert, und gegebenenfalls vor der Installation des neuen Zertifikats ergänzen.

(jbr, 01.10.2014)