OCSP-Konfiguration¶
Dieses Thema bietet einen Überblick über das OCSP, seine Verwendung in Snowflake und Informationen zur Diagnose von OCSP-Problemen.
Unter diesem Thema:
Übersicht¶
Snowflake verwendet das Online Certificate Status Protocol (OCSP), um maximale Sicherheit zu bieten und zu ermitteln, ob ein Zertifikat gesperrt ist, wenn Snowflake-Clients versuchen, über HTTPS eine Verbindung zu einem Endpunkt herzustellen.
Snowflake wertet mit OCSP jedes Zertifikat in der Vertrauenskette bis zum Zwischenzertifikat aus, das von der Stammzertifizierungsstelle (CA) ausgestellt wird. Indem sichergestellt wird, dass einzelne Zertifikate nicht gesperrt sind, kann Snowflake bei der Identitätsprüfung sichere Verbindungen zu vertrauenswürdigen Akteuren herstellen.
Abhängig von Ihrer Client- oder Treiberversion und der auf dieser Seite beschriebenen Konfiguration können Sie OCSP deaktivieren und die Aktion anpassen, die ausgeführt wird, wenn OCSP feststellt, dass ein Zertifikat widerrufen wurde.
Fail-open- oder Fail-close-Verhalten¶
Derzeit können Benutzer zwischen zwei Verhaltensweisen wählen, um festzulegen, wie Snowflake-Clients oder -Treiber bei einem OCSP-Ereignis reagieren.
Fail-open
Fail-close
Fail-open¶
Snowflake unterstützt bei der Auswertung der OCSP CA-Reaktion standardmäßig einen Fail-open-Ansatz. Der Fail-open-Ansatz weist die folgenden Eigenschaften auf:
Eine Antwort, die auf ein widerrufenes Zertifikat hinweist, führt zu einer fehlgeschlagenen Verbindung.
Eine Antwort mit anderen Zertifikatfehlern oder -status ermöglicht das Herstellen der Verbindung, bezeichnet jedoch die Nachricht in den Protokollen auf der Ebene
WARNING
mit den relevanten Details im JSON-Format.
Benutzer können die Protokolle für den bestimmten Treiber oder Konnektor überwachen, um die Häufigkeit von Fail-open-Protokollereignissen zu ermitteln.
Diese Ereignisprotokolle können mit der Snowflake-Statusseite kombiniert werden, um das beste Vorgehen zu bestimmen, z. B. vorübergehendes Beschränken des Clientzugriffs oder Wechseln zum Fail-close-Verhalten.
Derzeit gilt der Fail-open-Standardansatz für die folgenden Client- und Treiberversionen.
Client/Treiber |
Version |
---|---|
SnowSQL |
v1.1.79 oder höher |
Python-Konnektor |
v1.8.0 oder höher |
JDBC-Treiber |
v3.8.0 oder höher |
ODBC-Treiber |
v2.19.0 oder höher |
SQL Alchemy |
Aktualisieren Sie Python-Konnektor auf v1.8.0 oder höher |
Spark |
v2.4.14 oder höher, wenn Sie zum Erstellen der Spark-Anwendung Maven oder SBT verwenden. . JDBC v3.8.0 oder höher, wenn JAR-Dateien an den Spark-Cluster angehängt werden. . Fordern Sie Databricks auf, ihren Spark-Konnektor zu aktualisieren, wenn Sie den integrierten Spark-Konnektor von Databricks verwenden. |
Go-Treiber |
v1.8.0 oder höher |
Node.js |
v1.8.0 oder höher |
Bemerkung
Snowflake unterstützt keine OCSP-Prüfung des .NET-Treibers. Stattdessen verwendet .NET sein eigenes Framework, um die Gültigkeit des HTTPS-Zertifikats zu überprüfen.
Fail-close¶
Das Fail-close-Verhalten ist bei der Interpretation der OCSP CA-Antwort restriktiver. Wenn der Client oder Treiber aus irgendeinem Grund keine gültige OCSP CA-Antwort erhält, schlägt die Verbindung fehl.
Da dieses Verhalten bei den im Abschnitt Fail-open aufgeführten Versionen nicht Standard ist, muss Fail-close in jedem Treiber oder Konnektor manuell konfiguriert werden.
Setzen Sie den entsprechenden ocsp_fail_open
-Parameter auf false
, um das Fail-close-Verhalten beizubehalten.
Client/Treiber |
Einstellung |
---|---|
SnowSQL |
|
Python-Konnektor |
Weitere Informationen dazu finden Sie in der Dokumentation zum Python-Konnektor unter Auswahl des Fail-open- oder Fail-close-Modus. |
JDBC-Treiber |
Weitere Informationen dazu finden Sie in der JDBC-Treiberdokumentation unter Auswahl des Fail-open- oder Fail-close-Modus. |
ODBC-Treiber |
Wählen Sie eine der folgenden Optionen: . Setzen Sie den Verbindungsparameter auf |
SQL Alchemy |
Siehe JDBC-Treibereinstellungen |
Spark |
Der Spark-Konnektor hat keinen |
Go-Treiber |
Führen Sie einen der folgenden Schritte aus: . - Setzen Sie den Verbindungsparameter |
Node.js |
Legen Sie den globalen Parameter |
Ältere Client- und Treiberversionen¶
Wenn Ihre Client- oder Treiberversion älter ist als die im Abschnitt Fail-open angegebene, stellt das Fail-open-Verhalten keine Option dar. Daher ist das Fail-close-Verhalten Standard.
Für Snowflake-Umgebungen mit älteren Client- und Treiberversionen in Bezug auf OCSP stehen drei Optionen zur Verfügung:
Aktualisieren von Client oder Treiber auf die neueste Version (beste Option).
Weiteres Verwenden des Fail-close-Verhaltens.
Deaktivieren Sie die OCSP-Überwachung (d. h. den unsicheren Modus), wie in diesem Knowledge Base-Artikel (in der Snowflake-Community) aus.
Best Practices¶
Um Risiken zu minimieren und für eine sichere Kommunikation zu sorgen, empfiehlt Snowflake folgende bewährte Methoden.
Verwenden Sie private Konnektivität zum Snowflake-Dienst, und blockieren Sie den öffentlichen Zugang zu Snowflake.
Sorgen Sie dafür, dass Clienttreiber nur auf verwalteten Desktops und Servern ausgeführt werden dürfen.
Senden Sie Protokolle von Clienttreibern an ein Verwaltungssystem, oder laden Sie sie in Snowflake hoch. Überwachen Sie die Verbindungen, die ohne OCSP-Prüfung hergestellt werden.
Bemerkung
Für private Konnektivität zum Snowflake-Dienst ist die Business Critical Edition (oder höher) erforderlich. Wenden Sie sich für ein Upgrade direkt an den Snowflake-Support.
CA-Website und OCSP-Responder-Hosts, die von Snowflake verwendet werden (von Cloudplattform und Region)¶
Snowflake verwendet die folgenden Hosts für OCSP-Zertifizierungsprüfungen. Beachten Sie, dass sich die Hosts einer Cloudplattform je nach Region unterscheiden können.
Wichtig
Dies sind Beispiele für die am häufigsten verwendeten Hosts. Für jede Region (oder jedes einzelne Konto) kann Snowflake ein Zertifikat verwenden, das von einem anderen CA ausgestellt wurde, was zu unterschiedlichen Hosts und URLs führt. Beispiel:
Für die meisten Konten in US West (auf AWS) verwendet Snowflake derzeit Digicert-signierte Zertifikate von Network Solutions.
Für andere Regionen (auf AWS) verwendet Snowflake hauptsächlich Zertifikate von Amazon CA.
Darüber hinaus kann Snowflake Zertifikate ändern, wenn diese ablaufen sind oder erweitert werden müssen, was zu unterschiedlichen Hosts und URLs führt.
Eine vollständige Liste der Hosts und URLs für Ihr Konto erhalten Sie vom Snowflake-Support.
Snowflake auf AWS¶
Host |
US West |
Andere Regionen |
Anmerkungen |
---|---|---|---|
|
✔ |
✔ |
OCSP-Antwort-Cacheserver von Snowflake. Beachten Sie, dass der Hostname anders ist, wenn AWS PrivateLink aktiviert ist. |
|
✔ |
✔ |
|
|
✔ |
✔ |
|
|
✔ |
||
|
✔ |
✔ |
|
|
✔ |
Snowflake auf Microsoft Azure¶
Host |
East US 2 |
Anmerkungen |
---|---|---|
|
✔ |
OCSP-Antwort-Cacheserver von Snowflake. Beachten Sie, dass der Hostname anders ist, wenn Azure Private Link aktiviert ist. |
|
✔ |
|
|
✔ |
Snowflake auf Google Cloud Platform¶
Host |
us-central1 |
Anmerkungen |
---|---|---|
|
✔ |
OCSP-Antwort-Cacheserver von Snowflake. |
|
✔ |
|
|
✔ |
OCSP-Zertifizierungsprüfungen erfordern Port 80¶
Die gesamte Kommunikation mit Snowflake erfolgt über Port 443. Allerdings werden OCSP-Zertifizierungsprüfungen über Port 80 übertragen. Wenn sich Ihre Workstation hinter einer Firewall befindet, stellen Sie sicher, dass der Netzwerkadministrator Ihres Unternehmens die Firewall für den Datenverkehr an Port 443 und Port 80 geöffnet hat.
JDBC- und ODBC-Treiber verwenden keine CRL mehr¶
Eine CRL (Zertifikatssperrliste) gibt die Zertifikate an, die von einer bestimmten CA explizit gesperrt wurden. Ältere Versionen der JDBC- und ODBC-Treiber verwendeten entweder CRL oder OCSP zur Überprüfung von TLS-Zertifikaten. Ab den folgenden Versionen verwenden die Treiber für die gesamte Zertifikatsprüfung nur noch OCSP:
JDBC 3.5.0 (oder höher)
ODBC 2.15.0 (oder höher)