Fortsatt ikke sikker på hvordan du sporer hvem slettet fil/mappe fra windows server 2016 med revisjonspolicy? Ta en titt på denne bloggen.
Her På Bobcares har vi sett flere Slike Windows-relaterte feil som en del av Våre Serveradministrasjonstjenester for webverter og nettleverandører.
I Dag ser Vi Hvordan du sporer de slettede fil – /mappevinduene.
- slik sporer Du Hvem Som Slettet Fil / Mappe Fra Windows Server 2016 Med Revisjonspolicy
- Slik Aktiverer Du Overvåkingspolicy For Fil-Og Mappetilgang På Windows
- Konfigurere Fil Slettet Revisjonsinnstillinger På En Delt Mappe
- Hvordan Skrive Filslettingshendelser TIL SQL Database(MySQL/MSSQL)
- Loggfil Slett Overvåkingshendelser Til En Tekstfil
slik sporer Du Hvem Som Slettet Fil / Mappe Fra Windows Server 2016 Med Revisjonspolicy
la Oss nå se på hvordan Våre Supportingeniører finner hvem som slettet filen / mappen fra serveren.
vi bruker hendelsesovervåking for filsystemobjekttilgang til å identifisere en bestemt bruker som opprettet, slettet eller endret en bestemt fil.
Vi skal nå se hvordan du konfigurerer hendelsesovervåking for filer på en delt nettverksmappe På Windows Server 2016. Etter konfigurering av overvåking bruker vi Informasjonen Fra Hendelsesliste til å finne brukeren som slettet en bestemt fil på filserveren.
men når vi sletter en fil fra en delt nettverksmappe, slettes den umiddelbart i stedet for å bli sendt til brukerens papirkurv.
Slik Aktiverer Du Overvåkingspolicy For Fil-Og Mappetilgang På Windows
som standard aktiveres ikke overvåkingen For Filsystemobjekttilgang på Windows Server. Vi kan aktivere og konfigurere revisjonsinnstillinger ved Hjelp Av Gruppepolicy. Her er fremgangsmåten vi følger for å konfigurere overvåking på en server ved Hjelp Av Lokal Gruppepolicyredigerer.
-
- Først åpner Vi Den Lokale Gruppepolicyredigeringskonsollen-gpedit.msc
- Deretter går vi til GPO-delen med avanserte revisjonspolicyer: Windows-Innstillinger >> Sikkerhetsinnstillinger >> Konfigurasjon Av Avansert Overvåkingspolicy >> Objekttilgang
- Deretter åpner Vi Policyen For Overvåkingsfilsystem og angir at vi vil logge bare vellykkede tilgangshendelser til filsystemobjekter (Konfigurere følgende overvåkingshendelser >> Suksess)
- Til Slutt Lagrer Vi Endringene Og Oppdaterer De Lokale Gruppepolicyinnstillingene Ved Hjelp Av Kommandoen Nedenfor.
gpupdate /force
Konfigurere Fil Slettet Revisjonsinnstillinger På En Delt Mappe
nå konfigurerer vi overvåking i egenskapene til share network-mappen som vi vil spore tilgang til.
1. Først kjører Vi File Explorer og åpner mappeegenskapene. Vi går til Sikkerhetsfanen og klikker På Avansert-knappen. Så går vi Til Revisjonsfanen.
2. Hvis meldingen nedenfor vises, klikker Du På Fortsett-knappen.
You must be an administrator or have been given the appropriate privileges to view the audit properties of this object
3. Deretter klikker Vi På Legg til-knappen for å angi brukeren eller gruppen som vi ønsker å fange revisjonshendelser. Hvis vi vil spore tilgangshendelser for alle brukere, spesifiserer Vi Alle-gruppen.
4. Deretter angir vi også hvilke tillatelser som brukes til å få tilgang til objektet, skal logges. Hvis du bare vil lagre filslettingshendelser i Hendelsesloggen, klikker vi På Vis avanserte tillatelser-knappen. I hendelseslisten forlater vi bare overvåking for mappe-og filslettingshendelsene-Slett Og Slett undermapper og filer.
hvis brukeren sletter en fil eller mappe i den delte nettverksmappen. Deretter Vises filsystemet – > Overvåkingssuksess filslettehendelse I sikkerhetsloggen Med Hendelses-ID 4663 Fra Microsoft Windows security auditing-kilden.
så åpner Vi Event Viewer MMC-konsollen (eventvwr.msc), utvide Windows Logs- > sikkerhet delen. Aktiver hendelseslogg filter Av EventID 4663.
etter det åpner vi noen av de gjenværende hendelsene i Event Viewer. Vi ser at den inneholder 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\jonAccount Name: jonAccount 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
når du har aktivert overvåkingspolicy for filtilgang, finner vi detaljene nedenfor I Sikkerhetsloggen:
- hvem slettet filen fra den delte nettverksmappen og når det skjedde
- hvilket program (prosess) ble brukt til å slette filen
- hva er datoen for sikkerhetskopien som skal gjenopprettes
Hvordan Skrive Filslettingshendelser 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. 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.
vi lagrer alle filslettehendelser i SQL-databasen. For det bruker Vi Microsoft SQL Server, Elasticsearch eller MySQL/MariaDB databaser for å lagre hendelsene.
la oss for eksempel se hvordan du logger revisjonshendelser til et eget databasetabell På MySQL. Vi kan bruke følgende tabellformat:
- Servernavn
- Navn på den slettede filen
- Dato og klokkeslett
- navnet på brukeren som har slettet filen
MySQL-spørringen for å lage denne tabellen ser ut nedenfor:
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));
for å få hendelser Med EventID 4663 Fra Sikkerhetsloggen for gjeldende dag, bruker vi Følgende powershell-skript:
$today = get-date -DisplayHint date -UFormat %Y-%m-%dGet-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}}
Det neste PowerShell-skriptet vil skrive dataene vi kommer 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;;database=aduser'}$Connection.Open()$sql = New-Object MySql.Data.MySqlClient.MySqlCommand$sql.Connection = $Connection$today = get-date -DisplayHint date -UFormat %Y-%m-%dGet-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()
når du har lagret hendelser i en ekstern database, kan Vi fjerne Denne Hendelsesloggen.
nå, for å finne ut hvem som har slettet filen «AnnualReport.DOC», kjører vi skriptet nedenfor i PowerShell-konsollen.
$DeletedFile = "%AnnualReport.DOC%"Set-ExecutionPolicy RemoteSignedAdd-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;;database=aduser'}$Connection.Open()$MYSQLCommand = New-Object MySql.Data.MySqlClient.MySqlCommand$MYSQLDataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter$MYSQLDataSet = New-Object System.Data.DataSet$MYSQLCommand.Connection=$Connection$MYSQLCommand.CommandText="SELECT user_name,dt_time from deleted_items where file_name LIKE '$DeletedFile'"$MYSQLDataAdapter.SelectCommand=$MYSQLCommand$NumberOfDataSets=$MYSQLDataAdapter.Fill($MYSQLDataSet, "data")foreach($DataSet in $MYSQLDataSet.tables){write-host "User:" $DataSet.user_name "at:" $DataSet.dt_time}$Connection.Close()
Endelig ser vi brukernavnet og tiden filen ble slettet I PS-konsollen.
Loggfil Slett Overvåkingshendelser Til En Tekstfil
hvis vi ikke vil bruke en egen databaseserver, lagrer vi overvåkingshendelser for filsletting i en loggfil i ren tekst. For det bruker vi Dette PowerShell-skriptet for å lagre utdataene til en tekstfil:
$Outfile = "C:\Logs\Deleted-file-history-log.txt"$today = get-date -DisplayHint date -UFormat %Y-%m-%dGet-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"$strLog = $Computer + " " + $File + " " + $Time + " " + $User$strLog | out-file $Outfile –append}}