Fonctionnalités de sécurité d'Oracle Database

Oracle Database offre des fonctionnalités de sécurité clés, notamment des méthodes d'authentification et d'autorisation prises en charge, le chiffrage réseau, l'analyse de privilèges, Real Application Security, l'audit unifié, Oracle Virtual Private Database, etc., pour répondre à vos besoins uniques.

Authentification et autorisation

Simplifiez la gestion des utilisateurs en configurant une authentification et une autorisation utilisateur centralisées. Oracle Database peut être intégré de manière transparente aux services d'identité d'entreprise, notamment Microsoft Active Directory, Microsoft Entra ID et Oracle Cloud Infrastructure Identity and Access Management, à l'aide de diverses méthodes d'authentification. L'authentification à plusieurs facteurs peut être configurée à l'aide de services d'identité externes ou de l'API RADIUS.

En adoptant une stratégie d'authentification et d'autorisation robuste, vous pouvez empêcher les comptes utilisateur de bases de données non fiables de rester actifs après le départ des employés de l'entreprise, réduisant ainsi le risque d'accès non autorisé aux données sensibles.

Tables blockchain

Les tables de blockchain d'Oracle Database contribuent à l'intégrité des données en créant des enregistrements chaînés cryptographiques insérés uniquement, non modifiables ni suppressibles, en fournissant une piste d'audit inviolable et une protection robuste contre les modifications non autorisées, même celles qui contournent la base de données.

En tirant parti de la technologie blockchain, vous pouvez créer un enregistrement immuable des transactions non modifiables ni suppressibles. Il s'agit d'une solution fiable lorsque l'intégrité des données, l'auditabilité et les enregistrements inviolables sont essentiels, comme l'audit financier, la traçabilité de la supply chain et les systèmes de vote sécurisés.

Contrôle d'accès basé sur le code

Limiter l'accès aux données à une logique métier PL/SQL spécifique à l'aide du contrôle d'accès basé sur le code (CBAC). En associant des rôles de bases de données directement à des unités de programmes PL/SQL, telles que des fonctions, des procédures et des packages, vous pouvez vous assurer que ces rôles sont activés uniquement pendant l'exécution de ce code spécifique. L'unité de programme est exécutée avec les privilèges requis, quels que soient les privilèges de l'utilisateur appelant, et sans exposer ces privilèges ou objets sous-jacents directement à l'utilisateur. En implémentant CBAC, vous pouvez appliquer le principe du moindre privilège, en accordant les droits d'accès nécessaires uniquement à une logique métier spécifique, plutôt qu'à des utilisateurs ou schémas individuels.

DBMS_CRYPTO

Le package PL/SQL DBMS_CRYPTO est utilisé pour les opérations cryptographiques. Il fournit des fonctions de cryptage, de décryptage et de hachage et peut être intégré à Oracle Key Vault pour la gestion des clés. DBMS_CRYPTO est particulièrement utile lorsque vous avez besoin de plus de contrôle sur les opérations cryptographiques au niveau de la colonne, de l'application ou de l'élément de données individuel. Cela diffère du cryptage transparent des données en ce sens que les données restent cryptées jusqu'à ce que le package DBMS_CRYPTO soit appelé pour décrypter les données, ce qui permet de le protéger contre les utilisateurs trop privilégiés ou les administrateurs malveillants.

DbNest

DbNest vous permet de relever les défis en matière de sécurité et d'isolement dans les environnements colocatifs Oracle Database en utilisant les fonctionnalités de noyau Linux pour créer des environnements d'exécution en conteneur hiérarchiques pour les bases de données Conteneur colocatives et les bases de données pluggables, ce qui garantit que les ressources de chaque locataire soient isolées des autres.

En déployant DbNest, vous pouvez améliorer la sécurité et l'isolement de votre environnement de base de données colocative et réduire le risque d'attaques de déplacement latéral et d'escalade de privilèges.

Rôle du développeur

Donnez à votre équipe de développement le bon niveau d'accès avec DB_DEVELOPER_ROLE. Ce rôle fournit un ensemble équilibré de privilèges qui permet aux développeurs de créer, modifier et déployer des objets de bases de données, tout en limitant leur impact potentiel sur les opérations de bases de données.

En adoptant ce rôle, vous pouvez réduire le risque que des développeurs surprivilégiés apportent des modifications qui compromettent la sécurité ou l'intégrité de votre base de données, ce qui garantit que les équipes de développement disposent d'un accès suffisant pour créer et tester des applications sans compromettre la sécurité globale du système.

Audit détaillé

Les entreprises ont besoin d'informations précises sur l'accès aux données sensibles pour répondre aux exigences de sécurité et de conformité. L'audit détaillé (FGA) permet un audit ciblé basé sur des conditions au niveau des lignes et des colonnes de la base de données et vous permet d'indiquer des gestionnaires personnalisés qui peuvent déclencher une alerte en cas d'activité suspecte. Il s'agit d'un audit ciblé de grande valeur qui permet de détecter les activités non autorisées sur les données sensibles. L'audit détaillé améliore la visibilité sur la sécurité tout en minimisant l'impact sur les performances et les surcharges d'audit. Les fonctionnalités uniques de l'audit détaillé, telles que l'audit basé sur la valeur (par exemple, l'audit uniquement lorsque quelqu'un sélectionne un salaire d'employé supérieur à un certain seuil) et les gestionnaires personnalisés, renforcent la sécurité d'Oracle Database et aident les clients à répondre aux exigences avancées en matière d'audit.

Remplacement progressif du mot de passe

Les mots de passe GManaging de plusieurs applications et bases de données sont complexes et entraînent souvent des temps d'arrêt, même avec une planification et une synchronisation minutieuses.

La reconduction progressive des mots de passe d'Oracle permet aux administrateurs de modifier les mots de passe sans interruption de service. Les anciens et les nouveaux mots de passe fonctionnent pendant la période de report, ce qui permet aux équipes d'applications de mettre à jour les informations d'identification sans temps d'arrêt. Cela permet d'assurer un accès continu et aide les entreprises à répondre aux exigences de conformité pour une rotation régulière des mots de passe, ce qui simplifie la gestion et réduit les pannes.

Tables immuables

Protégez vos tables Oracle Database contre les menaces internes et la corruption accidentelle des données à l'aide de tables immuables. Ces tables en mode ajout uniquement empêchent les modifications de données non autorisées par des personnes internes et les modifications de données accidentelles résultant d'erreurs humaines, ce qui garantit que vos données restent exactes et à jour tout en maintenant leur intégrité et leur sécurité. Les tables immuables sont utiles pour répondre aux besoins lorsque les données ne peuvent pas être modifiées après leur insertion.

Profils de verrouillage

Implémentez des contrôles de sécurité détaillés pour chaque base de données pluggable avec des profils de verrouillage, ce qui permet aux administrateurs de bases de données Conteneur de restreindre des opérations ou des fonctionnalités spécifiques. Par exemple, un profil de verrouillage peut empêcher les utilisateurs de bases de données pluggables d'exécuter certaines instructions SQL ou les procédures en cours d'exécution qui accèdent au réseau.

ACL réseau

Les listes de contrôle d'accès réseau (ACL) contrôlent l'accès réseau sortant de la base de données via les packages de l'utilitaire PL/SQL, tels que UTL_TCP, UTL_HTTP, UTL_SMTP et UTL_INADDR. Définissez des règles détaillées basées sur les noms d'hôtes, les ports et les privilèges pour contrôler l'accès des utilisateurs et empêcher les connexions non autorisées. Cela offre une couche supplémentaire de protection contre l'exfiltration des données.

Chiffrement du réseau

Le cryptage des connexions de bases de données entre les clients et les serveurs est une meilleure pratique de sécurité qui permet de garantir une communication sécurisée.

Oracle Database offre deux méthodes pour sécuriser les données en transit : le cryptage TLS (Transport Layer Security) et le cryptage réseau natif. TLS est un protocole standard qui fournit un chiffrement, une authentification et une non-répudiation forts. Il nécessite des certificats de serveurs et une configuration côté client et côté serveur, ce qui le rend idéal pour les environnements avec des exigences strictes de conformité ou de sécurité. En revanche, le chiffrement réseau natif est plus simple à implémenter ; il ne nécessite qu'un paramètre côté serveur et fonctionne de manière transparente pour la plupart des applications. Il négocie automatiquement l'algorithme le plus puissant pris en charge, sans qu'il soit nécessaire de modifier les certificats ou les clients.

Portefeuille Oracle

Un « wallet » (ou fichier de clés) est un conteneur crypté protégé par mot de passe utilisé pour stocker en toute sécurité les informations d'authentification et de signature, telles que les clés privées, les certificats et les informations d'identification de bases de données. Dans les environnements Oracle Database, les portefeuilles permettent une communication sécurisée sur le réseau en prenant en charge TLS pour les clients et les serveurs, en stockant des clés maîtres de cryptage transparent des données (TDE) et en facilitant l'intégration à des services externes, tels que Microsoft Active Directory. Les portefeuilles fournissent également une banque de mots de passe externe sécurisée, permettant aux applications de se connecter à la base de données sans incorporer d'informations d'identification dans le code. Bien que les portefeuilles puissent contenir des clés maîtres TDE, Oracle recommande de les gérer avec Oracle Key Vault pour une sécurité améliorée et une gestion centralisée des clés.

Analyse des privilèges

Les applications et les utilisateurs reçoivent souvent des privilèges excessifs, en particulier dans les environnements complexes ou hérités. Il est donc difficile pour les administrateurs de révoquer l'accès en toute sécurité sans risque d'interruption. L'analyse des privilèges capture dynamiquement les privilèges et rôles utilisés lors de l'exécution. Cela permet aux administrateurs de révoquer en toute confiance les privilèges inutiles et d'appliquer un modèle de moindre privilège, ce qui réduit la surface d'attaque.

Utilisateurs en lecture seule

Avec l'option des utilisateurs en lecture seule, vous pouvez désactiver ou réactiver les capacités d'écriture d'un utilisateur ou d'une session sans révoquer ni accorder de privilèges. Les utilisateurs en lecture seule vous permettent de contrôler temporairement les privilèges des utilisateurs ou des sessions pour le test, l'administration ou le développement d'applications.

Sécurité applicative réelle

Real Application Security répond à la demande de contrôle d'accès précis et contextuel dans les applications d'entreprise modernes et basées sur l'IA, où les modèles de sécurité traditionnels sont insuffisants. Real Application Security fournit une structure déclarative appliquée à la base de données qui combine la propagation sécurisée des identités avec le contrôle d'accès au niveau ligne et colonne. En s'appuyant sur le contrôle d'accès basé sur les attributs, Real Application Security évalue les attributs utilisateur, tels que le rôle, le service ou l'emplacement géographique, lors de l'exécution pour déterminer les droits d'accès. Par exemple, le personnel infirmier peut afficher uniquement les dossiers médicaux des patients affectés à leurs unités de soins, tandis que les médecins peuvent accéder à des détails de diagnostic supplémentaires, mais les champs sensibles, tels que les antécédents de santé mentale ou les données de santé reproductive, restent masqués sauf si leur rôle le permet explicitement. En intégrant la logique de contrôle d'accès directement dans la base de données, Real Application Security élimine la dépendance au code de l'application, simplifie le développement et aide les entreprises à répondre à des exigences strictes en matière de confidentialité, de sécurité et de conformité à grande échelle.

Privilèges de niveau schéma

Dans Oracle Database, les privilèges étaient généralement accordés au niveau de l'objet (par exemple, SELECT ON hr.employees) ou à un niveau plus large avec des privilèges système (par exemple, SELECT ANY TABLE). Si un utilisateur avait besoin d'accéder à toutes les tables ou à toutes les procédures d'un schéma, l'administrateur de bases de données devait accorder explicitement l'accès à chaque objet individuellement, ou utiliser des privilèges système trop larges, tels que SELECT ANY TABLE, qui créaient des risques de sécurité.

La fonctionnalité de privilèges de niveau schéma améliore la sécurité en simplifiant l'autorisation pour les objets de bases de données, en particulier dans les schémas qui ajoutent fréquemment de nouveaux objets.

Au lieu d'accorder des privilèges système étendus qui s'appliquent à l'ensemble de la base de données, les DBA peuvent désormais accorder des privilèges au niveau du schéma. Le privilège système de niveau schéma s'applique aux objets actuels et futurs du schéma. Les privilèges de niveau schéma sont utiles pour les applications qui évoluent fréquemment et qui doivent ajouter de nouveaux objets à leur schéma sans accorder trop de privilèges aux utilisateurs.

Rôles d'applications sécurisés

Les applications modernes exigent une sécurité tenant compte du contexte pour protéger les données sensibles et répondre aux exigences de conformité. Les rôles d'applications sécurisés Oracle empêchent l'utilisation de privilèges non autorisés en autorisant l'activation des rôles uniquement dans des conditions contrôlées et définies par la base de données. Contrairement aux rôles traditionnels, ils ne peuvent pas être utilisés à mauvais escient via une connexion directe ou des outils externes. Seul un package ou une procédure PL/SQL, idéalement associé à une logique liée au contexte applicatif, peut activer un rôle d'application sécurisé. Les rôles d'applications sécurisés renforcent l'application des stratégies d'accès, réduisent la surface d'attaque et contribuent à maintenir une sécurité cohérente, le tout sans nécessiter de modification de la logique de l'application.

Protection transparente des données confidentielles

La protection transparente des données confidentielles permet aux utilisateurs d'identifier et de classer rapidement les données confidentielles dans les tables de bases de données, puis de créer une stratégie pour protéger ces données. La stratégie s'applique au niveau de la colonne, cible des types de données spécifiques et utilise les paramètres Oracle Data Redaction ou Oracle Virtual Private Database pour protéger les informations confidentielles, telles que les numéros de cartes de crédit ou de sécurité sociale. Cette fonctionnalité permet aux utilisateurs de créer des stratégies uniformes dans plusieurs bases de données Oracle, qui peuvent être modifiées à mesure que les réglementations de conformité changent. Les stratégies de protection transparente des données confidentielles offrent une application facile dans les grandes entreprises, un audit simplifié et une application cohérente des stratégies, en particulier dans les environnements gouvernementaux soumis à des restrictions de sécurité similaires.

Audit unifié

Les fonctionnalités d'audit complètes d'Oracle Database permettent de suivre l'utilisation des privilèges, les activités des utilisateurs disposant de privilèges élevés, l'accès aux données sensibles, les actions effectuées sur les objets de bases de données et les modifications apportées aux paramètres de bases de données. L'audit unifié fournit des fonctionnalités d'audit conditionnel et de niveau colonne pour auditer l'activité sur les données sensibles dans certaines conditions. Les enregistrements d'audits sont stockés dans une trace inviolable.

Base de données privée virtuelle

Les entreprises ont souvent du mal à appliquer un accès de niveau fin aux données, en particulier lorsque différents utilisateurs ont besoin de vues différentes de la même table. Les méthodes traditionnelles reposent sur une logique d'application complexe ou des vues statiques, qui sont difficiles à gérer, à auditer et à sécuriser.

Oracle Virtual Private Database permet d'appliquer la sécurité au niveau lignes et colonnes directement dans la base de données. Virtual Private Database ajoute dynamiquement des prédicats de filtrage aux requêtes SQL, en fonction de l'identité de l'utilisateur ou du contexte de session. Cela permet de s'assurer que les utilisateurs ne voient que les données auxquelles ils sont autorisés à accéder, quelle que soit la façon dont ils se connectent. Les stratégies de sécurité sont centralisées, transparentes pour les applications et s'adaptent aux conditions d'exécution, ce qui garantit une application cohérente. Virtual Private Database protège contre les fuites de données, prend en charge la conformité réglementaire et simplifie le développement d'applications. Virtual Private Database est une solution évolutive et contextuelle pour le contrôle d'accès aux données. Avec Virtual Private Database, la sécurité est appliquée là où vivent les données.