Hvordan Oppdage Hvem Slettet En Fil På Windows Server Med Revisjonspolicy?

du kan bruke hendelsesovervåking for filsystemobjekttilgang til å identifisere en bestemt bruker som opprettet, slettet eller endret en bestemt fil. I denne artikkelen viser vi deg hvordan du konfigurerer hendelsesovervåking for filer i en delt nettverksmappe På Windows Server 2016. Når du har konfigurert overvåking, kan du bruke informasjonen Fra Hendelsesliste til å finne brukeren som slettet bestemt fil på filserveren.

når du sletter en fil fra en delt nettverksmappe, slettes den umiddelbart i stedet for å bli sendt til brukerens papirkurv. Listen over filer som er åpnet på delingsmappen, kan fås som følger.

Slik Aktiverer Du Overvåkingspolicy For Fil – Og Mappetilgang På Windows?

overvåking Av Filsystemobjekttilgang er som standard ikke aktivert På Windows Server. Du kan aktivere og konfigurere overvåkingsinnstillinger ved Hjelp Av Gruppepolicy. Hvis du må aktivere overvåkingspolicyer på flere servere eller datamaskiner, kan du bruke domenegpoer (konfigurerbar ved hjelp av mmc-konsollen gpmc.msc). Hvis du bare vil konfigurere overvåking på en server, kan Du bruke Lokal Gruppepolicyredigerer.

  1. Åpne Den Lokale Gruppepolicyredigering-konsollen– gpedit.msc;
  2. Gå Til GPO-delen med avanserte overvåkingspolicyer: Windows-Innstillinger- > Sikkerhetsinnstillinger – > Konfigurasjon Av Avansert Overvåkingspolicy – > Objekttilgang;
  3. Åpne Policyen For Overvåkingsfilsystem og angi at du vil logge bare vellykkede tilgangshendelser til filsystemobjekter (Konfigurer følgende overvåkingshendelser -> Suksess);
    du kan også aktivere overvåking av tilgang til lokale objekter ved Hjelp Av Tilgangspolicyen For Overvåkingsobjekt under Windows Settings -> Sikkerhetsinnstillinger – > Lokal Policy -> Overvåkingspolicy. Det er imidlertid å foretrekke Å bruke Overvåkingspolicyen For Filsystemet fordi den bare sporer NTFS-tilgangshendelser.

    aktiver overvåkingsfilsystempolicy på windows server

  4. Lagre endringene og oppdater de lokale Gruppepolicyinnstillingene ved hjelp av kommandoen: gpupdate /force.

Konfigurere Fil Slettede Overvåkingsinnstillinger på En Delt Mappe

nå må du konfigurere overvåking i egenskapene til del nettverksmappen du vil spore tilgang til. Kjør Filutforsker og åpne mappeegenskapene. Gå Til Kategorien Sikkerhet. Klikk På Avansert-knappen – > gå til Kategorien Overvåking.

hvis meldingen «Du må være administrator eller har fått de riktige rettighetene for å vise revisjonsegenskapene til dette objektet» vises, klikker Du På Fortsett-knappen.

 konfigurer overvåkingsinnstillinger på en delt mappe

klikk Deretter På Legg til-knappen for å angi brukeren eller gruppen du vil registrere overvåkingshendelser for. Hvis du vil spore tilgangshendelser for alle brukere, angir Du Alle-gruppen.

deretter må du angi hvilke tillatelser som brukes til å få tilgang til objektet, skal logges. Hvis du vil lagre bare filslettingshendelser i Hendelsesloggen, klikker Du Vis avanserte tillatelser-knappen. I hendelseslisten lar du bare overvåking for mappe-og filslettingshendelser-Slette og Slette undermapper og filer.

konfigurer overvåking av filslettingshandlinger i delt mappe På Windows Server 2016folder

Tips. Husk at overvåkingspolicy for Windows-objekter krever ekstra databehandlingsressurser. Bruk den forsiktig, prøv alltid å minimere antall overvåkingsobjekter og hendelser som skal logges.

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

Nå, hvis brukeren sletter en fil eller mappe i den delte nettverksmappen, Vises filsystemet -> Overvåk suksessfilslettingshendelsen i sikkerhetsloggen med Hendelses-ID 4663 Fra Microsoft Windows security auditing-kilden.

Åpne Mmc-konsollen For Hendelsesliste (eventvwr.msc), utvid windows-Loggene – > sikkerhet-delen. Aktiver hendelseslogg filter Av EventID 4663.

hendelses-id for sletting av filer 4663 i sikkerhetsloggen i windows hendelsesliste

Åpne noen av de gjenværende hendelsene i Event Viewer. Som du kan se, inneholder den informasjon om navnet på den slettede filen, kontoen til brukeren som slettet filen og prosessnavnet.

An attempt was made to access an object.Subject:Security ID: CORP\jsmithAccount Name: jsmithAccount Domain: CORPLogon ID: 0x32B12627Object:Object Server: SecurityObject Type: FileObject Name: E:\Distr\Backup.rarHandle ID: 0x7bc4Resource Attributes: S:AIProcess Information:Process ID: 0x4Process Name:Access Request Information:Accesses: DELETEAccess Mask: 0x10000

4663 med brukernavn i sikkerhetslogg

når du har aktivert overvåkingspolicy for filtilgang, finner du I Sikkerhetsloggen :

  • når det skjedde;
  • hvilket program (prosess) ble brukt til å slette filen;
  • hva er datoen for sikkerhetskopien som skal gjenopprettes.

Hvordan Skrive Fil Sletting Hendelser TIL SQL Database (MySQL/MSSQL)?

selv om revisjonen av de slettede filene er aktivert, kan Det imidlertid være vanskelig å finne noe i loggene. For det første er det ganske vanskelig å finne en bestemt oppføring blant tusenvis av hendelser (I Windows er Det ikke noe praktisk verktøy for å søke etter en hendelse med et fleksibelt filter). For det andre, hvis en fil ble slettet for lenge siden, kan denne hendelsen være fraværende i loggene, siden den ble overskrevet av nye hendelser.

du kan lagre alle filslettehendelser i SQL-databasen. Du kan bruke Microsoft SQL Server, Elasticsearch eller MySQL/MariaDB-databaser til å lagre hendelsene dine.

i dette eksemplet viser vi deg hvordan du logger revisjonshendelser til en egen databasetabell på En MySQL. Jeg vil bruke følgende tabellformat:

  • Servernavn;
  • Navnet på den slettede filen;
  • Dato og klokkeslett;
  • navnet på brukeren som har slettet filen.

MySQL-spørringen for å lage denne tabellen ser slik ut:

CREATE TABLE deleted_items (id INT NOT NULL AUTO_INCREMENT, server VARCHAR(100), file_name VARCHAR(255), dt_time DATETIME, user_name VARCHAR(100), PRIMARY KEY (ID));

Merk. Et eksempel på hvordan du får tilgang Til En MySQL-database Fra PowerShell ble vurdert tidligere i artikkelen Spør MySQL-Database med PowerShell.

hvis Du vil bruke Microsoft SQL Server-database, sjekk ut artikkelen » slik kjører DU EN Mssql-Serverspørring Fra PowerShell ?»

for å få hendelser Med EventID 4663 Fra Sikkerhetsloggen for gjeldende dag, kan du bruke Følgende powershell-skript:

$today = get-date -DisplayHint date -UFormat %Y-%m-%d
Get-WinEvent -FilterHashTable @{LogName="Security";starttime="$today";id=4663} | Foreach {
$event = $_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$File = $event.Event.EventData.Data."#text"
$User = $event.Event.EventData.Data."#text"
$Computer = $event.Event.System.computer
}
}

windows Security audit - event 4663 properties

Det neste powershell-skriptet skriver dataene du får Til MySQL-databasen på en ekstern server (MED IP-adressen 10.1.1.13):

Add-Type –Path 'C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5\MySql.Data.dll'
$Connection = @{ConnectionString='server=10.1.1.13;uid=posh;pwd=P@ssw0rd;database=aduser'}
$Connection.Open()
$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
$sql.Connection = $Connection
$today = get-date -DisplayHint date -UFormat %Y-%m-%d
Get-WinEvent -FilterHashTable @{LogName="Security";starttime="$today";id=4663} | Foreach {
$event = $_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$File = $event.Event.EventData.Data."#text"
$File = $File.Replace('\','|')
$User = $event.Event.EventData.Data."#text"
$Computer = $event.Event.System.computer
$sql.CommandText = "INSERT INTO deleted_items (server,file_name,dt_time,user_name ) VALUES ('$Computer','$File','$Time','$User')"
$sql.ExecuteNonQuery()
}
}
$Reader.Close()
$Connection.Close()

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.