Comment réaliser un rapport d’audit ACTIVE DIRECTORY avec Microsoft LogParser 2.2 sous Windows 2008 R2 (FR-FR)
Cet article à pour objectif de vous présenter simplement l’outil Microsoft LogParser afin de réaliser des rapports d’audits sous un format HTML.
Dans le cadre de mes missions chez divers clients ne disposants pas d’outils d’audits centraliser souvent payant, il est reste essentiel de réaliser divers audits sur les serveurs Microsoft afin de répondre aux besoins initiaux.
Dans les petites et moyennes entreprises aujourd’*** plusieurs personnes disposent de droits de création, modification et suppressions d’objets dans l’Active Directory. Il est donc intéressant de pouvoir disposer rapidement d’informations sur les actions réalisées.
Dans cet article nous allons effectuer un Audit de « Qui fait quoi sur l’Active Directory » et le sortir un rapport en format HTML.
Comment Auditer les actions de l’Active Directory :
- - Disposer d’un Active Directory.
- - Activer l’audit de l’Active Directory par GPO.
- - Récupérer les informations d’audit dans les journaux d’événements.
- - Utiliser Microsoft LogParser pour générer le rapport.
- - Un Fichier Excel fourni par Microsoft : Security Audit Events for Windows 2008R2
Avant de nous lancer dans la réalisation technique, voici un petit aperçu du résultat final :
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image002_thumb.jpg
Dans cet extrait de rapport, un objet de type « contact » à été crée par l’utilisateur « Admin1 » sur le contrôleur de domaine « AD01.domaine.local » le « 20/07/2012 à 17h26 » portant le nom de « TOTO ».
Cet extrait de rapport présente les 3 actions majeurs que nous allons auditer.
- Création d’objets Active Directory.
- Modification d’objets Active Directory.
- Suppression d’objets Active Directory.
Présentation des colonnes du rapport d’audit :
Colonne |
Description |
Serveur |
Représente le contrôleur de domaine qui à traiter l’action. |
Date et Heure |
Représente la date d’exécution de l’action |
Utilisateur Domaine |
Représente l’utilisateur qui à exécuter l’action |
Action |
Représente l’action (création, modification, suppression) |
AD-Objet |
Path de l’objet Active Directoy |
Type-Objet |
Type d’objet Active Directory |
Propriété |
Propriété de l’objet modifié |
Valeur |
Valeur Enregistrée |
Activation de l’Audit par GPO :
Pour réaliser cette GPO et comprendre le fonctionnement de l’Audit d’un domaine Active Directory, je vous conseil l’excellent article Microsoft Technet ci-dessous :
http://technet.microsoft.com/fr-fr/library/cc731607(v=ws.10)
Etape :
- Loguer vous en temps que Administrateur sur un de vos contrôleur de domaine
- Lancer la console de gestion des GPO.
-
-
-
-
- Cliquer sur « Start » ou « Démarrer »
- Cliquer sur « Run » ou « Start »
- Exécuter la commande « gpmc.msc »
-
-
-
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image004_thumb.jpg
- Configurer votre GPO afin d’activer « Audit Directory Change »
-
-
-
- Windows Settings / Sécurity Settings / Local Policies / Audit Policiy / DS Acces
-
-
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image006_thumb.jpg
- Enregistrer votre GPO et lier celle-ci à Unité d’Organisation (OU) Où sont stocké vos contrôleurs de domaine.
-
-
- Domaine.local / Domains Controleurs
-
Configurer l’audit sur votre Domaine:
La GPO créé ne fait qu’activer l’audit sur vos contrôleurs de domaine, nous allons donc maintenant demander au service d’audit de nous envoyer toutes les informations sur les actions effectuées dans notre Active Directory.
Nous allons donc ajouter le compte « Tout le monde » ou « Everyone » (selon version de votre OS) dans les paramètres d’audit de l’Active Directory et configurer tout les types d’actions à auditer.
- Lancer la console « Active Directory Users and Computers »
-
-
- Cliquer sur « Start » ou « Démarrer »
- Cliquer sur « Run » ou « Start »
- Exécuter la commande « dsa.msc »
-
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image008_thumb.jpg
- Dans la console « Active Directory Users and Computers », entrer dans les propriétés de votre domaine (cf : image ci-dessous)
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image010_thumb.jpg
- Dans les Propriétés du domaine, sélectionner l’onglet « Sécurité » puis cliquer sur « Avancer ».
- Dans la fenêtre des propriétés Avancer, sélectionner l’onglet « Audit » et cliquer sur « Add ».
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image012_thumb.jpg
- Dans la fenêtre d’ajout de compte, ajouter le compte « Tout le monde » ou « Everyone » (selon version de votre OS) puis cliquer sur « OK »
- Dans la configuration de l’audit sélectionner toutes les actions à Auditer et cliquer sur « OK » autant de fois que nécessaires pour valider la configuration. (cf : image ci-dessous)
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image014_thumb.jpg
Nous venons de configurer par GPO l’activation de l’audit sur l’ensemble de votre domaine et configurer les comptes qui doivent être audités. Dans notre cas, nous auditons tous les comptes qui effectuent des tentatives d’actions sur l’Active Directory.
L’Audit :
Bon c’est pas mal tout cela mais les informations d’Audit cela ce trouvent où ?
- Microsoft enregistre toutes les informations d’audit dans les journaux d’événements sous des ID spécifiques.
Ok, Mais comment savoir quel ID correspond à l’audit de notre AD ?
- Microsoft propose de télécharger un fichier sous un format Excel qui référence les ID des journaux d’événement.
Le lien http://www.microsoft.com/en-us/download/details.aspx?id=21561
Voici un petit extrait qui nous sera bien utile :
DS Access |
Directory Service Changes |
5136 |
A directory service object was modified. |
DS Access |
Directory Service Changes |
5137 |
A directory service object was created. |
DS Access |
Directory Service Changes |
5138 |
A directory service object was undeleted. |
DS Access |
Directory Service Changes |
5139 |
A directory service object was moved. |
DS Access |
Directory Service Changes |
5141 |
A directory service object was deleted. |
Vous l’aurez donc compris, les événements enregistrés avec les ID 5136, 5137, 5139, 5139, 5141 nous permettrons de pouvoir connaître les actions réalisées.
Seulement voila les journaux d’événement enregistrent seulement les événements d’audit que le serveur à traité, et dans une infrastructure Active Directory il y plusieurs domaines contrôleurs. Il serait long de devoir détailler tous les logs d’audit de tous nos contrôleurs de domaines afin de trouver l’information recherchée.
Microsoft LogParser :
Microsoft propose l’outil LogParser qui permet de pouvoir lire et traiter des logs.
Il serait bien long de décrire toutes les possibilités de cet outil mais en voici quelques unes que nous allons utiliser.
- Lecture des journaux d’événement.
- Ecriture des requêtes de filtrage des logs en format SQL.
- Sortie de traitement dans un fichier HTML.
Voir : http://technet.microsoft.com/fr-fr/scriptcenter/dd919274.aspx
Installation de LogParser 2.2 :
L’installation de l’outil ne vous posera aucuns problèmes particuliers sauf que je vous recommande personnellement d’installer l’outil dans un répertoire de type C:\Log-Parser-2.2.
Cela vous permettra d’accéder plus simplement à l’outil dans vos scripts de développement.
Comment accéder aux journaux d’événement avec LogParser :
Pour effectuer cela nous allons créer 2 fichiers dans C:\AUDIT.
Fichier Audit-AD.sql :
Select
COMPUTERNAME AS [SERVEUR],
TimeGenerated As [Date-Heure],
EXTRACT_TOKEN(Strings,3,'|') As Utilisateur,
EXTRACT_TOKEN(Strings,6,'|') As Domaine,
CASE Eventid
WHEN 5136 THEN 'Modification'
WHEN 5137 THEN 'Creation'
WHEN 5138 THEN 'Recuperation'
WHEN 5139 THEN 'Deplacement'
WHEN 5141 THEN 'Suppression'
END AS Action,
EXTRACT_TOKEN(Strings,8,'|') As AD-Objet,
EXTRACT_TOKEN(Strings,10,'|') As Type-Objet,
EXTRACT_TOKEN(Strings,11,'|') As Propriéte,
SUBSTR(EXTRACT_TOKEN(Strings,13,'|'),0,30) As Valeur
FROM
\\AD01\security,\\AD02\security,\\AD03\security
Where Eventid=5136 OR Eventid=5137 OR Eventid=5138 OR Eventid=5139 OR Eventid=5141
ORDER BY [Date-Heure] DESC
Ce fichier est la requête SQL que nous allons appliquer aux journaux d’événements de sécurité.
Dans cet exemple je dispose de 3 contrôleurs Active Directory, AD01, AD02, AD03, l’accès de la requête aux contrôleurs de domaines s’effectue via la ligne :
FROM
\AD01\security,\AD02\security,\AD03\security
Nous souhaitons récupérer les ID 5136, 5137, 5139, 5139, 5141, cela s’effectue via la ligne :
Where Eventid=5136 OR Eventid=5137 OR Eventid=5138 OR Eventid=5139 OR Eventid=5141
Les informations à récupérer dans les logs sélectionnées sont dans la balise SELECT.
Fichier Audit-AD.TPL :
<lpheader><html><head><title>Audit Active Directory</title></head>
<body><h1>Audit ActiveDirectory</h1>
<TABLE BORDER="1" style="font-family: Tahoma; font-size: 8pt" WIDTH=95% >
<th VALIGN="left">%fieldname_1%</th>
<th VALIGN="left">%fieldname_2%</th>
<th VALIGN="left">%fieldname_3% %fieldname_4%</th>
<th VALIGN="left">%fieldname_5%</th>
<th VALIGN="left">%fieldname_6%</th>
<th VALIGN="left">%fieldname_7%</th>
<th VALIGN="left">%fieldname_8%</th>
<th VALIGN="left">%fieldname_9%</th>
</tr>
</lpheader>
<lpbody>
<tr>
<td><tt>%field_1%</tt></td>
<td><tt>%field_2%</tt></td>
<td><tt>%field_3% %field_4%</tt></td>
<td><tt>%field_5%</tt></td>
<td><tt>%field_6%</tt></td>
<td><tt>%field_7%</tt></td>
<td><tt>%field_8%</tt></td>
<td><tt>%field_9%</tt></td>
</tr>
</lpbody>
<lpfooter>
</table>
</body>
</html>
</lpfooter>
Ce fichier est le « Template » de sortie, il permet de structurer les réponses de LogParser dans un fichier au format HTML.
Lancement de la commande
C:\Log-Parser-2.2\LogParser -i:EVT file:C:\Audit\audit-ad.sql -o:TPL -tpl:C:\Audit\EVT\audit-ad.tpl -stats:off > C:\Audit\Audit-AD.HTML
Résultat de la commande est un fichier HTML nommé Audit-AD.HTML dans C:\Audit
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image015_thumb.jpg
Grace à cette commande, nous disposons d’un rapport d’Audit simple et rapide à étudier.
Le logiciel LogParser vous permet de réaliser bien d’autres rapports d’audits sous plein d’autres formats. Cet outil n’est pas simple a prendre en main au début mais avec un peux d’utilisation celui-ci deviendra rapidement un allier dans vos audit.
Voici quelques exemples réalisés avec l’outil LogParser 2.2 :
Depuis un serveur Exchange 2007, rapport graphique des mails reçu / heure :
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image017_thumb.jpg
Nombre des Hits sur un IIS :
http://www.adminsysteme.fr/wp-content/uploads/2012/07/clip_image019.gif
Lien : http://blogs.iis.net/rakkimk/archive/2008/11/18/logparser-useful-logparser-scripts.aspx
Conclusion :
En conclusion la réalisation d’un rapport d’audit au format html demande un peux d’utilisation de l’outil LogParser mais vous permettra à de disposer d’informations simple à étudier afin de capitaliser et améliorer vos environnements.
J’espère que cet article vous aura plu. Je reste a votre écoute si vous avez des questions sur celui-ci ainsi que sur sa mise en œuvre.
A bientôt sur le TechNet Microsoft.
Liens de l’article:
Activation de l’Audit sur Active Directory : http://technet.microsoft.com/fr-fr/library/cc731607(v=ws.10)
Microsoft Logparser 2.2 : http://www.microsoft.com/en-us/download/details.aspx?id=24659
Security Audit Events for Windows 2008R2 : http://www.microsoft.com/en-us/download/details.aspx?id=21561