Category Archives: Active Directory

Windows Server 2022 – zabezpieczenie systemu ( Microsoft Security Baselines Blog )

Microsoft Security Baselines Blog jest to blog mówiący nt. dobrych praktyk dot. zabezpieczeń produktów Microsoft. Jednym z produktów jest Server 2022, którego wybierając z listy użytkownik przechodzi do strony zawierającej materiały szkoleniowe oraz narzędzia mające na celu zabezpieczenie danego systemu, tj. Security Compliance Toolkit and Baselines: https://www.microsoft.com/en-us/download/details.aspx?id=55319

W przypadku zabezpieczenia Windows Server 2022 na uwagę zasługują 3 pozycje:

– Windows Server 2022 Security Baseline (użyteczne pliki: New Settings in Windowa Server 2022.xlsx, Final-MS Security Baseline Windows Server 2022.xlsx – dobre praktyki, ustawienia GPO oraz przykładowe – rekomendowane reguły polis: Windows Server-2022-Security-Baseline-FINAL\Documentation\MSFT-WS2022-FINAL.PolicyRules),

– PolicyAnalyzer – aplikacja, jak sama nazwa wskazuje – analizator / porównywarka polis. Można do programu zaimportować wszystkie reguły (z rozszerzeniem *.PolicyRules) znajdujące się w katalogu PolicyRules (w ściągniętym archiwum wraz z programem) oraz powyższą regułę (tj. MSFT-WS2022-FINAL.PolicyRules) a następnie porównać je z naszymi. Wówczas można zobaczyć jak się mają one do dobrych praktyk – ustawień polis zalecanych przez Microsoft.

– LGPO – Local Group Policy Object Utility – aplikacja obsługiwana wyłącznie z linii komend służąca do eksportu / importu lokalnych polis z Registry Policy (Registry.pol) a także z odpowiednio sformatowanych plików tekstowych „LGPO text” oraz XML – plików programu Policy Analyzer.
Eksport polis można dokonać również bezpośrednio z GPMC.

 

Źródła:
Blog Microsoft nt. zabezpieczeń swoich produktów ( Microsoft Security Baselines Blog ):
https://techcommunity.microsoft.com/t5/microsoft-security-baselines/bg-p/Microsoft-Security-Baselines
https://techcommunity.microsoft.com/t5/windows-server-for-it-pro/active-directory-advanced-threat-hunting-compare-gpos-with-the/m-p/4074177

Active Directory – odblokowanie konta i reset hasła administratora domeny

Aby odblokować i zresetować hasło Administratora należy uruchomić serwer z płyty instalacyjnej Windows Serwer (testowane na 2022) a następnie wejść do linii komend i wykonać poniższe kroki:
1) narzędziem DiskPart należy nadać literę partycji systemowej;

diskpart 
select disk 0
list partition
select partition 3
assign letter c

2) odpowiednio skonfigurować ponowne uruchomienie serwera oraz podmienić plik utilman.exe;

bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {bootmgr} timeout 15
c:
cd windows/system32
ren utilman.exe utilman.123
copy cmd.exe utilman.exe

3) Restart serwera. Po restarcie naciśnięcie klawisza F8 i wybranie opcji „Disable Early Launch Anti-Malware Driver”, przy logowaniu należy kliknąć na ikonkę kółeczka znajdującą się w dolnym prawym rogu. Zamiast narzędzia utilman.exe otworzy się cmd.exe – linia komend.

4) W linii komend należy wydać polecenia odblokowujące i zmieniające hasło użytkownikowi Administrator (również administratorowi domenowemu):

net user administrator /active:yes
net user administrator password
net user administrator password /domain

 

Active Directory i PowerShell – operacje na grupach

Wyświetlenie obiektów należących do grupy o nazwie GroupName

Get-ADGroupMember GroupName | Format-Table name

Wyświetlenie wszystkich grup, do których należy użytkownik o nazwie UserName

Get-ADPrincipalGroupMembership UserName | Format-Table name

Wyświetlenie użytkowników należących do grupy zabezpieczeń o nazwie SecureGroup.

Get-ADUser -filter 'memberOf -recursivematch "CN=SecureGroup, OU=IT, DC=domena, DC=local"' | Format-Table name

Dodanie użytkowników OU do grupy zabezpieczeń.

Get-ADUser -SearchBase ‘OU=nazwaOU,DC=test,DC=local’ -Filter * | ForEach-Object {Add-ADGroupMember -Identity ‘NazwaGrupyZabezpieczen’ -Members $_ }

Active Directory i PowerShell – tworzenie kopii zapasowej

#zdefiniowanie źródła
Get-WBVolume -AllVolumes
$vol = Get-WBVolume -VolumePath c:

#zdefiniowanie miejsca docelowego
$networkBackupLocation = New-WBBackupTarget -NetworkPath \\DC2\backups

#Włączenie polisy - ustawienie atrybutu SystemState na True
Add-WBSystemState -Policy backupPolicy 

#zdefiniowanie i konfiguracja polisy
$backupPolicy = New-WBPolicy
Add-WBVolume -Policy -$backupPolicy -Volume $vol
Add-WBBackupTarget -Policy $backupPolicy -Target $networkBackupLocation

#uruchomienie polisy
Start-WBBackup -Policy $backupPolicy

Active Directory i Powershell – operacje na użytkownikach i komputerach

Artykuł w budowie.

Odblokowanie wszystkich zablokowanych kont:

Search-ADAccount -LockOut | Unlock-ADAccount

Znalezienie użytkownika:

Get-ADUser -Filter 'Name -like "*userName"'

Reset hasła użytkownikowi userName:

Set-ADAccountPassword userName -NewPassword (Read-Host - AsSecureString 'New Password') -Reset

Automatyczny reset hasła wielu użytkownikom:

Add-Type -AssemblyName 'System.Web'

$userAccounts = 'user1', 'user2'
foreach ($account in $userAccounts) {
$plain_text_password = [System.Web.Security.Membership]::GeneratePassword(13, 3)
Write-Host "Resetting $account password to $plain_text_password ..."
Set-ADAccountPassword $account -NewPassword ($plain_text_password | convertto-securestring -asplaintext -force)
}

Dodanie komputera do domeny

add-computer –domainname sieciunia.local -Credential sieciunia.local\administrator -restart –force

Wyświetlenie użytkowników nieaktualnych, którzy zmieniali hasło dalej niż 31 dni temu i wyłączenie / przeniesienie / usunięcie ich:

$password_Age = (Get-Date).adddays(-31)
$users_with_old_password = Get-ADUser -Filter * -Properties PasswordLastSet | 
Where-Object {
$_.PasswordLastSet -and
$_.PasswordLastSet -lt $password_Age
}
$users_with_old_password 

#Wylaczenie kont w ktorych haslo nie bylo zmieniane
$users_with_old_password | Set-ADUser -Enabled $false

#Wlaczenie konta administratora jesli wczesniej zostalo omylkowo wylaczone
$adminAccount = Get-ADUser -Filter * -Properties Name | ? { $_.Name -like 'admin*' }
$adminAccount | Set-ADUser -Enabled $true

#Znalezienie wszystkich wylaczonych kont
$disabledUsersAccounts = Search-ADAccount -AccountDisabled -UsersOnly

#przeniesienie uzytkownikow do nowego OU o nazwie zablokowani użytkonicy
$disabledUsersAccounts | Move-ADObject -TargetPath "OU=Disabled Users,DC=sieciunia, DC=local"

#usowanie kont za potwierdzeniem (nie mozna usowac kont wbudowanych)
$disabledUsersAccounts | Remove-ADUser -Confirm:$false

 

Aktualizacja głównego kontrolera domeny – przenoszenie ról FSMO

  1. Stworzenie snapa kontrolera z którego przerzucamy role;
  2. Dodanie siebie (admina) do grupy: Administratorzy przedsiębiorstwa. Po dodaniu do grupy przelogować się. Dodanie do grup jest niezbędne do przeniesienia ról unikalnych dla lasu, tj: schemamaster, domainnamingmaster
  3. Przerzucenie ról na inny kontroler:
    Move-ADDirectoryServerOperationMasterRole -Identity sw-dc02 -OperationMasterRole pdcemulator, ridmaster, infrastructuremaster, schemamaster, domainnamingmaster
  4. Po przeniesieniu ról sprawdzić czy role zostały przeniesione
    Get-ADForest domena.local | Format-Table SchemaMaster, DomainNamingMaster
    Get-ADDomain domena.local | format-table PDCEmulator, RIDMaster, InfrastructureMaster
  5. Aktualizacja kontrolera z którego przenieśliśmy role.
  6. Zweryfikowanie poprawności działania serwera i poprawności replikacji z innymi kontrolerami domeny.
  7. Przerzucenie ról z powrotem.
  8. Zweryfikowanie poprawności replikacji z innymi kontrolerami domeny oraz działania samego serwera po zainstalowaniu nowych łatek.
  9. Skasowanie snapa z VMware.

Active directory – włączenie kosza

enable-adoptionalfeature ‚recycle bin feature’ -scope forestconfigurationset -target nazwa.domeny’

get-adobject -filter {displayname -eq ‚skasowane konto’} -includedeletedobjects
get-adobject -filter {displayname -eq ‚skasowane konto’} -includedeletedobjects | restore-adobject

UWAGA: kosz raz włączony nie może zostać wyłączony. Potrzebuje czasu zanim się rozpropaguje.