Considérations relatives à la sécurité
Cette rubrique contient des considérations relatives à la sécurité dans le cadre du développement, du déploiement et de l'exécution d'applications qui utilisent le Pilote SQL Server pour PHP. Pour obtenir des informations plus détaillées sur la sécurité SQL Server, consultez Sécurité SQL Server 2005 ou Sécurité SQL Server 2008.
Se connecter à l'aide de l'authentification Windows
L'authentification Windows doit être utilisée pour la connexion à SQL Server chaque fois que cela est possible pour les raisons suivantes :
- Aucune information d'identification n'est transmise sur le réseau au cours de l'authentification. Les noms d'utilisateurs et les mots de passe ne sont pas incorporés dans la chaîne de connexion de base de données. Par conséquent, les utilisateurs malveillants ou les pirates ne peuvent pas obtenir les informations d'identification en analysant le réseau ou en consultant les chaînes de connexion présentes dans les fichiers de configuration.
- Les utilisateurs sont soumis à une gestion des comptes centralisée. Les stratégies de sécurité, par exemple les délais d'expiration des mots de passe, les longueurs minimales des mots de passe et le verrouillage des comptes après plusieurs requêtes d'ouverture de session non valides, sont appliquées.
Pour obtenir des informations sur la manière de se connecter à un serveur à l'aide de l'authentification Windows, consultez Procédure : se connecter à l'aide de l'authentification Windows.
Lorsque vous vous connectez à l'aide de l'authentification Windows, il est recommandé de configurer votre environnement pour permettre à SQL Server d'utiliser le protocole d'authentification Kerberos. Pour plus d'informations, consultez Comment faire pour s'assurer d'utiliser l'authentification Kerberos lorsque vous établissez une connexion distante à une instance de SQL Server 2005 ou Authentification Kerberos et SQL Server.
Utiliser des connexions chiffrées pour le transfert des données sensibles
Utilisez des connexions chiffrées pour envoyer ou récupérer des données sensibles sur SQL Server. Pour obtenir des informations sur la manière d'activer des connexions chiffrées, consultez Procédure : activer des connexions chiffrées dans le moteur de base de données (Gestionnaire de configuration SQL Server). Pour établir une connexion sécurisée à l'aide du Pilote SQL Server pour PHP, utilisez l'attribut de connexion Encrypt pour vous connecter au serveur. Pour obtenir des informations sur les attributs de connexion, consultez sqlsrv_connect.
Utiliser des requêtes paramétrables
Utilisez des requêtes paramétrables pour réduire les risques d'attaque par injection de code SQL. Pour obtenir des exemples d'exécution de requêtes paramétrables, consultez Procédure : exécuter des requêtes paramétrées, Procédure : exécuter une requête unique et Procédure : exécuter une requête à plusieurs reprises.
Pour plus d'informations sur les attaques par injection de code SQL et sur les considérations relatives à la sécurité, consultez Injection SQL.
Ne pas accepter d'informations de chaîne de connexion ou de serveur provenant d'utilisateurs finaux
Écrivez des applications qui empêchent les utilisateurs finaux de soumettre des informations de chaîne de connexion ou de serveur à l'application. Pour réduire la surface d'exposition aux activités malveillantes, maintenez un contrôle strict sur les informations de chaîne de connexion et de serveur.
Activer WarningsAsErrors pendant le développement d'applications
Développez des applications avec la valeur true affectée au paramètre WarningsAsErrors afin que les avertissements émis par le pilote soient traités comme des erreurs. Cela vous permettra de traiter les avertissementd avant de déployer votre application. Pour plus d'informations, consultez Gestion des erreurs et des avertissements.
Sécuriser les journaux relatifs aux applications déployées
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. La protection contre la possibilité, pour les utilisateurs finals, d'accéder aux informations écrites dans les fichiers journaux est ainsi renforcée. Pour plus d'informations, consultez Journalisation de l'activité.
Voir aussi
Autres ressources
Guide de programmation
Considérations relatives à la conception