La séparation des tâches (Segregation Of Duty ou SoD) consiste à attribuer les rôles et responsabilités des tâches sensibles à différentes personnes, réduisant ainsi le risque qu’un individu puisse commettre un vol ou porter préjudice au système. Pour en savoir plus, découvrez la solution Database Vault.
Oracle Technology Data Week
Temps de lecture : 7 mn
L’application de la séparation des tâches ainsi que le principe du moindre privilège constitue le socle d’une stratégie de sécurité efficace. Ces principes s’appliquent aussi bien aux bases de données qu’à l’ensemble des systèmes informatiques.
La séparation des tâches consiste à répartir les responsabilités de manière à ce qu’aucun utilisateur ne dispose de suffisamment de privilèges pour accéder à des données sensibles ou compromettre l’intégrité du système. Chaque utilisateur ne se voit accorder que les droits strictement nécessaires à l’accomplissement de ses missions quotidiennes.
Le principal risque ne provient pas directement des collaborateurs, mais plutôt des individus malveillants qui cherchent à s’approprier les identifiants des utilisateurs privilégiés afin de mener des attaques, de subtiliser des données, de manipuler des informations ou de nuire au système.
Un exemple typique de la séparation des tâches consiste à différencier la saisie des factures fournisseurs de leur paiement. Selon ce principe, ces tâches sont confiées à au moins deux personnes différentes, empêchant ainsi un utilisateur malintentionné de créer un nouveau fournisseur, d’enregistrer une fausse facture, puis de se verser le paiement à lui-même.
De manière similaire, la séparation des tâches dans une base de données vise à contrer les attaques les plus courantes en attribuant des rôles distincts afin de limiter les risques de compromission. Un scénario d’attaque fréquent consiste, pour un utilisateur malveillant ayant obtenu des identifiants privilégiés, à créer un nouveau compte frauduleux, puis à accorder des privilèges élevés à ce compte pour ensuite l’utiliser lors d’attaques contre le système. Dans ce contexte, la séparation des tâches permet de dissocier les droits de création d’un nouvel utilisateur de ceux d’attribution des privilèges, renforçant ainsi la sécurité du système.
Définir précisément les droits nécessaires pour chaque utilisateur représente un défi, ce qui conduit souvent à attribuer un ensemble similaire de privilèges à des utilisateurs ayant pourtant des rôles distincts. Par ailleurs, même au sein d’organisations dotées d’une gestion rigoureuse des privilèges, les utilisateurs accumulent souvent de nouveaux droits au fil du temps, sans que ceux-ci ne leur soient régulièrement retirés.
Vous souhaitez en savoir plus sur le RGPD ?
Mettre en œuvre le principe du moindre privilège constitue une bonne pratique, mais comment procéder concrètement ?
Il est souvent complexe d’identifier précisément les privilèges nécessaires pour chaque utilisateur ou application. Il est également essentiel de revoir régulièrement les droits existants pour supprimer ceux qui ne sont pas indispensables. Ce travail n’est pas ponctuel, mais requiert une démarche continue, d’autant plus chronophage en l’absence d’automatisation. Plusieurs outils permettent d’afficher les rôles et privilèges attribués à un compte donné ; cependant, ils n’indiquent pas si ces privilèges sont réellement utilisés, ou à quelles fins.
Directement intégrée au moteur d’Oracle Database, l’analyse des privilèges permet de suivre non seulement les privilèges et rôles non utilisés sur une période donnée, mais également de monitorer l’utilisation réelle des droits accordés.
Elle est conçue pour avoir un impact minimal sur les opérations en cours, assurant ainsi un fonctionnement sécurisé en production comme en test.
Vous pouvez simplement révoquer les privilèges inutilisés de l'utilisateur si vous déterminez que l'utilisateur n'en a pas besoin, mais une autre option est de vérifier et d'alerter sur ces privilèges inutilisés à la place. Cela vous donne la flexibilité nécessaire pour que l'utilisateur puisse utiliser le privilège sans impact, mais vous serez également averti si un utilisateur malveillant utilise ces privilèges "non utilisés". Bien que tous les comptes de base de données puissent bénéficier du modèle le moins privilégié, les comptes de service d'application et les comptes d'utilisateur DBA sont particulièrement bien adaptés à cette analyse.
Les comptes de service d'application ont généralement besoin de trois types de privilèges et de rôles différents :
L’analyse des privilèges permet de suivre les privilèges et les rôles utilisés pour les opérations quotidiennes, de sorte que vous pouvez limiter le compte de service à ces seuls privilèges et rôles. Ils peuvent même être regroupés dans un rôle opérationnel pour en faciliter la gestion. L'exécution de l'analyse des privilèges sur une base de données de test pendant le patch et les mises à jour peut vous indiquer quels privilèges et rôles supplémentaires sont nécessaires pour les patchs/mises à jour. Ceci peut être accordé au compte de service de production avant que ces activités n'aient lieu, puis révoqué par la suite.
Les administrateurs de bases de données Oracle se voient souvent simplement attribuer le rôle d'administrateur de bases de données prêt à l'emploi. Ce rôle d'administrateur de bases de données prêt à l'emploi ne devrait pas être accordé à tous les administrateurs de bases de données, car il contient presque tous les privilèges possibles, y compris la plupart des privilèges système dans la base de données. Les administrateurs de bases de données ont des tâches différentes à exécuter et les privilèges les moins importants qui leur sont accordés doivent correspondre à ces tâches.
L'analyse des privilèges peut être utilisée de manière à ce que les administrateurs de bases de données aient le moins de privilège. Les administrateurs de bases de données occupant le même poste peuvent être analysés pour déterminer les privilèges dont ils ont besoin pour effectuer leur travail. Des rôles basés sur les tâches peuvent être créés et les administrateurs de bases de données peuvent se voir attribuer les rôles dont ils sont responsables. Les rôles basés sur les tâches offrent plus de flexibilité au fur et à mesure que le travail d'un administrateur de bases de données change au fil du temps.
Oracle continue d'être un leader en matière de sécurité grâce à des contrôles de sécurité innovants et uniques pour protéger les données. La distribution de l'outil d'évaluation de la sécurité des bases de données (DBSAT) est sans frais de licence supplémentaires via le support Oracle. Dans le monde d'aujourd'hui, il est essentiel d’avoir les outils pour évaluer la sécurité de son entreprise avant que les pirates analysent ses faiblesses et ses lacunes.
Oracle reconnaît l'importance cruciale d'évaluer votre environnement de base de données afin d'améliorer la sécurité. L’analyse des privilèges est maintenant incluse avec Oracle Database Enterprise Edition sans frais de licence supplémentaires. Cette modification s'applique à toutes les versions prises en charge de la base de données Oracle.
Les utilisateurs peuvent se référer à la documentation de l'Analyse des privilèges dans le Guide d'administration Oracle Database Vault. Une documentation distincte pour l'analyse des privilèges fera partie du prochain Guide sur la sécurité des bases de données. Database Vault n'a pas besoin d'être configuré ou activé pour utiliser l'analyse des privilèges dans aucune version.
En mettant en œuvre la séparation des tâches, en limitant les privilèges et en utilisant DBSAT, vous réduisez le risque que des utilisateurs malveillants utilisent vos informations d'identification privilégiées pour voler ou modifier des données.
Oracle Data Safe : Protéger vos bases de données Oracle
Adopter Oracle Cloud Infrastructure, conçu selon une architecture “security first”