none
désactiver les évenements powershell RRS feed

  • Discussion générale

  • Bonjour

    je souhaite désactiver les  écritures d’événements powershell dans l'observateur d’événement.

    Comment paramétrer le poste pour qu'il ny ait plus ces écritures.

    Pourquoi ?

    J'ai une DLL qui appelle un script powershell avec login et mot de passe de l'utilisateur. Sous windows 7, cet appel n'apparaissait pas dans les logs, sous windows 10, tout est lisible :-/

    - <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    - <System>
      <Provider Name="PowerShell" />
      <EventID Qualifiers="0">600</EventID>
      <Level>4</Level>
      <Task>6</Task>
      <Keywords>0x80000000000000</Keywords>
      <TimeCreated SystemTime="2017-02-06T07:58:58.140483100Z" />
      <EventRecordID>528</EventRecordID>
      <Channel>Windows PowerShell</Channel>
      <Computer>win10-3</Computer>
      <Security />
      </System>
    - <EventData>
      <Data>Registry</Data>
      <Data>Started</Data>
      <Data>ProviderName=Registry NewProviderState=Started SequenceNumber=1 HostName=ConsoleHost HostVersion=5.1.14393.0 HostId=6c633dde-ef49-4f98-b154-2f62764cedd8 HostApplication=powershell.exe -ExecutionPolicy remotesigned -NoProfile -NonInteractive -file c:\windows\system32\monscript\monscript.ps1 -login administrateur -password toto EngineVersion= RunspaceId= PipelineId= CommandName= CommandType= ScriptName= CommandPath= CommandLine=</Data>
      </EventData>
      </Event>


    lundi 6 février 2017 09:00

Toutes les réponses

  • Bonjour,

    Il existe une GPO pour ceci :

    Computer Configuration -> Administrative Templates -> Windows Components -> Windows PowerShell

    Cette GPo propose plusieurs paramètres qu'il convient de tester pour détérminer lequel convient le mieux à votre besoin, mais je pense qu'il faut configurer "Turn on Powershell Script Block Logging" sur disabled :

    Cordialement,

    lundi 6 février 2017 09:28
  • Bonjour

    Merci pour votre réponse,

    j'ai testé cette solution, non via GPO (je n'ai pas d'AD, mais via gpedit.msc mais j'ai toujours ces logs.

    lundi 6 février 2017 10:19
  • Vous avez toujours les logs des anciennes itérations du script ou les nouvelles tentatives sont loggées aussi ?

    Celle ligne de commande permet de supprimer une source d'event (vous n'aurez plus de log relatifs a cette source) :

    PS C:\> remove-eventlog -source MyApp

    Plus d'info sur cette commande ici et ici

    lundi 6 février 2017 11:04
  • Les nouvelles tentatives sont toujours logguées.

    Remove-eventlog fonctionne bien, efface les log des utilisateurs précedemment connectés, mais l'utilisateur en cours peut lui voir sa tracee dans les log. Le log du script en cours doivent etre générés une fois l'éxécution de celui ci terminée.

    Serait il possible de lancer la commande remove-eventlog via une tache créée par le script et exécutée 10 secondes plus tard  par exemple ?

    lundi 6 février 2017 12:38
  • Bonjour,

    D'une manière générale, c'est une très mauvaise pratique que de fournir des mots de passe en clair.

    Vous pouvez utiliser de l'obfuscation de mot de passe mais ça ne fait que ralentir un attaquant motivé.

    Vous pouvez aussi regarder cet thread dans le forum US

    https://social.technet.microsoft.com/Forums/en-US/43753fb1-7055-4994-93ef-43ea828acc58/disable-windows-powershell-event-logging?forum=winserverpowershell

    Perso, je suis pour une solution moderne de type JEA (Just Enough Administration). https://msdn.microsoft.com/en-us/powershell/jea/overview

    Vous créez une configuration de remoting/un endpoint durci (constrained) sur lequel vous positionnez un runas (admin dans votre cas) et vous déléguez l'utilisation de ce endpoint à ceux qui n'ont pas les privilèges admin. Si vous avez configuré correctement le remoting, vous n'aurez plus aucun mot de passe en clair ni sur le réseau, ni dans les logs.


    • Modifié _Emin_MVP lundi 6 février 2017 13:08 active http links
    lundi 6 février 2017 13:07