Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Windows Server'da çalışan DNS Sunucusu hizmetinde HTTPS (DoH) üzerinden DNS'nin nasıl etkinleştirileceği açıklanmaktadır.
Geleneksel DNS trafiği şifrelenmemiştir ve bu da DNS sorgularını ağınızdaki saldırganların dinlemesine, kesmesine ve düzenlemesine maruz bırakır. İstemcilerle DNS sunucunuz arasındaki DNS iletişimini korumanız gerekiyorsa, DoH'un etkinleştirilmesi bu trafiği HTTPS kullanarak şifreler ve yetkisiz gözlem veya kurcalamayı önler.
DoH'un nasıl çalıştığı hakkında daha fazla bilgi için bkz. HTTPS üzerinden DNS kullanarak DNS şifreleme.
Önkoşullar
Başlamadan önce şunların olduğundan emin olun:
2026-06 Güvenlik Güncelleştirmesi (KB5094125) veya üzeri yüklü Windows Server 2025
Sertifika yetkilisine (CA) erişim:
- Yayımlanan sertifika şablonlarıyla Microsoft Kurumsal Sertifika Yetkilisi
Veya
- DigiCert, Let's Encrypt veya Verisign gibi üçüncü taraf sertifika sağlayıcısı
DoH için 443 numaralı TCP bağlantı noktasında gelen bağlantılara izin verecek şekilde yapılandırılmış güvenlik duvarı kuralları
DNS Sunucusu hizmetini barındıran Windows Server'a yönetim veya eşdeğer erişim
DoH sertifikaları aşağıdaki gereksinimleri karşılamalıdır:
Gelişmiş Anahtar Kullanımı uzantısı: Sunucu Kimlik Doğrulaması (1.3.6.1.5.5.7.3.1) nesne tanımlayıcısı içermelidir
Konu veya Konu Alternatif Adı: Konu Alternatif Adı (SAN) ile yapılandırılmış DoH URI şablonunuzla eşleşen tam etki alanı adına veya IP adresine sahip imzalı sertifika
Özel anahtar: Yerel Bilgisayarın deposunda bulunmalı, sertifikayla doğru ilişkilendirilmelidir ve güçlü özel anahtar koruması etkinleştirilmemiş olmalıdır
Güven zinciri: Hem DNS sunucusunun hem de DNS istemcilerinin güvendiği bir CA tarafından verilmelidir
Daha karmaşık sertifika kurulumları için bkz. Sertifikalar ve Ortak Anahtarlar ve Sertifikalarla Çalışma.
Sertifikayı içeri aktarma
Sunucuda zaten bir sertifikanız varsa Sertifikayı bağlama bölümüne gidin. Aksi takdirde sertifikanızı sunucuya aktarın.
Sertifikanın
.pfxdosyasını (hem sertifika hem de özel anahtar içeren) DNS Sunucusunu barındıran sunucuya yerleştirin.PowerShell'i yönetici olarak açın ve aşağıdaki komutu çalıştırarak sertifikayı içeri aktarın.
<pfxpath>ile.pfxdosyanızın yolunu ve<pfxpassword>ile.pfxdosyanızın parolasını değiştirin.Import-PfxCertificate ` -FilePath "<pfxpath>" ` -CertStoreLocation "Cert:\LocalMachine\My" ` -Password (Read-Host -AsSecureString "<pfxpassword>")İstendiğinde sertifikanızın parolasını girin.
Sertifikanın başarıyla içeri aktarıldığını doğrulamak için aşağıdaki komutu çalıştırın ve değerini sertifikanızın konusuyla değiştirin
<subject-name>:Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "<subject-name>" }
Sertifikayı bağlama
Sertifikayı içeri aktardıktan sonra, DNS Sunucusunun HTTPS bağlantıları için kullanabilmesi için sertifikayı sunucu bağlantı noktasına bağlayın.
Aşağıdaki komutu çalıştırarak yeni bir GUID oluşturun ve bunu bir değişkende depolayın:
$guid = New-GuidAşağıdaki komutu çalıştırarak sertifikanızı alın ve bir değişkende depolayın. Sertifikanızın konusuyla
<subject-name>değerini değiştirin.$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "<subject-name>" }Aşağıdaki komutu çalıştırarak sertifikayı sunucu bağlantı noktasına bağlayın:
netsh http add sslcert ipport=0.0.0.0:443 certhash=$($cert.Thumbprint) appid="{$guid}"
Tavsiye
Belirli bir IP adresinde, tüm adresler yerine, DNS Sunucusu hizmetinin DoH trafiğine yanıt vermesini sağlamak için 0.0.0.0'yi istediğiniz IP adresiyle değiştirin. IP adresi, sertifikanızın SAN'sindeki ana bilgisayara ya eşleşmeli ya da çözümlenmelidir.
443'i farklı bir bağlantı noktası numarasıyla da değiştirebilirsiniz.
Sertifika bağlamasını doğrulama
Sertifikanızın doğru IP adresine ve bağlantı noktasına düzgün şekilde bağlı olduğunu onaylayın.
SSL sertifika bağlamalarını görüntülemek için aşağıdaki komutu çalıştırın:
netsh http show sslcertÇıkışın IP adresinizi ve bağlantı noktanızı gösterdiğinden emin olun. Ayrıca, sertifika karmasının parmak izinizle eşleşip eşleşmediğini kontrol edin.
Güvenlik duvarı kurallarını yapılandırma
DoH, şifrelenmemiş DNS'den farklı bir TCP bağlantı noktası kullandığından, güvenlik duvarınızı sertifikayı bağlarken belirttiğiniz bağlantı noktasında gelen trafiğe izin verecek şekilde yapılandırmanız gerekir. Varsayılan olarak DoH, URI şablonunda ve sertifika bağlama adımlarında farklı bir bağlantı noktası belirtmediğiniz sürece 443 numaralı TCP bağlantı noktasını kullanır.
Aşağıdaki adımları kullanarak Windows Güvenlik Duvarı'nı yapılandırılan DoH bağlantı noktasında gelen bağlantılara izin verecek şekilde yapılandırın:
Gelen DoH trafiğine izin veren bir güvenlik duvarı kuralı oluşturmak için aşağıdaki komutu çalıştırın:
New-NetFirewallRule -DisplayName "DNS over HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action AllowAşağıdaki komutu çalıştırarak güvenlik duvarı kuralının oluşturulduğunu doğrulayın:
Get-NetFirewallRule -DisplayName "DNS over HTTPS"
Uyarı
DoH'yi farklı bir bağlantı noktası kullanacak şekilde yapılandırdıysanız 443'yi özel bağlantı noktası numaranızla değiştirin. Donanım güvenlik duvarı veya ağ güvenlik grubu kullanıyorsanız aynı bağlantı noktasında gelen TCP trafiğine de izin verdiğinden emin olun.
DoH'yi etkinleştirme
Sertifikayı bağladıktan ve güvenlik duvarı kurallarını yapılandırdıktan sonra, DNS Sunucunuzda DoH'yi etkinleştirin.
DoH'yi etkinleştirin ve Set-DnsServerEncryptionProtocol komutunu kullanarak URI şablonunu ayarlayın. Sertifikanızdaki SAN'da bulunan ana bilgisayar adı (veya IP adresi) ile
dns.contoso.comdeğerini değiştirin.Set-DnsServerEncryptionProtocol -EnableDoh $true -UriTemplate "https://dns.contoso.com:443/dns-query"Uyarı
URI şablonundaki bağlantı noktası numarasının sertifikayı bağlarken kullandığınız bağlantı noktası numarasıyla eşleştiğinden emin olun.
Değişiklikleri uygulamak için DNS hizmetini yeniden başlatın:
Restart-Service -Name DNS
DoH yapılandırmasını doğrulama
Bir istemciden yapılandırmayı ve testi doğrulayarak DoH'un düzgün çalışıp çalışmadığını test edin.
Get-DnsServerEncryptionProtocol komutunu kullanarak sunucudaki DoH yapılandırmasını doğrulayın:
Get-DnsServerEncryptionProtocolSunucuda Olay Görüntüleyicisi'ni açın ve Uygulamalar ve Hizmetler Günlükleri > DNS Sunucusu'na gidin.
DoH hizmetinin başarıyla başlatıldığını gösteren olay kimliğini
822denetleyin.
İstemci üzerinden DoH testi yapın
DoH'un düzgün çalıştığını onaylamak için DoH özellikli bir istemciden DNS çözümlemesini test edin.
Yapılandırdığınız URI şablonuyla DNS sunucunuz için şifreleme kullanmak üzere bir DoH istemcisi yapılandırın. İstemci yapılandırma adımları için bkz. HTTPS (DoH) üzerinden DNS İstemcisi'nin güvenliğini sağlama.
Yapılandırılan DoH istemcisinden Resolve-DnsName komutunu kullanarak DNS çözümlemesini test edin. değerini, çözümlemek istediğiniz bir etki alanıyla değiştirin
contoso.com:Resolve-DnsName -Name contoso.com -Type ADNS sorgusu başarıyla çözülür.
DoH etkinliğini daha fazla doğrulamak için, DNS Sunucunuzda DoH'u izlemek için sonraki adım makalesini izleyin.