Schlagwort-Archive: freeradius

Lightweight-OCSP nach RFC 5019 und FreeRADIUS

Die OCSP-Responder der DFN-PKI arbeiteten lange Zeit gemäß RFC 2560. Dieser Betriebsmodus hat insbesondere in Hochlast-Umgebungen Nachteile; insbesondere wird ein Caching von OCSP-Antworten deutlich erschwert.

RFC 5019, „The Lightweight Online Certificate Status Protocol (OCSP) Profile for High-Volume Environments“, spezifiziert eine OCSP-Variante, die die Caching-Probleme deutlich abmildert.

Seit Mitte Mai wurden die OCSP-Responder der DFN-PKI der Reihe nach auf eine neue Software-Version gebracht, die RFC 5019 verwendet. Damit werden Caching-Header gesetzt und sogenannte Nonces aus eingehenden Anfragen nicht mehr in die OCSP-Antwort kopiert. Viele OCSP-Responder, auch von sehr großen CAs, werden erfolgreich nach RFC 5019 betrieben.

Leider gibt es hierbei einen Nebeneffekt bei FreeRADIUS: Wenn man Nutzerzertifikate zur Authentifizierung verwendet, und zur Validierung der Nutzerzertifikate OCSP aktiviert hat, muss zwingend eine zusätzliche Konfigurationsoption in den OCSP-Abschnitt der eap/tls-Konfiguration gesetzt werden:

ocsp {
   ...
   use_nonce = no
   ...
}

Wird diese Option nicht verwendet, akzeptiert FreeRADIUS das Nutzerzertifikat nicht und schreibt, je nach Loglevel, die folgende Nachricht in das radius.log :

Error: OCSP response has wrong nonce value

(jbr, 05.06.2015)

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)