Dans l'esprit de la majorité des développeurs, la première étape destinée à assurer la sécurité de la base de données consiste à protéger la chaîne de connexion. Aucune des solutions suggérées jusqu'ici ne mentionne la chaîne de connexion car elle ne fait pas partie de mon attaque. L'application a déjà
Restriction des autorisations de base de données
accès à votre chaîne de connexion et l’attaque
par injection de code SQL manipule les données envoyées
par l’application à votre base de données via la
connexion. Bien que vous puissiez dissimuler la chaîne de
connexion sous plusieurs couches de cryptage, vous devez
quand même partir du postulat qu’elle peut tomber entre de
mauvaises mains. Qu’avez-vous fait pour limiter les dégâts si
cela se produit ? Vous devez configurer les comptes employés
par les utilisateurs pour accéder à la base de données
uniquement avec les autorisations donnant accès aux procédures
stockées dont se sert l’application.
C’est à ce stade que les rôles de base de données entrent
en scène. De nombreux développeurs préféreraient employer
simplement le compte sa pour des accès faciles au
cours du développement, mais j’espère que vous ne laissez
pas l’application de production disposer d’autorisations sa
sur votre système. Certains développeurs créent un compte
personnalisé pour les phases de développement, mais ils lui
octroient des autorisations complètes ou une large palette
d’autorisations, notamment les rôles SQL Server db_datareader
et db_datawriter. Ces rôles constituent une meilleure approche
que le recours à un compte avec des privilèges d’administrateur,
mais dans la majorité des cas, ils n’assurent
qu’une protection limitée contre l’action dévastatrice de l’injection
de code SQL.
Lors de la configuration des autorisations de base de
données de votre application, commencez avec un rôle personnalisé.
Notez bien que je n’ai pas employé le terme
« compte ». Au fil du temps, les comptes ou le type de compte
(SQL Server ou Windows) peuvent changer, mais si vous avez
lié les autorisations de votre application à un rôle, ces détails
n’ont aucune importance. L’utilisation d’un rôle a la signification
suivante : lorsqu’il est nécessaire de changer un
compte, il suffit d’ajouter un nouveau compte au rôle et de
supprimer l’ancien compte.
Parfois, les développeurs essaient de créer un rôle pour
les opérations de lecture et un autre pour les opérations
d’écriture sur la base de données. Cette approche simple
peut sembler pertinente, mais une meilleure approche
consiste à créer un rôle ayant les autorisations d’accéder uniquement
aux procédures stockées de votre application. Avec
un seul rôle, si le compte est compromis (soit explicitement,
soit implicitement), vous pouvez faire en sorte que les seuls
objets à la portée de l’intrus soient ceux auxquels l’application
peut accéder en toute légitimité. Un accès direct aux
tables de votre base de données signifie que la violation d’un
compte entraînera celle de toutes les colonnes des tables. Si
vous autorisez les accès uniquement par le biais d’une procédure
stockée, l’application sera capable d’insérer des informations
telles qu’un numéro de carte de crédit. Mais si
SQL Server n’a pas de procédure stockée pour retourner un
numéro de carte de crédit (et elle ne doit pas en avoir), les
intrus ne pourront pas obtenir cette information.
Téléchargez cette ressource
Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Activer la mise en veille prolongée dans Windows 10
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Les 6 étapes vers un diagnostic réussi
Les plus consultés sur iTPro.fr
- Souveraineté numérique : les décideurs publics veulent prioriser les modèles d’IA souverains
- Dans l’œil du cyber-cyclone : l’excès d’optimisme constitue le risque principal pour la résilience des données
- Les 3 prédictions 2026 pour Java
- Infrastructures IT : 5 leviers concrets pour éviter les impasses technologiques
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
