Previous Topic

Next Topic

Book Contents

Book Index

Datenbank – Verbindung mit MS SQL über TLS 1.2

Dieser Abschnitt ist wichtig, wenn der MS SQL-Server remote ausgeführt werden soll oder wenn ein vorhandener MS SQL-Server remote mit einem niedrigeren Protokoll (z. B. SSL 3.0, TLS 1.0-1.1) ausgeführt werden soll. Bei vielen Datensicherheitsstandards (DSS), z. B. bei PCI 3.1, ist TLS 1.2 zur Gewährleistung des Datenschutzes und der Datenintegrität notwendig.

important Bevor Sie fortfahren Der folgende Vorgang enthält Schritte, die von Ihnen oder Ihrem MS SQL-Administrator außerhalb von MOVEit Transfer durchgeführt werden müssen. PSC haftet nicht für Änderungen an der Dokumentation, an den Online-Ressourcen und an gehosteter Software von Microsoft oder anderen Drittanbietern. Die folgende Anleitung war zum Zeitpunkt der Veröffentlichung dieser MOVEit Transfer-Version richtig.

Warum TLS 1.2?

Für PCI 3.1 ist Ende-zu-Ende-TLS 1.2 notwendig, ohne rückwärtskompatible oder „Fallback“-Verbindungen. Eine „Fallback“-Verbindung kann zum Beispiel zwischen einem Client und dem Server ausgehandelt werden, wenn der Server verschiedene SSL-/TLS-Versionen unterstützt und der Client eine ältere Protokollversion nutzt, die weniger sicher als TLS 1.2 ist.

Wenn Sie einen Datenbankserver (z. B. MS SQL Server) nicht auf dem MOVEit Transfer-Server, sondern einem anderen Host ausführen, muss die entsprechende Sicherheitsstufe auch für die Transaktionen mit MS SQL Server übernommen werden.

Damit die Datenbanktransaktionen zwischen MOVEit Transfer und MS SQL Server über TLS 1.2 erfolgen, müssen Sie:

Zusammenfassung der Schritte

Folgende Schritte sind zur Ausführung von SQL Server über TLS 1.2 notwendig:

Hinweis: Bedenken Sie immer die Abstriche bei Sicherheit bzw. Verfügbarkeit, den Zeitrahmen und die Auswirkungen dieser Änderungen. Wenn strenge Richtlinien zur Endpunktsicherheit durchgesetzt werden, werden Verbindungsanfragen von Clients, die diese Richtlinien nicht einhalten oder die der Spezifikation nicht entsprechen, abgelehnt.

  1. Änderungen auf MOVEit Transfer Server vornehmen, um Verbindungen über TLS 1.2 zu ermöglichen. (Es wird empfohlen, zuerst die Unterstützung von TLS 1.2 auf dem MOVEit Transfer Server zu aktivieren, bevor die Clients der Endbenutzer eine Verbindung darüber herstellen müssen).
  2. MOVEit-Clients zur Verwendung von TLS 1.2 zwingen. Sie können das MOVEit Transfer-Konfigurationsprogramm zur Auswahl von TLS 1.2 verwenden. Diese Einstellung wird für TCP-Verbindungen, die mit dem MOVEit Transfer Server aufgenommen werden, erzwungen.
  3. TLS 1.2 auf dem MS SQL Server einrichten und durchsetzen. Dadurch werden TLS-1.2-Verbindungen (verschlüsselte Transaktionen mit MOVEit Transfer) erzwungen.
  4. Änderungen überprüfen und überwachen. Es wird empfohlen, die Verwendung von Verschlüsselungsalgorithmen mit einem Port-Scanner wie Nmap und Tools zur Erfassung des Datenverkehrs wie Wireshark zu überprüfen. Sie können sie regelmäßig mit Programmen wie WhatsUp Gold überwachen.

    MOVEit Transfer mit einem Remote-MS SQL Server

Schritt 1: TLS 1.2 auf MOVEit Transfer Server aktivieren

Mit folgenden Einstellungen kann der MOVEit Transfer Server eine Verbindung über TLS 1.2 mit dem Remote-MS SQL Server (über den SQL-Client) herstellen. Es handelt sich nicht um eine Einschränkung. (Wenn Sie diese Einstellung zuerst aktivieren, wird sichergestellt, dass Clients auch nach Schritt 3 noch eine Verbindung herstellen können – d. h. sobald Sie die Kommunikation auf dem MS SQL Server-Host einschränken).

Für MOVEit Transfer Server ist Windows Server erforderlich, der standardmäßig im Rahmen der Security Support Provider-Schnittstelle (SSPI) die Schannel-Bibliothek (Schannel.dll) verwendet. In dieser Anleitung erfahren Sie, wie die Registrierungsschlüsselwerte geändert werden, die Schannel zur Laufzeitkonfiguration (TLS-/SSL-Verbindungen) erwartet.

  1. Erstellen Sie auf dem Windows Server, auf dem MS SQL Server ausgeführt wird, eine Sicherungskopie der Windows-Registrierung. (Anleitung zur Sicherung und Wiederherstellung vom Microsoft-Support)
  2. Öffnen Sie den Registrierungseditor für Windows Server (regedit).
  3. Suchen Sie nach folgendem Registrierungsschlüssel:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  4. Aktivieren Sie TLS 1.2 und setzen Sie es als Standard. Sehen Sie sich die Unterschlüssel für das Schannel-Protokoll an. Beispiel:

    Subkeys

Schritt 2: MOVEit-Clients der Endbenutzer zur Verwendung von TLS 1.2 zwingen

Sie können die MOVEit-Clients der Endbenutzer mit dem Konfigurationsprogramm von MOVEit Transfer dazu zwingen, Verbindungen nur mit HTTPS und FTPS über TLS 1.2 herzustellen. Stellen Sie sicher, dass TLS 1.2 aktiviert ist; sie können niedrigere Protokolle deaktivieren. (Das Konfigurationsprogramm von MOVEit Transfer wird auf dem MOVEit Transfer Server-Host ausgeführt).

Schritt 3: TLS 1.2 auf dem MS SQL Server und dem Host aktivieren und erzwingen

Verbindungseinstellungen für Schannel konfigurieren

Für MS SQL Server ist Windows Server erforderlich, der standardmäßig im Rahmen der Security Support Provider-Schnittstelle (SSPI) die Schannel-Bibliothek (Schannel.dll) verwendet. In dieser Anleitung erfahren Sie, wie die Registrierungsschlüsselwerte geändert werden, die Schannel zur Laufzeitkonfiguration (TLS-/SSL-Verbindungen) erwartet.

  1. Erstellen Sie auf dem Windows Server, auf dem MS SQL Server ausgeführt wird, eine Sicherungskopie der Windows-Registrierung. (Anleitung zur Sicherung und Wiederherstellung vom Microsoft-Support)
  2. Öffnen Sie den Registrierungseditor für Windows Server (regedit).
  3. Suchen Sie nach folgendem Registrierungsschlüssel:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  4. Sehen Sie sich die Unterschlüssel für das Schannel-Protokoll an. Beispiel:

    Überprüfen Sie auf dem MS SQL-Hostcomputer, dass der Wert für den Eintrag „DWORD DisabledByDefault“, Untereintrag „TLS 1.2\Server“, auf Null (0x0), d. h. falsch, gestellt ist. Dadurch wird festgelegt, dass Schannel standardmäßig TLS 1.2 für den Unterschlüssel TLS 1.2\Server\DisabledByDefault verwendet.

  5. Registrierungseinträge für alle anderen Protokollversionen (TLS 1.0, TLS 1.1, SSL 2.0, ...) müssen folgendermaßen konfiguriert werden: DisabledByDefault = 1 und Enabled = 0.

Hinweis: Wenn mehrere SSL-Protokolle auf dem MS SQL Server-Host aktiviert sind, kann eine verschlüsselte Verbindung individuell auf einer Seite neu ausgehandelt und herabgestuft werden, wenn auf dem Client-Host ein niedrigeres Protokoll verwendet wird. Um dies zu verhindern, muss die Verschlüsselung auf dem MS SQL Server-Host erzwungen und die Verwendung niedrigerer Sicherheitsprotokolle in den Zustand falsch gesetzt werden.

TransferTip Hier finden Sie einen umfassenden Artikel in der Microsoft-Wissensdatenbank zur Aktivierung von TLS 1.2.

Netzwerkkonfiguration von SQL Server so konfigurieren, dass Verschlüsselung erzwungen wird, (und DB-Server neu starten)

Öffnen Sie als nächstes den Konfigurationsmanager von SQL Server auf dem Remote-Datenbankhost und ändern Sie die Verbindungsrichtlinie so, dass SQL-Clients nur verschlüsselte Verbindungen herstellen.

Konfigurationsmanager von Microsoft SQL Server (Abbildung zeigt Version 2014)

SQLServerConfigManager

Auf dem MS SQL Server-Host:

  1. Öffnen Sie den Konfigurationsmanager von SQL Server.
  2. Klicken Sie auf SQL Server Network Configuration (SQL Server-Netzwerkkonfiguration).
  3. Klicken Sie mit der rechten Maustaste für <meine-sql-server-db> auf Protocols (Protokolle) und anschließend auf Properties (Eigenschaften).

    – wobei <meine-sql-server-db> der Name der Microsoft SQL Server-Datenbank ist.

  4. Klicken Sie auf die Registerkarte Flags. Wählen Sie in der Dropdown-Liste Force Encryption (Verschlüsselung erzwingen) Yes (Ja) aus und klicken Sie auf Apply (Übernehmen).

    ForceEncryption

    Anschließend wird ein Dialogfenster angezeigt, dass der Datenbank-Server zur Übernahme der Änderungen neu gestartet werden muss.

  5. Wählen Sie im linken Fensterbereich SQL Server Services (SQL Server-Dienste) aus, klicken Sie mit der rechten Maustaste auf SQL Server (<meine-sql-server-db>) und klicken Sie auf die Option Restart (Neu starten).

Schritt 4: Datenverkehr zwischen dem SQL-Client (auf dem MOVEit Transfer Server) und dem Remote-MS SQL Server überprüfen

Verwenden Sie für den letzten Schritt einen MOVEit Transfer-Client, um Anfragen an den MOVEit Transfer Server zu erstellen und Transaktionen an die Remote-MS-SQL-Datenbank zu schicken.

  1. Öffnen Sie einen MOVEit Transfer-Client (REST-API, Web-Schnittstelle, MOVEit-Client o. Ä.).
  2. Installieren Sie Wireshark auf dem MOVEit Transfer-Server oder einem Computer im gleichen Subnetz.
  3. Filtern Sie in Wireshark die IP-Adresse des MS SQL Servers heraus, z. B.:

    ip.addr == <IP-Adresse-des-Transfer-Servers>

  4. Führen Sie in einem MOVEit Transfer-Client einen Vorgang aus, für den eine Verbindung zwischen dem MOVEit Transfer Server und der MS SQL Server-Datenbank aufgebaut werden muss (z. B. Datei hochladen).
  5. Überprüfen Sie, dass das für die Darstellungsschicht aufgeführte Protokoll „TLS 1.2“ ist.

    Für den TDS-Austausch (z. B. SQL-Anfragen) zwischen dem MOVEit Transfer Server-Host und dem MS SQL Server sollte TDS-Datenverkehr mit TLS-Protokolldateneinheiten angezeigt werden (SQL-Anfragen und Stapelanfragen sollten nicht lesbar sein).

TransferTip Wenn Sie sich versichert haben, dass der TDS-Datenverkehr mit TLS verschlüsselt wird, können Sie überprüfen, dass dem MS SQL Server-Host nur TLS 1.2 als Verschlüsselungsalgorithmus zur Verfügung steht. Sie können dazu einen Port-Scanner wie Nmap nutzen. Beispiel: Der Befehl nmap --script ssl-enum-ciphers -p 1433 <mein-SQL-Server-Host> gibt die TLS-Version sowie ggf. Warnungen zurück.