Comment obtenir le journal de sécurité avec un utilisateur non administrateur



Salut Habr! Lisez sous cat comment accéder au journal de sécurité Windows sans privilèges d'administrateur. Ce ne sera pas le premier article sur Habré lié aux journaux Windows et probablement pas le plus original, mais à mon avis, j'ai passé trop de temps à chercher une solution simple pour lire les journaux en tant qu'utilisateur ordinaire, j'ai donc décidé de partager «ma réussite».

J'ai également dû comparer les performances des applets de commande Powershell avec les applets de commande Get-WinEvent et Get-EventLog .

Tout ce qui est sous la coupe est pertinent pour Windows Server 2008R2 / 2012R2, Windows 10 Pro (1809), je n'ai pas vérifié les autres versions, je pense que la situation est similaire avec les produits de 2016 et 2019.

Et donc, par défaut, l'utilisateur moyen n'a pas l'autorisation de lire les journaux de sécurité.
Lorsque vous essayez d'obtenir les journaux, vous obtenez une erreur.



Et via l' Observateur d'événements, l' accès sera également refusé.



SHOWTIME


Ajoutez l'utilisateur au groupe local de lecteurs de journaux d'événements .



Ensuite, nous accordons des autorisations de lecture à la branche de registre MACHINE \ System \ CurrentControlSet \ Services \ Eventlog \ Security .



Sans modifier les droits de cette branche de registre, vous ne pourrez pas lire les paramètres du journal de sécurité; en conséquence, vous ne pourrez pas trouver l'emplacement et le nom du fichier journal. Sécurité , c'est la seule section du service Eventlog qui n'hérite pas des droits d'accès de la racine.

Voici à quoi ressemblent les autorisations pour MACHINE \ System \ CurrentControlSet \ Services \ Eventlog .



Vérifiez que les applets de commande Get-WinEvent et Get-EventLog fonctionnent!
Plus tard, revenons à comparer ces applets de commande ...



Gérer le journal d'audit et de sécurité


Si l'utilisateur doit disposer de droits pour effacer le journal, vous devrez modifier la stratégie de groupe. Un utilisateur ou un groupe d'utilisateurs doit ajouter des autorisations Gérer l'audit et le journal de sécurité .

Ce groupe se trouve ici Configuration ordinateur \ Paramètres Windows \ Paramètres de sécurité \ Stratégies locales \ Attribution des droits utilisateur .



Vous pouvez en savoir plus sur la gestion du journal d'audit et de sécurité ici.
Ce paramètre de stratégie détermine quels utilisateurs peuvent spécifier les options d'audit d'accès aux objets pour les ressources individuelles telles que les fichiers, les objets Active Directory et les clés de registre. Ces objets spécifient leurs listes de contrôle d'accès système (SACL). Un utilisateur auquel ce droit d'utilisateur est attribué peut également afficher et effacer le journal de sécurité dans l'Observateur d'événements. Pour plus d'informations sur la stratégie d'audit d'accès aux objets, voir Auditer l'accès aux objets.

Nous vérifions, tout fonctionne comme promis, les journaux ont été nettoyés ...



Il n'y a aucune autre logique pour nettoyer les droits.



Honnêtement, je ne peux pas proposer un scénario où l'utilisateur doit avoir le droit de nettoyer les journaux de sécurité, mais cette possibilité est présente.

Get-WinEvent VS Get-EventLog


Il est temps de comparer ces deux applets de commande

Get-eventlog
Description:

L'applet de commande Get-EventLog obtient des événements et des journaux d'événements sur les ordinateurs locaux et distants.

Vous pouvez utiliser les paramètres et les valeurs de propriété de l'applet de commande pour rechercher des événements. Cette applet de commande obtient des événements qui correspondent aux valeurs de propriété spécifiées.

Les applets de commande qui contiennent le nom EventLog fonctionnent uniquement sur les journaux d'événements classiques. Pour obtenir des événements à partir des journaux qui utilisent la technologie du journal des événements Windows dans Windows Vista et les versions ultérieures de Windows, utilisez Get-WinEvent.

Get-WinEvent
Description:

L'applet de commande Get-WinEvent obtient les événements des journaux d'événements, y compris les journaux classiques, tels que les journaux système et d'application, et les journaux d'événements générés par la technologie du journal des événements Windows introduite dans Windows Vista. Il obtient également des événements dans des fichiers journaux générés par le suivi des événements pour Windows (ETW).

Sans paramètres, une commande Get-WinEvent obtient tous les événements de tous les journaux des événements sur l'ordinateur. Pour interrompre la commande, appuyez sur CTRL + C.

Get-WinEvent répertorie également les journaux d'événements et les fournisseurs de journaux d'événements. Vous pouvez obtenir des événements à partir de journaux sélectionnés ou à partir de journaux générés par des fournisseurs d'événements sélectionnés. Et, vous pouvez combiner des événements de plusieurs sources dans une seule commande. Cette applet de commande vous permet de filtrer les événements à l'aide de requêtes XPath, de requêtes XML structurées et de requêtes de table de hachage simplifiées

Selon la description, Get-WinEvent peut fonctionner avec un grand nombre de magazines apparus dans WIndows Vista .

Pour plus de clarté, voici les listes avec lesquelles ces applets de commande fonctionnent ; J'ai arrêté la sortie pour Get-WinEvent .



Mais il y a une chose, les performances sont importantes, comparez le temps d'exécution des requêtes.



Le temps d'exécution de Get-WinEvent est tout simplement incroyable, faites attention au nombre d'entrées dans les journaux d'Application et de sécurité , le nombre d'événements est approximativement le même 3400-3600, mais la différence de temps d'exécution est presque 20 fois ...

Get-WinEvent passe 127 secondes contre 52 secondes à Get-EventLog pour lire les événements d' application .

Et échec et mat, Get-WinEvent passe 2020 secondes contre 45 secondes à Get-EventLog pour lire les événements de sécurité .

Si vous exécutez les mêmes commandes localement, tout ne semble pas si mal, mais même localement, Get-EventLog fonctionne avec les journaux de sécurité 50 fois plus rapidement que Get-WinEvent .



Et un autre exemple, déjà un peu plus significatif, de recevoir des événements avec le code 4624 Un compte a été correctement connecté .



Que puis-je dire, les chiffres ne mentent pas ...

Accès non administrateur aux journaux des événements DC


Et en conclusion, j'ai laissé le sujet de l'accès aux journaux de sécurité sur le contrôleur de domaine.

Tout ce qui précède est également pertinent pour le contrôleur de domaine avec quelques modifications.

1 - Vous trouverez le groupe Lecteurs de journaux d'événements dans les objets Principes de sécurité intégrés .



En ajoutant un utilisateur à ce groupe, vous ne donnez des autorisations de lecture qu'aux contrôleurs de domaine.

Et n'oubliez pas que sur chacun des contrôleurs de domaine, vous devez autoriser la lecture de la branche de registre MACHINE \ System \ CurrentControlSet \ Services \ Eventlog \ Security .

Voici un exemple, il n'y a aucune autorisation de lire le journal d'un serveur membre, si vous devez lire les journaux d'autres machines du domaine, utilisez des stratégies de groupe pour ajouter des utilisateurs ou des groupes d'utilisateurs aux groupes locaux de lecteurs de journaux d' événements .



2 - Pour ajouter des droits d'effacement des journaux, vous devez modifier la stratégie des contrôleurs de domaine par défaut .

3 - Pour permettre le lancement de tâches au nom de l'utilisateur sur le contrôleur de domaine, vous devez également modifier la stratégie des contrôleurs de domaine par défaut et donner à l'utilisateur des autorisations de connexion par lots .

4 - Soyez extrêmement prudent lors de la modification des politiques de domaine par défaut!

PS

Une courte liste de ressources qui m'a aidé:


À mon avis, des publications utiles sur Habr, dont les sujets se rapportent aux journaux Windows:


La fin

Source: https://habr.com/ru/post/fr443386/


All Articles