Überwachungsprotokollierung für einen System Benutzer

  • Hallo Zusammen


    Dieses Thema kommt immer wieder hoch denke ich. Kennt Ihr eine einfache Möglichkeit, einen einzelnen User zu überwachen.
    Dieser User hat Vollzugriff auf alle Mailboxen der Firma (Archivierung). Dies ist auch in Ordnung so. Lediglich möchte ich z.B. eine Auswertung machen, wieviele male dieser User pro Monat auf welche Mailbox zugegriffen hat. Eventuell kann ich die IP oder den Namen des Mailarchives ausblenden.


    Bin für Vorschläge und Ideen sehr offen.


    Danke und Gruss
    pavel

  • Habe versucht dies auszulesen:


    Get-ManagementRoleAssignment -RoleAssignee "SystemAccount" -Role ApplicationImpersonation -RoleAssigneeType user


    Da sind keine Einträge vorhanden. Kann ich dies anders noch auslesen oder wird dieser User eher mit Vollzugriff gewährt?


    gruss
    pavel

  • Dies wurde mit einem Script gemacht, das ist ein Teil davon:


    # Function to apply extended permissions on Active Directory
    # to allow full access to mailboxes and public folders
    #
    function SetExchangeStorePermissions
    { param([string]$DistinguishedName=$null)
    $ExtendedPermissions = @("Receive-As", "ms-Exch-Store-Visible", "ms-Exch-Store-Admin", "ms-Exch-Store-Create-Named-Properties")
    if($DistinguishedName -ne $null)
    {
    if($Action -eq "add")
    {
    $OutputStr = (add-adpermission -identity $DistinguishedName -user $User `
    -AccessRights ReadProperty, GenericExecute -ExtendedRights $ExtendedPermissions `
    -InheritanceType All -erroraction:continue)
    }
    elseif($Action -eq "remove")
    {
    $OutputStr = (remove-adpermission -identity $DistinguishedName -user $User `
    -AccessRights ReadProperty, GenericExecute -ExtendedRights $ExtendedPermissions `
    -InheritanceType All -confirm: $false -erroraction:silentlycontinue)
    }
    }
    if($Verbose -eq $true)
    {
    $OutputStr
    }
    }


    #
    # Function to apply read permissions on Active Directory objects
    #
    function SetReadOnlyPermissions
    { param([string]$DistinguishedName=$null)
    if($DistinguishedName -ne $null)
    {
    if($Action -eq "add")
    {
    $OutputStr = (add-adpermission -identity $DistinguishedName -user $User -AccessRights ReadProperty,GenericExecute `
    -InheritanceType None -erroraction:continue)
    }
    elseif($Action -eq "remove")
    {
    $OutputStr = (remove-adpermission -identity $DistinguishedName -user $User -AccessRights ReadProperty,GenericExecute `
    -InheritanceType None -confirm: $false -erroraction:silentlycontinue)
    }
    }
    if($Verbose -eq $true)
    {
    $OutputStr
    }
    }


    #
    # Function to apply read permissions (including inheritance) on Active Directory objects
    #
    function SetReadOnlyWithInheritancePermissions
    { param([string]$DistinguishedName=$null)
    if($DistinguishedName -ne $null)
    {
    if($Action -eq "add")
    {
    if($DistinguishedName.StartsWith("CN=JournalingVersioned") -eq $True)
    {
    # Ignore errors for JournalingVersioned container as this is specific to Exchange 2010
    # and does not exist in Exchange 2007 environments
    $OutputStr = (add-adpermission -identity $DistinguishedName -user $User -AccessRights ReadProperty,GenericExecute `
    -InheritanceType All -erroraction:silentlycontinue)
    }
    else
    {
    $OutputStr = (add-adpermission -identity $DistinguishedName -user $User -AccessRights ReadProperty,GenericExecute `
    -InheritanceType All -erroraction:continue)
    }
    }
    elseif($Action -eq "remove")
    {
    $OutputStr = (remove-adpermission -identity $DistinguishedName -user $User -AccessRights ReadProperty,GenericExecute `
    -InheritanceType All -confirm: $false -erroraction:silentlycontinue)
    }
    }
    if($Verbose -eq $true)
    {
    $OutputStr
    }
    }


    function ProcessInstructions()
    {


    Diese sind vom Ent. Vault:


    SetEVExchangePermissions.ps1
    SetEVThrottlingPolicy.ps1


    Grüsse
    pavel

    • Offizieller Beitrag

    Ihhh, das script ist ja häßlich. Welcher Hersteller ist denn in der Steinzeit stehen geblieben und nutzt heute noch manuelle Berechtigungen auf Store-Ebene.


    Ich empfehle dringend, entweder zeitgemäße Methoden zu nutzen (Impersonation) oder das extrem gut zu dokumentieren. Das ist eine der Fälle, wo man sich im nachhein wundert, warum ein Konto an alle Daten kommt, aber niemand kann erklären, warum das so ist. Zumal man die Einstellungen auch nur via Shell oder ADSIEdit sehen kann.

  • Ja, ist Ent. Vault. Dieser kommt vom Hersteller.


    Soll das heissen, dass mein Vorhaben nicht umzusetzen ist? Kann ich diesen Account nicht tracken?


    grüsse
    pavel

  • Ich habe auch EV im Einsatz, aber dieser Script ist mir noch nicht aufgefallen.
    Betreust Du das EV System oder jemand anderes ?
    EV schreibt sowohl für das Provisioning, als auch für das Archiving detalierte Logs. Das ganze wird über einen Scheduler gesteuert. Ansonsten greift der EVServiceuser nicht einfach so ins System.
    Welche Mailbox soll denn mit dem Auditing belegt werden ? EV greif doch auf alle "enabled" mailboxes zu.
    Vlt. verstehe ich Deine Frage aber gerade sehr miss.


    Gruß
    Volker

    All män sit hier and luck in se sun and no män wörks, sis give it not..