Windows Server 2016
Innerhalb des Active Directory nimmt die Objektdelegierung einen wichtigen Platz ein. Falsch gesezte Rechte auf OUs stellen ein nicht zu unterschätzendes Sicherheitsrisiko dar.
Daher sollte man Benutzern auf bestimmte OUs im AD nur soviel Rechte einräumen, wie sie tatsächlich benötigen. Ein Benutzerkonto, das Computerobjekte ins AD aufnimmt muss kein Domänenadmin sein.
Im Netz gibt es viele Anleitungen dazu. Im folgenden zeige ich das Setzen von Berechtigungen für einen bestimmten Benutzer der Computerobjekte in die Domäne aufnehmen soll mit einem Powershell Script.
Am DC einen Benutzer MDT_JD anlegen.
Powershell Script ausführen:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
Set-Location C:\!Scripts
.\Set-OUPermissions.ps1 -Account MDT_JD -TargetOU "OU=Workstations,OU=Computers,OU=Winxperts"
Das Script erlaubt dem Benutzer "MDT_JD" Computerobjekte in der OU "Workstations" zu erstellen und setzt dabei folgende Rechte:
1.Scope: This object and all descendant objects
Create Computer objects
Delete Computer objects
2.Scope: Descendant Computer objects
Read All Properties
Write All Properties
Read Permissions
Modify Permissions
Change Password
Reset Password
Validated write to DNS host name
Validated write to service principal name
Bei meinen Recherchen zu diesem Thema bin ich auch auf ein super Powershell Script gestoßen, das einen Report zu allen gesetzten Rechten im AD generieren kann.
Update am 04.07.2017: Neuer Link, da die Codeplex Seite geschlossen wurde: ADACLScan
Quelle: Technet Configure permissions in Active Directory for Windows deployment account
Aktivieren der Überwachung am Domänen Controller und protokollierem im Eventlog.
Folgende Schritte ausführen, um bestimmte Ereignisse zu überwachen:
- Gruppenrichtlinien Management Console starten (Start-Process $env:systemdrive:\windows\system32\gpmc.msc)
- Default Domain Controllers Policy wählen
- Rechts Klick Bearbeiten
- Navigiere zu Computerkonfiguration --> Richtlinien --> Windows Einstellungen --> Sicherheitseinstellungen --> Lokale Richtlinien -->Überwachungsrichtlinie
- Überwachungsrichtlinie doppelklicken und im rechten Fenster die gewünschten Einstellungen auswählen und konfigurieren
- Domänen Controller neu starten
Ereignis IDS bei der Kontoverwaltungsüberwachung: (S=Success, F=Fail)
4720 (S): A user account was created.
4722( S): A user account was enabled.
4723 (S, F): An attempt was made to change an account's password.
4724 (S, F): An attempt was made to reset an account's password.
4725 (S): A user account was disabled.
4726 ( S): A user account was deleted.
4738 ( S): A user account was changed.
4740 ( S): A user account was locked out.
4765 (S): SID History was added to an account.
4766 ( F): An attempt to add SID History to an account failed.
4767 (S): A user account was unlocked.
4780 (S): The ACL was set on accounts which are members of administrators groups.
4781 (S): The name of an account was changed.
4794 (S, F): An attempt was made to set the Directory Services Restore Mode administrator password.
4798 (S): A user's local group membership was enumerated.
5376 (S): Credential Manager credentials were backed up.
5377 (S): Credential Manager credentials were restored from a backup.
Quellen: https://docs.microsoft.com/en-us/windows/device-security/auditing/audit-user-account-management
Microsoft rät prinzipiell von einem in-place upgrade eines Server 2012/R2 auf Server 2016 ab. Sollte der Server auch noch Domänencontroller sein, sind einige Fehler bereits vorprogrammiert, wenn mittels eines in-place upgrades auf Server 2016 gewechselt wird.
Betroffen davon ist auch der Zeitserverdienst. Dieser ist nach einem in-place upgrade nicht mehr funktionstüchtig.
Der DC verliert die Verbindung zum externen Zeitserver und steht im Domänen Netzwerk auch nicht mehr als Zeit Server zur Verfügung, woraufhin alle Clients und Server auf time.windows.com zurückgreifen werden.
Microsoft hat in einem Support Artikel "Windows Time Service settings are not preserved during an in-place upgrade to Windows Server 2016 or Windows 10 Version 1607" drei mögliche Methoden zur Problemlösung beschrieben.
In Windows Server 2016 ist SMB Version 1.0 standardmäßig aus Kompatibilitätsgründen aktivert. Sollte SMB v1 in einem Netzwerk nicht mehr gebraucht werden (kein Windows XP, Server 2003), dann sollte dieses Protokoll deaktiviert bzw. entfernt werden.
Manchmal verwenden auch noch ältere Drucker/Kopierer bzw. NAS Systeme dieses Protokoll, deshalb vorher vergewissern, dass es im Netzwerk nicht mehr gebraucht wird.
Um eine etwaige Verwendung zu überprüfen, kann man sich in der Ereignisanzeige die Überwachung für SMB v1 einschalten:
Powershell: Set-SmbServerConfiguration -AuditSmb1Access $true
Log Datei anschauen:
Powershell: Get-WinEvent -Logname Microsoft-Windows-SMBServer/Audit
oder
Ereignisanzeige --> Anwendungs- und Dienstprotokolle --> Microsoft --> Windows --> SMBServer -->Audit
SBM Version 1.0 auf der Server Seite dekativieren
Powershell: Get-SmbServerConfiguration
SMB Version 1.0 auf der Server Seite entfernen
Powershell: Remove-WindowsFeature FS-SMB1
Anforderungen:
- Mindestens Windows Server 2016 oder Windows 10 1607 auf dem Hyper-V Host und dem virtualisierten Host
- Hyper-V-VM mit Konfigurationsversion 8.0 oder höher
- Mindestens 4 GB RAM für den virtualisierten Hyper-V Host
- Prozessor mit Intel Virtualization Technology (Nested Virtualization ist derzeit nur für Intel Prozessoren verfügbar)
Konfiguration:
- VM erstellen
- mindestens 4 GB RAM zuweisen (keinen dynamischen RAM vewenden)
- bei ausgeschaltener VM die geschachtelte Virtualisierung aktivieren:
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true - bei ausgeschalteter VM MAC Spoofing aktivieren:
Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On
Quellen: Microsoft docs, Thomas Krenn
Das Management eines Hyper-V Core gestaltet sich in einer reinen Arbeitsgruppen-Umgebung deutlich schwieriger als in einem Domänenumfeld.
Folgende Schritte sind dafür notwendig:
Auf einem Windows 10 Client wird der Hyper-V Manager und die RSAT Tools installiert. Der Client befindet sich in der Arbeitsgruppe "Workgroup" und heißt Win10-V.
Server mit Windows Server 2016 TP4 Core Version mit aktivierter Hyper-V Rolle. Der Server heißt MicroServer.
- Beide Systeme sind in der selben Arbeitgruppe "Workgroup".
- Beide System haben den selben Benutzer und Kennwort.
Weiterlesen: Remote Management Hyper-V Core in einer Arbeitsgruppe
Auf einem Windows Server 2016 mit SQL Server 2014 SP1 hatte ich plötzlich eine extrem hohe CPU Auslastung. Schuld war das .NET Runtime Optimization Service (Mscorsvw.exe).
Nach längerem Suchen habe ich folgende Lösung angewandt:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executeQueuedItems
Der Durchlauf dauerte bei mir relativ lange, aber danach war die CPU Last wieder normal.