Audit de sécurité informatique : définition, méthodologie, outils et exemples pratiques

Un audit de sécurité, appelé Security Audit en anglais, est une évaluation méthodique et documentée de la sécurité d'un système informatique, d'un réseau, d'une application ou d'une organisation. Son objectif est d'identifier les vulnérabilités, les mauvaises configurations, les faiblesses organisationnelles et les écarts par rapport aux politiques ou référentiels de sécurité. L'audit permet également de vérifier l'efficacité des mesures de protection et de proposer des recommandations pour améliorer la confidentialité, l'intégrité et la disponibilité des ressources informatiques.

1. À propos de l'audit de sécurité informatique

Définition d'un audit de sécurité

Un audit de sécurité informatique est un processus structuré consistant à examiner les mécanismes techniques, organisationnels et humains mis en place pour protéger un système d'information.

Il repose sur la collecte de preuves, l'évaluation de critères définis et la formulation de conclusions vérifiables.

Pourquoi réaliser un audit de sécurité ?

Un système informatique peut présenter des faiblesses même lorsqu'il semble fonctionner normalement.

Un audit permet de détecter certaines de ces faiblesses avant qu'elles ne soient exploitées ou qu'elles ne provoquent un incident.

Les principaux objectifs

  • Identifier les vulnérabilités techniques et organisationnelles.
  • Vérifier les configurations des systèmes et des équipements.
  • Évaluer les contrôles d'accès et les permissions.
  • Examiner la protection des données.
  • Contrôler les procédures de sauvegarde.
  • Évaluer la gestion des incidents.
  • Vérifier la conformité aux exigences applicables.
  • Proposer des mesures correctives.
  • Prioriser les risques.
  • Améliorer continuellement la sécurité.

Qui réalise un audit de sécurité ?

Un audit peut être réalisé par un auditeur interne, un auditeur externe, une équipe de sécurité ou un prestataire spécialisé.

Le niveau d'indépendance requis dépend des objectifs de la mission et des exigences du référentiel applicable.

Les systèmes concernés

  • Serveurs : Windows Server, Linux et autres systèmes.
  • Réseaux : routeurs, commutateurs, pare-feu et services réseau.
  • Applications Web : sites, plateformes et API.
  • Bases de données : MySQL, PostgreSQL et autres SGBD.
  • Postes de travail : ordinateurs et appareils mobiles.
  • Cloud : ressources et services hébergés.
  • Objets connectés : équipements IoT.
  • Organisation : procédures, politiques et responsabilités.

Audit de sécurité et test d'intrusion

Un audit de sécurité examine un ensemble de contrôles et de pratiques selon des critères définis.

Un test d'intrusion, ou Pentest, cherche à évaluer la possibilité d'exploiter certaines vulnérabilités dans un périmètre autorisé.

Le test d'intrusion peut contribuer à un audit, mais il ne remplace pas une évaluation complète des contrôles organisationnels et techniques.

Audit et analyse de vulnérabilités

Une analyse de vulnérabilités recherche des faiblesses techniques connues ou détectables.

L'audit de sécurité peut également examiner les procédures, la gouvernance, la gestion des accès et les preuves de conformité.

Audit et surveillance continue

L'audit est généralement réalisé à une date ou pendant une période déterminée.

La surveillance continue permet de détecter les changements et événements de sécurité entre deux audits.

Les principes fondamentaux

  • Autorisation : disposer d'un mandat clair.
  • Périmètre : identifier les ressources concernées.
  • Objectivité : fonder les conclusions sur des preuves.
  • Traçabilité : documenter les vérifications.
  • Confidentialité : protéger les informations collectées.
  • Reproductibilité : décrire suffisamment les méthodes employées.
  • Proportionnalité : adapter les tests aux risques et aux contraintes.

2. Les différents types d'audits de sécurité

Audit organisationnel

L'audit organisationnel examine les politiques, les responsabilités, les procédures et la gouvernance de la sécurité.

Il peut notamment vérifier l'existence d'une politique de sécurité et d'une procédure de gestion des incidents.

Audit technique

L'audit technique examine les configurations, les mécanismes de protection et certains composants informatiques.

Audit réseau

L'audit réseau porte sur les équipements, les services, les règles de filtrage, la segmentation et les communications.

Audit des systèmes d'exploitation

Il examine les comptes, les privilèges, les services, les mises à jour et les mécanismes de journalisation des systèmes Windows ou Linux.

Audit des applications Web

L'audit Web examine notamment l'authentification, les autorisations, la gestion des sessions, la validation des entrées et les configurations de sécurité.

Audit des bases de données

Il évalue les comptes, les permissions, les sauvegardes, les configurations et les mécanismes de protection des données.

Audit des identités et des accès

L'audit IAM vérifie la gestion des comptes, les rôles, les permissions, les accès privilégiés et les procédures de révocation.

Audit de configuration

Un Configuration Audit compare les paramètres des systèmes à une configuration de référence ou à une politique interne.

Audit de conformité

L'audit de conformité vérifie le respect d'exigences contractuelles, réglementaires ou normatives définies.

Audit de sécurité Cloud

Il examine notamment les identités, les permissions, les ressources exposées, le chiffrement, les journaux et les configurations des services Cloud.

Audit physique

L'audit physique évalue la protection des locaux, des équipements et des supports de stockage.

Audit interne

Un audit interne est réalisé dans le cadre des mécanismes de contrôle et d'amélioration de l'organisation.

Audit externe

Un audit externe est réalisé par une partie extérieure à l'organisation auditée.

Audit en boîte noire

Dans une approche Black Box, l'auditeur dispose de peu ou pas d'informations techniques initiales sur la cible.

Audit en boîte blanche

Dans une approche White Box, l'auditeur dispose d'informations détaillées sur le système, comme des configurations ou des documents d'architecture.

Audit en boîte grise

Dans une approche Gray Box, l'auditeur dispose d'un niveau d'information intermédiaire.

Tableau comparatif des audits

Type d'auditObjet principalExemple
OrganisationnelPolitiques et procédures.Gestion des incidents.
TechniqueContrôles informatiques.Configuration d'un serveur.
RéseauInfrastructure et communications.Règles de pare-feu.
WebSécurité applicative.Contrôles d'autorisation.
IAMIdentités et permissions.Comptes privilégiés.
CloudRessources hébergées.Permissions de stockage.
ConformitéExigences définies.Contrôles ISO 27001.
PhysiqueLocaux et équipements.Accès à la salle serveur.

3. Méthodologie et étapes d'un audit de sécurité

Étape 1 : définir les objectifs

La première étape consiste à préciser les raisons de l'audit et les résultats attendus.

Les objectifs peuvent concerner la réduction des risques, l'évaluation de contrôles ou la vérification de conformité.

Étape 2 : obtenir une autorisation

Tout audit technique doit être réalisé avec l'autorisation du propriétaire ou du responsable habilité des systèmes concernés.

Le mandat doit préciser les activités autorisées et les restrictions applicables.

Étape 3 : définir le périmètre

Le Scope correspond aux systèmes, applications, réseaux et processus inclus dans l'audit.

Les ressources exclues doivent également être identifiées.

Étape 4 : préparer le plan d'audit

Le plan précise les objectifs, les critères, les intervenants, les méthodes, le calendrier et les livrables.

Étape 5 : inventorier les actifs

L'Asset Inventory consiste à recenser les ressources informatiques concernées.

Un inventaire peut contenir le nom de l'actif, son propriétaire, sa fonction et sa criticité.

Étape 6 : identifier les exigences

Les critères d'évaluation peuvent provenir de politiques internes, de référentiels ou d'obligations applicables.

Étape 7 : collecter les preuves

Les preuves peuvent comprendre des configurations, des journaux, des captures, des documents et des résultats de vérification.

Elles doivent être collectées dans le respect des autorisations et des règles de confidentialité.

Étape 8 : examiner les configurations

L'auditeur vérifie les paramètres de sécurité des systèmes et les compare aux exigences définies.

Étape 9 : examiner les identités et permissions

L'auditeur vérifie les comptes actifs, les privilèges, les comptes inutilisés et les procédures de gestion des accès.

Étape 10 : vérifier les mises à jour

L'auditeur examine la gestion des correctifs et les éventuels retards de mise à jour.

Étape 11 : examiner les sauvegardes

Il vérifie l'existence des sauvegardes, leur protection, leur fréquence et les tests de restauration.

Étape 12 : analyser les journaux

Les journaux peuvent révéler des erreurs de configuration, des incidents ou des activités anormales.

Étape 13 : identifier les écarts

Un écart d'audit correspond à une différence entre la situation observée et un critère attendu.

Étape 14 : évaluer les risques

Chaque écart peut être évalué selon sa probabilité d'exploitation, son impact et le contexte de l'organisation.

Étape 15 : rédiger le rapport

Le rapport présente les objectifs, le périmètre, la méthode, les constats, les preuves et les recommandations.

Étape 16 : proposer un plan de remédiation

Le Remediation Plan décrit les actions nécessaires pour corriger les écarts identifiés.

Étape 17 : vérifier les corrections

Un contrôle ultérieur permet de vérifier que les mesures correctives ont effectivement été appliquées.

Étape 18 : assurer le suivi

Le suivi permet de documenter les risques résiduels et de préparer les évaluations suivantes.

Documents couramment utilisés

  • Mandat d'audit.
  • Plan d'audit.
  • Inventaire des actifs.
  • Liste de contrôle.
  • Registre des preuves.
  • Registre des constats.
  • Matrice des risques.
  • Rapport d'audit.
  • Plan de remédiation.
  • Rapport de suivi.

4. Référentiels, normes et outils d'audit de sécurité

ISO/IEC 27001

La norme ISO/IEC 27001 définit des exigences relatives à un système de management de la sécurité de l'information, ou SMSI.

Elle peut servir de référence pour évaluer l'organisation et la gestion de la sécurité.

ISO/IEC 27002

La norme ISO/IEC 27002 fournit des recommandations concernant les mesures de sécurité de l'information.

ISO 19011

La norme ISO 19011 fournit des lignes directrices pour l'audit des systèmes de management.

NIST Cybersecurity Framework

Le NIST Cybersecurity Framework, ou NIST CSF, propose une structure permettant d'organiser la gestion des risques de cybersécurité.

La version 2.0 s'articule autour de six fonctions : Govern, Identify, Protect, Detect, Respond et Recover.

NIST SP 800-53

Le référentiel NIST SP 800-53 présente un catalogue de contrôles de sécurité et de protection de la vie privée.

NIST SP 800-115

Le document NIST SP 800-115 fournit des recommandations relatives aux tests et évaluations techniques de sécurité.

CIS Controls

Les CIS Controls constituent un ensemble de mesures prioritaires destinées à améliorer la sécurité des systèmes.

CIS Benchmarks

Les CIS Benchmarks proposent des recommandations de configuration sécurisée pour différents systèmes et logiciels.

OWASP

L'Open Worldwide Application Security Project, ou OWASP, publie des ressources consacrées à la sécurité des applications.

Les documents OWASP Top 10 et OWASP Web Security Testing Guide peuvent contribuer à la préparation d'un audit applicatif.

CVSS

Le Common Vulnerability Scoring System, ou CVSS, permet de caractériser et de noter la gravité de vulnérabilités.

Un score CVSS ne remplace pas une évaluation du risque propre à l'organisation.

OpenVAS et Greenbone

Greenbone propose des outils de gestion et d'analyse des vulnérabilités, notamment autour du scanner OpenVAS.

Nessus

Nessus est un outil d'évaluation des vulnérabilités utilisé dans différents contextes d'audit.

Nmap

Nmap permet notamment de découvrir des équipements et d'examiner les services réseau accessibles.

Son utilisation doit respecter le périmètre autorisé.

Wireshark

Wireshark est un analyseur de protocoles réseau.

Il permet d'examiner des captures réseau obtenues de manière autorisée.

Burp Suite

Burp Suite regroupe des outils d'analyse de la sécurité des applications Web.

OWASP ZAP

OWASP ZAP est un outil utilisé pour l'analyse de la sécurité des applications Web.

Lynis

Lynis permet d'effectuer des vérifications de sécurité sur des systèmes Unix et Linux.

Wazuh

Wazuh est une plateforme de surveillance de sécurité pouvant contribuer à la collecte d'événements et à certaines évaluations de configuration.

Tableau comparatif des outils

OutilFonction principaleDomaine
Greenbone / OpenVASAnalyse de vulnérabilités.Infrastructure.
NessusÉvaluation de vulnérabilités.Systèmes et réseaux.
NmapDécouverte et examen des services.Réseau.
WiresharkAnalyse des communications.Réseau.
Burp SuiteAnalyse de sécurité Web.Applications.
OWASP ZAPAnalyse de sécurité Web.Applications.
LynisVérifications de sécurité.Linux et Unix.
WazuhSurveillance et collecte d'événements.Systèmes.

5. Analyse des risques et rédaction du rapport d'audit

Qu'est-ce qu'un risque de sécurité ?

Un risque de sécurité correspond à la possibilité qu'un événement affecte négativement les objectifs de sécurité d'une organisation.

Son évaluation tient compte du contexte, des menaces, des vulnérabilités et des conséquences possibles.

Différence entre menace, vulnérabilité et risque

  • Menace : source ou événement susceptible de provoquer un dommage.
  • Vulnérabilité : faiblesse pouvant être exploitée ou contribuer à un incident.
  • Risque : possibilité de conséquences défavorables dans un contexte donné.

Probabilité et impact

Une méthode pédagogique courante consiste à attribuer une note de probabilité et une note d'impact à chaque risque.

Un score peut ensuite être calculé pour faciliter la priorisation.

Matrice de risques

ProbabilitéImpactScorePriorité illustrative
111Faible.
224Modérée.
339Élevée.
4416Critique.

Cette matrice constitue un exemple simplifié. Les échelles et seuils doivent être définis en fonction de la méthode de gestion des risques retenue.

Criticité d'un actif

La criticité mesure l'importance d'une ressource pour l'organisation.

Un serveur contenant des données sensibles peut nécessiter une priorité de protection élevée.

Constat d'audit

Un constat d'audit décrit un problème ou un écart identifié pendant les vérifications.

Il doit être fondé sur des preuves et relié à un critère d'évaluation.

Contenu d'un constat

  • Identifiant : référence unique du constat.
  • Titre : description courte du problème.
  • Ressource : actif concerné.
  • Critère : exigence ou règle attendue.
  • Observation : situation constatée.
  • Preuve : élément vérifiable.
  • Risque : conséquence possible.
  • Gravité : niveau de priorité.
  • Recommandation : mesure corrective proposée.

Exemple de constat

Un serveur de laboratoire utilise un compte administratif partagé entre plusieurs personnes.

Ce fonctionnement peut réduire la traçabilité des actions et augmenter le risque d'utilisation abusive.

La recommandation consiste à privilégier des comptes nominatifs et des mécanismes adaptés de gestion des privilèges.

Structure d'un rapport d'audit

  1. Page de garde.
  2. Synthèse exécutive.
  3. Objectifs de la mission.
  4. Périmètre audité.
  5. Référentiels et critères.
  6. Méthodologie.
  7. Limites de l'audit.
  8. Constats détaillés.
  9. Évaluation des risques.
  10. Recommandations.
  11. Plan de remédiation.
  12. Annexes et preuves.

Plan de remédiation

Un plan de remédiation associe à chaque constat une action corrective, un responsable, une échéance et un état d'avancement.

Suivi des corrections

Le suivi permet de vérifier les mesures appliquées et d'identifier les risques qui subsistent.

Confidentialité du rapport

Un rapport d'audit peut contenir des informations sensibles sur l'architecture, les configurations et les vulnérabilités d'un système.

Sa diffusion doit être limitée aux personnes habilitées.

6. Exemples pratiques d'audit de sécurité avec Python

Le langage Python permet d'automatiser certaines vérifications de sécurité, de traiter des journaux, de comparer des configurations et de produire des rapports.

Les exemples suivants utilisent principalement des données fictives ou des fichiers locaux. Ils ne nécessitent aucune intrusion ni aucun test sur un système tiers.

Exemple 1 : créer un inventaire des actifs

Le programme suivant crée un inventaire fictif contenant plusieurs ressources informatiques. L'inventaire constitue une étape importante dans la préparation d'un audit.

Output :

Exemple 2 : vérifier une liste de contrôles de sécurité

Le programme suivant représente une liste de contrôles fictifs. Il affiche ceux qui ne sont pas satisfaits.

Output :

Exemple 3 : calculer le taux de conformité

Le programme suivant calcule la proportion de contrôles satisfaits dans une liste fictive. Le résultat fournit un indicateur pédagogique de conformité.

Output :

Exemple 4 : évaluer un risque

Le programme suivant utilise une méthode simplifiée fondée sur le produit de la probabilité et de l'impact.

Output :

Exemple 5 : classer les risques

Le programme suivant attribue un niveau de priorité à un risque selon son score. Les seuils sont définis uniquement pour l'exercice.

Output :

Exemple 6 : vérifier les comptes administrateurs

Le programme suivant examine une liste fictive de comptes et affiche ceux disposant de privilèges administratifs.

Output :

Exemple 7 : détecter des comptes inactifs

Le programme suivant identifie des comptes fictifs dont la durée d'inactivité dépasse un seuil de 90 jours.

Output :

Exemple 8 : analyser des échecs de connexion

Le programme suivant analyse des journaux fictifs et compte les événements d'authentification échouée.

Output :

Exemple 9 : comparer une configuration à une référence

Le programme suivant compare une configuration fictive à une configuration attendue. Il affiche les paramètres qui ne respectent pas les valeurs de référence.

Output :

Exemple 10 : vérifier l'ancienneté des sauvegardes

Le programme suivant examine l'âge de sauvegardes fictives et signale celles qui dépassent un seuil de sept jours.

Output :

La fraîcheur d'une sauvegarde ne garantit pas sa restaurabilité. Un audit doit également vérifier les tests de restauration.

Exemple 11 : calculer l'empreinte SHA-256 d'un fichier

Le programme suivant utilise le module hashlib pour calculer l'empreinte SHA-256 d'un contenu fictif. Cette opération peut contribuer à la vérification de l'intégrité des éléments collectés pendant un audit.

Output :

Exemple 12 : créer un registre des constats

Le programme suivant construit un registre fictif de constats d'audit et affiche leur gravité.

Output :

Exemple 13 : prioriser les actions correctives

Le programme suivant trie des constats fictifs selon leur score de risque afin de faciliter la préparation d'un plan de remédiation.

Output :

Exemple 14 : exporter les résultats d'audit au format CSV

Le programme suivant crée un fichier CSV contenant plusieurs constats fictifs. Ce format facilite le traitement des résultats dans un tableur.

Output :

Exemple 15 : mini système automatisé d'audit de sécurité

Le programme suivant combine plusieurs vérifications fictives : activation du pare-feu, présence de la MFA, conformité des mises à jour et disponibilité des sauvegardes. Il produit une liste de constats et calcule un taux de conformité.

Output :

Ce programme illustre les principes d'un audit automatisé. Une évaluation professionnelle doit également examiner la qualité des preuves, la criticité des actifs, les risques et les contrôles organisationnels.

Mini laboratoire pédagogique : réaliser un audit de sécurité

Un laboratoire d'audit peut être organisé autour d'un ordinateur personnel, d'une machine virtuelle ou d'un environnement de test autorisé.

Les étapes proposées sont les suivantes :

  1. Définir les objectifs de l'audit.
  2. Identifier le périmètre et les ressources autorisées.
  3. Créer un inventaire des actifs.
  4. Définir une liste de contrôles de sécurité.
  5. Vérifier les comptes et les permissions.
  6. Examiner les configurations de sécurité.
  7. Contrôler les mises à jour.
  8. Examiner les sauvegardes et les tests de restauration.
  9. Analyser les journaux disponibles.
  10. Identifier les écarts.
  11. Évaluer les risques.
  12. Rédiger les constats.
  13. Proposer les actions correctives.
  14. Exporter les résultats au format CSV.
  15. Vérifier les corrections lors d'un contrôle ultérieur.

Ce laboratoire permet d'apprendre les principes de l'audit de sécurité, de l'analyse des risques et de la gestion des mesures correctives.

7. À retenir

Un audit de sécurité est une évaluation méthodique et documentée de la sécurité d'un système informatique ou d'une organisation.

Il vise à identifier les vulnérabilités, les mauvaises configurations, les écarts de conformité et les risques.

Les audits peuvent être organisationnels, techniques, réseau, applicatifs, Cloud ou physiques.

Un audit doit être réalisé dans un périmètre clairement défini et avec les autorisations nécessaires.

Les principales étapes comprennent la préparation, la collecte des preuves, l'évaluation des contrôles, l'analyse des risques et la rédaction du rapport.

Les référentiels ISO/IEC 27001, ISO/IEC 27002, NIST CSF, CIS Controls et OWASP fournissent des références utiles.

Les outils Nmap, Greenbone, Nessus, Wireshark, OWASP ZAP et Lynis peuvent contribuer à certaines vérifications techniques.

Un constat d'audit doit être associé à un critère, une observation, une preuve et une recommandation.

Le plan de remédiation permet d'organiser et de suivre les corrections.

La réalisation d'un audit ne garantit pas l'absence de vulnérabilités. Elle fournit une évaluation limitée au périmètre, aux méthodes et à la période examinés.

Enfin, Python permet d'automatiser certaines tâches d'audit, notamment les inventaires, les contrôles de conformité, l'analyse de journaux et la génération de rapports.

 




Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


loader-image
Le prix initial était : € 11,00.Le prix actuel est : € 10,00.
Le prix initial était : € 6,00.Le prix actuel est : € 5,00.



Leave a Reply

Your email address will not be published. Required fields are marked *