Weboldal keresés

Fájl- és mappa-hozzáférési ellenőrzés konfigurálása Windows rendszeren (GPO)


A Windows fájlrendszer-ellenőrzési házirendje lehetővé teszi a lemezen lévő egyes fájlokhoz és mappákhoz való hozzáférési események figyelését. Az adminisztrátor engedélyezheti, hogy a naplózási házirend azonosítsa a fájl- és mappalétrehozási, -olvasási, -módosítási és -törlési eseményeket az NTFS fájlrendszeren. A fájlrendszer-naplózást leggyakrabban a Windows fájlszerverek megosztott hálózati mappáihoz való hozzáférés és módosítások szabályozására használják, amelyekhez több felhasználó is hozzáférhet egyszerre.

Fájlrendszerobjektum-hozzáférési naplózás engedélyezése Windows rendszeren

A fájlrendszerobjektum-hozzáférés naplózása alapértelmezés szerint nincs engedélyezve a Windows rendszerben. A hozzáférés-audit a csoportházirenden keresztül engedélyezhető. A megfigyelési házirend önálló kiszolgálón történő konfigurálásához használja a helyi csoportházirend-szerkesztő konzolt (

gpedit.msc

). Ha engedélyeznie kell a naplózási szabályzatot egy AD-tartomány több számítógépén, használja a tartományi csoportházirend-objektum felügyeleti konzolt (

gpmc.msc

).

  1. Nyissa meg a csoportházirend-szerkesztőt, és lépjen a Windows-beállítások -> Biztonsági beállítások -> Speciális ellenőrzési házirend-konfiguráció -> Rendszernaplózási házirendek -> Objektumhozzáférés elemre.

  2. Nyissa meg az Audit File System-t, és adja meg, hogy csak a fájlrendszer-objektumokhoz való sikeres hozzáférést kell naplózni (A következő megfigyelési események konfigurálása -> Siker)

  3. Mentse el a változtatásokat, és frissítse a helyi csoportházirend-beállításokat a következő paranccsal:

    gpupdate /force

Vagy engedélyezze a helyi fájlrendszer naplózási szabályzatát a parancssorból.

Sorolja fel az elérhető ellenőrzési kategóriákat:

AuditPol.exe /list /subcategory:*

A sikeres fájlrendszer-objektum-hozzáférési események auditálásának engedélyezése:

AuditPol.exe /set /subcategory:"File System" /success:enable

Ellenőrizze az aktuális ellenőrzési beállításokat:

AuditPol.exe /get /category:"Object Access"

Audit házirend alkalmazása egy mappára vagy fájlra a Windows rendszerben

Még ha egy házirend engedélyezve is van a fájlok és mappák hozzáférésének ellenőrzésére, a rendszer nem küld tényleges eseményeket az Eseménynaplóba. A figyelni kívánt fájlok és mappák ellenőrzési beállításait a rendszergazdának kézzel kell engedélyeznie és konfigurálnia.

Például az Ön feladata az olvasási/módosítási/létrehozási események nyomon követése a C:\Docs mappában található összes fájl esetében.

  1. Nyissa meg a mappa tulajdonságait, és lépjen a Biztonság -> Speciális -> Figyelem lapra.

  2. Kattintson a Hozzáadás gombra, és a Elsődleges mezőben válassza ki azokat a felhasználókat és/vagy csoportokat, amelyek objektum-hozzáférési eseményeit figyelni szeretné. Válassza a Felhasználók lehetőséget az összes felhasználó fájlhozzáférésének ellenőrzéséhez, vagy válassza a Mindenki lehetőséget, ha a fájlhozzáférési eseményeket rendszerfolyamat szerint szeretné belefoglalni.

  3. A Type mezőben adja meg, hogy csak a sikeres hozzáférési eseményeket kövesse (

    Success

    )

  4. Az Applies to alatt megadhatja, hogy a naplózási házirendet a mappára, fájlokra vagy almappákra kell-e alkalmazni (az alapértelmezett érték Ez a mappa, almappák és fájlok).

  5. A Speciális engedélyek listában csak azokat a fájlokkal és mappákkal kapcsolatos műveleteket válassza ki, amelyeket el szeretne küldeni a naplóba. Ha például csak az olvasási és fájlmódosítási eseményeket szeretné figyelni, válassza ki a következő lehetőségeket:

    List folder/read data

    ,

    Create files / write data

    ,

    Create folders / append data

    )

    Tekintse meg a példát arra, hogyan használhatja a Windows naplózási irányelveit annak a felhasználónak a megtalálására, aki törölt egy fájlt egy megosztott mappából.

  6. Mentse el az ellenőrzési beállításokat.

A fájlrendszer-hozzáférési naplózási házirendek beállításakor csak a szükséges mappák és fájlok ellenőrzését engedélyezze. Az Event Viewer naplófájl mérete jelentősen megnő, ha nagyszámú elemhez engedélyezve van a hozzáférés-naplózás.

Egy adott könyvtár auditálásának engedélyezéséhez a PowerShell használható:

$Path = "C:\Docs"
$AuditChangesRules = New-Object System.Security.AccessControl.FileSystemAuditRule('BUILTIN\Users', 'Delete,DeleteSubdirectoriesAndFiles', 'none', 'none', 'Success')
$Acl = Get-Acl -Path $Path
$Acl.AddAuditRule($AuditChangesRules)
Set-Acl -Path $Path -AclObject $Acl

Sorolja fel a mappa ellenőrzési beállításait:

(Get-Acl "C:\Docs\" -Audit).Audit

Ha rekurzívan szeretné átvizsgálni az összes könyvtárat, és meg szeretné keresni azokat az almappákat, amelyekben engedélyezve van a fájlrendszer-naplózás, használja ezt a szkriptet:

$folders=Get-ChildItem "c:\docs" -Recurse |Where-Object {$_.PSIsContainer}
foreach ($folder in $folders)
{
$auditacl=(Get-Acl $folder.FullName -Audit).audit
if ($auditacl -ne "") {write-host $folder.FullName}
}

Fájlrendszer-hozzáférési események megtekintése Windows rendszeren

A megfigyelési házirend naplót ír az Eseménynaplóba, ha bármilyen műveletet hajtanak végre a mappában lévő fájlokon, ha a naplózás engedélyezett. Az események megtekintéséhez:

  1. Nyissa meg az Eseménynéző beépülő modult (

    eventvwr.msc

    )

  2. Lépjen a Windows Naplók -> Biztonság szakaszba, és szűrje le az eseményeket forrás szerint:

    Microsoft Windows security auditing

    , Feladat kategória:

    File System

  3. Nyissa meg a talált eseményeket. Például a 4663 eseményazonosítójú esemény (

    An attempt was made to access an object

    “) információkat tartalmaz a fájllal interakcióba lépő felhasználóról:

    Account Name

    :
    Fájlnév:

    object_name

    :
    művelet típusa (ebben az esetben fájlba írás): Hozzáfér:

    WriteData (or AddFile)

Az Event Viewer konzol szűrési és keresési lehetőségei azonban meglehetősen gyengeek, és az adott fájlon végzett összes művelet megkeresésére használni kényelmetlen.

Jobb a PowerShell használata egy adott fájlrendszer-objektum összes hozzáférési eseményének megkereséséhez és listázásához. A következő PowerShell-szkript megkeresi és felsorolja az összes hozzáférési eseményt egy megadott fájlhoz az Eseménynaplóban (a Get-WinEvent parancsmag az Eseménynapló lekérdezésére szolgál):

$fileName = "C:\\docs\\new_test_file.txt"
$results = Get-WinEvent -FilterHashtable @{logname='Security'; id=4663,4659} |`
Where-Object { $_.message -match $fileName -and $_.message -notmatch "Account Name:\s*machine$*"}`
foreach ($result in $results) {
    $Account = $result.properties[1].Value
    $objectName = $result.properties[6].Value
    $accessMask = $result.properties[8].Value
    if ( $accessMask -like "*00000000-*") { $accessMask=$result.properties[9].Value}  
    $accessMask2 = $result.properties[9].Value
        $fileOperation = ""
        switch -Wildcard ($accessMask) {
            "*%%1538*" { $fileOperation = "READ_CONTROL" }
            "*%%4416*" { $fileOperation = "ReadData (or ListDirectory)" }
            "*%%4417*" { $fileOperation = "WriteData (or AddFile)" }
            "*%%4418*" { $fileOperation = "AppendData (or AddSubdirectory or CreatePipeInstance)" }
            "*%%4419*" { $fileOperation = "ReadEA" }
            "*%%4420*" { $fileOperation = "WriteEA" }
            "*%%4423*" { $fileOperation = "ReadAttributes" }
            "*%%4424*" { $fileOperation = "WriteAttributes" }
            "*%%4426*" { $fileOperation = "Delete" }
            "*%%4428*" { $fileOperation = "ReadControl" }
            "*%%4429*" { $fileOperation = "WriteDAC" }
            "*%%4430*" { $fileOperation = "WriteOwner" }
            "*%%4432*" { $fileOperation = "Synchronize" }
            "*%%4433*" { $fileOperation = "AccessSystemSecurity" }
            "*%%4434*" { $fileOperation = "MaximumAllowed" }
            "*%%4436*" { $fileOperation = "GenericAll" }
            "*%%4437*" { $fileOperation = "GenericExecute" }
            "*%%4438*" { $fileOperation = "GenericWrite" }
            "*%%4439*" { $fileOperation = "GenericRead" }
            "*%%1537*" { $fileOperation = "DELETE" }
            default { $fileOperation = "Unknown" }
        }
        Write-Host   $result.Id  $result.TimeCreated  $Account $objectName $fileOperation  
} 
Write-Host $result.Id $result.TimeCreated $Account $objectName $fileOperation
}

A hozzáférés-ellenőrzési események eredményül kapott listáját elküldheti a naplógyűjtőbe, az adatbázisba, a szöveges naplófájlba, vagy e-mail értesítést küldhet a Send-MailMessage segítségével, amikor egy felügyelt fájlt elérnek/módosítanak.