La plupart des projets modernes de développement de logiciels impliquent plusieurs développeurs, ingénieurs opérationnels, testeurs d'assurance qualité et gestionnaires, qui ont tous besoin d'accéder à l'infrastructure du projet. Cependant, le fait de permettre l'accès à des infrastructures modifiées augmente le risque de violation de la sécurité et de litiges juridiques. C'est pourquoi les entreprises s'appuient sur les logs d'audit pour répondre à d'éventuels problèmes de sécurité en enregistrant avec précision les actions et les modifications apportées à leur infrastructure.
Dans cet article, nous allons définir les logs d'audit et découvrir leurs cas d'usage dans l'infrastructure. Nous nous pencherons plus particulièrement sur les activités liées au cloud et aux bases de données. Nous nous pencherons également sur la conformité légale et sur les défis courants liés aux volumes de données, aux périodes de conservation des logs et aux corrélations entre les différents systèmes qui nécessitent une évaluation minutieuse.
Que sont les logs d'audit ?
Les logs d'audit sont une collection d'enregistrements de l'activité interne relative à un système d'information. Pour être utiles, ces enregistrements doivent contenir les informations suivantes :
- Le composant affecté par une action
- L'auteur de cette action
- La date de l'action exécutée
- Le type d'action exécutée
Les logs d'audit diffèrent des logs d'application et des logs système. Les logs d'application enregistrent l'activité des utilisateurs externes et les logs système enregistrent l'activité des logiciels, tels que les systèmes d'exploitation. Cependant, les logs d'audit concernent exclusivement les activités réalisées par les utilisateurs et les services internes sur l'infrastructure du système.
L'immutabilité est un aspect important des logs d'audit. Personne ne doit être autorisé à modifier les enregistrements des logs d'audit, car cela diminuerait leur intégrité et les rendrait inutiles.
Cas d'usage
En plus d'être pratiques et utiles, les logs d'audit ont une fonction importante pour la sécurité et la conformité légale, en particulier lorsqu'il s'agit de l'infrastructure cloud et des bases de données.
Suivre les modifications apportées à l'infrastructure cloud
Les projets cloud natifs comprennent souvent de nombreux services cloud. L'attrait du cloud public repose sur l'élasticité de son infrastructure, ce qui signifie que l'échelle et les configurations de ces services sont très dynamiques. Pour cette raison, les entreprises qui font appel à des fournisseurs de services cloud pour déployer et gérer leurs logiciels doivent être en mesure de suivre chaque modification apportée au sein de leur infrastructure, aussi insignifiante qu'elle puisse paraître. En outre, les activités malveillantes sur l'infrastructure cloud doivent pouvoir être détectées afin d'établir l'acteur exact, l'heure et la nature des actions malveillantes.
De nombreux fournisseurs de services cloud proposent des services de log d'audit intégrés. Par exemple :
- CloudTrail pour AWS
- Cloud Audit Logs pour GCP
- Azure Monitor pour Microsoft Azure
Suivre l'administration de la base de données et de l'activité du système
L'infrastructure back-end repose sur des bases de données. Bien que les développeurs puissent considérer les bases de données déployées dans le cloud comme une partie de l'infrastructure cloud, les logs d'audit des bases de données se concentrent plus profondément sur les actions effectuées sur le système de base de données. Par exemple, les logs d'audit de la base de données indiquent quand les clients se connectent et se déconnectent et les raisons de ces actions. Ces informations sont importantes pour déterminer les risques d'utilisation abusive et de distorsion des données.
Les logs d'audit sont également essentiels pour savoir qui modifie le schéma d'une base de données, ainsi que les modifications apportées aux composants du schéma qui affectent le format, la structure des données et les mises à jour des enregistrements. Certaines bases de données n'ayant pas de schéma, les logs d'audit peuvent être moins importants dans ce cas. Cependant, pour les bases de données relationnelles, les logs d'audit sont cruciaux.
Les systèmes de base de données les plus couramment utilisés proposent des plug-ins et des extensions de journalisation d'audit. Par exemple :
- PgAudit pour PostgreSQL
- Audit Logging pour MySQL
- Auditing pour MongoDB
Conformité et défense légale
Certains secteurs réglementent rigoureusement les niveaux des logs d'audit. Par exemple, une entreprise dans l'espace Fintech ou Medtech doit être prête à mettre en œuvre la journalisation d'audit à un niveau complet, nécessitant souvent une analyse régulière des logs pour confirmer l'absence d'activité malveillante sur une période donnée. Outre la réglementation du secteur, des certifications spécifiques imposent des exigences élevées pour les logs d'audit. Par exemple :
- Certification de conformité HIPAA pour les entreprises du secteur de la santé.
- Certification ISO 27001 pour les entreprises du secteur des technologies de l'information.
Certaines entreprises doivent présenter à leurs partenaires et clients des certifications de conformité en matière de sécurité de l'information. Par conséquent, les logs d'audit fournissent la preuve du respect des exigences en matière de réglementation et de certification.
Les logs d'audit sont également utiles lors de la résolution de litiges juridiques. Les litiges surviennent plus souvent que prévu, en particulier dans les secteurs sensibles comme la finance et la médecine. Les logs d'audit aident donc les entreprises en servant de preuves cruciales.
Les défis de la journalisation d'audit
Bien que les logs d'audit jouent un rôle essentiel en matière de sécurité et de conformité, leur mise en œuvre peut s'avérer difficile. Examinons quelques problèmes potentiels liés au stockage des logs d'audit.
Volume de données
Les projets de logiciels sont souvent des systèmes sophistiqués composés d'éléments dynamiques. La quantité de données contenues dans les logs d'audit peut être énorme et leur stockage très coûteux. C'est pourquoi les entreprises doivent soigneusement déterminer quelles sont les logs les plus importants à conserver, en fonction des exigences de conformité, de la stratégie de sécurité et de la fonctionnalité globale du système.
Durée de conservation des logs
Bien que certaines réglementations et certifications exigent spécifiquement la journalisation des audits, les entreprises doivent conserver ces logs pendant de longues périodes afin de satisfaire aux exigences de conformité. Par exemple, l'une des exigences de la certification de conformité HIPAA est que l'entreprise conserve ses logs d'audit pendant six ans. Pour la certification ISO 27001, les entreprises doivent conserver leurs logs d'audit pendant au moins trois ans.
La conservation des logs pendant de longues périodes entraîne des coûts financiers et nécessite également des ressources pour la maintenance et la gestion.
Corréler les logs d'audit entre différents systèmes
La corrélation, la comparaison et l'analyse des logs d'audit entre les fournisseurs de cloud et de bases de données pour différents formats et protocoles de logs peuvent s'avérer ardues. Le traitement de grands volumes de logs nécessite de lisser les différences, ce qui demande beaucoup de temps et d'efforts. En outre, les divergences sont fréquentes au niveau des détails, ce qui peut entraîner des complications en matière de conformité.
Résumé
Les entreprises doivent faire preuve de diligence pour prévenir les incidents de sécurité et juridiques dans leurs bases de données et leur infrastructure cloud. Les logs d'audit sont essentiels pour fournir des enregistrements et un contexte vitaux, et ils sont souvent nécessaires pour répondre aux exigences de conformité.
La gestion des logs d'audit peut s'avérer difficile, car les gros volumes de données et les longues périodes de conservation peuvent faire grimper les coûts et épuiser les ressources. Cependant, négliger les logs d'audit peut conduire à la non-conformité ou entraîner d'importantes ramifications opérationnelles et financières. En ce sens, les logs d'audit constituent une politique d'assurance fiable, car la véritable valeur de l'engagement de ressources pour la mise en œuvre de la journalisation d'audit est réalisée lorsque des circonstances imprévues surviennent.