Erstellen von Active Directory-Sicherheitsberichten mit PowerShell

Erstellen Sie Sicherheitsberichte für das Active Directory mit PowerShell. Zunächst ist die Sicherung einer Active Directory (AD)-Umgebung aus mehreren Gründen unerlässlich. Vor allem ist das Active Directory eine zentrale Komponente vieler Unternehmens-Netzwerke und enthält eine Fülle sensibler Informationen über Benutzer, Computer und andere Netzwerkressourcen. Würden diese Informationen in die falschen Hände gelangen, könnten sie dazu verwendet werden, die Sicherheit des gesamten Netzwerks zu kompromittieren.

In diesem Artikel werden verschiedene Möglichkeiten zur Sicherung unserer Active Directory-Umgebung mit PowerShell besprochen.

Beginnen wir mit dem Erstellen von Sicherheitsberichten für das Active Directory mit PowerShell.

Erstellen Sie Sicherheitsberichte für das Active Directory mit PowerShell

VoraussetzungenEinige der in diesem Artikel verwendeten Befehle verwenden Active Directory-Befehle. Daher müssen wir in diesem Artikel die erforderlichen Komponenten installieren:

Einige der Befehle in diesem Artikel werden Active Directory-Befehle verwenden. Daher müssen wir in diesem Artikel die erforderlichen Voraussetzungen installieren:

Bevor wir beginnen, stellen wir sicher, dass wir die oben genannten Voraussetzungen erfüllen und importieren das Active Directory-Modul unter Verwendung des folgenden Codeschnipsels.

Install-Module ActiveDirectory
Import-Module ActiveDirectory

Verschiedene Methoden zur Sicherung des Active Directory

Es gibt mehrere Möglichkeiten, wie mansichern kann unsere Active Directory-Umgebung. Im nächsten Abschnitt diskutieren wir einige Möglichkeiten, wie wir unser Active Directory-Infrastruktur sichern können.

Anwenden von fine-grained Passwort- und Kontosperrrichtlinien

Insgesamt enthält Active Directory standardmäßig eine Kennwortrichtlinie. Allerdings setzen Administratoren auch strengere Kennwort Richtlinien und Kontosperrrichtlinien. Dieser Prozess ermöglicht es uns, sicherere Kennwörter und Kontosperreinstellungen für privilegierte Konten zu platzieren.

Verwenden Sie die folgenden PowerShell Zeilen, um eine feingranulare Kennwort- und Kontosperrrichtlinie auf einem System mit dem AD-Modul für Windows PowerShell zu erstellen, das installiert und importiert wurde.

Kontosperrrichtlinie-Skript:

New-ADFineGrainedPasswordPolicy PolicyName -ComplexityEnabled $true -LockoutThreshold "3" -MaxPasswordAge "30.00:00:00" -MinPasswordLength "14" -PasswordHistoryCount "20" -Precedence "1" -ReversibleEncryptionEnabled $false -ProtectedFromAccidentalDeletion $true

Feingranulare Kennwortrichtlinie-Skript:

Add-ADFineGrainedPasswordPolicySubject PolicyName -Subjects GroupName

Schauen Sie sich das msDS-ResultantPSO-Attribut des Benutzerkontos an, um zu bestimmen, welche feingranulare Passwort– und Kontosperrrichtlinie gilt. Darüber hinaus zeigt es die involvierte Passwortrichtlinienreferenz. Dafür können wir auch den Get-ADUserResultantPasswordPolicyPowerShell-Cmdlet verwenden.

Verwalten von Active Directory-Momentaufnahmen

Momentaufnahmen für Active Directory können in Situationen hilfreich sein, in denen die Organisation Informationen aus einem bestimmten Zeitpunkt (dem Zeitpunkt, an dem wir die Momentaufnahme erstellt haben) mit Daten aus einem anderen Zeitpunkt vergleichen muss.

A functional Active Directory VSS Writer and the Volume Shadow Copy functionality are required to create an Active Directory snapshot. These features come standard with Windows Server.

Anmelden bei einem Domänencontroller (DC) mit einem Benutzerkonto, das der Domänen-Admins oder Sicherungsoperatoren Gruppen angehört, um mit Snapshots zu arbeiten. Nach dem Anmelden öffnen Sie die Eingabeaufforderung und versuchen Sie die folgenden Schritte.

Um ein Active Directory-Snapshot mit PowerShell zu erstellen, können wir den Export-DSSnapshot Cmdlet verwenden:

Export-DSSnapshot -Path

Danach, wenn Sie alle Active Directory-Snapshots mit PowerShell anzeigen möchten, können wir den Get-DSSnapshot Cmdlet verwenden:

Get-DSSnapshot -Path

Anschließend verwenden wir zum Mounten eines Active Directory-Snapshots mit PowerShell den Mount-DSSnapshot-Cmdlet. Zum Beispiel wird der untenstehende Befehl das Snapshot mit der angegebenen ID aus dem angegebenen Speicherort mounten:

Mount-DSSnapshot -Path  -Identity

Der obige PowerShell-Cmdlet gibt den Speicherort aus, an dem die Datenbank eingebunden ist. Um sie als LDAP-Speicher freizugeben, führen Sie diesen Befehl aus:

dsamain.exe -dpbath "" -LDAPport

Führen Sie diesen Befehl so lange aus, wie wir den LDAP-Server betriebsbereit haben möchten. Um Informationen abzurufen, verwenden Sie die AD-Modul für Windows PowerShell-Cmdlets. Geben Sie den -Server-Parameter und den Servernamen und die Portnummer ein, getrennt durch einen Semikolon, wie folgt:

Get-ADComputer -Identity * -Server Localhost:PortNumber

Alternativ können wir zusätzliche Active Directory-Tools wie ldifde.exe und csvde.exe verwenden, um Informationen zwischen Snapshots und Active Directory zu übertragen. Leider steht kein native Tooling zur Verfügung, um diese Arten von Operationen durchzuführen.

Verwalten von gelöschten Active Directory-Objekten

Insgesamt ermöglicht der Active Directory-Tombstoning-Prozess demDomänencontrollerdie Replikation der Löschung. Wenn der AD-Papierkorb aktiviert ist, repliziert der DC die gelöschten Objekte, bevor sietombstonedwerden.

In diesem Zustand können wir die gelöschten Objekte im Container für gelöschte Objekte sehen. Grundsätzlich stellen wir Objekte aus diesem Container wieder her, einschließlich ihrer Gruppenmitgliedschaften und anderer Attribute, an ihrem ursprünglichen Ort oder einem anderen Container.

Verwenden Sie auf einem System mit dem AD-Modul für Windows PowerShell die folgenden PowerShell-Befehle, um die gelöschten AD-Objekte für eine Domäne anzuzeigen:

Get-ADObject -IncludeDeletedObjects -Filter *

Darüber hinaus verwenden Sie zum Wiederherstellen eines gelöschten ADObjektsdie folgenden PowerShell-Cmdlets auf einem System mit dem AD-Windows PowerShell-Modul installiert:

Get-ADObject -Filter { displayName -eq "" } - IncludeDeletedObjects |
Restore-ADObject

Das Zurücksetzen des Kerberos-Dienstkontokennworts in AD

Jeder Active Directory-Domäne hat sein eigenes KRBTGT-Konto in einer Umgebung mit mehreren Domänen, das von allen voll schreibbaren Domänencontrollern verwendet wird. Darüber hinaus weisen wir den KRBTGT-Konten jeweils ein eigenes Konto für jeden schreibgeschützten Domänencontroller zu.

Der Kompromittierung desKerberos-Dienstkontos führt zu einem Verlust der Kerberos-Sicherheit undÜberwachungsprotokollierung.

Wenn Sie natürlich das Kennwort für das Dienstkontozurücksetzen möchten, melden Sie sich bei einem DC mit Domain Admin-Rechten an und führen Sie Folgendes aus:

Set-ADAccountPassword -Identity (Get-ADUser krbtgt).DistinguishedName -Reset -NewPassword (ConvertTo-SecureString "" -AsPlainText -Force)

Andere Möglichkeiten zur Absicherung der AD-Umgebung

Es gibt viele andere Möglichkeiten, einActiveDirectory abzusichern, und wir haben einige davon erwähnt. Es wird jedoch einige weitere Artikel benötigen, um sie alle zu erklären, also hier eine Liste von Konzepten darüber, was wir tun können, um Ihre Active Directory-Umgebung abzusichern:

  • Sichern und Wiederherstellen von GPOs und AD-Datenbank (NTDS)
  • Verwalten des Wiederherstellungsmodus für Verzeichnisdienste (DSRM) Kennwörter auf DC.
  • Implementieren einer lokalen Administrator-Kennwortlösung (LAPS)
  • Arbeiten mit gruppenverwalteten Dienstkonten (gMSA).
  • Verwenden des Sicherheitskonfigurations-Assistenten (SCW) zur Absicherung von DC.
  • Verwalten und überwachen der geschützten Benutzergruppe.
  • Authentifizierungsrichtlinien und Authentifizierung Richtlinien-Silos sinnvoll einsetzen Konfigurieren der Extranet Smart Lockout.
  • und mehr

Nun gehen wir zur nächsten Sektion über, in der wir die Verwendung von PowerShell zum Exportieren von Sicherheits- und Prüfberichten diskutieren.

Erstellen von Active Directory Sicherheits-Prüfberichten mithilfe von PowerShell

Microsoft hat die erweiterten Sicherheitsüberwachungs-Richtlinien in AD in den letzten Iterationen eingeführt. Diese Funktion erweitert die Überwachungsoptionen auf zehn Kategorien:

  • Globale Objektzugriffs Überwachung.
  • Konto Anmeldung.
  • Kontoverwaltung
  • Detailierte Ablaufverfolgung. 
  • Verzeichnisdienstzugriff. 
  • Anmeldung/Abmeldung. 
  • Objektzugriff. 
  • Richtlinienänderung.
  • Berechtigungsverwendung.
  • und Systemverwendung.

Für jede dieser Kategorien gibt es mehrere Überwachungsoptionen. Darüber hinaus fügt die Richtlinie, wenn sie aktiviert ist, Einträge in den Ereignisanzeiger mit dem Quelltext Microsoft Windows Sicherheitsüberwachung, wenn sie aktiviert ist.

Um die erweiterte Sicherheitsüberwachungsrichtlinie zu konfigurieren, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie die Gruppenrichtlinienverwaltungskonsole.
  2. Navigieren Sie zum Domain Controllers-Knoten für den Bereich, in dem Sie die Richtlinie konfigurieren möchten.
  3. Klicken Sie mit der rechten Maustaste auf die Standardrichtlinie für Domänencontroller und klicken Sie im Menü auf Bearbeiten.
  4. Erweitern Sie die Computerkonfiguration, klicken Sie auf Richtlinien, klicken Sie auf Windows-Einstellungen, klicken Sie auf Sicherheitseinstellungen, klicken Sie auf Erweiterte Überwachungsrichtlinienkonfiguration, klicken Sie auf Überwachungsrichtlinien und dann auf DS-Zugriff.

5. Doppelklicken Sie auf die Überwachung von Verzeichnisdienständerungen Einstellung.
6.
Setzen Sie ein Häkchen, um die Überwachungsereignisse zu konfigurieren, und wählen Sie Erfolg und Fehler Überwachungsereignisse.
7. Speichern Sie die Einstellungen und schließen Sie den Eigenschaften Bildschirm.
8. Schließen Sie das Gruppenrichtlinien-Verwaltungs-Editor Fenster.

Mit PowerShell ermöglicht der Get-WinEvent Cmdlet Systemprüfern die Anpassung von erweiterten Filteroptionen. Zum Beispiel wird mit dem folgenden einfachen Befehl alle Sicherheitsprotokolle abgefragt und in eine CSV-Datei als erzeugter Bericht exportiert. 

Get-WinEvent -FilterHashtable @{LogName="Security"} | Export-Csv -Path .\Security.csv -NoTypeInformation

Die CSV-Datei sollte wie folgt aussehen:

Das Kopieren von Überwachungsereignissen aus den Ereignisanzeigeprotokollen des Domänencontrollers in eine zentrale Security Incident and Event Management (SIEM) Lösung wird als empfohlene Praxis angesehen.

Vielen Dank für das Lesen von Erstellen von Active Directory-Sicherheitsberichten mit PowerShell. Wir werden diesen Artikel jetzt abschließen.

Erstellen von Active Directory-Sicherheitsberichten mit PowerShell Abschluss

Neben den oben genannten Sicherheits-bedenken können Compliance und regulatorische Probleme auftreten, wenn eine Active Directory-Umgebung nicht angemessen gesichert ist. Zum Beispiel müssen viele Organisationen bestimmte Datenschutz- und Datenschutzstandards einhalten. Das Versäumnis, ein Active Directory zu sichern, kann sie einem Nicht-Konformitätsrisiko und potenziellen Geldbußen aussetzen.

Source:
https://infrasos.com/create-active-directory-security-reports-with-powershell/