Considérations relatives à la sécurité pour les pilotes Microsoft pour PHP pour SQL Server

Télécharger le pilote PHP

Cette rubrique décrit les considérations de sécurité propres au développement, au déploiement et à l’exécution d’applications qui utilisent le Pilotes Microsoft SQL Server pour PHP. Pour plus d’informations sur la sécurité de SQL Server, consultez Vue d’ensemble de la sécurité de SQL Server.

Se connecter avec l’authentification Windows

Préférez l’authentification Windows pour la connexion à SQL Server dès lors que possible pour les raisons suivantes :

  • Aucune information d’identification n’est transmise sur le réseau pendant l’authentification. Les noms d’utilisateur et les mots de passe ne sont pas incorporés dans la chaîne de connexion de base de données. Par conséquent, aucun utilisateur malveillant ne peut obtenir des informations d’identification en surveillant le réseau ou en consultant des chaînes de connexion dans des fichiers de configuration.

  • Les utilisateurs sont soumis à une gestion centralisée des comptes. Des stratégies de sécurité sont appliquées, telles que des mots de passe avec un délai d’expiration et un nombre minimal de caractères à respecter, ou encore le verrouillage des comptes après plusieurs tentatives de connexion non valides.

Pour plus d’informations sur la façon de se connecter à un serveur avec l’authentification Windows, consultez Procédure : se connecter à l’aide de l’authentification Windows.

Quand vous vous connectez à l’aide de l’authentification Windows, nous vous recommandons de configurer votre environnement pour que SQL Server puisse utiliser le protocole d’authentification Kerberos. Pour plus d’informations, consultez Comment être sûr d’utiliser l’authentification Kerberos quand vous créez une connexion distante à une instance de SQL Server 2005 ou Authentification Kerberos et SQL Server.

Utiliser des connexions chiffrées lors du transfert de données sensibles

Vous devez utiliser des connexions chiffrées chaque fois que des données sensibles sont envoyées à SQL Server ou récupérées depuis SQL Server. Pour plus d’informations sur la façon d’activer les connexions chiffrées, consultez Activer les connexions chiffrées dans le moteur de base de données (Gestionnaire de configuration SQL Server). Pour établir une connexion sécurisée avec le Pilotes Microsoft SQL Server pour PHP, utilisez l’attribut de connexion Encrypt lors de la connexion au serveur. Pour plus d’informations sur les attributs de connexion, consultez Connection Options.

Utiliser des requêtes paramétrables

Utilisez des requêtes paramétrables pour réduire le risque d’attaques par injection SQL. Pour obtenir des exemples d’exécution de requêtes paramétrables, consultez How to: Perform Parameterized Queries.

Pour plus d’informations sur les attaques par injection SQL et sur les considérations de sécurité associées, consultez Injection SQL.

Ne pas accepter d’informations de chaîne de connexion ou de serveur de la part des utilisateurs finaux

Écrivez vos applications de sorte que les utilisateurs finaux ne puissent pas envoyer d’informations de chaîne de connexion ou de serveur à l’application. Le fait de maintenir un contrôle strict sur les informations de chaîne de connexion et de serveur permet de réduire la surface d’exposition aux activités malveillantes.

Activer WarningsAsErrors pendant le développement d’applications

Développez vos applications avec le paramètre WarningsAsErrors défini sur true pour que les avertissements émis par le pilote soient considérés comme des erreurs. Cela vous permettra de traiter les avertissements avant de déployer votre application. Pour plus d’informations, consultez Handling Errors and Warnings.

Sécuriser les journaux pour l’application déployée

Pour les applications déployées, assurez-vous que les journaux sont écrits dans un emplacement sécurisé ou que la journalisation est désactivée. Vous éviterez ainsi que les utilisateurs finaux accèdent aux informations qui ont été écrites dans les fichiers journaux. Pour plus d’informations, consultez Logging Activity.

Voir aussi

Guide de programmation pour les pilotes Microsoft pour PHP pour SQL Server