Audit Policy - Appliquer les régles à un Objet
Bonjour tous le monde.
Je souhaite créer un script qui me permettrait d'auditer mes machines afin de remonter les logs dans un SIEM.
C'est assez long de tout passer à la main.
Je dois créer une ou deux régles qui auditeraient à la fois, tous les "failure" et les accès "success" en écriture.
Ceci sur un nombre important d'objets (dont les chemins sont listés dans un fichier texte)
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| $ListFile= Get-Content -path C:\Chemin\du\fichier\texte\
foreach ($line in $ListFile)
{
Set-Variable -name Path -Value $line
$AuditUser = "Everyone" #Tous les utilisateurs
$AuditRule = "FullControl" #Accès à auditer
$InheritType = "ContainerInherit" #Appliquée à dossier, sous-dossier et fichiers ("ObjectInherit" pour appliquer la règle aux objets enfants)
$AuditType = "Failure" #Spécifie Success ou Failure
$AccessRule = New-Object System.Security.AccessControl.FileSystemAuditRule($AuditUser,$AuditRule,$InheritType,"None",$AuditType) #Concatène les règles d'audit à appliquer dans une variable
$ACL = new-object System.Security.AccessControl.DirectorySecurity
$ACL.SetAuditRule($AccessRule)
$ACL | Set-Acl $Path
}
foreach ($line in $ListFile)
{
Set-Variable -name Path -Value $line
$AuditUser = "Everyone" #Tous les utilisateurs
$AuditRule = "WriteData","AppendData","Traverse","DeleteSubdirectoriesAndFiles","Delete","Modify","ChangePermissions","TakeOwnership" #Accès à auditer
$InheritType = "ContainerInherit" #Appliquée à dossier, sous-dossier et fichiers ("ObjectInherit" pour appliquer la règle aux objets enfants)
$AuditType = "Success" #Spécifie Success ou Failure
$AccessRule = New-Object System.Security.AccessControl.FileSystemAuditRule($AuditUser,$AuditRule,$InheritType,"None",$AuditType) #Concatène les règles d'audit à appliquer dans une variable
$ACL = new-object System.Security.AccessControl.DirectorySecurity
$ACL.SetAuditRule($AccessRule)
$ACL | Set-Acl $Path
} |
Les deux boucles fonctionnent lorsque je les exécute séparément. Le soucis étant que l'application de la règle "success" écrase la première.
Quelqu'un aurait un début de solution ?
J'ai également un deuxième soucis, lorsque je tente d'appliquer ces règles à des dossiers/fichiers protégés (system32, sysWOW64, etc..) la permission est refusée (alors que je suis admin et que j’exécute powershell en tant qu'admin)
Merci ;)