giovedì 25 novembre 2021

Report password utenti AD

 Una delle cose a cui spesso e' necessario mettere mano con AD e' il discorso delle password.

Molto spesso sono impostate per non scadere mai, o potrebbe essere necessario farle scadere.

Il primo passo per prendere delle decisioni in merito e' un report sulle password. Io ho usato questi 2  script:

ES1:

Tutti gli utenti di AD

Get-ADUser -filter {Enabled -eq $True} –Properties DisplayName,msDS-UserPasswordExpiryTimeComputed,BadLogonCount,LastBadPasswordAttempt,LastLogonDate,PasswordExpired,PasswordLastSet,PasswordNeverExpires | Select-Object -Property "Displayname",DistinguishedName,@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}},BadLogonCount,LastBadPasswordAttempt,LastLogonDate,PasswordExpired,PasswordLastSet,PasswordNeverExpires | export-csv C:\Script\AD\ReportUserPassword\PwdUsersAll.csv

ES2:

Solo con password che non scadono

Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties DisplayName,msDS-UserPasswordExpiryTimeComputed,BadLogonCount,LastBadPasswordAttempt,LastLogonDate,PasswordExpired,PasswordLastSet,PasswordNeverExpires | Select-Object -Property "Displayname",DistinguishedName,@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}},BadLogonCount,LastBadPasswordAttempt,LastLogonDate,PasswordExpired,PasswordLastSet,PasswordNeverExpires | export-csv C:\Script\AD\ReportUserPassword\PwdUsersNEFalse.csv

A questo punto avete qualche informazione in piu per fare un'analisi e prendere delle decisioni.

Ricordate che obbligare gli utenti a cambiare password rappresenta potenzialmente del lavoro in piu, ma e' uno dei passaggi necessari per migliorare la sicurezza.

E possibile verificare la scadenza della password di un singolo utente di dominio in modo molto piu semplice:

net user c.ogura /domain

Vengono restituiti molti dati utili, anche sulle password 

Sulle impostazioni delle password e' importante impostare una scadenza (90/180 gg.), possibilmente dei criteri di complessiva, ed almeno una lunghezza minima, e magari un minimo di password ricordate in modo che non vengano usate a rotazione sempre le stesse. E' anche molto importante impostare un lockout automatico degli account. Questo non ci espone ad attacchi brute force. In pratica e' consigliabile bloccare un account per un periodo di tempo, anche breve, se un utente sbaglia la password per un certo numero di volte. 

In active directory le impostazioni per le password sono definite nella default domain policy, nel seguente percorso:

Computer configuration/Policies/Windows settings/Security settings/Account policies

Password policies

Account lockout policies 

Sarebbe inoltre molto utile monitorare l'event viewer per tentativi di accesso falliti ripetuti all'indirizzo di un utente. (ES: event viewer/security log/4625). Provate a controllare questo evento su un server RDP pubblicato senza VPN :). 

REFERENCE

https://social.technet.microsoft.com/wiki/contents/articles/12037.active-directory-get-aduser-default-and-extended-properties.aspx

https://www.pcwdld.com/password-expiration-date-ad-user#wbounce-modal

https://www.alitajran.com/create-active-directory-users-from-csv-with-powershell/

giovedì 18 novembre 2021

NETLOGON e SYSVOL mancanti su un controller di dominio

Ciao,

potrebbe capitare che le cartelle netlogon e syscol risultino mancanti su un domain controller.

La prima cosa da fare e' verificare che l'ora sia corretta e provare a riavviare il servizio netlogon (accesso di rete).

Aspettate quaalche minuto per vedere se la situazione ritorna normale.

Se questa cosa accade subito dopo aver promosso un DC, fermatevi: probabilmente c'e' un problema sui DC pre-esistenti.

Demotate il domain controller appena fatto ed effettuate qualche test preliminare con dcdiag e repadmin.

Quando siete sicuri che tutto funziona come deve, ricreaate il nuovo domain controller.


Se aancora esiste qualche problema, oppure il problemaa si e' creato successsivamente, assicuratevi sempre con dcdiag e repadmin che tutto funzioni correttamente.


Potete forzare la creazione della condivisione andando in regedit:


Browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

Set SysVolReady from 0 to 1

Close Regedit


Riavviate il servizio Netlogon, oppure aspettate qualche minuto.


Adesso la SYSVOL dovrebbe riapparire.

Se mancasse ancora la NETLOGON, occorre creaarla a mano, anndando nel seguente path:

C:\Windows\SYSVOL\domain\ e creaare una caartella chiamata scripts.


Riavviate il servizio Netlogon, oppure aspettate qualche minuto.


A questo punto occorre speraare che si sincronizzi il tutto.


A questo punto per sistemare occorre ragionare se stiamo usando FRS domini piu' vecchi) o DFSR per replicare


Ci sono utility e tool che possono aiutare come FRSDiag, e AD replication status tool



DFRS - Verifica delllo stato di replica (DFRS)

For /f %i IN ('dsquery server -o rdn') do @echo %i && @wmic /node:"%i" /namespace:\\root\microsoftdfs path dfsrreplicatedfolderinfo WHERE replicatedfoldername='SYSVOL share' get replicationgroupname,replicatedfoldername,state


The states should translate as below


0 = Uninitialized

1 = Initialized

2 = Initial Sync

3 = Auto Recovery

4 = Normal

5 = In Error


Nel mio caso (NTFRS) ha risolto ripristinare il funzionamento dal DC di origine (non da quello nuovo che ho appena creato).

Sono andato nel vecchio DC e aperto il regedit:


HKLM\System\CurrentControlSet\Services\NtFrs\Parameters

ho creato il DWORD "Enable Journal Wrap Automatic Restore" e l'ho impostato a 1.

Ho riavviato il servizio di replica file (net stop ntfrs && net start ntfrs)

Le share SYSVOL e NETLOGON spariranno. 

Ho aspettato con impazienza l'evento 13516.

Dopo questo evento ho impostato il DWORD "Enable Journal Wrap Automatic Restore" a 0.

Ho riavviato il servizio di replica file (net stop ntfrs && net start ntfrs)


Per verificare che tutto abbia funzionato a dovere le share, che nel frattempo erano sparite, dopo l'evento 13516 devono riapparire.


=========================================================================REFERENCE

https://noelpulis.com/fix-missing-sysvol-and-netlogon-after-domain-controller-promotion/

https://www.microsoft.com/en-us/download/details.aspx?id=8613

https://www.microsoft.com/en-us/download/details.aspx?id=30005

https://docs.microsoft.com/it-it/troubleshoot/windows-server/identity/get-use-active-directory-replication-status-tool

https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/use-burflags-to-reinitialize-frs


Rimozione forzata di un domain controller

Puo succedere che DCpromo, per rimuovere un domain controller fallisca, soprattutto nel caso in cui lo si voglia rimuovere per problemi di replica.

In questo caso occorre procedere con un DCPROMO /forceremoval, che pero lasciera AD "sporca".

Infatti dopo aver fatto questa operazione sara' necessario pulire i metadati e d il DNS.

Supponiamo che il nostro dominio casa.local abbia 3 DC, DC1, DC2 e DC3 e che il nostro obiettivo sia rimuovere DC3.


Collegarsi a DC3 ed eseguire da cmd (come admin): dcpromo /forceremoval (bisognera impostare una nuova pwd e fare un riavvio)


Questo dovrebbe permetterci di riuscire a completare il demotion.


A questo punto dobbiamo usare ntdsutil per pulire i metadati:


Collegarsi a DC1 o DC2 ed eseguire da cmd (come admin) ntdsutil.exe


All'interno di ntdsutil dovremo collegarci ad un dc e successivamente definire un operation target.

Siccome il DC3 non e' stato rimosso correttamente, sara ancora visibile tra i DC disponibili.

Per effettuare lì'operazione possiamo collegarci a DC1 (o DC2) ed impostare DC3 (ovvero il DC da rimuovere) come operation target.



Al primo prompt di NTDSUTIL.exe digitare:

ntdsutil:

Comando: metadata cleanup e premere invio 

Comando: connections e premere invio 

Comando: connect to server DC1

Comando: q (quit, per tornare al menu precedente)

Comando: select operation target e premere invio 

Comando: list domains e premere invio (verrano mostrati i domini presenti in ordine numeri partendo da 0)

Comando: Select domain 0 (supponendo che il dominio dove era ppresente il DC fosse lo 0)

Comando: List sites

Comando: Select site 0

Comando: List servers in site


La risposta a questo comando sara' la lista dei DC presenti compreso quello rimosso forzatamente. ES:

0-CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=dorg,DC=net

1-CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=dorg,DC=net

2-CN=DC3,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=dorg,DC=net

DC3 (che corrisponde al 2 nella nostra lista)


Comando: Select server 2

Comando: remove selected server


Siamo riusciti a togliere DC3 


A questo punto occorre pulire il DNS. Togliere i riferimenti al server demotato dal tab name servers dei domini, e da tutti i record.



REFERENCE:

https://www.manageengine.com/products/active-directory-audit/kb/how-to/how-to-remove-a-domain-controller-that-no-longer-exists.html


NTDSUtil - transfer fsmo roles

Come trasferire i ruoli usando NTDSUtil


Aprire ntdsutil, 

Type ntdsutil and press Enter.

Type roles and press Enter.

Type connections and press Enter.

Type connect to server DC01 and press Enter, where DC01 is the server computer name that will transfer the FSMO roles to.

Type quit and press Enter.

Next, we will transfer FSMO roles one by one with the corresponding command, as the case may be. After each Enter appears a confirmation window. Just click Yes to continue.

For Schema Master, type transfer schema master and press Enter.

For RID Master, type transfer rid master and press Enter.

For Domain Naming Master, type transfer naming master and press Enter.

For PDC Emulator, type transfer pdc and press Enter.

For Infrastructure Master, type transfer infrastructure master and press Enter.


REFERENCE

https://www.dtonias.com/transfer-fsmo-roles-domain-controller/



Errore accesso Microsoft 365 - 80090034

Durante l'accesso con l'account di Microsoft 365 mi sono trovato di fronte a questo errore, che mi ha davvero spiazzato.

Your computer trusted platform module has failed. If this error persist contaact your administrator

Error code 80090034

Server message: encryption failed

"

La situazione era questa.

un laptop in dominio, fuori sede, non collegaao alla VPN.

Microsoft 365 hybrid, collegato al dominio AD.

Il problema di attivazione non si manifestava con utenti locali, ma solo con quelli di dominio.

La soluzione, nel mio caso con era collegata al TPM, ed era abbastanza banale. E' stato sufficiente collegarsi alla vpn prima di fare l'accesso, in modo da mettere il portatile in comunicazione con il DC.

In alternativa attivare il 365 qquando di e' in rete.

Dopodiche' ha funzionato tutto perfettamente.