Configuration de la sécurité du fractionnement et de la fusion
S’applique à : Azure SQL Database
Pour utiliser le service de fusion et de fractionnement, vous devez configurer correctement la sécurité. Ce service fait partie de la fonctionnalité Mise à l'échelle élastique de Azure SQL Database. Pour plus d’informations, consultez le didacticiel sur le service de fusion et de fractionnement de l’infrastructure élastique
Configuration des certificats
Les certificats sont configurés de deux manières.
Pour obtenir des certificats
Les certificats peuvent être obtenus à partir d’autorités de certification publiques ou du Service de certificats Windows. Il s’agit des méthodes préférées pour obtenir des certificats.
Si ces options ne sont pas disponibles, vous pouvez générer des certificats auto-signés.
Outils de génération de certificats
Pour exécuter les outils
Depuis une invite de commandes développeur pour Visual Studio, consultez la rubrique Invite de commandes Visual Studio
Si installée, accédez à :
%ProgramFiles(x86)%\Windows Kits\x.y\bin\x86
Procurez-vous le kit WDK à partir de Windows 8.1 : Télécharger les kits et les outils
Pour configurer le certificat TLS/SSL
Un certificat TLS/SSL est nécessaire pour chiffrer les communications et authentifier le serveur. Choisissez le plus approprié des trois scénarios ci-dessous et exécutez toutes les étapes associées :
Création d’un certificat auto-signé
- Création d’un certificat auto-signé
- Création d’un fichier PFX pour un certificat TLS/SSL auto-signé
- Téléchargement du certificat TLS/SSL vers le service cloud
- Mise à jour du certificat TLS/SSL dans le fichier de configuration de service
- Importation de l’autorité de certification TLS/SSL
Pour utiliser un certificat existant du magasin de certificats
- Exportation d’un certificat TLS/SSL à partir du magasin de certificats
- Téléchargement du certificat TLS/SSL vers le service cloud
- Mise à jour du certificat TLS/SSL dans le fichier de configuration de service
Pour utiliser un certificat existant dans un fichier PFX
- Téléchargement du certificat TLS/SSL vers le service cloud
- Mise à jour du certificat TLS/SSL dans le fichier de configuration de service
Pour configurer des certificats clients
Les certificats clients sont requis pour authentifier les demandes au service. Choisissez le plus approprié des trois scénarios ci-dessous et exécutez toutes les étapes associées :
Désactivation des certificats clients
Émission de nouveaux certificats clients auto-signés
- Création d’une autorité de certification auto-signée
- Téléchargement du certificat CA vers le service cloud
- Mise à jour du certificat CA dans le fichier de configuration de service
- Émission de certificats clients
- Création de fichiers PFX pour les certificats clients
- Importation d’un certificat client
- Copie des empreintes numériques des certificats clients
- Configuration des clients autorisés dans le fichier de configuration de service
Utilisation de certificats clients existants
- Find CA Public Key
- Téléchargement du certificat CA vers le service cloud
- Mise à jour du certificat CA dans le fichier de configuration de service
- Copie des empreintes numériques des certificats clients
- Configuration des clients autorisés dans le fichier de configuration de service
- Configuration de la vérification de révocation des certificats clients
Adresses IP autorisées
L’accès aux points de terminaison de service peut être limité à des plages d’adresses IP spécifiques.
Pour configurer le cryptage pour le magasin
Un certificat est nécessaire pour chiffrer les informations d’identification stockées dans le magasin de métadonnées. Choisissez le plus approprié des trois scénarios ci-dessous et exécutez toutes les étapes associées :
Utilisation d’un nouveau certificat auto-signé
- Création d’un certificat auto-signé
- Création d’un fichier PFX pour un certificat de chiffrement auto-signé
- Téléchargement du certificat de chiffrement vers le service cloud
- Mise à jour du certificat de chiffrement dans le fichier de configuration de service
Utilisation d’un certificat existant du magasin de certificats
- Exportation d’un certificat de chiffrement à partir du magasin de certificats
- Téléchargement du certificat de chiffrement vers le service cloud
- Mise à jour du certificat de chiffrement dans le fichier de configuration de service
Utilisation d’un certificat existant dans un fichier PFX
- Téléchargement du certificat de chiffrement vers le service cloud
- Mise à jour du certificat de chiffrement dans le fichier de configuration de service
Configuration par défaut
La configuration par défaut refuse tout accès au point de terminaison HTTP. Il s’agit du paramètre recommandé, puisque les demandes pour ces points de terminaison peuvent comporter des informations sensibles comme les informations d’identification de la base de données. La configuration par défaut accepte tout accès au point de terminaison HTTPS. Ce paramètre peut être restreint davantage.
Modification de la configuration
Le groupe de règles de contrôle d’accès qui s’appliquent à un point de terminaison est configuré dans la section <EndpointAcls> du fichier de configuration du service.
<EndpointAcls>
<EndpointAcl role="SplitMergeWeb" endPoint="HttpIn" accessControl="DenyAll" />
<EndpointAcl role="SplitMergeWeb" endPoint="HttpsIn" accessControl="AllowAll" />
</EndpointAcls>
Les règles d’un groupe de contrôle d’accès sont configurées dans la section <AccessControl name=""> du fichier de configuration du service.
Le format est expliqué dans la documentation de listes de contrôle d’accès réseau. Par exemple, pour autoriser uniquement les adresses IP de la plage 100.100.0.0 à 100.100.255.255 à accéder au point de terminaison HTTPS, les règles ressembleraient à ceci :
<AccessControl name="Retricted">
<Rule action="permit" description="Some" order="1" remoteSubnet="100.100.0.0/16"/>
<Rule action="deny" description="None" order="2" remoteSubnet="0.0.0.0/0" />
</AccessControl>
<EndpointAcls>
<EndpointAcl role="SplitMergeWeb" endPoint="HttpsIn" accessControl="Restricted" />
</EndpointAcls>
Prévention du déni de service
Il existe deux mécanismes différents pris en charge pour détecter et prévenir les attaques par déni de service :
- Limiter le nombre de demandes simultanées par hôte distant (désactivé par défaut)
- Limiter le taux d’accès par hôte distant (activé par défaut)
Ces mécanismes sont basés sur les fonctionnalités plus longuement documentées dans la rubrique Sécurité IP dynamique dans IIS. Lors de la modification de cette configuration, soyez attentif aux facteurs suivants :
- Le comportement des proxys et des appareils de traduction d’adresses réseau sur les informations de l’hôte distant
- Chaque demande à destination d’une ressource du rôle web est prise en compte (par exemple, le chargement de scripts, des images, etc.)
Limitation du nombre d'accès simultanés
Les paramètres qui configurent ce comportement sont les suivants :
<Setting name="DynamicIpRestrictionDenyByConcurrentRequests" value="false" />
<Setting name="DynamicIpRestrictionMaxConcurrentRequests" value="20" />
Modifiez DynamicIpRestrictionDenyByConcurrentRequests sur true pour activer cette protection.
Restriction du taux d’accès
Les paramètres qui configurent ce comportement sont les suivants :
<Setting name="DynamicIpRestrictionDenyByRequestRate" value="true" />
<Setting name="DynamicIpRestrictionMaxRequests" value="100" />
<Setting name="DynamicIpRestrictionRequestIntervalInMilliseconds" value="2000" />
Configuration de la réponse à une demande refusée
Le paramètre suivant configure la réponse à une demande refusée :
<Setting name="DynamicIpRestrictionDenyAction" value="AbortRequest" />
Reportez-vous à la documentation relative à la sécurité IP dynamique dans IIS pour les autres valeurs prises en charge.
Opérations de configuration des certificats de service
Cette rubrique sert de référence uniquement. Suivez les étapes de configuration décrites dans :
- Configurer le certificat TLS/SSL
- Configuration des certificats clients
Créer un certificat auto-signé
Exécutez :
makecert ^
-n "CN=myservice.cloudapp.net" ^
-e MM/DD/YYYY ^
-r -cy end -sky exchange -eku "1.3.6.1.5.5.7.3.1" ^
-a sha256 -len 2048 ^
-sv MySSL.pvk MySSL.cer
Pour personnaliser :
- -n avec l’URL du service. Les caractères génériques (CN=*.cloudapp.net) et d’autres noms (CN=myservice1.cloudapp.net, CN=myservice2.cloudapp.net) sont pris en charge.
- -e avec la date d'expiration du certificat Créez un mot de passe fort et spécifiez-le lorsque vous y êtes invité.
Créer fichier PFX pour un certificat TLS/SSL auto-signé
Exécutez :
pvk2pfx -pvk MySSL.pvk -spc MySSL.cer
Entrez le mot de passe et exportez le certificat avec les options suivantes :
- Oui, exporter la clé privée
- Exporter toutes les propriétés étendues
Exporter un certificat TLS/SSL à partir du magasin de certificats
- Recherchez le certificat
- Cliquez sur Actions -> Toutes les tâches -> Exporter…
- Exportez le certificat dans un fichier .PFX avec les options suivantes :
- Oui, exporter la clé privée
- Inclure tous les certificats dans le chemin d’accès de certification si possible *Exporter toutes les propriétés étendues
Télécharger le certificat TLS/SSL vers le service cloud
Téléchargez le certificat avec le fichier .PFX existant ou généré avec la paire de clés TLS :
- Entrez le mot de passe protégeant les informations de clés privées
Mettre à jour certificat TLS/SSL dans le fichier de configuration de service
Mettez à jour la valeur de l’empreinte numérique du paramètre suivant du fichier de configuration de service avec l’empreinte numérique du certificat téléchargé vers le service cloud :
<Certificate name="SSL" thumbprint="" thumbprintAlgorithm="sha1" />
Importer l’autorité de certification TLS/SSL
Suivez les étapes suivantes pour tous les comptes/ordinateurs qui communiquent avec le service :
- Double-cliquez sur le fichier .CER dans l'Explorateur Windows
- Dans la boîte de dialogue Certificat, cliquez sur Installer le certificat...
- Importez le certificat dans le magasin racine des autorités de certification approuvées
Désactivation de l’authentification par certificat client
Seule l’authentification par certificat client est prise en charge et sa désactivation autorise l’accès public aux points de terminaison de service, à moins que d’autres mécanismes soient en place (par exemple, Réseau virtuel Microsoft Azure).
Définissez ces paramètres sur false dans le fichier de configuration de service pour désactiver la fonctionnalité :
<Setting name="SetupWebAppForClientCertificates" value="false" />
<Setting name="SetupWebserverForClientCertificates" value="false" />
Ensuite, copiez la même empreinte numérique que celle du certificat TLS/SSL dans le paramètre du certificat de l’autorité de certification :
<Certificate name="CA" thumbprint="" thumbprintAlgorithm="sha1" />
Création d’une autorité de certification auto-signée
Exécutez les étapes suivantes pour créer un certificat auto-signé qui agit comme une autorité de certification :
makecert ^
-n "CN=MyCA" ^
-e MM/DD/YYYY ^
-r -cy authority -h 1 ^
-a sha256 -len 2048 ^
-sr localmachine -ss my ^
MyCA.cer
Pour le personnaliser
- -e avec la date d’expiration du certificat
Recherche de la clé publique de l’autorité de certification
Tous les certificats clients doivent avoir été émis par une autorité de certification approuvée par le service. Recherchez la clé publique d’accès à l’autorité de certification qui a émis les certificats clients qui seront utilisés pour l’authentification afin de la télécharger vers le service cloud.
Si le fichier comportant la clé publique n’est pas disponible, exportez-le à partir du magasin de certificats :
- Rechercher le certificat
- Recherchez un certificat client émis par la même autorité de certification
- Double-cliquez sur le certificat.
- Sélectionnez l’onglet Chemin d’accès de certification dans la boîte de dialogue Certificat.
- Double-cliquez sur l’entrée de l’autorité de certification dans le chemin d’accès.
- Prenez note des propriétés du certificat.
- Fermez la boîte de dialogue Certificat .
- Rechercher le certificat
- Recherchez l’autorité de certification indiquée ci-dessus.
- Cliquez sur Actions -> Toutes les tâches -> Exporter…
- Exportez le certificat dans un fichier .CER avec les options suivantes :
- Non, ne pas exporter la clé privée
- Inclure tous les certificats dans le chemin d’accès de certification si possible.
- Exporter toutes les propriétés étendues.
Téléchargement du certificat CA vers le service cloud
Téléchargez le certificat avec le fichier .CER existant ou généré avec la clé publique de l’autorité de certification.
Mise à jour du certificat CA dans le fichier de configuration de service
Mettez à jour la valeur de l’empreinte numérique du paramètre suivant du fichier de configuration de service avec l’empreinte numérique du certificat téléchargé vers le service cloud :
<Certificate name="CA" thumbprint="" thumbprintAlgorithm="sha1" />
Mettez à jour la valeur du paramètre suivant avec la même empreinte numérique :
<Setting name="AdditionalTrustedRootCertificationAuthorities" value="" />
Émission de certificats clients
Chaque personne autorisée à accéder au service doit disposer d’un certificat client émis pour son utilisation exclusive et doit choisir un mot de passe fort pour protéger sa clé privée.
Les étapes suivantes doivent être exécutées sur l’ordinateur sur lequel le certificat auto-signé de l’autorité de certification a été généré et stocké :
makecert ^
-n "CN=My ID" ^
-e MM/DD/YYYY ^
-cy end -sky exchange -eku "1.3.6.1.5.5.7.3.2" ^
-a sha256 -len 2048 ^
-in "MyCA" -ir localmachine -is my ^
-sv MyID.pvk MyID.cer
Personnalisation :
- -n avec un identifiant client qui sera authentifié avec ce certificat
- -e avec la date d'expiration du certificat
- MyID.pvk et MyID.cer avec des noms de fichier uniques pour ce certificat client
Cette commande vous demande de créer un mot de passe et de l’utiliser une seule fois. Utilisez un mot de passe fort.
Création de fichiers PFX pour les certificats clients
Pour chaque certificat client généré, exécutez :
pvk2pfx -pvk MyID.pvk -spc MyID.cer
Personnalisation :
MyID.pvk and MyID.cer with the filename for the client certificate
Entrez le mot de passe et exportez le certificat avec les options suivantes :
- Oui, exporter la clé privée
- Exporter toutes les propriétés étendues
- La personne pour laquelle ce certificat a été émis doit choisir le mot de passe d’exportation
Importation d’un certificat client
Chaque personne pour laquelle un certificat client a été émis doit importer la paire de clés dans les machines qu’elle utilise pour communiquer avec le service :
- Double-cliquez sur le fichier .PFX dans l’Explorateur Windows
- Importez un certificat dans le magasin Personnel avec au moins l’option suivante :
- Inclure toutes les propriétés étendues activées
Copie des empreintes numériques des certificats clients
Chaque personne pour laquelle un certificat client a été émis doit suivre ces étapes pour obtenir l’empreinte numérique de son certificat, qui sera ajoutée au fichier de configuration de service :
- Exécutez certmgr.exe
- Sélectionnez l'onglet Personnel
- Double-cliquez sur le certificat client à utiliser pour l'authentification
- Dans la boîte de dialogue Certificat qui s'ouvre, sélectionnez l'onglet Détails
- Veillez à ce que l'option Afficher indique Tous
- Sélectionnez le champ nommé Empreinte numérique dans la liste
- Copiez la valeur de l’empreinte
- Supprimez les caractères Unicode non visibles devant le premier chiffre
- Supprimez tous les espaces
Configuration des clients autorisés dans le fichier de configuration de service
Mettez à jour la valeur du paramètre suivant dans le fichier de configuration de service avec une liste séparée par des virgules des empreintes numériques des certificats clients autorisés à accéder au service :
<Setting name="AllowedClientCertificateThumbprints" value="" />
Configuration de la vérification de révocation des certificats clients
Le paramètre par défaut ne vérifie pas l’état de révocation du certificat client auprès de l’autorité de certification. Pour activer les vérifications, si l’autorité de certification qui a émis les certificats clients prend en charge ces vérifications, définissez le paramètre suivant avec l’une des valeurs définies dans l’énumération X509RevocationMode :
<Setting name="ClientCertificateRevocationCheck" value="NoCheck" />
Création d’un fichier PFX pour un certificat de chiffrement auto-signé
Pour un certificat de chiffrement, exécutez :
pvk2pfx -pvk MyID.pvk -spc MyID.cer
Personnalisation :
MyID.pvk and MyID.cer with the filename for the encryption certificate
Entrez le mot de passe et exportez le certificat avec les options suivantes :
- Oui, exporter la clé privée
- Exporter toutes les propriétés étendues
- Vous aurez besoin du mot de passe lors du téléchargement du certificat vers le service cloud.
Exportation d’un certificat de chiffrement à partir du magasin de certificats
- Recherchez le certificat
- Cliquez sur Actions -> Toutes les tâches -> Exporter…
- Exportez le certificat dans un fichier .PFX avec les options suivantes :
- Oui, exporter la clé privée
- Inclure tous les certificats dans le chemin d’accès de certification si possible
- Exporter toutes les propriétés étendues
Téléchargement du certificat de chiffrement vers le service cloud
Téléchargez le certificat avec le fichier .PFX existant ou généré avec la paire de clés de chiffrement :
- Entrez le mot de passe protégeant les informations de clés privées
Mise à jour du certificat de chiffrement dans le fichier de configuration de service
Mettez à jour la valeur de l’empreinte numérique des paramètres suivants du fichier de configuration de service avec l’empreinte numérique du certificat téléchargé vers le service cloud :
<Certificate name="DataEncryptionPrimary" thumbprint="" thumbprintAlgorithm="sha1" />
Opérations courantes de certificat
- Configurer le certificat TLS/SSL
- Configuration des certificats clients
Recherchez le certificat
Procédez comme suit :
- Exécutez mmc.exe.
- Fichier –> Ajouter/supprimer un composant logiciel enfichable…
- Sélectionnez Certificats.
- Cliquez sur Add.
- Choisissez l’emplacement du magasin de certificats.
- Cliquez sur Terminer.
- Cliquez sur OK.
- Développez les certificats.
- Développez le nœud du magasin du certificat.
- Développez le nœud enfant du certificat.
- Sélectionnez un certificat dans la liste.
Exportation du certificat
Dans l’ Assistant Exportation de certificat:
- Cliquez sur Suivant.
- Sélectionnez l’option Oui, puis Exporter la clé privée.
- Cliquez sur Suivant.
- Sélectionnez le format de fichier de sortie souhaité.
- Vérifiez les options de votre choix.
- Vérifiez le mot de passe.
- Entrez un mot de passe fort et confirmez-le.
- Cliquez sur Suivant.
- Tapez ou sélectionnez un nom de fichier dans lequel stocker le certificat (utilisez une extension .PFX).
- Cliquez sur Suivant.
- Cliquez sur Terminer.
- Cliquez sur OK.
Importation d’un certificat
Dans l'Assistant Importation de certificat :
Sélectionnez l’emplacement du magasin.
- Sélectionnez Utilisateur actuel si seuls les processus s’exécutant sous l’utilisateur actuel accèdent au service.
- Sélectionnez Ordinateur local si d’autres processus de cet ordinateur accèdent au service
Cliquez sur Suivant.
Si vous importez depuis un fichier, vérifiez le chemin d’accès.
Si vous importez depuis un fichier .PFX :
- Entrez le mot de passe protégeant la clé privée
- Sélectionnez les options d’importation
Sélectionnez « Placer » les certificats dans le magasin suivant
Cliquez sur Parcourir.
Sélectionnez le magasin de votre choix.
Cliquez sur Terminer.
- Si le magasin racine des autorités de certification approuvées a été choisi, cliquez sur Oui.
Cliquez sur OK dans toutes les fenêtres des boîtes de dialogue.
Téléchargement d’un certificat
Dans le portail Azure :
- Sélectionnez Services Cloud.
- Sélectionnez le service cloud.
- Dans le menu supérieur, cliquez sur Certificats.
- Dans la barre inférieure, cliquez sur Télécharger.
- Sélectionnez le fichier de certificat.
- S’il s’agit d’un fichier .PFX, entrez le mot de passe de la clé privée.
- Lorsque vous avez terminé, copiez l’empreinte de certificat à partir de la nouvelle entrée dans la liste.
Autres considérations liées à la sécurité
Les paramètres TLS décrits dans ce document chiffrent les communications entre le service et ses clients lorsque le point de terminaison HTTPS est utilisé. Ceci est important car les informations d’identification pour l’accès à la base de données, et éventuellement à d’autres informations sensibles, sont contenues dans les communications. Notez, néanmoins, que le service conserve l'état interne, y compris les informations d'identification, dans ses tables internes de la base de données dans Azure SQL Database que vous avez fournies pour le stockage des métadonnées dans votre abonnement Microsoft Azure. Cette base de données a été définie dans le paramètre suivant dans votre fichier de configuration de service (fichier .CSCFG) :
<Setting name="ElasticScaleMetadata" value="Server=…" />
Les informations d’identification stockées dans cette base de données sont chiffrées. Toutefois, il est recommandé de s’assurer que les rôles Web et de travail de vos déploiements de service sont mis à jour et sécurisés, car les deux types de rôle ont accès à la base de données de métadonnées et au certificat utilisé pour le chiffrement et le déchiffrement des informations d’identification stockées.
Contenu connexe
Vous n’utilisez pas encore d’outils de base de données élastique ? Consultez notre Guide de prise en main. Pour toute question, contactez-nous par le biais de la page de questions Microsoft Q&A sur SQL Database et, pour vos demandes de fonctionnalités, ajoutez de nouvelles idées ou votez pour les idées existantes sur le forum de commentaires SQL Database.