Meilleures pratiques pour la sécurité de la base de données Oracle
Aucun des systèmes de gestion de base de données n’est sécurisé par défaut. Cependant, vous pouvez éviter la plupart des menaces en configurant correctement l’environnement. Dans cet article, nous résumons nos connaissances sur la sécurité de la base de données Oracle et énumérons les mesures que vous devriez envisager lors de l’utilisation d’Oracle Database.
1. Éliminez les mots de passe par défaut
La toute première chose à traiter en matière de sécurité des bases de données. Si vous utilisez des mots de passe qui peuvent être facilement piratés ou forcés par attaque par force brute, toutes les autres mesures de sécurité seront aussi inutiles qu’une boutique de chaussures dans la Comté. Les attaquants commencent par des moyens simples causant des dégâts maximaux. Nous espérons qu’après les récents fameux attaques sur des bases de données MongoDB et MySQL mal configurées, la majorité a compris le message. NE LAISSEZ PAS de mots de passe par défaut ou faibles et assurez-vous que les mots de passe stockés sont chiffrés.
Utilisez le script suivant pour trouver les comptes utilisateurs ayant des mots de passe par défaut.
sqlplus sys as sysdba
Enter password: password
SELECT d.username, u.account_status
FROM DBA_USERS_WITH_DEFPWD d, DBA_USERS u
WHERE d.username = u.username
ORDER BY 2,1; Utilisez l’outil Checkpwd pour identifier les comptes ayant des mots de passe faibles. Il s’agit d’un vérificateur de mots de passe basé sur un dictionnaire pour les bases de données Oracle. Cet outil lit les hachages de mots de passe depuis la vue dba_users et compare les clés de hachage locales avec celles provenant du fichier dictionnaire fourni. Il affiche la liste des comptes expirés et des mots de passe faibles afin que vous puissiez les modifier.
checkpwd system/oracle@//127.0.0.1:1521/orcl password_list.txt 2. Mettre à jour et corriger
L’étape suivante consiste à installer la version la plus récente du système de gestion de base de données. Une fois mise à jour, vous pouvez travailler sans bugs ni autres problèmes déjà corrigés. Les développeurs s’efforcent constamment de rendre Oracle Database plus sécurisé, ce qui se remarque particulièrement avec Oracle Database 12c.
Quatre fois par an, Oracle publie la mise à jour corrective critique qui résout une multitude de vulnérabilités de sécurité critiques sur différentes plateformes, y compris Oracle Database. Avec la mise à jour, Oracle publie des informations générales sur les vulnérabilités corrigées, que les attaquants commencent instantanément à analyser et exploiter. Selon le dernier rapport Wallarm, il faut de 2 à 4 heures aux pirates pour commencer à exploiter une vulnérabilité récemment signalée. Ainsi, ne manquez pas la mise à jour.
Consultez le calendrier des mises à jour correctives critiques ici.
3. Séparer les fonctions
Vous connaissez cette architecture en chaîne où chaque élément du système ne fait que son travail et rien de plus ? Cela peut sembler ennuyeux, mais vous devriez envisager d’implémenter une architecture similaire dans l’environnement de l’entreprise. Réfléchissez-y bien avant de commencer à distribuer les privilèges comme des tracts.
En général, la meilleure pratique consiste à supprimer tous les privilèges et à ensuite les accorder selon le principe du « besoin de savoir ». Repartir de zéro. Cela vous aidera à éviter des scénarios où un responsable de la sécurité n’aurait pas remarqué qu’un certain John du département de gestion avait accès à des informations exclusives et à des secrets commerciaux.
4. Gérer les mots de passe
Pendant des années, les administrateurs stockaient les mots de passe des comptes en clair dans un script ou un fichier de configuration. Oracle a lancé le Secure Password Store pour résoudre ce problème. Cette fonctionnalité vous permet de créer un fichier de portefeuille dans lequel vous pouvez stocker en toute sécurité les identifiants de la base de données.
Oracle Database dispose d’un ensemble d’outils pour protéger les mots de passe. Certains d’entre eux sont désactivés par défaut.
- Vérification de la complexité des mots de passe Il existe une fonction simple de vérification des mots de passe dans les scripts PL/SQL UTLPWDMG.SQL ($ORACLE_HOME/rdbms/admin). Le script est désactivé par défaut. Pour l’activer, connectez-vous à SQL*Plus avec des privilèges administratifs et exécutez le script.
CONNECT SYS/AS SYSDBA Enter password: password @$ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sqlLes paramètres spécifiant les exigences en matière de mots de passe sont définis par défaut, mais vous pouvez modifier leur valeur selon votre propre discrétion. Depuis la version 11g, la sensibilité à la casse pour les mots de passe est activée par défaut. - Verrouillage des comptes Activez le verrouillage des comptes après 3 tentatives invalides pendant une certaine période. Cela réduira considérablement le risque d’attaques par force brute. Configurez les paramètres suivants pour spécifier le verrouillage des comptes pour un profil Oracle :
FAILED_LOGIN_ATEMPTS 3 PASSWORD_LOCK_TIME 10L’argument du second paramètre est défini à 10 jours. Utilisez le paramètre INACTIVE_ACCOUNT_TIME pour définir la période d’inactivité après laquelle le compte sera verrouillé (la valeur est également exprimée en jours).
5. Modifier les paramètres d’audit par défaut
Oracle 12c a introduit le Unified Audit Data Trail qui combine SYS.AUD$ pour la piste d’audit de la base de données, SYS.FGA_LOG$ pour l’audit détaillé, DVSYS.AUDIT_TRAIL$ pour Oracle Database Vault, et Oracle Label Security.
Dans Oracle 12c, la valeur par défaut de audit_sys_operations est TRUE, mais si vous utilisez une version antérieure, vous devez activer ce paramètre afin que les commandes SQL exécutées par l’utilisateur sys soient auditées.
Utilisez la commande suivante pour l’activer et redémarrer le système.
SQL> alter system set audit_sys_operations=true scope=spfile;Activez le audit_trail pour auditer les commandes SQL.
SQL> alter system set audit_trail=DB,EXTENDED scope=spfile; Lorsque vous commencez à travailler avec Oracle Database 12c, vous pouvez utiliser le mode mixte en créant une politique avec la commande CREATE AUDIT POLICY, puis l’activer avec la commande AUDIT. Vous pouvez également utiliser des politiques préétablies (consultez ici pour en savoir plus sur les politiques d’audit par défaut).
6. Mettre en œuvre des méthodes d’authentification robustes
L’authentification de l’identité de l’utilisateur est impérative dans les environnements distribués. En dehors de l’authentification par défaut, Oracle Database prend en charge des protocoles et services d’authentification tiers conformes aux normes de l’industrie. Pour les utiliser, apportez quelques modifications de configuration.
- Kerberos Protocole d’authentification conçu principalement pour un modèle client-serveur et qui assure une authentification mutuelle.
- Secure Socket Layer (SSL) Protocole standard de l’industrie pour sécuriser les connexions réseau.
- Remote Authentication Dial-In User Service (RADIUS) Protocole de sécurité client/serveur qui permet l’authentification et l’accès à distance.
- Contrôlez l’accès à la base de données à l’aide d’outils tels que Kerberos, la sécurité basée sur les privilèges Oracle, la sécurité des portefeuilles Oracle, et les bases de données virtuelles privées Oracle.
- Pour l’accès à distance à la base de données, seul l’accès par clé sécurisée sera autorisé (secure shell (SSH) ou VPN).
7. Gérer les données sensibles
La fuite de données sensibles ou confidentielles peut entraîner des conséquences délétères. Ainsi, les informations personnelles identifiables, les informations de santé protégées, les informations exclusives et la propriété intellectuelle doivent être traitées avec une attention particulière.
Tout d’abord, vous devez indiquer où elles se trouvent. Il existe diverses solutions conçues pour rechercher des données sur plusieurs plateformes. Oracle Database dispose d’un utilitaire intégré de Protection Transparente des Données Sensibles.
Les administrateurs de bases de données doivent administrer les bases de données, pas les données, tout comme les développeurs et testeurs tiers. Les solutions de masquage des données peuvent être d’une grande aide dans ce cas.
8. Utiliser des outils de sécurité supplémentaires
L’objet le plus vulnérable dans un environnement de production est la base de données, mais la majorité des entreprises dépensent la plupart de leurs fonds de sécurité pour la sécurité réseau. La protection des bases de données devrait recevoir plus d’attention.
- Surveillance de l’activité de la base de données Si votre entreprise peut se permettre des outils DAM, ils peuvent s’avérer très utiles. Ils offrent une visibilité complète sur toute l’activité de la base de données et les modifications du système en temps réel. Ils informeront les administrateurs de bases de données en cas d’activité suspecte. Intégrez-les à un système SIEM et vous disposerez d’une analyse en temps réel des menaces de sécurité, vous permettant ainsi de prendre des mesures immédiates contre les attaques naissantes. L’option Oracle Advanced Security Database inclut un outil DAM. Des solutions tierces peuvent également être utilisées.
- Pare-feu de base de données Fonctionnant comme un proxy, le pare-feu de base de données gère le trafic entrant et sortant de la base de données et protège contre les injections SQL ainsi que les tentatives d’accès non autorisées. Vous pouvez découvrir comment un pare-feu protège contre les attaques par injection SQL à l’exemple de notre produit.
- Chiffrement du trafic de base de données L’option Oracle Advanced Security Database inclut un outil de chiffrement des données. Des solutions tierces peuvent également être utilisées. Ces solutions transforment les données en clair en un texte chiffré illisible, basé sur une clé spéciale, de sorte que seules les parties autorisées peuvent y accéder. Sans la connaissance de l’algorithme de chiffrement, il est presque impossible de récupérer les données originales à partir du texte chiffré.
9. Formez-les ! Éradication de l’illettrisme en cybersécurité
Aucune des mesures mentionnées ci-dessus ne sera efficace si vos collègues affichent leurs mots de passe sur leurs moniteurs et téléchargent des pièces jointes de courriels malveillants. Selon le dernier rapport d’IBM Security, 60 % des menaces en cybersécurité proviennent de l’interne. Il peut s’agir d’un initié malveillant ou d’un acteur involontaire.
Organisez des formations en sécurité. Expliquez aux employés l’importance de prendre des précautions. Il est également utile de les informer sur la législation en matière de sécurité et sur les sanctions imposées par les organismes de régulation en cas de non-conformité et de cybercrimes.
10. Soyez paranoïaque
Nous suivons régulièrement les actualités en sécurité de l’information, et il est surprenant de voir comment d’immenses entreprises, même celles qui peuvent se permettre les meilleures applications de sécurité, se font pirater. Pourquoi cela se produit-il ? Apparemment, la réponse réside dans l’approche adoptée. Si vous considérez vos procédures de travail comme une routine ennuyeuse et superflue, vous laisserez certaines questions importantes sans attention et vous vous ferez pirater d’une manière ou d’une autre. Mais si vous prenez conscience de la responsabilité de votre poste et souhaitez bien faire les choses, vous devez devenir paranoïaque. Attendez-vous à des attaques à tout moment et de toutes parts.
Soyez scrupuleux et ne laissez personne négliger les mesures de protection. Passez en revue toutes les recommandations de sécurité d’Oracle (le lien se trouve dans la section Références). C’est un travail ardu mais qui en vaut la peine. On parle rarement des attaques repoussées, mais si le nom de votre entreprise n’apparaît pas dans les revues de sécurité, nous savons que c’est vous, cher responsable de la sécurité, qui avez fait le travail comme il se doit.
Pour une protection totale de vos bases de données Oracle, utilisez les composants suivants inclus dans DataSunrise Database Security Suite:
- Surveillance de l’activité Oracle
- Masquage des données Oracle
- Pare-feu de base de données
- Surveillance des performances Oracle
- Découverte des données sensibles Oracle
*Références
