Artikel mit Tag ocsp

Lösung: Firefox Fehler- sec_error_ocsp_future_response

Hin und wieder tauchen im Firefox "komische" Fehlermeldungen beim Aufrufen von Webseiten auf.

Da es durch die Zeitumstellung gerade ganz gut passt, gehe ich heute auf folgende Browser Fehlermeldung ein:

Secure Connection Failed

An error occurred during a connection to xyz.com. The OCSP response is not yet valid (contains a date in the future) Error code: SEC_ERROR_OCSP_FUTURE_RESPONSE

    The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
    Please contact the website owners to inform them of this problem. Alternatively, use the command found in the help menu to report this broken site.


Fehler: Gesicherte Verbindung fehlgeschlagen

Ein Fehler ist während einer Verbindung mit xyz.com aufgetreten. Die OCSP-Antwort ist noch nicht gültig (enthält ein Datum in der Zukunft). (Fehlercode: sec_error_ocsp_future_response)

     Die Website kann nicht angezeigt werden, da die Authentizität der erhaltenen Daten nicht verifiziert werden konnte.
     Kontaktieren Sie bitte den Inhaber der Website, um ihn über dieses Problem zu informieren.

 

Lösung sec_error_ocsp_future_response

Der Browser zeigt diesen Fehler beim Aufrufen einer Seite im Netz an, weil schlicht und einfach das Datum oder die Uhrzeit des Systems nicht stimmen.

Dies lässt sich bekanntermaßen einfach beheben.

Ein Aufrufen und Anpassen der Windows Zeit Einstellungen kann mit Start --> Ausführen --> ms-settings:dateandtime erfolgen.

Unter Ubuntu reicht ein sudo date --set="2019-10-27 19:35:59.990" auf der Konsole aus. Allerdings sollte hier ebenfalls an die BIOS Uhrzeit gedacht werden sudo hwclock --systohc.

Sec-error-ocsp-future-responseHelfen die richtigen Systemeinstellungen nicht dauerhaft, kann die BIOS Batterie eine Ursache sein und muss getauscht werden.

Es soll vorkommen, dass Zeiteinstellungen im System nicht angepasst werden dürfen.

Um Webseiten im Firefox dennoch aufrufen zu können, kann das bemängelte OCSP temporär abgeschaltet werden. Doch was ist das eigentlich?

OCSP Stapling

Die Wikipedia schreibt dazu:

Online Certificate Status Protocol stapling, formell bekannt als die TLS-Zertifikatsstatusabfrage-Erweiterung, ist ein alternativer Ansatz zum Online Certificate Status Protocol (OCSP) um den Gültigkeitsstatus von digitalen Zertifikaten nach X.509 zu prüfen.Es ermöglicht dem Zertifizierten, die Aufgabe der Zertifikatsvalidierung zu übernehmen, indem er eine von der Zertifizierungsstelle signierte OCSP-Antwort mit Zeitstempel an den ursprünglichen TLS-Handshake anhängt („stapling“). Dieses Verfahren verringert den Kommunikationsaufwand zwischen Clients und Zertifizierungsstellen deutlich.

OCSP Stapling im Firefox deaktivieren

Der oben erwähnte OCSP Aufruf kann im Firefox deaktiviert werden.

  1. Mozilla Firefox öffnen.
  2. In der Adressleiste about:config eingeben und Enter drücken.
  3. Nach security.ssl.enable_ocsp_stapling suchen.
  4. Den Wert auf false setzen.

Mozilla SSL Configuration Generator - Neue Version unterstützt Postfix, PostgreSQL, MySQL, Oracle und Caddy

Es ist lange her, als ich das erste Mal über den Mozilla SSL Configuration Generator geschrieben hatte (ganze 4 Jahre um genau zu sein).

Bereits damals hatte ich mir gewünscht, dass auch Server wie Postfix unterstützt werden. Dieser Wunsch wurde nun erfüllt, denn es gab ein umfangreiches Update  ( thx @ aprilmpls )

mozilla-logo

Mozilla SSL Configuration Generator

Wie der Überschrift bereits entnommen werden konnte, sind neben den üblichen Verdächtigen nun auch weitere Systeme dabei. Folgende SSL/TLS Sicherheitseinstellungen können nun via Generator erstellt werden:

  • Apache
  • Nginx
  • Lighthttpd
  • HAProxy
  • AWS Elastic Load Balancer
  • Caddy
  • MySQL
  • Oracle HTTP Server
  • Postfix
  • PostgreSQL 

Die einzelnen Kategorien modern, intermediate und old haben Beschreibungen erhalten und erschließen sich dem Laien somit etwas besser. So wird bei der modernen Variante explizit TLS 1.3 erwähnt und die nicht vorhandene Abwärtskompatibilität beschrieben.

Die Versionsauswahl bei Server oder SSL kann weiterhin händisch eingegeben werden. 

Mozilla_SSL_Configuration_Generator

Zusätzliche Optionen wie HSTS oder OCSP Stapling sind in den Standardeinstellungen aktiv. Hier muss nichts angepasst werden, da der Generator alte Server Versionen erkennt und die Optionen automatisch nicht in der generierten Datei auflistet (SSLUseStapling On).

Bei Konfigurationen für Mail- oder Datenbankserver sind diese Auswahlmöglichkeiten ohnehin ausgegraut.

Generator generiert

Die neu generierten Konfigurationen haben dazugelernt. So wird bei der Apache oder Nginx Konfiguration automatisch der HTTP zu HTTPS Rewrite mit aufgeführt. Auch werden das Erstelldatum, so wie die benötigten Module als Kommentar aufgeführt, was für viele sicherlich eine zusätzliche Hilfe darstellt.

Bei der Postfix wird keine TLS Verschlüsselung erzwungen, hier wird immer ein "Verschlüsselung wenn möglich" vorgeschlagen.

Unterstützung

Bereits beim älteren Generator wurden die unterstützten Browser aufgelistet. Diese wurden um Android und Edge ergänzt.

Fazit

Die neue Version des Mozilla SSL Configuration Generator hat im Vergleich zum Vorgänger viele kleine Verbesserungen erhalten, siehe der Kopierbutton am Ende der Konfigurationsdateien. Die Unterstützung für Postfix, PostgreSQL und Co erweitert die Breite ungemein. Mit der Unterstützung für TLS 1.3 wird das Tool auch in Zukunft praktisch sein. Sei es als Orientierung oder Beispiel für eigene Serverkonfigurationen.

https://ssl-config.mozilla.org

Mozilla SSL Server Konfigurator - Die richtigen TLS/SSL Einstellungen für Apache, Nginx oder HAProxy automatisch generieren

Die letzten Wochen ging es teilweise um die Analyse von SSL Verbindungen, heute soll es mal wieder um die dazugehörigen Einstellungen gehen.
Ich hatte in der Vergangenheit zwar schon Artikel zu SSL Einstellungen für Nginx, Apache oder Postfix geschrieben. Dennoch will ich mal auf den Mozilla SSL Konfigurations Generator hinweisen.
Das Webtool bietet zusammen mit dem ausführlichen Wiki Artikel über Server Side TLS Security  genau die richtige Kombination, um Webserver mit SSL zu konfigurieren.

mozilla-wiki
SSL Einstellungen per Klick erzeugen

Der webbasierte Mozilla SSL Konfigurator unterstützt neben den am weitesten verbreiteten Servern Apache und Nginx auch HA Proxy. 
Ich persönlich vermisse eine Option für Postfix, da es sich dabei aber um keinen reinen Webserver handelt, ist das auch nachvollziehbar.

Das Tool stellt neben verschiedenen Server und SSL Varianten drei Auswahlmöglichkeiten in puncto Sicherheit zur Verfügung (modern, intermediate und old).
Praktischerweise wird bei jedem Modus auch die Unterstützung für Browser oder Systeme eingeblendet. So weiß jeder Anwender direkt, ob die enthaltenen CypherSuites für das eigene Projekt nützlich sind oder nicht.
Welche SSLCipherSuites genau in der jeweiligen Einstellung verwendet werden, lässt sich in dem oben erwähnten Mozilla Wiki Artikel nachlesen.

ssl-config-generator

Leider müssen einzelne Server Versionen von Hand eingegeben werden, der Konfigurator erkennt diese aber ohne Probleme. 
Wie Stichproben gezeigt haben, nimmt das Tool OCSP Stapling automatisch aus der Config, wenn ein Wechsel von Apache 2.4 zu 2.2 erfolgt. (Diese Funktion wird erst seit 2.3 unterstützt).

Wie der Name des Tools vermuten lässt, wird nur eine Konfiguration generiert, diese muss in die geweilige ".conf" Datei auf einem Server kopiert werden.

Fazit

Nicht nur Administratoren finden mit dem Tool eine praktische Hilfe, wenn es um die Konfiguration von TLS auf einem Server geht. 
Auch der Heimanwender, kann sich mit Hilfe des dazugehörigen Wiki Artikel das nötige Wissen zu TLS/SSL aneignen und mit dem SSL Konfigurator schnell und einfach umsetzen. 

Lösung Java 8 Fehler - Certificate has been revoked - Zertifikat wurde entzogen

Im April läuft die Unterstützung für Java 7 aus, somit wird es langsam aber sicher Zeit auf Java 8 umzusteigen. Die neue Version 8 bringt bessere Sicherheitsmechanismen mit, welche bei Anwendungen, die auf HTTPS und somit auf Zertifikate setzen zu Fehlern führen können. Einer davon ist die Zurückweisung des Zertifikats:

 java.security.cert.CertificateRevokedException: Certificate has been revoked, reason: SUPERSEDED, revocation date: XXXXX CET 2014, authority: CN=TC TrustCenter Class 2 CA II, OU=TC TrustCenter Class 2 CA, O=TC TrustCenter GmbH, C=DE, extension OIDs: [2.5.XX.21]

at com.sun.deploy.security.RevocationChecker.checkApprovedCRLs(Unknown Source)

at com.sun.deploy.security.RevocationChecker.checkCRLs(Unknown Source)

at com.sun.deploy.security.RevocationChecker.check(Unknown Source)

at com.sun.deploy.security.TrustDecider.checkRevocationStatus(Unknown Source)

at com.sun.deploy.security.TrustDecider.getValidationState(Unknown Source)

at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source)

at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)

at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source)

........

Java8-AnwendungzurSicherheitblockiert

Erklärung 

CRL 

Dabei handelt es sich um eine Zertifikatsperrliste (Certificate Revoke List -->CRL), diese wird von einer Zertifizierungsstelle geführt und enthält die Seriennummer ungültiger Zertifikate. Diese sind mit einem Zeitstempel versehen und einer Signatur geschützt. Voraussetzung für eine Prüfung durch diesen Sicherheitsmechanismus ist eine aktive Internetverbindung.

In diesem Beispiel trat dieser Fehler auf.

OCSP

Ein weiterer Schutz der unter Java 8 aktiv ist nennt sich Online Certificate Status Protocol. Dabei handelt es sich um ein Netzwerkprotokoll, das ebenfalls bei einem CA Dienst (OCSP-Responder) nach der Gültigkeit eines Zertifikats fragt. 

Sicherheitsprüfungen für Zertifikate in Java 8 ausschalten

Bei selbst signierten oder anderweitig verwendeten Zertifikaten können diese Prüfungen ausgeschaltet, bzw. eingeschränkt werden. Denn bei einer Test- oder Intranetanwendung ist es nicht immer sinnvoll die Gültigkeit bei einer CA zu überprüfen.

Darum lassen sich in den Java Einstellungen ("Systemsteuerung/Java/Erweitert") CPL und OCSP deaktivieren.

java8-sicherheit

Bei dieser Einstellung wird die Prüfung nicht komplett deaktiviert, sondern auf Zertifikate des Anbieters, also des Softwareherstellers beschränkt. Das heißt, bei selbst signierten Zertifikaten dürfte nun kein Fehler seitens Java angezeigt werden, wenn die gewünschte URL auf der Whitelist ist oder dem eigenen Zertifikat vertraut wird.

Natürlich lassen sich CRL und OCSP auch komplett deaktivieren. Die Einstellungen sind dann wie folgt.

java8-sicherheit-zertifikate

P.S. Im selben Menü könnt im gleichen Zug weiter unten die Protokolle SSL 3.0 und TLS 1.0 deaktivieren.