9. Audit et détection des intrusions

 

Une surveillance active contre les intrusions et les attaques est nécessaire dans tout environnement sécurisé. Il serait insensé d'installer des systèmes et de ne procéder à aucun audit, en partant du principe qu'ils ne seront l'objet d'aucune attaque.

L'audit et la surveillance des intrusions sont essentiels pour plusieurs raisons, notamment :

·         Tout environnement informatique fonctionnel est une cible potentielle d'attaque. Même si le niveau de sécurité de votre environnement est élevé, les risques d'attaques existent.

·         Une série d'attaques manquées précède souvent des attaques réussies. Si vous n'instaurez pas un système de surveillance, vous ne pourrez pas détecter les attaques avant qu'elles soient menées à bien.

·         Si vous parvenez à détecter une attaque assez tôt, vous pourrez mieux maîtriser les dommages causés.

·         Si vous devez effectuer une procédure de récupération après attaque, vous devez connaître les dommages survenus.

·         L'audit et la détection des intrusions vous permettent de déterminer plus facilement le responsable de l'attaque.

·         L'association de l'audit et de la détection des intrusions permet de mettre en corrélation des informations afin d'identifier des modèles d'attaque.

·         Grâce à l'examen régulier des journaux de sécurité, vous pouvez identifier des problèmes inconnus liés à la configuration de la sécurité, en particulier des autorisations incorrectes ou des paramètres de verrouillage des comptes imprécis.

·         Lorsqu'une attaque est détectée, l'audit permet de déterminer les ressources réseau qui sont endommagées.

Ce chapitre explique comment auditer votre environnement de façon à augmenter vos chances de détecter les attaques et de retracer leur origine et leurs circonstances. Il traite également de la surveillance des intrusions, notamment de l'utilisation de systèmes de détection des intrusions, logiciels spécialement conçus pour reconnaître les signes avant-coureurs d'une attaque.

Audit

Dans le cadre de votre stratégie de sécurité globale, vous devez définir le niveau d'audit approprié pour votre environnement. L'audit doit identifier les attaques, réussies ou non, qui représentent une menace pour votre réseau ou pour des ressources identifiées comme précieuses lors de votre évaluation des risques.

Il vous faut déterminer l'ampleur de l'audit qui sera effectué. N'oubliez pas que plus l'audit est étendu, plus le nombre d'événements générés est important, et plus il est difficile de discerner les éléments critiques. Si vous optez pour un audit étendu, envisagez sérieusement de recourir à des outils complémentaires, qui vous aideront à filtrer les événements de façon à identifier ceux qui ont une importance primordiale. Microsoft® Operations Manager (MOM) en est un exemple.

Les événements d'audit peuvent être répartis en deux catégories : les succès et les échecs. Un événement de type succès indique qu'un utilisateur est parvenu à accéder à une ressource, alors qu'un événement de type échec signale une tentative d'accès ayant échoué.

Les événements de type échec sont très utiles pour détecter les tentatives d'attaques dans un environnement. Quant aux événements de type succès, ils sont bien plus difficiles à interpréter. La grande majorité des événements d'audit de type succès indiquent simplement une activité normale. Cependant, un tel événement est également généré lorsqu'un intrus parvient à s'infiltrer dans un système. Bien souvent, une séquence d'événements est aussi importante que les événements pris individuellement. Par exemple, une série d'échecs suivie d'un succès peut indiquer une tentative d'attaque ayant fini par aboutir.

.

Activation de l'audit

Vous pouvez activer l'audit à l'aide de la stratégie de groupe, au niveau du site, du domaine, de l'unité d'organisation ou de l'ordinateur local. Les paramètres de stratégie d'audit se trouvent à l'emplacement suivant :

Configuration ordinateur\Paramètres Windows\Paramètres de sécurité\Stratégies locales\Stratégie d'audit

Vous devez généralement implémenter l'audit à un niveau élevé dans la hiérarchie du service d'annuaire Microsoft® Active Directory®. En effet, cela vous permet d'assurer la cohérence de vos paramètres d'audit. Contoso a mis en œuvre l'audit au niveau des unités d'organisation Serveur membre et Contrôleur de domaine. Pour plus d'informations, reportez-vous au chapitre 6, « Renforcement de la sécurité du serveur Windows 2000 de base ».

Vous disposez peut-être de serveurs que vous avez choisi de ne pas intégrer dans le domaine. Dans ce cas, vous pouvez configurer l'audit sur ces systèmes. Pour cela, modifiez la stratégie de groupe de l'ordinateur local ou recourez à l'utilitaire Auditpol.exe disponible dans le Kit de Ressources Techniques Windows 2000 Server.

Remarque : Pour accéder à la stratégie de groupe d'un ordinateur local, démarrez la console MMC, puis ajoutez le composant logiciel enfichable Stratégie de groupe, qui ciblera l'ordinateur local.

Définition des paramètres du journal des événements

L'Observateur d'événements affiche chacun des événements générés par l'audit. Vous devez déterminer de quelle façon le journal des événements va stocker ces événements. Vous pouvez définir directement chacun des paramètres dans l'Observateur d'événements ou dans la stratégie de groupe. Dans ce guide, les paramètres de l'Observateur d'événements sont définis dans la stratégie de groupe. Pour plus d'informations sur les paramètres recommandés, reportez-vous au chapitre 6, « Renforcement de la sécurité du serveur Windows 2000 de base ».

Si vous supprimez les paramètres de l'Observateur d'événements dans la stratégie de groupe, vous pouvez les définir directement dans l'Observateur d'événements. Cependant, le recours à la stratégie de groupe est recommandé afin d'assurer la cohérence des paramètres sur des ordinateurs semblables.

Dans l'environnement de Contoso, la stratégie de groupe n'est pas configurée pour déclencher l'arrêt des systèmes si le journal de sécurité arrive à saturation. Il y a donc remplacement des événements plus anciens par les nouveaux lorsque le journal atteint sa capacité.

Événements à auditer

Microsoft® Windows® 2000 comprend plusieurs catégories d'audit pour les événements de sécurité. Lorsque vous concevez votre stratégie d'audit d'entreprise, vous devez choisir, parmi les catégories d'événements de sécurité suivantes, celles qu'il faut inclure dans l'audit :

·         événements de connexion ;

·         événements de connexion de compte ;

·         accès aux objets ;

·         accès au service d'annuaire ;

·         utilisation des privilèges ;

·         suivi des processus ;

·         événements système ;

·         modification de stratégie.

Les sections suivantes décrivent certains des ID d'événements les plus courants renvoyés lorsque l'audit est activé pour des catégories spécifiques.

Remarque : Les outils permettant de rechercher et de collecter des informations du journal des événements sont décrits plus loin dans ce chapitre, à la section « Méthodes de détection passive ».

Événements de connexion

Si vous auditez les événements de connexion, chaque fois qu'un utilisateur ouvre ou ferme une session sur un ordinateur, un événement est généré dans le journal de sécurité de l'ordinateur sur lequel cette opération se produit. De plus, lorsqu'un utilisateur se connecte à un serveur distant, un événement de connexion est généré dans le journal de sécurité de ce serveur. Les événements de connexion sont générés lorsque la session et jeton de securité sont créés et détruits, respectivement.

Les événements de connexion peuvent être utiles pour assurer le suivi des tentatives de connexion interactive aux serveurs ou pour analyser des attaques perpétrées à partir d'un ordinateur spécifique. Les audits des succès génèrent une entrée lorsqu'une tentative d'ouverture de session se produit, et les audits des échecs, lorsqu'une tentative d'ouverture de session a avorté.

Remarque : Par événements de connexion, l'on entend les événements d'ouverture et de fermeture de session des utilisateurs et des systèmes. Des entrées distinctes s'affichent dans le journal de sécurité pour le compte d'ordinateur et pour le compte d'utilisateur si une tentative de connexion au réseau se produit à partir d'un ordinateur Microsoft® Windows NT® ou Windows 2000. Les ordinateurs Windows 9x ne disposent pas de comptes d'ordinateur dans l'annuaire et ne génèrent donc pas d'entrées d'événement de connexion ordinateur.

Dans les stratégies de base des serveurs membres et des contrôleurs de domaines, l'audit des événements de connexion de type succès et échec est activé. Vous devez donc vous attendre à trouver dans le journal de sécurité les ID d'événements ci-après pour les ouvertures de session interactives ainsi que celles de Terminal Server pour les ordintateurs exécutant ce service.

Tableau 9.1. Événements d'ouverture de session visibles dans le journal des événements de sécurité

ID d'événement

Description

528

Ouverture de session réussie sur un ordinateur.

529

Tentative d'ouverture de session avec un nom d'utilisateur inconnu ou avec un nom connu et un mot de passe incorrect.

530

Tentative d'ouverture de session d'un compte d'utilisateur en dehors de la durée maximale allouée.

531

Tentative d'ouverture de session par un compte désactivé.

532

Tentative d'ouverture de session par un compte qui a expiré.

533

Tentative d'ouverture de session par un utilisateur non autorisé à se connecter à cet ordinateur.

534

Tentative d'ouverture de session d'un type non autorisé, par exemple réseau, interactive, par fichier de commande, à un service ou interactive à distance.

535

Le mot de passe du compte spécifié a expiré.

536

Le service Ouverture de session réseau n'est pas activé.

537

La tentative de connexion a échoué pour d'autres raisons.

538

Fermeture d'une session utilisateur.

539

Verrouillage d'un compte lors d'une tentative d'ouverture de session. Cet événement indique qu'une attaque de mots de passe a été perpétrée sans succès, si bien que le compte a été verrouillé.

540

Ouverture de session réseau réussie. Cet événement indique qu'un utilisateur distant s'est connecté à une ressource locale sur le serveur via le réseau. Cette opération a généré un jeton pour l'utilisateur réseau.

682

Un utilisateur s'est reconnecté à une session de services Terminal Server déconnectée. Cet événement indique qu'une session de services Terminal Server était ouverte précédemment.

683

Un utilisateur a déconnecté une session de services Terminal Server sans la fermer. Cet événement se produit lorsqu'un utilisateur est connecté à une session de services Terminal Server sur le réseau. Il s'affiche sur le serveur Terminal Server.

Les événements de sécurité ci-après peuvent être diagnostiqués sur la base des entrées d'événements d'ouverture de session :

·         Échecs de tentatives d'ouverture de session locale. Les ID d'événements suivants indiquent tous des échecs de tentatives d'ouverture de session : 529, 530, 531, 532, 533, 534 et 537. Les événements 529 et 534 se produisent si un intrus ne réussit pas à deviner la combinaison nom d'utilisateur-mot de passe d'un compte local. Cependant, ces événements peuvent également survenir si un utilisateur oublie son mot de passe ou commence à parcourir le réseau via les Favoris réseau.

Dans un environnement à grande échelle, il peut être difficile d'interpréter efficacement ces événements. En règle générale, vous devez analyser ces modèles s'ils se produisent de façon répétée ou coïncident avec d'autres facteurs inhabituels. Par exemple, plusieurs événements 529 suivis par un événement 528 au milieu de la nuit peuvent indiquer une attaque de mots de passe réussie (ou simplement un administrateur très fatigué).

·         Utilisation incorrecte d'un compte. Les événements 530, 531, 532 et 533 peuvent représenter l’utilisation incorrecte d'un compte d'utilisateur. Ces événements indiquent que l'association compte-mot de passe entrée est correcte, mais que d'autres restrictions empêchent l'ouverture de session. Lorsque cela est possible, vous devez analyser ces événements afin de déterminer s'ils témoignent véritablement d'une utilisation incorrecte ou si les restrictions en cours doivent être modifiées. Par exemple, vous devrez peut-être prolonger les heures d'ouverture de session associées à certains comptes.

·         Verrouillage des comptes. L'événement 539 signale le verrouillage d'un compte. Il peut indiquer l'échec d'une attaque de mots de passe. Recherchez les éventuels événements 529 antérieurs pour ce compte d'utilisateur afin d’essayer de discerner le modèle des tentatives d'ouverture de session.

·         Attaques de services Terminal Server. Les sessions de services Terminal Server peuvent rester connectées, de sorte que l'exécution de processus peut continuer lorsque la session est terminée. L'événement 683 indique qu'un utilisateur n'a pas fermé une session de services Terminal Server, et l'événement 682, qu'une connexion à une session précédemment déconnectée a eu lieu.

Dans l'environnement de Contoso, la surveillance vise à rechercher de très nombreux échecs d'ouverture de session et de verrouillages de comptes. Il arrive relativement souvent que des utilisateurs de Contoso laissent des sessions de services Terminal Server déconnectées pour des raisons légitimes.

Événements de connexion de compte

Lorsqu'un utilisateur procède à une ouverture de session dans un domaine, celle-ci est traitée au niveau d'un contrôleur de domaine. Si vous auditez les événements de connexion de compte sur les contrôleurs de domaines, vous constaterez que cette tentative d'ouverture de session est enregistrée par le contrôleur de domaine qui valide le compte. Des événements de connexion de compte sont créés lorsqu'un package d'authentification valide les informations d'identification d'un utilisateur. Si des informations d'identification de domaine sont utilisées, les événements de connexion de compte sont uniquement générés dans les journaux des événements des contrôleurs de domaines. Si les informations d'identification présentées proviennent de la base de données SAM (Security Accounts Manager) locale, les événements de connexion de compte sont créés dans le journal des événements de sécurité du serveur.

Les événements de connexion de compte peuvent être enregistrés par n'importe quel contrôleur de domaine actif. Dès lors, il est important de consolider les journaux de sécurité des différents contrôleurs de domaines afin d'analyser tous les événements de connexion de compte du domaine.

Remarque : Tout comme les événements de connexion, les événements de connexion de compte comportent des événements d'ouverture de session d'ordinateur et d'utilisateur.

Dans les stratégies de base des serveurs membres et des contrôleurs de domaines, l'audit des événements de connexion de compte de type succès et échec est activé. Vous devez donc vous attendre à trouver les ID d'événements ci-après pour les ouvertures de session réseau et l'authentification des services Terminal Server.

Tableau 9.2. Événements d'ouverture de session de compte visibles dans le journal des événements

ID d'événement

Description

672

Émission et validation d'un ticket du service d'authentification (AS).

673

Octroi d'un ticket du service d'attribution de ticket (TGS).

674

Renouvellement d'un ticket d'authentification ou d'un ticket TGS pour un principal[1]

675

Échec de la pré-authentification.

676

Échec de la demande de ticket d'authentification.

677

Ticket TGS non octroyé.

678

Mappage d'un compte sur un compte de domaine.

680

Identifie le compte utilisé pour la tentative d'ouverture de session réussie. Cet événement indique également le package d'authentification utilisé pour authentifier le compte.

681

Tentative d'ouverture de session de compte de domaine.

682

Un utilisateur s'est reconnecté à une session de services Terminal Server déconnectée.

683

Un utilisateur a déconnecté une session de services Terminal Server sans se deconnecter.

Le journal des événements affiche des informations détaillées sur chaque ouverture de session pour chacun de ces événements. Les événements de sécurité ci-dessous peuvent être diagnostiqués à partir des entrées d'événements de connexion de compte :

 

·         Échecs de tentatives d'ouverture de session de domaine. Les événements 675 et 677 indiquent des échecs de tentatives d'ouverture de session dans le domaine.

·         Problèmes de synchronisation de l'heure. S'il y a un écart de plus de 5 minutes (valeur par défaut) entre l'heure d'un ordinateur client et celle du contrôleur de domaine utilisé pour l'authentification, l'événement 675 s'affiche dans le journal de sécurité.

·         Attaques de Terminal Server. Les sessions Terminal Server peuvent rester connectées, si bien que l'exécution de processus peut continuer lorsque la session est terminée. L'événement 683 indique qu'un utilisateur n'a pas fermé une session de services Terminal Server et l'événement 682, qu'une connexion à une session précédemment déconnectée a eu lieu. Afin d'éviter les déconnexions ou pour mettre fin aux sessions déconnectées, attribuez la valeur appropriée comme intervalle avant la fermeture d'une session déconnectée dans la console Configuration des services Terminal Server, dans les propriétés du protocole RDP-TCP.

Dans l'environnement de Contoso, la surveillance a pour but de détecter des nombres anormalement élevés d'échecs d'ouverture de session de domaine, les autres événements ne sont pas jugés pertinents. Lors de la configuration de ces paramètres, les responsables ont déterminé que l'approche la plus efficace consistait à définir d'abord une valeur élevée, pour la réduire progressivement, jusqu'à parvenir à limiter le nombre de fausses alertes. Pour l'instant, l'audit vise à identifier les circonstances dans lesquelles dix échecs de connexion surviennent dans une période de 10 minutes. Ces valeurs sont susceptibles de varier selon les environnements.

Gestion des comptes

L'audit de la gestion des comptes permet de déterminer si des utilisateurs ou des groupes sont créés, supprimés ou modifiés. Il permet d'établir à quel moment un principal a été créé et qui a effectué cette opération.

Dans les stratégies de base des serveurs membres et des contrôleurs de domaines, l'audit des succès et des échecs est activé en matière de gestion des comptes. Vous devez donc vous attendre à trouver les ID d'événements ci-après dans le journal de sécurité.

Tableau 9.3. Événements de gestion des comptes visibles dans le journal des événements

ID d'événement

Description

624

Création d'un compte d'utilisateur.

625

Modification du type de compte d'utilisateur.

626

Activation d'un compte d'utilisateur.

627

Tentative de modification d'un mot de passe.

628

Définition du mot de passe d'un compte d'utilisateur.

629

Désactivation d'un compte d'utilisateur.

630

Suppression d'un compte d'utilisateur.

631

Création d'un groupe global de sécurité.

632

Ajout d'un membre à un groupe global de sécurité.

633

Suppression d'un membre du groupe global de sécurité.

634

Suppression du groupe global de sécurité.

635

Création d'un groupe local de sécurité.

636

Ajout d'un membre au groupe local de sécurité.

637

Suppression d'un membre du groupe local de sécurité.

638

Suppression d'un groupe local de sécurité.

639

Modification d'un groupe local de sécurité.

641

Modification d'un groupe global de sécurité.

642

Modification d'un compte d'utilisateur.

643

Modification de la stratégie d'un domaine.

644

Verrouillage d'un compte d'utilisateur.

Les événements de gestion des comptes suivants peuvent être diagnostiqués à partir des entrées du journal de sécurité :

·         Création d'un compte d'utilisateur. Les événements 624 et 626 identifient des comptes d'utilisateur créés et activés. Si la création des comptes est réservée à des membres spécifiques de l'entreprise, vous pouvez examiner ces événements afin de déterminer si des collaborateurs non autorisés ont outrepassé leurs droits.

·         Modification du mot de passe d'un compte d'utilisateur. La modification d'un mot de passe par toute autre personne que l'utilisateur auquel il appartient peut indiquer que le compte a été « emprunté » par un autre utilisateur. Recherchez les événements 627 et 628 : ceux-ci indiquent qu'une tentative de modification de mot de passe a été effectuée et réussie. Analysez les informations présentes pour déterminer si un compte distinct a procédé à la modification et si ce compte est membre du support technique ou d'un autre service habilité à réinitialiser les mots de passe des comptes d'utilisateur.

·         Modification de l'état d'un compte d'utilisateur. Un intrus peut tenter d'effacer toutes traces de ses actions en désactivant ou en supprimant le compte utilisé pour réaliser l'attaque. Observez toutes les occurrences des événements 629 et 630 afin de vérifier qu'elles correspondent à des transactions autorisées. Recherchez également les occurrences d'événements 626 suivis d'événements 629 peu après. Cette séquence peut indiquer qu'un compte d'utilisateur désactivé a été activé, utilisé, puis désactivé à nouveau.

·         Modification des groupes de sécurité. Il est important d'examiner soigneusement les modifications apportées aux membres des groupes Admins du domaine, Administrateurs, aux différents groupes d'opérateurs, aux groupes globaux personnalisés, aux groupes universels ou aux groupes de domaine local auxquels sont déléguées des fonctions d'administration. Les événements 632 et 633 doivent être recherchés pour identifier les modifications apportées aux membres d'un groupe global, et les événements 636 et 637, pour celles apportées aux membres d'un groupe de domaine local.

·         Verrouillage des comptes. Lorsqu'un compte est verrouillé, deux événements sont consignés sur le maître d'opérations émulateur du contrôleur principal (PDC). Un événement 644 indique que le compte est verrouillé, puis un événement 642 est enregistré, signalant que le compte d'utilisateur est modifié et verrouillé. Cet événement est uniquement consigné sur l'émulateur PDC.

Comme Contoso est une entreprise d'assez grande taille, la gestion des comptes représente une tâche quotidienne importante. La surveillance de tous ces événements donnerait lieu à un trop grand nombre d'alertes pour qu'elle puisse être raisonnablement appliquée à cet environnement.

Accès aux objets

Vous pouvez activer l'audit de tous les objets d'un réseau Windows 2000 au moyen d'une liste de contrôle d'accès système (SACL, System Access Control List). Cette liste contient les noms des utilisateurs et des groupes pour lesquels les actions effectuées sur l'objet concerné doivent être auditées. Presque tous les objets pouvant être manipulés par les utilisateurs dans Windows 2000 disposent d'une liste SACL. Cette dernière comprend les fichiers et dossiers des lecteurs NTFS, les imprimantes et les clés de Registre.

Une liste de contrôle d'accès système comporte des entrées de contrôle d'accès (ACE, Access Control Entry). Chacune de ces entrées est composée de trois éléments :

·         le principal à auditer ;

·         les types d'accès spécifiques à auditer, appelés masque d'accès ;

·         un indicateur spécifiant s'il faut auditer les accès de type succès ou échec, ou les deux.

Si vous voulez que des événements s'affichent dans le journal de sécurité, vous devez activer l'option Auditer l'accès aux objets, puis définir la liste de contrôle d'accès système pour chacun des objets à auditer.

Dans Windows 2000, les audits sont générés lorsqu'un descripteur d'objet est ouvert. Windows 2000 utilise un sous-système de sécurité en mode noyau. Ce sous-système permet aux programmes d'accéder aux objets via le noyau uniquement, de telle sorte qu'ils ne peuvent en aucun cas contourner le système de sécurité. L'espace mémoire du noyau est isolé des programmes en mode utilisateur. Dès lors, un programme fait référence à un objet via une structure de données appelée descripteur. L'exemple suivant illustre une tentative d'accès type :

1.       Un utilisateur demande à un programme d'accéder à un objet (par exemple, par la commande Fichier/Ouvrir).

2.       Le programme demande un descripteur au système, spécifiant le type d'accès (lecture, écriture, etc.) souhaité.

3.       Le sous-système de sécurité compare la liste de contrôle d'accès discrétionnaire (DACL, Discretionary Access Control List) de l'objet demandé avec le jeton de l'utilisateur, en recherchant les entrées de la DACL correspondant à l'utilisateur ou à un groupe auquel il appartient et pour lequel il dispose des droits d'accès requis par le programme.

4.       Le système compare la liste de contrôle d'accès système de l'objet demandé au jeton de l'utilisateur, en recherchant les entrées de la liste correspondant aux droits effectifs renvoyés au programme ou aux droits requis par le programme. Si une entrée de contrôle d'accès de l'audit des échecs correspond à un accès demandé mais refusé, un événement d'audit de type échec est généré. Si une entrée de contrôle d'accès de l'audit des succès correspond à un accès accordé, un événement d'audit de type succès est généré.

5.       Si un accès est octroyé, le système renvoie un descripteur au programme, qui peut ensuite l'utiliser pour accéder à l'objet.

Il est très important de noter que, lors d'un audit et de la génération d'un événement, l'objet n'a pas encore été manipulé. Ce point est essentiel pour interpréter les événements d'audit. Des événements d'audit d'écriture sont générés avant qu'un fichier soit modifié et des événements d'audit de lecture, avant qu'un fichier soit ouvert.

Comme pour tous les audits, il est très important d'adopter une approche ciblée pour auditer l'accès aux objets. Le plan de votre stratégie d'audit doit spécifier le type d'objets à auditer et le type de tentatives d'accès (succès, échec ou les deux) à surveiller pour chaque type d'objet audité. Une approche trop générale de l'audit aura un impact significatif sur les performances du système et entraînera la collecte d'informations trop nombreuses et superflues.

D'une façon générale, il est intéressant d'auditer tous les accès aux objets sélectionnés, notamment à partir de comptes non approuvés. Pour ce faire, ajoutez le groupe Tout le monde à la liste de contrôle d'accès système des objets que vous voulez auditer. Faites preuve de prudence lorsque vous activez l'audit des succès pour l'accès aux objets car le nombre d'entrées générées dans le journal de sécurité peut être impressionnant. Cependant, si vous analysez par exemple la suppression d'un fichier critique, vous devez examiner les événements d'audit des succès afin de déterminer quel compte d'utilisateur a supprimé ce fichier.

Les stratégies de base des serveurs membres et des contrôleurs de domaines sont définies de manière à auditer les succès et les échecs d'accès aux objets. Cependant, aucune liste de contrôle d'accès système n'est spécifiée pour les objets eux-mêmes, et c'est à vous qu'il appartient d'en définir une en fonction des besoins de votre environnement. Vous pouvez définir les listes de contrôle d'accès système directement sur les objets ou via la stratégie de groupe. Si les objets devant être audités résident sur plusieurs ordinateurs, définissez ces listes dans la stratégie de groupe.

L'audit de l'accès aux objets entraîne la consignation des événements suivants dans le journal de sécurité.

Tableau 9.4. Événements d'accès aux objets visibles dans le journal des événements

ID d'événement

Description

560

Accès accordé à un objet existant.

562

Fermeture d'un descripteur d'objet.

563

Tentative d'ouverture d'un objet avec intention de le supprimer (événement utilisé par les systèmes de fichiers lorsque l'indicateur FILE_DELETE_ON_CLOSE est spécifié).

564

Suppression d'un objet protégé.

565

Accès accordé à un type d'objet existant.

Si vous recherchez des événements d'accès à des objets spécifiques, ciblez principalement les événements portant l'ID 560. Les informations utiles se trouvent dans les détails de ces événements, et vous devrez les consulter pour isoler les éléments qui vous intéressent. Le tableau 9.5 répertorie des actions que vous devrez peut-être effectuer et les méthodes pour y parvenir.

 

Tableau 9.5. Exécution d'actions d'audit clés sur des événements d'accès aux objets portant l'ID 560

Action d'audit

Procédure

Rechercher un fichier, un dossier ou un objet spécifique

Dans les détails de l'événement 560, recherchez le chemin d'accès complet au fichier ou au dossier pour lequel vous voulez vérifier les actions.

Déterminer les actions effectuées par un utilisateur spécifique

Définissez un filtre identifiant l'utilisateur spécifique dans un événement 560.

Déterminer les actions effectuées sur un ordinateur spécifique

Définissez un filtre identifiant le compte de l'ordinateur sur lequel les tâches ont été effectuées dans un événement 560.

Dans l'environnement de Contoso, les événements d'accès aux objets ne sont pas surveillés de façon spécifique, mais l'audit de l'accès aux objets est activé pour certains fichiers particuliers. Ces informations peuvent être extrêmement utiles en cas d'incident de sécurité.

Accès au service d'annuaire

Les objets Active Directory disposent de listes de contrôle d'accès système (SACL) et peuvent donc être audités. Pour rappel, vous auditez les comptes des utilisateurs et des groupes Active Directory en effectuant l'audit de la gestion des comptes. Il est cependant possible d'auditer la modification d'objets dans d'autres contextes de nommage (de configuration et de schéma, par exemple). Pour cela, activez l'audit de l'accès aux objets, puis définissez la liste de contrôle d'accès système pour les conteneurs spécifiques à auditer. Des entrées d'audit sont générées lorsque des utilisateurs figurant dans la liste de contrôle d'accès système d'un objet Active Directory tentent d'accéder à cet objet.

Vous pouvez modifier la liste de contrôle d'accès système pour les conteneurs et les objets dans le contexte de nommage de configuration (ainsi que dans d'autres contextes de nommage) à l'aide du composant logiciel enfichable MMC ADSIEdit). Pour cela, vous devez afficher le contexte approprié dans la console ADSIEdit, puis modifier la liste de contrôle d'accès système de l'objet dans la boîte de dialogue Paramètres de sécurité avancés.

Il est très difficile de rechercher des événements spécifiques d'accès au service d'annuaire en raison du nombre impressionnant d'événements (généralement anodins) qui se produisent. Pour cette raison, les stratégies de base des serveurs membres et des contrôleurs de domaines prescrivent uniquement l'audit des événements d'accès au service d'annuaire de type échec. Cette approche vous permet d'identifier les tentatives d'accès non autorisé à Active Directory effectuées par un intrus.

Les tentatives d'accès au service d'annuaire apparaissent comme des événements du service d'annuaire sous le numéro 565 dans le journal des événements. Vous pouvez déterminer à quel objet correspond un événement de sécurité en consultant les détails de ce dernier.

Dans l'environnement de Contoso, les événements d'accès au service d'annuaire ne sont pas surveillés de façon spécifique, mais l'audit de l'accès aux objets est activé pour certains fichiers. Ces informations peuvent être extrêmement utiles en cas d'incident de sécurité.

Utilisation des privilèges

En travaillant, les utilisateurs d'un environnement informatique font valoir les droits qui leur sont accordés. Si vous auditez les événements de type succès et échec liés à l'utilisation des privilèges, un événement est généré chaque fois qu'un utilisateur tente d'exercer l'un de ses droits.

Même si l'audit des privilèges est mis en œuvre, tous les droits des utilisateurs ne sont pas audités. Par défaut, les droits d'utilisateur ci-après sont exclus :

·         outrepasser le contrôle du parcours ;

·         déboguer des programmes ;

·         créer un objet jeton ;

·         remplacer un jeton de niveau processus ;

·         générer des audits de sécurité ;

·         sauvegarder des fichiers et des répertoires ;

·         restaurer des fichiers et des répertoires.

Vous pouvez remplacer le comportement par défaut qui désactive l'audit des droits de sauvegarde et de restauration. Pour cela, activez l'option de sécurité Auditer l'utilisation des privilèges de sauvegarde et de restauration dans la stratégie de groupe.

L'audit des succès liés à l'utilisation des privilèges entraîne la création d'un très grand nombre d'entrées dans le journal de sécurité. Pour cette raison, les stratégies de base des serveurs membres et des contrôleurs de domaines limitent l'audit aux seuls événements d'utilisation des privilèges de type échec.

Les événements ci-après sont générés si vous activez l'audit de l'utilisation des privilèges.

Tableau 9.6. Événements d'utilisation des privilèges visibles dans le journal d'événements

ID d'événement

Description

576

Ajout de droits spécifiques au jeton d'accès d'un utilisateur (cet événement est généré lorsqu'un utilisateur ouvre une session).

577

Tentative d'utilisation d'un service système privilégié par un utilisateur.

578

Des privilèges ont été exercés sur un descripteur déjà ouvert d'un objet protégé.

Les exemples ci-dessous illustrent des entrées susceptibles d'apparaître dans le journal des événements lorsque des droits d'utilisateur spécifiques sont utilisés :

·         Agir comme faisant partie du système d'exploitation. Recherchez les événements 577 ou 578 faisant état du privilège SeTcbPrivilege. Le compte d'utilisateur qui a exercé ce privilège est identifié dans les détails de l'événement. Celui-ci peut indiquer une tentative d'élévation des privilèges de sécurité par un utilisateur agissant comme faisant partie du système d'exploitation. Par exemple, l'attaque GetAdmin qui permet à un utilisateur d'ajouter son compte au groupe Administrateurs repose sur l'utilisation de ce privilège. Les seules entrées de cet événement doivent porter sur le compte système et les comptes de service auxquels a été attribué ce privilège.

·         Modifier l'heure du système. Recherchez les événements 577 ou 578 faisant état du privilège SeSystemtimePrivilege. Le compte d'utilisateur qui a exercé ce privilège est identifié dans les détails de l'événement. Cet événement peut indiquer une tentative de modification de l'heure système afin de masquer l'heure réelle à laquelle un événement se produit.

·         Arrêt forcé à partir d'un système à distance. Recherchez les événements 577 et 578 faisant état du privilège SeRemoteShutdownPrivilege. L'identificateur de sécurité (SID) spécifique auquel est affecté le droit utilisateur et le nom d'utilisateur de l'entité de sécurité qui a affecté le droit sont indiqués dans les détails de l'événement.

·         Chargement et déchargement de pilotes de périphériques. Recherchez les événements 577 ou 578 faisant état du privilège SeLoadDriverPrivilege. Le compte d'utilisateur qui a exercé ce privilège est identifié dans les détails de l'événement. Cet événement peut indiquer une tentative de chargement d'une version de pilote de périphérique non autorisée ou comportant un cheval de Troie (type de code hostile).

·         Gestion de l'audit et du journal de sécurité. Recherchez les événements 577 ou 578 faisant état du privilège SeSecurityPrivilege. Le compte d'utilisateur qui a exercé ce privilège est identifié dans les détails de l'événement. Cet événement survient lorsque le contenu du journal des événements est supprimé et lorsque des événements d'utilisation des privilèges sont consignés dans le journal de sécurité.

·         Arrêt du système. Recherchez les événements 577 faisant état du privilège SeShutdownPrivilege. Le compte d'utilisateur qui a exercé ce privilège est identifié dans les détails de l'événement. Cet événement a lieu lors d'une tentative d'arrêt du système.

·         Appropriation de fichiers ou d'autres objets. Recherchez les événements 577 ou 578 faisant état du privilège SeTakeOwnershipPrivilege. Le compte d'utilisateur qui a exercé ce privilège est identifié dans les détails de l'événement. Cet événement peut indiquer qu'un intrus tente de contourner les paramètres de sécurité en cours en prenant possession d'un objet.

L'environnement de Contoso assure la surveillance de tous les événements qui indiquent un arrêt normal ou forcé à partir d'un système distant, ainsi que tout événement signalant que le journal de sécurité et d'audit a été modifié.

Suivi des processus

L'audit du suivi des processus permet de recueillir des informations détaillées sur les processus exécutés sur des ordinateurs Windows 2000. Le journal des événements affiche alors les tentatives de création et d'arrêt de processus. Il enregistre également toute tentative de génération d'un descripteur d'objet ou d'obtention d'un accès indirect à un objet.

En raison des nombreuses entrées d'audit créées, l'audit du suivi des processus n'est pas activé dans les stratégies de base des serveurs membres et des contrôleurs de domaines. Cependant, si vous auditez les succès et les échecs, les ID d'événements ci-après sont enregistrés dans le journal des événements.

Tableau 9.7. Événements de suivi des processus visibles dans le journal des événements

ID d'événement

Description

592

Création d'un nouveau processus.

593

Sortie d'un processus.

594

Duplication d'un descripteur d'objet.

595

Obtention d'un accès indirect à un objet.

 

Dans l'environnement de Contoso, aucun événement de suivi des processus n'est surveillé et ce type d'audit n'est activé dans aucune des stratégies de serveur.

Événements système

Des événements système sont générés lorsqu'un utilisateur ou un processus altèrent l'un ou l'autre aspect d'un environnement informatique. Vous pouvez auditer les tentatives de modification du système, notamment l'arrêt de l'ordinateur ou la modification de l'heure système.

Si vous auditez les événements système, veillez à auditer également la purge du journal des événements. Cela est très important car les auteurs d'attaques tentent souvent d'effacer les traces de leur passage après avoir modifié un environnement.

Les stratégies de base des serveurs membres et des contrôleurs de domaines prescrivent l'audit des succès et des échecs liés aux événements système. Les ID d'événements suivants s'affichent dans le journal des événements.

Tableau 9.8 : Événements système visibles dans le journal des événements

ID d'événement

Description

512

Démarrage de Windows.

513

Fermeture de Windows.

514

Chargement d'un package d'authentification par l'autorité de sécurité locale.

515

Inscription d'un processus d'ouverture de session approuvé auprès de l'autorité de sécurité locale.

516

Les ressources internes allouées à la mise en file d'attente de messages d'événements de sécurité sont épuisées, ce qui a entraîné la perte de certains de ces messages.

517

Purge du journal de sécurité.

518

Chargement d'un package de notification par le Gestionnaire de comptes de sécurité.

 

Vous pouvez vous baser sur ces ID d'événements pour identifier plusieurs problèmes de sécurité :

·         Arrêt/redémarrage du système. Un événement 513 est consigné à chaque fermeture de Windows. Il est primordial de savoir à quel moment les serveurs ont été arrêtés ou redémarrés. Ces opérations peuvent être effectuées pour plusieurs raisons licites, notamment l'installation d'une application ou d'un pilote nécessitant un redémarrage, ou encore l'arrêt ou le redémarrage du serveur aux fins de maintenance. Cependant, un intrus peut également forcer le redémarrage d'un serveur afin d'accéder au système lors de cette opération. Tous les arrêts du système doivent être documentés, afin qu’ils soient comparés avec les entrées du journal des événements.

De nombreuses attaques impliquent le redémarrage du système. En analysant les journaux des événements, vous pouvez déterminer quand un serveur a été redémarré et si ce redémarrage était prévu ou non. Un événement 513 illustre le démarrage de Windows, ainsi qu'une série d'autres événements générés automatiquement dans le journal système. Parmi eux, l'événement 6005 indique que le service Journal des événements a démarré.

Outre cette entrée, recherchez la présence de l'une des deux entrées suivantes dans le journal système. Si l'arrêt précédent était normal (par exemple, si l'administrateur a effectué un redémarrage), l'événement 6006, Le service d'Enregistrement d'événement a été arrêté, est enregistré dans le journal système. Observez les détails de cette entrée pour déterminer quel utilisateur a arrêté le système.

Si le redémarrage était un redémarrage inattendu, l'événement 6008, L'arrêt système précédant à <heure> le <date> n'était pas prévu, est enregistré. Cet événement peut indiquer une attaque de refus de service qui a entraîné l'arrêt du système. N'oubliez cependant pas qu'il peut également être dû à une coupure de courant ou à une défaillance d'un pilote de périphérique.

Si le redémarrage était dû à une erreur d'arrêt (avec affichage de l'écran bleu), l'événement 1001 est enregistré dans le journal système, avec une source d'enregistrement des vidages. Le message d'erreur d'arrêt peut être analysé dans les détails de l'événement.

Remarque : Pour que l'événement 1001 soit enregistré, vous devez activer la case à cocher Écrire un événement dans le journal système dans les paramètres de récupération de l'application Système du Panneau de configuration.

·         Modification ou purge du journal de sécurité. Un intrus peut tenter de modifier le journal de sécurité, de désactiver l'audit lors d'une attaque ou de purger le journal de sécurité afin de ne pas être démasqué. Si vous constatez des périodes prolongées pour lesquelles aucune entrée ne figure dans le journal de sécurité, recherchez les événements 612 et 517 afin de déterminer quel utilisateur a modifié la stratégie d'audit. Toutes les occurrences de l'événement 517 doivent être comparées à un journal physique dans lequel ont été documentées toutes les heures auxquelles le journal de sécurité a été vidé de son contenu. Une suppression non autorisée peut révéler une tentative de masquer des événements existants dans le journal de sécurité précédent. Le nom de l'utilisateur qui a effectué l'opération figure dans les détails de l'événement.

Dans l'environnement de Contoso, les arrêts et les redémarrages du système ainsi que la purge du journal de sécurité sont audités.

Modifications de stratégie

Votre stratégie d'audit définit les modifications apportées à votre environnement qui sont auditées, vous aidant ainsi à déterminer si votre environnement a fait l'objet de tentatives d'attaque. Cependant, un intrus peut tenter de modifier la stratégie d'audit elle-même, afin que ses modifications ne soient pas auditées.

Si l'audit des modifications de stratégie est activé, il affiche les tentatives de modification de la stratégie d'audit, ainsi que les modifications apportées à d'autres stratégies et aux droits des utilisateurs. Les stratégies de base des serveurs membres et des contrôleurs de domaines prescrivent l'audit des succès et des échecs des modifications de stratégie. Ces événements sont enregistrés dans le journal des événements.

Tableau 9.9. Événements de modification de stratégie visibles dans le journal des événements

ID d'événement

Description

608

Affectation d'un droit de l'utilisateur.

609

Suppression d'un droit de l'utilisateur.

610

Création d'une relation d'approbation avec un autre domaine.

611

Suppression d'une relation d'approbation avec un autre domaine.

612

Modification d'une stratégie d'audit.

768

Détection d'un conflit entre un élément d'un espace de noms d'une forêt donnée et un élément d'un espace de noms d'une autre forêt. (Cet événement se produit lorsqu'un élément d'un espace de noms d'une forêt chevauche un élément d'espace de noms d'une autre forêt.)

Les deux événements les plus importants à rechercher sont les événements 608 et 609. Ils peuvent être le résultat de diverses tentatives d'attaques. Les exemples ci-après génèrent tous un événement 608 en cas d'affectation d'un droit de l'utilisateur, ou un événement 609 en cas de suppression d'un droit de l'utilisateur. Dans chacun de ces cas, l'identificateur de sécurité spécifique auquel est affecté le droit de l'utilisateur en question et le nom d'utilisateur de l'entité de sécurité affectant ce droit sont indiqués dans les détails de l'événement.

·         Agir comme faisant partie du système d'exploitation. Recherchez les événements 608 et 609 faisant état du droit seTcbPrivilege dans leurs détails.

·         Ajout de stations de travail au domaine. Recherchez les événements faisant état du droit SeMachineAccountPrivilege dans leurs détails.

·         Sauvegarde de fichiers et de répertoires. Recherchez les événements faisant état du droit SeBackupPrivilege dans leurs détails.

·         Outrepasser le contrôle du parcours. Recherchez les événements faisant état du droit SeChangeNotifyPrivilege dans leurs détails. Ce droit permet à l'utilisateur de parcourir une arborescence de répertoires même s'il ne dispose pas d'une autre autorisation d'accès sur ce répertoire.

·         Modification de l'heure système. Recherchez les événements faisant état du droit SeSystemtimePrivilege dans leurs détails. Ce droit permet à une entité de sécurité de modifier l'heure système, de façon à dissimuler l'heure à laquelle un événement se produit.

·         Création d'objets partagés permanents. Recherchez les événements faisant état du droit SeCreatePermanentPrivilege dans leurs détails. Un utilisateur disposant de ce droit peut créer des partages de fichiers et d'imprimantes.

·         Débogage de programmes. Recherchez les événements faisant état du droit SeDebugPrivilege dans leurs détails. Un utilisateur disposant de ce droit peut se lier à n'importe quel processus. Par défaut, ce droit est l'apanage des administrateurs.

·         Arrêt forcé à partir d'un système à distance. Recherchez les événements faisant état du droit SeRemoteShutdownPrivilege dans leurs détails.

·         Élévation de la priorité de planification. Recherchez les événements faisant état du droit SeIncreaseBasePriorityPrivilege dans leurs détails. Un utilisateur disposant de ce droit peut modifier les priorités des processus.

·         Chargement et déchargement de pilotes de périphériques. Recherchez les événements faisant état du droit SeLoadDriverPrivilege dans leurs détails. Un utilisateur disposant de ce droit peut charger une version de pilote de périphérique comportant un Cheval de Troie.

·         Gestion de l'audit et du journal de sécurité. Recherchez les événements faisant état du droit SeSecurityPrivilege dans leurs détails. Un utilisateur disposant de ce droit peut consulter le journal de sécurité et le vider de son contenu.

·         Remplacement d'un jeton de niveau processus. Recherchez les événements faisant état du droit SeAssignPrimaryTokenPrivilege dans leurs détails. Un utilisateur disposant de ce droit peut modifier le jeton associé par défaut à un sous-processus démarré.

·         Restauration de fichiers et de répertoires. Recherchez les événements faisant état du droit SeRestorePrivilege dans leurs détails.

·         Arrêt du système. Recherchez les événements faisant état du droit SeShutdownPrivilege dans leurs détails. Un utilisateur disposant de ce droit peut arrêter le système afin d'initialiser l'installation d'un nouveau pilote de périphérique.

·         Appropriation de fichiers ou d'autres objets. Recherchez les événements faisant état du droit SeTakeOwnershipPrivilege dans leurs détails. Un utilisateur disposant de ce droit peut accéder à n'importe quel objet ou fichier d'un disque NTFS après en avoir pris possession.

Remarque : Ces événements d'audit indiquent uniquement que le droit de l'utilisateur était affecté à une entité de sécurité spécifique. Cela ne signifie en aucun cas que l'entité de sécurité a effectué une opération en utilisant ce droit. Les événements d'audit indiquent à quel moment la stratégie des droits de l'utilisateur a été modifiée.

Actuellement, les événements liés à la modification de stratégie ne sont pas audités dans l'environnement de Contoso. Ces événements sont utilisés à des fins de dépannage ou en cas d'incident.

La surveillance des modifications de stratégie peut se révéler fort difficile et donner lieu à de nombreuses fausses alertes. Cela est principalement dû au fait que le composant logiciel enfichable MMC pour la modification des stratégies de groupe, gpedit.msc, ouvre toujours les stratégies avec des droits d'accès en lecture et en écriture à la fois. Même si aucun changement n'est apporté à la stratégie, l'événement 578 est écrit dans le journal de sécurité du contrôleur de domaine (comme indiqué précédemment).

La version suivante de la console de gestion de la stratégie de groupe, disponible gratuitement au téléchargement peu de temps après la sortie de .NET Server, aide à résoudre ces problèmes en permettant aux utilisateurs autorisés de visualiser les paramètres de la stratégie de groupe sans avoir à ouvrir celle-ci dans gpedit.msc.

Protection des journaux des événements

Vous devez effectuer plusieurs opérations pour garantir la sécurité des journaux des événements afin de vous assurer que leurs entrées sont conservées pour référence, et notamment :

·         Définir une stratégie pour le stockage, le remplacement et la maintenance de tous les journaux des événements. Cette stratégie doit définir tous les paramètres requis pour les journaux des événements et être appliquée par la stratégie de groupe.

·         Vérifier que la stratégie indique comment traiter les journaux des événements une fois ceux-ci arrivés à saturation, et plus particulièrement le journal de sécurité. Il est recommandé de faire en sorte que l'arrêt du serveur soit exigé lorsque le journal de sécurité est rempli. Cette procédure n'est pas très pratique pour certains environnements, mais vous devez l'envisager.

·         Empêcher l'accès des invités aux journaux des événements en activant les paramètres de stratégie de sécurité destinés à éviter que les invités locaux accèdent aux journaux système, d'applications et de sécurité.

·         Vérifier que l'audit des succès et des échecs est activé pour les événements système, afin de déterminer si des tentatives de suppression du contenu du journal de sécurité se sont produites.

·         Imposer l'utilisation de mots de passe complexes ou de deux méthodes d'authentification (notamment l'ouverture de session par carte à puce) par toutes les entités de sécurité pouvant consulter ou modifier les paramètres d'audit. Cette précaution vise à éviter des attaques perpétrées contre ces comptes et l'accès aux informations d'audit.

Contoso a implémenté ces paramètres dans les objets Stratégie de groupe des serveurs membres et des contrôleurs de domaines. Pour plus d'informations sur ces paramètres, reportez-vous au chapitre 6, « Renforcement de la sécurité du serveur Windows 2000 de base » et au chapitre 7, « Renforcement de la sécurité pour des rôles de serveur spécifiques ».

Outre ces étapes, vous devez prendre d'autres mesures pratiques pour vous assurer que les informations du journal des événements sont aussi sécurisées que possible :

·         Votre plan de sécurité doit également prévoir la sécurité physique de tous les serveurs, de façon à garantir qu'un intrus ne pourra en aucun cas accéder physiquement à l'ordinateur sur lequel l'audit est effectué. Un intrus peut supprimer des entrées d'audit en modifiant ou en supprimant les fichiers *.EVT sur le sous-système de disque local.

·         Implémenter une méthode de déplacement ou de stockage des journaux des événements dans un emplacement distinct du serveur physique. Pour cela, vous pouvez avoir recours à des tâches planifiées pour graver régulièrement les journaux des événements sur des CD-R ou des CD non réinscriptibles, ou pour les copier à des emplacements non situés sur le serveur. Si les sauvegardes sont copiées sur des supports externes, notamment des bandes de sauvegarde ou des CD inscriptibles, ceux-ci doivent être placés hors des locaux de la société, pour qu'ils ne puissent pas être détruits par un éventuel incendie ou d'autres catastrophes naturelles.

Remarque : Les options Restreindre les accès Invités aux journaux des événements s'appliquent uniquement aux utilisateurs non-membres du domaine. Par défaut, tous les utilisateurs d'un domaine peuvent accéder au journal système et des applications. Seul l'accès au journal de sécurité est limité. Les entités de sécurité disposant du droit Gérer le journal d'audit et de sécurité peuvent accéder au journal de sécurité. Par défaut, ce droit est attribué uniquement aux administrateurs et aux serveurs Exchange Enterprise Server.

Autres méthodes recommandées en matière d'audit

Outre la configuration de l'audit, d'autres méthodes sont recommandées afin d'auditer efficacement la sécurité de votre environnement serveur, et notamment :

·         la planification de l'analyse régulière des journaux des événements ;

·         l'analyse d'autres fichiers journaux d'applications ;

·         la surveillance des services et pilotes installés ;

·         la surveillance des ports ouverts.

Planification de l'analyse régulière des journaux des événements

Comme cela a été dit précédemment, il est intéressant de graver le journal de sécurité, comme tous les autres journaux des événements a priori, sur un support amovible ou de les consolider dans un emplacement central aux fins d'analyse. L'analyse des journaux représente l'étape la plus souvent oubliée de l'audit.

Contoso a consenti énormément d'efforts pour s'assurer que l'analyse des journaux des événements compte parmi les tâches régulières d'une seule personne ou d'une équipe complète. Cette analyse peut être planifiée de façon quotidienne ou hebdomadaire, en fonction du volume de données recueillies dans le journal de sécurité. Celui-ci dépend généralement du niveau d'audit implémenté sur le réseau. Plus le nombre d'événements inclus dans l'audit est grand, plus le volume d'entrées sera important. En planifiant des analyses régulières du journal des événements, vous pourrez bénéficier des avantages suivants :

·         Détection plus rapide des problèmes de sécurité. Dans le cas d'une analyse quotidienne des journaux des événements, les événements de sécurité identifiés ne doivent pas dater de plus de 24 heures, ce qui vous permet de détecter et de pallier plus rapidement les éventuelles vulnérabilités.

·         Définition des responsabilités. Si des analyses régulières des journaux des événements sont requises, la personne chargée de cette tâche peut être responsable de l'identification des attaques potentielles.

·         Réduction des risques de remplacement d'événements ou d'arrêt du serveur. Après avoir analysé un journal des événements, les événements du fichier journal peuvent être archivés pour référence et supprimés du journal des événements en cours. Cette opération limite le risque de saturation.

Analyse des fichiers journaux d'autres applications

Outre les événements de sécurité des journaux des événements Windows 2000, vous devez également analyser les journaux créés par les applications. Ils peuvent comporter des informations précieuses au sujet des attaques potentielles et compléter les informations des journaux des événements. Selon votre environnement, vous devrez peut-être consulter un ou plusieurs des fichiers journaux ci-après :

·         Internet Information Services (IIS). IIS crée des fichiers journaux qui assurent le suivi des tentatives de connexion aux services Web, FTP, NTP (Network Time Protocol) et SMTP. Chaque service exécuté sous IIS fait l'objet de fichiers journaux distincts, qui sont stockés dans le dossier %WinDir%\System32\Logfiles au format de fichier journal étendu du W3C. À chaque service est associé un dossier distinct, de façon à mieux distinguer les informations d'ouverture de session. Vous pouvez également configurer IIS pour que les journaux soient stockés dans une base de données compatible ODBC, telle que Microsoft SQL Server.

·         Internet Security and Acceleration (ISA) Server. ISA Server fournit des journaux pour les filtres de paquets, le service de pare-feu ISA Server et le service proxy Web ISA Server. Tout comme dans IIS, les journaux sont stockés par défaut au format de fichier journal étendu du W3C, mais ils peuvent également être enregistrés dans une base de données ODBC. Les fichiers journaux ISA Server sont stockés par défaut dans le dossier C:\Program Files\Microsoft ISA Server\ISALogs.

·         Service d'authentification Internet (IAS). IAS permet la centralisation de l'authentification et de la gestion des comptes pour l'authentification de l'accès à distance via le protocole RADIUS (Remote Authentication Dial-In User Service). Par défaut, les demandes de gestion de comptes, d'authentification et d'état périodique sont consignées dans le fichier IASlog.log situé dans le dossier %WinDir%\System32\Logfiles. Vous pouvez également enregistrer le fichier journal dans un format de base de données compatible, plutôt qu'au format IAS.

·         Applications tierces. Plusieurs applications tierces intègrent des fonctions d'enregistrement dans un journal local. Ces fonctions offrent des informations détaillées au sujet des applications. Pour plus d'informations, consultez l'aide en ligne spécifique de cette application.

Remarque : Les horloges de tous les ordinateurs qui gèrent des fichiers journaux doivent être synchronisées. Les administrateurs peuvent ainsi comparer les événements entre les ordinateurs et les services, afin de détecter les actions liées à une attaque. Pour plus d'informations sur la synchronisation des horloges, reportez-vous à la section « Importance de la synchronisation de l'heure » plus loin dans ce chapitre.

Surveillance des services et pilotes installés

De nombreuses attaques perpétrées contre un ordinateur sont dues à des services d'attaque installés sur l'ordinateur cible ou au remplacement des versions de pilotes correctes par des versions comportant un Cheval de Troie, ce qui permet à un intrus d'accéder à l'ordinateur cible.

Les utilitaires ci-après permettent de surveiller les services et les pilotes installés sur votre ordinateur :

·         Console Services. La console MMC Services permet de surveiller les services d'un ordinateur local ou distant. Grâce à elle, l'administrateur peut configurer, interrompre, arrêter, démarrer et redémarrer tous les services installés. Utilisez cette console pour déterminer si des services configurés pour démarrer automatiquement n'ont pas encore démarré.

·         Netsvc.exe. Cet outil de ligne de commande, fourni avec le Kit de Ressources Techniques Windows 2000 Server, permet à l'administrateur de démarrer, d'arrêter, d'interrompre, de poursuivre des services et d'en demander l'état à distance à partir d'une ligne de commande.

·         SvcMon.exe. Cet outil contrôle les services sur les ordinateurs locaux et distants afin de détecter les modifications d'état (démarrage ou arrêt). Pour identifier ces modifications, il implémente un système d'interrogation. Lorsqu'un service surveillé s'arrête ou démarre, l'outil vous avertit par e-mail. Vous devez configurer les serveurs, les intervalles d'interrogation et les services à surveiller via l'outil de configuration du contrôle des services (smconfig.exe).

·         Drivers.exe. Cet outil affiche tous les pilotes de périphériques installés sur l'ordinateur sur lequel il est exécuté. Les résultats qu'il génère comportent le nom de fichier du pilote, la taille qu'il occupe sur le disque et la date de liaison au pilote. Celle-ci peut être utile pour identifier les pilotes installés récemment. Si aucune mise à jour de pilote n'a été réalisée récemment, cela peut indiquer qu'un pilote a été remplacé. Mettez toujours en parallèle ces informations avec les événements de redémarrage de l'Observateur d'événements.

Remarque : Vous ne pouvez pas arrêter directement tous les services (notamment le service Station de travail) même si vous pouvez les interroger. Si un utilisateur dispose de plusieurs connexions actives, vous ne pouvez pas forcer l'arrêt à distance du service, mais bien interrompre ou interroger le service. Certains services possèdent des services dépendants et ne peuvent donc être arrêtés qu'une fois ces services dépendants arrêtés.

Surveillance des ports ouverts

Les attaques commencent souvent par l'analyse des ports afin d'identifier des services connus exécutés sur l'ordinateur cible. Assurez-vous qu’une surveillance attentive s’exerce sur les ports ouverts sur vos serveurs. Vous devez généralement surveiller les ports vous-même afin de déterminer à quels éléments il est possible d'accéder.

Lors de l'analyse des ports, vous devez procéder localement sur l'ordinateur cible mais aussi à partir d'un ordinateur distant. Si vous pouvez accéder à l'ordinateur à partir d'un réseau public, l'analyse doit être effectuée à partir d'un ordinateur externe afin de vérifier que votre pare-feu autorise uniquement l'accès aux ports appropriés.

Netstat.exe est un utilitaire de ligne de commande pouvant afficher tous les ports ouverts pour les protocoles TCP et UDP. La commande Netstat utilise la syntaxe suivante :

NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [intervalle]

Où :

- -a affiche toutes les connexions et tous les ports d'écoute.

- -e affiche les statistiques Ethernet et peut être associé au commutateur -s.

- -n affiche les adresses et les numéros de ports sous forme numérique.

- -p proto affiche les connexions des protocoles spécifiés par proto ; proto peut correspondre à TCP ou à UDP. S'il est utilisé avec le commutateur -s pour afficher les statistiques par protocole, proto peut être TCP, UDP ou IP.

- -r affiche la table de routage.

- -s affiche les statistiques par protocole. Par défaut, les statistiques sont indiquées pour les protocoles TCP, UDP et IP ; vous pouvez utiliser le commutateur -p pour définir un sous-ensemble de protocoles par défaut.

- intervalle actualise l'affichage des statistiques sélectionnées en effectuant des pauses de quelques secondes entre chaque affichage. Appuyez sur ctrl + C pour arrêter la mise à jour de l'affichage des statistiques. Si cette option est omise, Netstat n'affiche qu'une seule fois les informations de configuration.

Lorsque vous établissez la liste des ports TCP et UDP ouverts sur l'ordinateur local, les numéros de ports sont convertis en noms basés sur les entrées du fichier de services situé dans le dossier \%WinDir%\System32\Drivers\Etc\. Si vous préférez afficher uniquement les numéros de ports, vous pouvez utiliser le commutateur -n.

Si l'un des ports ouverts n'est pas reconnu, vous devez l'analyser afin de déterminer si le service correspondant est requis sur l'ordinateur. Si ce n'est pas le cas, désactivez ou supprimez le service associé afin d'éviter à l'ordinateur d'utiliser ce port pour l'écoute. Plusieurs services ont été désactivés dans les stratégies de base des serveurs membres et des contrôleurs de domaines associées à ce guide.

De nombreux serveurs sont protégés par des pare-feu ou des routeurs de filtrage des paquets, c'est pourquoi il est également recommandé d'effectuer une analyse des ports à partir d'un ordinateur distant. Des outils tiers effectuant l'analyse des ports à distance sont disponibles (et parfois gratuits). Cette analyse révèle les ports disponibles pour les utilisateurs externes lorsqu'ils tentent de se connecter à l'ordinateur.

Remarque : L'analyse des ports permet également de tester votre système de détection des intrusions et de vérifier qu'il détecte l'analyse des ports lorsqu'elle se produit. Pour plus d'informations sur les systèmes de détection des intrusions, reportez-vous à la section « Méthodes de détection active » plus loin dans ce chapitre.

Surveillance des intrusions et des événements de sécurité

La surveillance des intrusions et des événements de sécurité comporte des tâches passives et actives. De nombreuses intrusions sont détectées après l'attaque via l'analyse des fichiers journaux. Cette détection postérieure à l'attaque est souvent appelée détection des intrusions passive. Seule l'analyse des fichiers journaux permet d'étudier l'attaque et de la reconstituer en fonction des informations du journal.

D'autres tentatives d'intrusions peuvent être détectées lors d'une attaque. Cette méthode, appelée détection des intrusions active, recherche des commandes ou des modèles d'attaques connus, et bloque l'exécution de ces commandes.

Cette section présente les outils pouvant être employés pour mettre en œuvre ces deux formes de détection des intrusions destinées à protéger votre réseau contre les attaques.

Importance de la synchronisation de l'heure

Lors de la surveillance des intrusions et des événements de sécurité sur plusieurs ordinateurs, il est essentiel que les horloges de ces ordinateurs soient synchronisées. Cela permet à l'administrateur de reconstituer les événements lors d'une attaque sur plusieurs ordinateurs. Si les horloges ne sont pas synchronisées, il est très difficile de déterminer exactement quand des événements spécifiques se sont produits et de quelle façon ils s'enchevêtrent. Pour plus d'informations sur la synchronisation de l'heure, reportez-vous au chapitre 5, « Sécurisation de l'infrastructure du domaine ».

Méthodes de détection passive

Les systèmes de détection passive des intrusions nécessitent l'analyse manuelle du journal des événements et des applications. Cet examen implique l'analyse du journal des événements, à la recherche de modèles d'attaques. Plusieurs outils, utilitaires et applications peuvent faciliter l'analyse des journaux des événements. Cette section explique comment utiliser chacun de ces outils afin de coordonner des informations.

Observateur d'événements

Vous pouvez consulter le journal de sécurité de Windows 2000 via la console MMC Observateur d'événements Windows 2000. L'Observateur d'événements permet d'afficher les journaux d'applications, de sécurité et système. Vous pouvez définir des filtres afin d'y rechercher des événements spécifiques.

Pour définir des filtres dans l'Observateur d'événements

1.       Sélectionnez le journal des événements approprié dans l'arborescence de la console.

2.       Sélectionnez Filtre dans le menu Affichage.

3.       Sélectionnez les paramètres de filtrage.

Vous pouvez définir les attributs ci-après sous l'onglet Filtre de la boîte de dialogue Propriétés, afin de filtrer les entrées d'événements :

·         Types d'événements. Le filtre peut être limité aux informations, aux avertissements, aux erreurs, aux audits des échecs ou des succès, ou à n'importe quelle combinaison de ces types d'événements.

·         Source de l'événement. Service ou pilote spécifique qui a généré l'événement.

·         Catégorie. Le filtre peut être limité à certaines catégories d'événements.

·         ID de l'événement. Si vous connaissez l'ID d'événement à rechercher, le filtre peut limiter la liste aux événements correspondant à cet ID spécifique.

·         Utilisateur. Vous pouvez limiter l'affichage aux événements générés par un utilisateur spécifique.

·         Ordinateur. Vous pouvez restreindre l'affichage aux événements générés par un ordinateur spécifique.

·         Intervalles de date. Vous pouvez limiter l'affichage aux événements générés pendant une période spécifique.

Lorsque vous appliquez le filtre, vous pouvez exporter la liste des événements filtrés dans un fichier séparé par des virgules ou par des tabulations, que vous pourrez ensuite importer dans une application de base de données.

Comme indiqué précédemment, Contoso a désigné, pour chaque rôle administratif, plusieurs personnes responsables de l'analyse des journaux des événements. Leur mission consiste à passer en revue les journaux quotidiennement pour y détecter éventuellement des événements liés la sécurité non consignés par le système de surveillance.

Outil Dump Event Log (Dumpel.exe)

Dump Event Log est un outil de ligne de commande, fourni avec le Kit de Ressources Techniques Windows 2000 Server, Supplement One (Microsoft Press, ISBN : 0-7356-1279-X). Il vide le journal des événements d'un système local ou distant et copie son contenu dans un fichier texte séparé par des tabulations. Vous pouvez ensuite importer ce fichier dans un tableur ou dans une base de données afin de l'analyser en profondeur. Cet outil permet également de filtrer certains types d'événements.

L'outil Dumpel.exe utilise la syntaxe suivante :

dumpel -f fichier [-s \\serveur] [-l journal [-m source]] [-e n1 n2 n3...] [-r] [-t] [-d x]

Où :

- -f fichier indique le nom du fichier de sortie. Aucun fichier n'est défini par défaut pour -f. Vous devez en spécifier un.

- -s serveur indique le serveur pour lequel vous voulez vider le journal des événements. Les barres obliques inverses au début du nom du serveur sont facultatives.

- -l journal indique le journal (système, d'applications ou de sécurité) à vider. Si un nom de journal incorrect est spécifié, c'est le journal d'applications qui est vidé.

- -m source indique la source (redirecteur, série, etc.) dans laquelle il faut vider les enregistrements. Une seule source peut être spécifiée. Si vous n'utilisez pas ce commutateur, tous les événements sont effacés. Si vous utilisez une source qui n'est pas inscrite dans le Registre, ce type d'enregistrements est recherché dans le journal d'applications.

- -e n1 n2 n3 filtre les ID d'événements nn. (Vous pouvez définir jusqu'à dix filtres.) Si vous n'utilisez pas le commutateur -r, seuls ces types d'événements sont effacés. Si vous le spécifiez, tous les enregistrements à l'exception de ces types sont effacés. Si vous n'utilisez pas ce commutateur, tous les événements de la source spécifiée sont sélectionnés. Vous ne pouvez pas utiliser ce commutateur sans le commutateur -m.

- -r indique si le filtre doit sélectionner des sources ou des enregistrements spécifiques ou les écarter.

- -t indique que les chaînes individuelles sont séparées par des tabulations. Si vous n'utilisez pas le commutateur -t, les chaînes sont séparées par des espaces.

- -d x vide les événements survenus les x jours précédents.

Remarque : L'outil Dumpel peut uniquement extraire le contenu des fichiers journaux système, d'applications et de sécurité. Vous ne pouvez pas l'utiliser pour interroger le contenu des journaux des événements du service de réplication de fichiers, du service DNS ou du service d'annuaire.

EventCombMT

EventCombMT est un outil multi-thread qui analyse collectivement les journaux des événements de plusieurs serveurs, générant une thread d'exécution distincte pour chacun des serveurs inclus dans les critères de recherche. Cet outil vous permet d'effectuer les tâches suivantes :

·         Définir un ou plusieurs ID d'événements à rechercher. Vous pouvez inclure un seul événement ou plusieurs événements séparés par des espaces.

·         Définir une plage d'événements à rechercher. Les valeurs de début et de fin de la plage sont inclus. Par exemple, si vous voulez rechercher tous les événements dont l'ID est compris entre 528 et 540 inclus, vous devez définir la plage comme suit : 528 > ID < 540. Cette fonctionnalité est utile car la plupart des applications consignant des événements dans le journal utilisent une plage d'événements séquentielle.

·         Limiter la recherche à des journaux d'événements spécifiques. Vous pouvez effectuer une recherche dans le journal système, dans le journal d'applications ou dans le journal de sécurité. Si vous l'effectuez localement au niveau d'un contrôleur de domaine, vous pouvez également effectuer une recherche dans les journaux du service de réplication de fichiers, du service DNS et du service d'annuaire.

·         Limiter la recherche à des types de messages d'événements spécifiques. Vous pouvez restreindre la recherche à des messages d'erreur, d'information, d'avertissement, d'audit des succès ou des échecs ou à des événements de type succès.

·         Limiter la recherche à des sources d'événements spécifiques. Vous pouvez limiter la recherche à des événements provenant d'une source spécifique.

·         Rechercher un texte spécifique dans la description d'un événement. Vous pouvez rechercher un mot ou une expression spécifique pour chacun des événements. Cette fonctionnalité est utile si vous tentez d'effectuer le suivi d'utilisateurs ou de groupes spécifiques.

Remarque : Vous ne pouvez pas inclure des opérateurs logiques de recherche, notamment AND, OR et NOT, dans le texte spécifié. De plus, vous ne devez pas délimiter le texte par des guillemets.

·         Définir des intervalles de temps spécifiques en vue d'une analyse rétrospective à partir de la date et de l'heure en cours. Cette fonctionnalité vous permet de limiter votre recherche à la semaine, au jour ou au mois précédent.

Installation de l'outil

Pour installer cet outil, il faut extraire le contenu du fichier à extraction automatique SecurityOps.exe fourni avec ce guide. Cette opération crée un dossier C:\SecurityOps\EventComb. Après avoir extrait les fichiers, vous pouvez directement exécuter l'outil en double-cliquant sur le fichier EventCombMT.exe.

Exécution de l'outil EventComb

La première étape consiste à définir les ordinateurs qui seront inclus dans la recherche du journal des événements.

Pour ajouter des ordinateurs à la recherche
  1. Dans l'utilitaire EventCombMT, assurez-vous que le domaine approprié est détecté et renseigné automatiquement dans la zone Domain. Si vous voulez effectuer une recherche dans des journaux des événements d'un autre domaine, entrez le nom de ce domaine dans la zone de texte Domain.
  2. Pour ajouter des ordinateurs à la liste de recherche, cliquez avec le bouton droit dans la zone de texte située sous Select To Search/Right Click to Add. Le menu contextuel illustré par la figure 9.1 s'affiche :

Figure 9.1.

Ajout à la liste de recherche d'ordinateurs qui n'ont pas été détectés automatiquement.

Les options disponibles sont les suivantes :

·         Get DCs in Domain. Ajoute tous les contrôleurs du domaines en cours à la liste.

·         Add Single Server. Permet d'ajouter un serveur ou une station de travail à la liste en spécifiant son nom.

·         Add all GCs in this domain. Permet d'ajouter tous les contrôleurs du domaine sélectionné configurés comme des serveurs de catalogue global.

·         Get All Servers. Ajoute tous les serveurs du domaine via le service Explorateur d'ordinateur. Les serveurs excluent tous les contrôleurs de domaines.

·         Get Servers from File. Permet d'importer un fichier énumérant tous les serveurs à inclure dans l'étendue de la recherche. Chaque serveur doit être spécifié sur une ligne distincte dans le fichier texte.

  1. Après avoir ajouté les serveurs à la liste, vous devez sélectionner ceux sur lesquels doit porter la recherche. Un serveur sélectionné est mis en surbrillance dans la liste. Vous pouvez sélectionner plusieurs serveurs en utilisant la combinaison de touches ctrl + clic.
Désignation des journaux des événements et des types d'événements à rechercher

Après avoir choisi les serveurs à inclure dans la recherche, vous pouvez affiner l'étendue de la recherche en sélectionnant les journaux des événements et les types d'événements appropriés.

L'utilitaire EventCombMT vous permet de sélectionner les journaux des événements suivants :

·         journal système ;

·         journal d'applications ;

·         journal de sécurité ;

·         journal du service de réplication de fichiers (FRS) ;

·         journal du service DNS ;

·         journal du service d'annuaire (Active Directory).

Vous pouvez également sélectionner les types d'événements à inclure dans la recherche :

·         Error. Ces événements sont consignés dans les journaux système et d'applications. Ils sont également visibles dans les journaux du service de réplication de fichiers, du service DNS et du service d'annuaire.

·         Informational. Ces événements sont enregistrés dans les journaux système et d'applications. Ils sont également visibles dans les journaux du service de réplication de fichiers, du service DNS et du service d'annuaire.

·         Warning. Ces événements sont consignés dans les journaux système et d'applications. Ils sont également visibles dans les journaux du service de réplication de fichiers, du service DNS et du service d'annuaire.

·         Success Audit. Ces événements sont consignés dans le journal de sécurité ou dans le journal d'applications si l'application prend en charge cette fonctionnalité. Par exemple, Active Directory Migration Tool (ADMT) consigne les événements d'audits des succès dans le journal d'applications.

·         Failure Audit. Ces événements sont consignés dans le journal de sécurité ou dans le journal d'applications si l'application prend en charge cette fonctionnalité. Par exemple, Active Directory Migration Tool (ADMT) consigne les événements d'audits des échecs dans le journal d'applications.

·         Success. Ces événements très rares sont consignés dans les journaux système ou d'applications. Ils sont également visibles dans les journaux du service de réplication de fichiers, du service DNS et du service d'annuaire. Dans l'Observateur d'événements, les événements de type succès s'affichent sous la forme d'événements d'information.

Remarque : Si vous savez précisément dans quel journal des événements s'affiche un ID d'événement et quel est le type d'événement correspondant à cet ID, spécifiez toujours ces informations dans vos critères de recherche pour gagner du temps.

Enregistrement des recherches

EventCombMT vous permet d'enregistrer vos recherches et de les recharger ultérieurement. Ceci peut être utile si vous recourez régulièrement à l'outil EventCombMT pour rechercher un jeu donné d'événements sur vos serveurs IIS et un autre sur vos contrôleurs de domaines.

Les critères de recherche sont enregistrés dans le Registre sous HKLM\Software\Microsoft\EventCombMT. Vous pouvez les modifier facilement.

Fichiers des résultats de la recherche

Les résultats de la recherche sont enregistrés par défaut dans le dossier C:\Temp. Ils comprennent un fichier récapitulatif nommé EventCombMT.txt. De plus, pour chacun des ordinateurs compris dans la recherche, un fichier texte distinct nommé NomOrdinateur-NomJournalEvénéments_LOG.txt est généré. Ces fichiers individuels contiennent tous les événements extraits des journaux des événements et correspondant à vos critères de recherche.

Exemples d'utilisation de l'outil EventCombMT

Illustrons quelques utilisations possibles de l'outil EventCombMT. Nous allons configurer cet outil pour rechercher les redémarrages des contrôleurs de domaines et les verrouillages de compte.

Pour rechercher les redémarrages de contrôleurs de domaines à l'aide d'EventCombMT

1.       Dans l'utilitaire EventCombMT, assurez-vous que le nom de domaine approprié est spécifié.

2.       Cliquez avec le bouton droit sur la zone de texte Select to Search/Right Click to Add située sous le nom du domaine, puis choisissez Get DCs in Domain.

Remarque : Si vous recherchez des événements tels que des ouvertures de session de compte et des événements de gestion des comptes, assurez-vous que votre recherche est étendue à tous les contrôleurs de domaines. Windows 2000 utilise un modèle à maîtres multiples pour la gestion des comptes, c'est pourquoi un compte peut être ajouté, modifié ou supprimé sur n'importe quel contrôleur du domaine. De même, l'authentification peut être validée par n'importe quel contrôleur du domaine. Pour cette raison, vous ne pouvez pas être sûr de l'emplacement où la tentative de mise à jour ou d'authentification s'est produite.

3.       Cliquez avec le bouton droit sur Select to Search/Right Click to Add, puis cliquez sur Select All Servers in List.

4.       Dans la section Choose Log Files to search, sélectionnez System log only.

5.       Dans la section Event Types, sélectionnez Error et Informational.

6.       Dans la zone de texte Event IDs, spécifiez les ID d'événements suivants : 1001 6005 6006 6008

7.       Assurez-vous que vos critères de recherche sont définis comme illustré ci-dessous, avant de cliquer sur le bouton Search.

Figure 9.2.

Définition de critères de recherche dans la boîte de dialogue Event Comb MT.

Lorsque la recherche est terminée, vous pouvez afficher les résultats dans le répertoire du journal. Ce dernier s'ouvre automatiquement au terme de la recherche.

Pour analyser les entrées du journal

1.       Dans le menu File, sélectionnez Open Log Directory.

2.       Dans le dossier C:\Temp, double-cliquez sur le fichier de sortie pour un contrôleur de domaine afin d'afficher les événements spécifiques enregistrés par l'outil EventCombMT. Les entrées générées sont similaires à celles-ci :

1001,INFORMATIONAL,Save Dump,Wed Nov 28 05:45:50 2001,,The computer has rebooted from a bugcheck.  The bugcheck was:  0x000000d1 (0x00000004, 0x00000002, 0x00000000, 0x84c983dc).  A dump was saved in: C:\WINDOWS\MEMORY.DMP. 

6005,INFORMATIONAL,EventLog,Wed Nov 28 05:45:46 2001,,The Event log service was started. 

6008,ERROR,EventLog,Wed Nov 28 05:45:46 2001,,The previous system shutdown at 5:33:47 AM on 11/28/2001 was unexpected. 

6005,INFORMATIONAL,EventLog,Tue Nov 27 14:10:53 2001,,The Event log service was started. 

6006,INFORMATIONAL,EventLog,Tue Nov 27 14:09:26 2001,,The Event log service was stopped. 

6005,INFORMATIONAL,EventLog,Tue Nov 27 10:11:37 2001,,The Event log service was started.

L'événement 6006 indique un arrêt planifié déclenché par un utilisateur disposant des droits requis pour arrêter un contrôleur de domaine. L'événement 6005 signale le démarrage du service Journal des événements. Il se produit au démarrage.

Les événements 6008 et 1001 indiquent que l'ordinateur a été mis hors tension sans être arrêté, a redémarré en raison d'un verrouillage ou a subi une erreur d'arrêt. Si un événement 1001 figure dans la liste, une erreur d'arrêt est survenue, et les informations de débogage ainsi que les références au fichier de débogage sont inclues.

Vous devez effectuer une vérification croisée des événements renvoyés par l'outil EventCombMT avec les temps d'immobilisation connus. Vous devez ensuite rechercher à nouveau les événements non concordants afin de vérifier que le serveur n'a pas été la cible d'une attaque.

EventCombMT comprend plusieurs critères de recherche prédéfinis, pouvant être utilisés pour localiser des événements de sécurité. Par exemple, il existe des critères prédéfinis qui recherchent les événements de verrouillages de compte.

Pour rechercher des événements de verrouillages de compte à l'aide d'EventCombMT
  1. Dans l'utilitaire EventCombMT, assurez-vous que le nom de domaine approprié est spécifié.
  2. Cliquez avec le bouton droit sur la zone Select to Search/Right Click to Add située sous le nom du domaine, puis choisissez Get DCs in Domain.
  3. Cliquez avec le bouton droit sur Select to Search/Right Click to Add, puis cliquez sur Select All Servers in List.
  4. Dans le menu Searches, cliquez sur Built In Searches, puis sur Account Lockouts.
  5. Cliquez sur Search.
  6. Lorsque la recherche est terminée, vous pouvez afficher les résultats dans le répertoire du journal. Il s'ouvre automatiquement au terme de la recherche.

Remarque : L'outil EventcombMT propose d'autres critères de recherche prédéfinis, notamment pour effectuer des recherches sur le service de réplication de fichiers ou sur le service d'annuaire pour identifier les SID dupliqués et les échecs d'inscription DNS NETLOGON, les erreurs matérielles présentes sur le disque et les erreurs d'interface DNS. Vous pouvez également définir des critères de recherche personnalisés et les enregistrer.

Contoso utilise EventCombMT pour tenter d'établir un diagnostic ou de déterminer les causes d'un problème lors d'une réponse à un incident. De plus, les responsables vérifient régulièrement la présence de verrouillages de comptes ou la saisie de mots de passe incorrects sur tous les contrôleurs de domaines. Ces procédures permettent d'identifier manuellement des séquences d'événements inhabituelles susceptibles d'échapper à un système de surveillance.

Collecte d'événements

L'un des objectifs principaux de l'audit consiste à identifier les actions effectuées lors d'une attaque de votre réseau. Un agresseur peut tenter de compromettre plusieurs ordinateurs et périphériques sur le réseau. Par conséquent, pour évaluer l'étendue d'une attaque, vous devez être capable de coordonner et de consolider des informations issues de plusieurs ordinateurs.

Si vos utilitaires de journal importent les données dans une base de données, il est plus facile de coordonner les informations de plusieurs journaux. De plus, si les horloges de vos ordinateurs sont synchronisées, vous pouvez trier les entrées sur les champs temporels et faciliter le suivi des événements en fonction d'intervalles de temps.

Les sections suivantes présentent certains des outils et utilitaires pouvant être utilisés pour centraliser la collecte d'informations des journaux des événements.

Scripts

Vous pouvez écrire des scripts permettant de recueillir les informations des journaux des événements à partir d'ordinateurs distants et de les stocker dans un emplacement central. Si vous recourez à des scripts, vous pouvez choisir le moment de leur exécution via les Tâches planifiées et les actions à mettre en œuvre après copie du journal des événements dans l'emplacement central.

Par exemple, vous pouvez créer un fichier de commande qui utilise l'outil Dumpel.exe fourni dans le Kit de Ressources Techniques Windows 2000. Ensuite, vous pouvez exécuter le fichier de commande à intervalles réguliers par l'intermédiaire des Tâches planifiées du Panneau de configuration.

Le script Eventquery.pl figure dans le Kit de Ressources Techniques Windows 2000, Supplement One. Ce script Perl affiche les événements des journaux de l'Observateur d'événements sur des ordinateurs Windows 2000 locaux et distants. De plus, il contient un large éventail de filtres qui facilitent la recherche d'événements spécifiques.

Remarque : Pour utiliser ce script, vous devez installer ActivePerl, fourni dans le Kit de Ressources Techniques Windows 2000 Server.

Contoso ne recourt pas pour l'instant à une solution de collecte d'événements. Cependant, la société compte utiliser Microsoft Audit Collection System (MACS), qui sera publié l'année prochaine. MACS est un outil de collecte d'événements de sécurité qui opère de manière sécurisée en exploitant la compression, les signatures et le cryptage. Les événements, une fois collectés, sont chargés dans une base de données SQL et optimisés aux fins d'analyse.

Microsoft Operations Manager

Microsoft Operations Manager 2000 (MOM) comprend un jeu d'outils complet permettant aux entreprises d'analyser avec précision les données de rapport d'événements et de surveillance des performances de Windows 2000 et de ses applications. Tirant parti d'agents intelligents installés sur les ordinateurs distants, il est capable de recueillir et de stocker les événements et les performances puis d'établir les rapports connexes, dans un emplacement unique. Un administrateur peut ainsi analyser de façon centralisée les informations collectées.

Le module de gestion central de Microsoft Operations Manager recueille les événements apparaissant dans les journaux système, d'applications et de sécurité.

Remarque : Microsoft Operations Manager stocke ses informations dans une base de données SQL. Il propose plusieurs méthodes d'extraction et d'analyse des données archivées. Pour afficher, imprimer et publier les données, les administrateurs peuvent opter pour la console d'administration de Microsoft Operations Manager, pour la console Web ou pour les rapports MOM. Chacun de ces outils comporte des affichages prédéfinis pour l'analyse des données archivées. Il permet en outre de créer des affichages et des états personnalisés.

Solutions tierces pour la collecte de données des journaux des événements

Plusieurs produits de fabricants tiers sont disponibles pour la collecte et l'analyse centralisées de données des journaux des événements. Pour évaluer ces produits, tenez compte des critères suivants :

·         Prise en charge de tous les journaux Windows 2000. Les journaux des services DNS, d'annuaire et de réplication de fichiers doivent être pris en charge, outre les journaux d'applications, de sécurité et système.

·         Utilisation d'une base de données principale. L'outil doit permettre le stockage des journaux des événements dans une base de données qui permet l'examen des entrées précédentes aux fins d'analyses de tendances et de mise en corrélation des événements sur plusieurs serveurs.

·         Fonctionnalité de recherche et de génération de rapports. L'outil doit vous permettre de rechercher des événements spécifiques en fonction de critères fournis. Les résultats doivent être parfaitement lisibles.

Parmi les produits tiers intégrant des fonctions de collecte d'événements, citons :

·         Event Log Monitor – TNT Software (http://www.tntsoftware.com) ;

·         Event Archiver – Dorian Software Creations (http://www.doriansoft.com) ;

·         LogCaster – RippleTech (http://www.rippletech.com).

Méthodes de détection active

Les systèmes de détection active des intrusions analysent le trafic réseau entrant au niveau de la couche Application. Ils recherchent des méthodes d'attaque connues ou des charges suspectes au niveau de la couche Application. Lors de la réception d'un paquet suspect, le système de détection des intrusions rejette en général ce paquet et consigne une entrée dans un fichier journal. Certains systèmes avertissent l'administrateur s'ils détectent une attaque sérieuse.

Solutions tierces de détection des intrusions

Des solutions tierces de détection des intrusions au niveau du réseau et des points de terminaison sont disponibles. Ces solutions assurent la prise en charge de protocoles autres que HTTP. Elles détectent également les attaques connues perpétrées contre les ordinateurs interconnectés.

Les systèmes de détection des intrusions doivent identifier les types d'attaques courants suivants :

·         Attaques de reconnaissance. Ces attaques se produisent lorsqu'un intrus surveille un réseau à la recherche de vulnérabilités. Les attaques potentielles impliquent notamment les balayages ping, les transferts de zones DNS, la reconnaissance des e-mail, les analyses des ports et le téléchargement du contenu d'un site Web afin de rechercher des scripts et des pages d'exemple vulnérables.

·         Attaques au moyen d'exploits. Ces attaques ont lieu lorsque des intrus tirent avantage de fonctions cachées ou de bogues pour accéder au système. Le plus souvent, ces points d'attaque ont été identifiés lors d'une agression précédente.

·         Attaques de refus de service. Ces attaques se produisent lorsqu'un intrus tente d'arrêter un service exécuté sur un système en surchargeant une ressource, notamment des liaisons réseau, l'UC ou le sous-système de disque. L'intrus ne tente pas d'obtenir des informations, mais plutôt de mettre l'ordinateur ciblé hors service.

Un système de détection des intrusions performant doit identifier ces trois formes d'attaques. Pour cela, deux méthodes existent :

·         Détection des anomalies. Cette méthode s'appuie sur une ligne de base établie pour l'ordinateur sur le réseau. Un écart par rapport à cette ligne de base peut indiquer une tentative d'intrusion. Par exemple, une augmentation du nombre de tentatives d'ouverture de session en dehors des heures de pointe peut signifier qu'un ordinateur est compromis. La détection des anomalies offre l'avantage de permettre l'identification des attaques sans connaître exactement les circonstances dans lesquelles elles ont été perpétrées.

·         Reconnaissance de la signature. Cette méthode identifie les attaques en fonction de modèles d'attaques connus. Par exemple, de nombreuses attaques de serveurs Web utilisent des modèles communs facilement identifiables. En comparant le trafic entrant des applications aux chaînes de signature présentes dans une base de données, un système de détection des intrusions peut identifier ces attaques. L'inconvénient de cette méthode est que la base de données de signatures doit être mise à jour régulièrement afin que les nouvelles signatures d'attaque puissent être décelées.

Parmi les produits tiers disponibles aux fins d'évaluation et de déploiement, citons :

·         BlackIce Defender (http://www.iss.net/products_services/hsoffice_protection/) ;

·         CyberCop Scanner (http://www.pgp.com/products/cybercop-scanner/default.asp) ;

·         ICEpac Security Suite (http://www.networkice.com/products/icepac_suite.html) ;

·         Cisco Secure IDS (http://www.cisco.com/warp/public/cc/pd/sqsw/sqidsz/prodlit/netra_ds.htm) ;

·         eTrust Intrusion Detection (http://www3.ca.com/Solutions/Product.asp?ID=163) ;

·         Snort (http://www.snort.org) ;

·         Tripwire (http://www.tripwiresecurity.com) ;

·         Foundstone Attacker (http://www.foundstone.com).

Évaluation des vulnérabilités

Outre une détection des intrusions active et passive, vous devez également procéder à une évaluation régulière des vulnérabilités. Cette évaluation consiste à simuler une attaque sur le réseau et à détecter les vulnérabilités qu'un intrus pourrait détecter.

Des évaluations régulières permettent de mettre au jour des vulnérabilités avant un pirate et de vous en protéger en sécurisant la partie de votre réseau qui présente ce point faible.

Lors de la recherche d'outils d'évaluation des vulnérabilités, tenez compte des impératifs suivants pour prendre une décision :

·         Mécanisme de mise à jour automatisée de la base de données. L'outil doit disposer d'une méthode de mise à jour automatique de façon que la base de données des signatures des vulnérabilités ne devienne pas très vite obsolète.

·         Filtre permettant de limiter les fausses alertes. L'outil doit permettre d'écarter rapidement les fausses alertes afin que l'entreprise ne perde pas son temps à analyser des événements non pertinents pour la sécurité.

·         Stockage des résultats dans une base de données. L'outil doit permettre l'archivage des résultats des analyses. Cela vous permettra de procéder à des analyses de tendances et au suivi des modifications dont a fait l'objet la sécurité au fil du temps.

·         Solutions aux vulnérabilités détectées. L'outil doit documenter les procédures et techniques permettant de corriger les vulnérabilités détectées ou comporter des scripts automatisant les tâches requises pour se prémunir contre ces vulnérabilités.

Plusieurs outils tiers sont à votre disposition pour vous permettre d'évaluer les vulnérabilités d'un réseau Windows 2000. Parmi eux, citons :

·         Symantec NetRecon 3.5 (http://www.enterprisesecurity.symantec.com) ;

·         BindView Security Advisor (http://www.bindview.com) ;

·         eEye Digital Security. Retina Network Security Scanner (http://www.eeye.com) ;

·         Internet Security Systems (ISS) Internet Scanner (http://www.iss.net) ;

·         Symantec Enterprise Security Manager 5.5 (http://www.enterprisesecurity.symantec.com/products/products.cfm?ProductID=45).

Vous pouvez également confier l'évaluation des vulnérabilités à un service de consultants tiers. L'avantage de cette méthode réside dans le fait que les consultants n'ont aucune connaissance du réseau et qu'ils travailleront à partir du même point de départ qu'un agresseur externe. Bien souvent, ces évaluations externes procurent des informations extrêmement utiles, selon la neutralité de l'équipe d'évaluation.

Résumé

L'audit et la détection des intrusions comptent parmi les pierres angulaires d'une protection efficace de votre environnement. Dans le cadre du processus de gestion des risques, vous devez déterminer le niveau adéquat d'audit et de détection des intrusions à mettre en œuvre au sein de votre environnement. Si vous voulez que la détection des intrusions soit appliquée à plusieurs protocoles, vous pouvez envisager de recourir à des outils tiers.

Informations complémentaires

Informations sur l'emploi des droits d'utilisation : Writing Secure Code, de Michael Howard et David LeBlanc, Microsoft Press, ISBN :0-7356-1588-8

Informations sur les partenaires ISA Server :

http://www.microsoft.com/isaserver/partners (en anglais)

Kit de développement logiciel ISA Server :

http://www.microsoft.com/isaserver/techinfo/productdoc/2000/SDKdoHwnload.asp

 

 



[1] Principal: modélisé par un compte dans la base des comptes (Active Directory). Un principal peut être un compte machine, ou un compte utilisateur.