Previous Topic

Next Topic

Book Contents

Book Index

Base de données -Se connecte à MS SQL Over TLS 1.2

Cette section est importante si vous envisagez d'exécuter MS SQL Server à distance ou si vous disposez d'un MS SQL Server fonctionnant à distance avec un protocole inférieur (par exemple, SSL 3.0, TLS 1.0-1.1). De nombreuses normes de sécurité des données (DSS), par exemple PCI 3.1, nécessitent l'utilisation de TLS 1.2 pour assurer la confidentialité et l'intégrité des données entièrement.

important Avant de poursuivre La procédure suivante inclut les étapes que vous ou votre administrateur Azure exécutez en dehors de MOVEit Transfer. PSC n’est pas responsable des modifications apportées à la documentation, des ressources en ligne et des logiciels hébergés provenant de Microsoft ou d'autres fournisseurs tiers. La documentation qui suit était exacte lors du lancement de cette version de MOVEit Transfer.

Qu'est-ce que TLS 1.2 ?

+PCI 3.1 nécessite TLS 1.2 de bout en bout sans connexion rétrocompatible ou « de secours ». Par exemple, il est possible de négocier des connexions « de secours » entre un client et un serveur si le serveur prend en charge une gamme de versions SSL/TLS et si le client fonctionne avec une version antérieure de protocole qui est moins sécurisée que TLS 1.2.

Lorsque vous utilisez un serveur de base de données (tel que MS SQL Server) qui se trouve sur un hôte différent de MOVEit Transfer Server, vous devez vous assurer que le niveau approprié de sécurité est appliqué à vos transactions avec MS SQL Server.

Pour vous assurer que les transactions des bases de données MOVEit Transfer avec MS SQL Server fonctionnent sous TLS 1.2, vous devez :

Résumé des étapes

L'exécution de SQL Server avec une connexion TLS 1.2 implique les étapes suivantes :

Remarque : Tenez toujours compte de vos compromis sécurité/disponibilité, du timing et de l'incidence de ces modifications. Appliquer des stratégies de sécurité stricte de points de terminaison peut permettre des connexions refusées à des clients non conformes ou « hors spécifications ».

  1. Appliquez les modifications sur le serveur MOVEit Transfer Server pour activer les connexions TLS 1.2. (Prendre en charge TLS 1.2 d'abord au niveau de MOVEit Transfer Server avant que vous ne demandiez à vos clients finaux de s'y connecter constitue une meilleure pratique.)
  2. Require MOVEit Clients to use TLS 1.2 (Demander aux clients MOVEit d'utiliser TLS 1.2). Vous pouvez utiliser l'utilitaire de configuration de MOVEit Transfer pour sélectionner TLS 1.2. Ce réglage sera appliqué aux connexions TCP initiées par le serveur MOVEit Transfer.
  3. Appliquez et restreignez TLS 1.2 au niveau de MS SQL Server. Cela permet de mettre en œuvre des connexions TLS 1.2 (transactions chiffrées avec MOVEit Transfer).
  4. Verify and monitor changes (Vérifier et surveiller les modifications). Vérifiez l'utilisation du cryptage avec un scanner de port tel que Nmap et des outils de capture de trafic tels que Wireshark constitue une meilleure pratique. Vous pouvez procéder à une surveillance régulière à l'aide d'outils tels que WhatsUp Gold.

    MOVEit Transfer Configuré avec un MS SQL Server distant

Étape 1 : Activez TLS 1.2 sur le serveur MOVEit Transfer

Les points suivants permettent d'activer le serveur MOVEit Transfer pour se connecter avecTLS 1.2 au MS SQL Server distant (à l'aide de son client SQL). Cela ne constitue pas une mesure restrictive. (L'application de ce paramètre en premier lieu permet de s'assurer que les clients seront encore en mesure de se connecter après l'étape 3 -- une fois que vous aurez restreint la communication au niveau de l'hôte MS SQL Server.)

Le serveur MOVEit Transfer Server nécessite Windows Server, qui utilise par défaut la bibliothèque Schannel (Schannel.dll) dans le cadre de son interface du fournisseur de la prise en charge de sécurité (SSPI). Ces instructions détaillent la manière d'appliquer les valeurs des clés de registre dont Schannel a besoin pour la configuration de l'exécution (connexions TLS/SSL).

  1. Sous Windows Server sur lequel est ouvert MS SQL Server, sauvegardez votre registre Windows. (Instructions de sauvegarde et de restauration de l'assistance Microsoft).
  2. Démarrez l'éditeur de registre de Windows Server (regedit).
  3. Recherchez la clé de registre suivante :

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  4. Activez TLS 1.2 et faites-en le protocole par défaut. Examinez les sous-clés du protocole de Schannel. Par exemple :

    Subkeys

Étape 2 : Nécessite que les clients MOVEit utilisent TLS 1.2

Pour limiter les connexions clients d'utilisateurs finaux de MOVEit pour utiliser HTTPS et FTPS sous TLS 1.2, vous pouvez utiliser l'utilitaire de configuration MOVEit Transfer. Assurez-vous que TLS 1.2 est activé, mais vous pouvez désélectionner les protocoles inférieurs (L'utilitaire de configuration MOVEit Transfer fonctionne sur l'hôte du serveur MOVEit Transfer.)

Étape 3 : Activez et forcez TLS 1.2 sur MS SQL Server et l'hôte

Configurez les paramètres de connexion de Schannel

MS SQL Server nécessite Windows Server, qui utilise par défaut la bibliothèque Schannel (Schannel.dll) dans le cadre de son interface du fournisseur de la prise en charge de sécurité (SSPI). Ces instructions détaillent la manière d'appliquer les valeurs des clés de registre dont Schannel a besoin pour la configuration de l'exécution (connexions TLS/SSL).

  1. Sous Windows Server sur lequel est ouvert MS SQL Server, sauvegardez votre registre Windows. (Instructions de sauvegarde et de restauration de l'assistance Microsoft)
  2. Démarrez l'éditeur de registre de Windows Server (regedit).
  3. Recherchez la clé de registre suivante :

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  4. Examinez les sous-clés du protocole de Schannel. Par exemple :

    Sur la machine hôte de MS SQL, assurez-vous que la valeur de l'entrée DWORD DisabledByDefault est configurée pour la sous-clé « TLS 1.2\Server » sur zéro (0x0)--qui signifie faux, pour indiquer que Schannel utilisera TLS 1.2 comme protocole par défaut. Pour la sous-clé TLS 1.2\Server\DisabledByDefault.

  5. Les entrées du registre pour les versions de protocoles différentes de TLS 1.2 (TLS 1.1, TLS 1.1, SSL 2.0, ...) doivent être configurées afin que DisabledByDefault = 1 et Enabled = 0.

Remarque : Lorsqu'une plage de protocoles SSL est configurée sur l'hôte de MS SQL Server, une connexion cryptée d'un côté peut renégocier et rétrograder ou par connexion pour accepter un protocole inférieur fonctionnant sur l'hôte client. Pour éviter ce comportement, vous devez exiger le cryptage sur l'hôte de MS SQL Server et faire une utilisation par défaut des protocoles de sécurité inférieure dans un état faux.

TransferTip L'intégralité de l'article de Microsoft KB qui détaille l'activation de TLS 1.2 se trouve ici.

Configurez la configuration réseau de SQL Server pour forcer le cryptage (et redémarrer le serveur DB)

Ensuite, ouvrez le gestionnaire de configuration de SQL Server sur la machine hôte de la base de données distante et modifiez la stratégie de connexion pour forcer les clients SQL à s'y connecter en utilisant le cryptage.

Gestionnaire de configuration Microsoft SQL Server (version 2014 illustrée)

SQLServerConfigManager

Sur la machine hôte de MS SQL Server :

  1. Ouvrez le gestionnaire de configuration de SQL Server.
  2. Sélectionnez SQL Server Network Configuration (Configuration réseau de SQL Server).
  3. Sélectionnez et cliquez avec le bouton droit sur Protocoles pour <my-sql-server-db> et choisissez Propriétés.

    --Où <my-sql-server-db> est identique à votre serveur DB de Microsoft SQL Server.

  4. Cliquez sur l'onglet Flags (Drapeaux) et dans la liste déroulante Force Encryption (Forcer le cryptage), choisissez Yes (Oui) et cliquez sur Appliquer.

    ForceEncryption

    Une fois que vous avez cliquée sur Appliquer, une boîte de dialogue contextuel vous rappelle que vous devez redémarrer le serveur de base de données pour que les modifications entrent en vigueur.

  5. Dans le volet de gauche, sélectionnez SQL Server Services (Services de SQL Server), cliquez avec le bouton droit sur SQL Server (<my-sql-server-db>) et choisissez Redémarrer.

Étape 4 : Vérifiez le trafic entre le client SQL (fonctionnant sur Server MOVEit Transfer) et le MS SQL Server distant

Pour la dernière étape, utilisez un client MOVEit Transfer pour générer un trafic de demande avec le serveur MOVEit Transfer et envoyer des transactions sur la base de données MS SQL distante.

  1. Ouvrez un client MOVEit Transfer (REST API, Web UI, MOVEit Client, par exemple).
  2. Installez Wireshark sur le serveur MOVEit Transfer ou un bureau sur le même sou réseau que le serveur MOVEit Transfer.
  3. Dans Wireshark, filtrez l'adresse IP de MS SQL Server, par exemple :

    ip.addr == <transfer-server-ip-address>

  4. Utilisez un client MOVEit Transfer pour effectuer une action qui nécessite que le serveur MOVEit Transfer ouvre une connexion avec la base de données de MS SQL Server, par exemple, transférez un fichier.
  5. Vérifier que le protocole de la couche de présentation répertoriée est TLS 1.2.

    Les échanges TDS (par exemple une demande SQL) entre l'hôte du serveur MOVEit Transfer et MS SQL Server doivent montrer le trafic TDS avec des informations d'unités de données du protocole TLS (les demandes SQL et les demandes en lots ne doivent pas être lisibles).

TransferTip Après vous être assuré que votre trafic TDS est chiffré avec TLS, vous pouvez vérifier que les cryptage disponible pour l'hôte MS SQL Server sont strictement TLS version 1.2. Vous pouvez le faire grâce à des scanners de ports tels que Nmap. Par exemple, cette commande : nmap --script ssl-enum-ciphers -p 1433 <my-sql-server-host> renvoie la version de TLS avec des avertissements (le cas échéant).