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
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- L’analytique prédictive au service de la décarbonation en France
- Ofelia, ex-Bonitasoft, lance une solution d’orchestration IA agentique
- Le bruit au travail et ses effets sur la concentration dans les bureaux modernes
Articles les + lus
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
À la une de la chaîne Tech
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
