Protéger les zones DNS contre les suppressions accidentelles

Premièrement, vous devez identifier l’ensemble des zones qui ne sont pas protégées contre la suppression accidentelle. Cela peut être fait en Powershell. Avant de continuer, il est important de rappeler que l’ensemble des procédures doivent d’abord être testées en environnement de LAB / Pré-production avant l’application en production.

Une fois les zones protégées, vous ne pourrez plus les supprimer ou modifier les scopes de réplications sans avoir au préalable retiré la protection contre la suppression accidentelle. Sinon, vous obtiendrez les messages d’erreurs suivants :

 

Identifier l’ensemble des zones qui ne sont pas protégés contre la suppression accidentelle :

Partition de domaine :

1
2
3
4
Get-ADObject -Filter "ObjectClass -like 'dnszone'"
-SearchScope Subtree -SearchBase “CN=MicrosoftDNS,CN=System,DC=CONTOSO,DC=lan”
-properties ProtectedFromAccidentalDeletion |
where {$_.ProtectedFromAccidentalDeletion -eq $False} | Select name,protectedfromaccidentaldeletion | out-gridview

DomainDNSZones :

1
2
3
4
Get-ADObject -Filter "ObjectClass -like 'dnszone'"
-SearchScope Subtree -SearchBase “DC=Domaindnszones,DC=CONTOSO,DC=lan”
-properties ProtectedFromAccidentalDeletion |
where {$_.ProtectedFromAccidentalDeletion -eq $False} | Select name,protectedfromaccidentaldeletion | out-gridview

ForestDNSZones :

1
2
3
4
Get-ADObject -Filter "ObjectClass -like 'dnszone'"
-SearchScope Subtree -SearchBase “DC=Forestdnszones,DC=CONTOSO,DC=lan”
-properties ProtectedFromAccidentalDeletion |
where {$_.ProtectedFromAccidentalDeletion -eq $False} | Select name,protectedfromaccidentaldeletion | out-gridview

Vous devez bien remplacer la valeur de l’attribut SearchBase par le FQDN de votre nom de domaine. Si vous possédez des zones qui ne sont pas protégées contre la suppression accidentelle, elles apparaîtront :

Si vous avez donc des zones qui remontent comme n’étant pas protégées contre la suppression accidentelle, vous devez lancer les commandes suivantes en ayant bien changé le FQDN par votre domaine :

Partition de domaine:

1
2
3
4
5
Get-ADObject -Filter "ObjectClass -like 'dnszone'"
-SearchScope Subtree -SearchBase “CN=MicrosoftDNS,CN=System,DC=Contoso,DC=lan”
-properties ProtectedFromAccidentalDeletion |
where {$_.ProtectedFromAccidentalDeletion -eq $False} |
Set-ADObject –ProtectedFromAccidentalDeletion $true

DomainDNSZones:

1
2
3
4
5
Get-ADObject -Filter "ObjectClass -like 'dnszone'"
-SearchScope Subtree -SearchBase “DC=Domaindnszones,DC=CONTOSO,DC=lan”
-properties ProtectedFromAccidentalDeletion |
where {$_.ProtectedFromAccidentalDeletion -eq $False} |
Set-ADObject –ProtectedFromAccidentalDeletion $true

ForestDNSZones:

1
2
3
4
5
Get-ADObject -Filter "ObjectClass -like 'dnszone'"
-SearchScope Subtree -SearchBase “DC=Forestdnszones,DC=CONTOSO,DC=lan”
-properties ProtectedFromAccidentalDeletion |
where {$_.ProtectedFromAccidentalDeletion -eq $False} |
Set-ADObject –ProtectedFromAccidentalDeletion $true

Une fois les modifications effectuées, nous pouvons vérifier toutes les zones qui sont protégées contre les suppressions accidentelles :

Partition de domaine:

1
2
3
4
5
Get-ADObject -Filter "ObjectClass -like 'dnszone'"
-SearchScope Subtree -SearchBase “CN=MicrosoftDNS,CN=System,DC=CONTOSO,DC=lan”
-properties ProtectedFromAccidentalDeletion |
where {$_.ProtectedFromAccidentalDeletion -eq $true} |
Select name,protectedfromaccidentaldeletion | out-gridview

DomainDNSZones:

1
2
3
4
5
Get-ADObject -Filter "ObjectClass -like 'dnszone'"
-SearchScope Subtree -SearchBase “DC=Domaindnszones,DC=CONTOSO,DC=lan”
-properties ProtectedFromAccidentalDeletion |
where {$_.ProtectedFromAccidentalDeletion -eq $true} |
Select name,protectedfromaccidentaldeletion | out-gridview

ForestDNSZones:

1
2
3
4
5
Get-ADObject -Filter "ObjectClass -like 'dnszone'"
-SearchScope Subtree -SearchBase “DC=Forestdnszones,DC=CONTOSO,DC=lan”
-properties ProtectedFromAccidentalDeletion |
where {$_.ProtectedFromAccidentalDeletion -eq $true} |
Select name,protectedfromaccidentaldeletion | out-gridview

Sources:

https://blogs.technet.microsoft.com/networking/2016/08/11/how-to-prevent-accidental-dns-zone-deletions-in-windows-server/

https://blogs.technet.microsoft.com/askpfeplat/2013/11/25/how-to-save-the-dns-cheese-protect-ad-integrated-dns-zones-from-accidental-deletions/