CyberFlow Logo CyberFlow BLOG
Dns Pentest

BIND ve Windows DNS Güvenlik Yapılandırmaları: Kapsamlı Bir Analiz

✍️ Ahmet BİRKAN 📂 Dns Pentest

BIND ve Windows DNS güvenliği ile ilgili kritik yapılandırmaları ve en iyi uygulamaları öğrenin.

BIND ve Windows DNS Güvenlik Yapılandırmaları: Kapsamlı Bir Analiz

DNS güvenliği, siber tehditlerle başa çıkmak için kritik bir öneme sahiptir. BIND ve Windows DNS yapılandırmalarında neleri göz önünde bulundurmalısınız? Detaylı analiz için yazımıza göz atın.

Giriş ve Konumlandırma

Siber güvenlik alanında, DNS (Domain Name System) servisi, sistemlerin ulaşabilirliğini ve internet üzerindeki iletişimini sağlamak için kritik bir rol oynamaktadır. Kullanıcılar web sitelerine erişim sağlarken, arxa planda DNS sunucuları, alan adlarını IP adreslerine çevirerek bu süreci kolaylaştırmaktadır. Ancak, bu sistemdeki güvenlik açığı, sadece kişisel verilerin değil, tüm ağın güvenliğini tehlikeye atabilecek kadar önemlidir. Bu nedenle BIND (Berkeley Internet Name Domain) ve Windows DNS gibi yaygın kullanılan DNS sunucu yazılımlarının güvenlik yapılandırmaları, siber güvenlik uzmanları için öncelikli bir odak noktasıdır.

DNS Güvenliğinin Önemi

DNS, internetin çalışma prensiplerinden birini oluştururken, aynı zamanda birçok saldırı türünün hedefi haline gelmektedir. Söz konusu saldırılar arasında DNS spoofing, DNS hijacking ve DDoS (Distributed Denial of Service) gibi tehditler bulunur. Özellikle BIND ve Windows DNS gibi serverların yapılandırmalarının bir sızma testi senaryosunda test edilmesi, bu noktada kritik bir önem taşımaktadır. Yanlış yapılandırmalar veya eksik önlemler, siber suçluların ağa sızmasını ve veri manipülasyonu gerçekleştirmesini kolaylaştırabilir.

Belirli bir yapılandırma veya önlem alınmadığında, örneğin BIND sunucusu varsayılan olarak version.bind sorgusuna yanıt vererek versiyon numarasını ifşa edebilir. Bu, saldırganların hedefe yönelik exploit seçimini kolaylaştıran bir durumdur. Dolayısıyla, DNS sunucularının güvenliği, özellikle pentest çalışmaları için uygulanabilir en iyi pratiklerin dikkate alınmasını gerektirmektedir.

BIND ve Windows DNS Arasındaki Farklar

BIND ve Windows DNS, farklı platformlarda çalışan iki ayrı sistemdir. BIND, çoğunlukla Unix tabanlı sistemlerde yaygınken, Windows DNS, Windows ortamlarında Adobe ortamları ile entegrasyonu kolaylaştırır. BIND sunucularında tipik olarak daha fazla özelleştirme ve esneklik sağlanırken, Windows DNS genellikle kullanıcı dostu arayüzler sunarak yöneticilerin işini kolaylaştırır. Bununla birlikte, her iki sistem için de zayıf yapılandırmaların tespiti ve düzeltilmesi büyük önem taşımaktadır.

Pentest ve Savunma Bağlamı

Sızma testleri (pentest) sırasında, DNS sunucuları yüksek önemk taşıyan hedeflerden biridir. DNS servisi, hem bir bilgi kaynağı hem de ağın karar verme süreçlerinde bir anahtar rolü arz eder. Dolayısıyla, sızma testleri sırasında DNS yapılandırmalarının gözden geçirilmesi yalnızca güvenlik açıklarını tespit etmek için değil, aynı zamanda olası saldırı vektörlerini anlamak için de gereklidir. DNS üzerinde yapılan kötü niyetli değişiklikler ve saldırılar, uygulama katmanındaki sistemleri dahi etkileyebilir.

Örneğin, Windows sunucularında etkin bir "Cache Locking" mekanizması, bir DNS kayıtlarının TTL süresi dolana kadar üzerine yazılmasını engellemektedir. Bu özellik, zehirleme (cache poisoning) saldırılarına karşı ciddi bir koruma sağlar. BIND sunucularında ise, erişim kontrol listeleri (ACL) kullanılarak, sunucuya kimlerin sorgu atabileceği belirlenebilir.

Kısacası, BIND ve Windows DNS yapılandırmalarının güvenliği, siber savunma stratejilerinin temel bir parçasıdır ve bu konudaki farkındalık, ağ güvenliğini artırmak için esastır.

Teknolojik Hazırlık

Bu blog yazısının devamında, BIND ve Windows DNS yedeklemesi, yönetimi ve güvenli bileşenlerinin detaylarına inilecek. Her bölümde, belirli güvenlik yapılandırmalarının nasıl uygulanacağını ve bunların siber güvenlik alanındaki etkilerini ele alacağız. DNS güvenliği için önerilen en iyi uygulamalar, teknik detaylarla birlikte aktarılacak ve okuyucunun konuyla ilgili bilgi düzeyinin artırılması sağlanacaktır.

Bu bağlamda, siber güvenlik profesyonellerinin, DNS yönetimi ve güvenliğinde karşılaşabilecekleri zorlukları etkin bir şekilde aşabilmeleri için gerekli bilgi ve becerilere sahip olmaları amaçlanmaktadır.

Teknik Analiz ve Uygulama

BIND: Versiyon Bilgisi Gizleme

BIND yapılandırmasında, sunucu sürümünün gizlenmesi kritik bir güvenlik önlemidir. Varsayılan olarak, BIND sunucuları version.bind sorgusuna yanıt verir ve bu bilgiler saldırganlar tarafından potansiyel açıkların belirlenmesinde kullanılabilir. Bu durumu önlemek için named.conf dosyasına aşağıdaki satırı eklemek gerekir:

version "None";

Bu, BIND sunucusunun sürüm bilgisini gizler ve bu bilgilere erişimi kısıtlar.

Windows DNS: Önbellek Kilitleme

Windows Server 2008 R2 ile gelen önbellek kilitleme (Cache Locking), DNS kayıtlarının zaman aşımına uğramadan değiştirilmesini engeller. Bu özellik, zehirleme saldırılarını zorlaştırarak, sistemin güvenliğini artırır. Önbellek kilitlemeyi etkinleştirmek için grup politikaları üzerinden yapılandırma yapılabilir. Bu sayede, beklenmedik değişikliklerin önüne geçilmiş olunur.

BIND: Erişim Kontrol Listeleri (ACL)

BIND üzerinde erişim kontrol listeleri (ACL), sunucunun sadece belirli IP bloklarından gelen sorgulara yanıt vermesini sağlar. Kullanıcıların belirli kaynaklardan sadece yetkili sorguları gönderebilmeleri için uygun erişim kontrolleri yapılmalıdır. Örnek bir ACL yapılandırması aşağıdaki gibidir:

acl "trusted" {
    192.168.1.0/24;
    10.0.0.0/8;
};

allow-query { "trusted"; };

Bu yapılandırma, sadece belirtilen IP bloklarından gelen sorguların işlenmesine olanak tanır.

Windows DNS: Güvenli Dinamik Güncellemeler

Özellikle Active Directory ortamlarda, DNS kayıtlarının güvenli bir şekilde güncellenmesi önem taşır. Windows DNS'in "Secure Only" seçeneği, sadece etki alanına dahil olan cihazların DNS kayıtlarını güncelleyebilmesine olanak verir. Bunu sağlamak için, PowerShell kullanarak aşağıdaki komutu çalıştırmak yeterlidir:

Set-DnsServerDynamicUpdate -DynamicUpdate Secure

Bu ayar, sistemin daha güvenli olmasını sağlar ve dış tehditlere karşı koruma sunar.

Rekürsiyon (Özyineleme) Kontrolü

DNS sunucusunun dış dünyadan gelen rekürsif sorgulara kapalı olması, güvenlik açısından önemlidir. Böylece, sunucu yalnızca kendi bölgesindeki sorgularla sınırlı kalır. Yapılandırmada aşağıdaki satırı kullanarak rekürsiyonu devre dışı bırakmak mümkündür:

recursion no;

Bu komut, sunucunun sadece kendi etki alanına ait sorgularla çalışmasına olanak tanır.

Bölge Transferi Kısıtlaması

BIND sunucuları için bölge transferi (zone transfer) ayarları kritik öneme sahiptir. allow-transfer parametresi boş bırakıldığında, herkese açık bir hale gelerek ağ topolojisinin açığa çıkmasına sebep olabilir. Güvenli bir yapılandırma için belirli IP adresleri tanımlanmalıdır:

zone "example.com" {
    type master;
    file "example.com.db";
    allow-transfer { 192.168.1.10; 192.168.1.11; };
};

Bu ayar, sadece belirtilen IP adreslerine bölge transferine izin verir.

Windows DNS: Global Sorgu Blok Listesi

Windows DNS, zararlı sorguların önlenmesi için bir global sorgu blok listesi sunar. Bu liste, sistem yöneticilerine belirli zararlı isimlerin çözülmesini engelleme imkanı tanır. Sorgu blok listesini geçirmek için PowerShell'de şu komut kullanılabilir:

Get-DnsServerGlobalQueryBlockList

Bu komut ile mevcut blok listesi görüntülenebilir ve gerekli düzenlemeler yapılabilir.

BIND: Yanıt Hızı Sınırlama (RRL)

DDoS amplifikasyon saldırılarına karşı korunmak için, sunucunun belirli bir hedefe saniyede maksimum yanıt sayısını sınırlamak önemlidir. Aşağıdaki yapılandırma ile bu kontrol sağlanabilir:

response-policy {
    zone "example.com" {
        type master;
        responses-per-second 10;
        window 1;
    };
};

Bu ayar, belirli bir zaman diliminde (saniyede 10 yanıt) sınırlı yanıt verilmesine olanak tanır.

Windows DNS: Bölge İmzalaması

DNSSEC, DNS verilerinin güvenliğini sağlamak amacıyla kullanılır. Windows DNS'te kayıtların dijital olarak imzalanması, DNSSEC yapısının bir parçasıdır. Aşağıdaki PowerShell komutunu kullanarak bölge imzalaması yapılabilir:

Add-DnsServerSigningKey -Zone example.com

Bu işlem sonucunda, kayıtların imzalanması ve güvenliğinin sağlanması gerçekleşir.

BIND: Logging ve Denetim

Söz konusu zafiyetlerin tespiti ve kayıt altına alınması için logging ve denetim önemlidir. Aşağıdaki yapılandırma ile sorgu logları aktif hale getirilebilir:

logging {
    category queries { query_log; };
};

Bu, sistem yöneticilerine sorguların kaydını tutma imkanı tanır ve güvenlik gereksinimlerini karşılar.

Yönetimsel Güvenlik

DNS servis yönetimi, sızma testleri sırasında kontrol edilen ilk noktalardandır. Yeterli yetkilere sahip kullanıcıların belirlenmesi ve "Least Privilege" prensibine göre yapılandırmaların yapılması önemlidir. Böylece sistem, olası iç tehditlere karşı daha dayanıklı hale gelir.

Geleceğin Standardı: DoH/DoT

Son yıllarda, DNS sorgularının güvenliğini artırmak için DoH (DNS over HTTPS) ve DoT (DNS over TLS) gibi modern teknolojiler ön plana çıkmaktadır. Bu, DNS sorgularının şifrelenerek daha güvenli bir şekilde iletilmesini sağlar, bu sayede yerel ağdaki manipülasyonlar engellenmiş olur. Gelişen siber tehditlere karşı olarak, bu teknolojilerin entegrasyonu gelecekte kritik bir rol oynayacaktır.

Risk, Yorumlama ve Savunma

Giriş

DNS (Domain Name System), internetin temel yapı taşlarından biri olarak büyük bir rol oynar. Ancak, bu sistemin zayıf noktaları çeşitli siber tehditlere maruz kalmasına neden olabilir. Hem BIND hem de Windows DNS sunucuları için yapılan güvenlik yapılandırmaları, olası riskleri minimize etmek açısından kritik bir öneme sahiptir. Bu bölüm, muhtemel zafiyetlerin risklerini, yorumlamalarını ve bunlara karşı alınabilecek savunma önlemlerini kapsamlı bir şekilde inceleyecektir.

Risklerin Belirlenmesi

Yanlış Yapılandırma ve Zafiyetler

BIND ve Windows DNS sunucularının yanlış yapılandırılması, potansiyel olarak büyük sorunlara yol açabilir. Örneğin, BIND sunucusunun varsayılan olarak version.bind sorgusuna tam sürüm numarasıyla yanıt vermesi, saldırganların sunucuya yönelik exploit seçiminde avantaj sağlamak için kullanabileceği bir bilgi kaynağı oluşturur.

options {
    version "None";  # Versiyon bilgisini gizleme
};

Benzer şekilde, Windows DNS sunucularında "Cache Locking" mekanizmasının devre dışı bırakılması, DNS zehirleme saldırılarına karşı savunmasız kalmasına neden olabilir. Bu özelliğin devre dışı bırakılması durumunda, DNS kayıtlarının TTL süresi dolduktan sonra bile yetkisiz kişiler tarafından değiştirilmesi kolaylaşır.

Ağ Topolojisinin İfşası

Yanlış yapılandırmalar, ağ topologisinin ifşasına yol açabilir. BIND sunucusunda allow-transfer parametresi uygun bir şekilde yapılandırılmadığında, kötü niyetli bir kullanıcı tüm zone dosyasını elde edebilir. Bu durum, potansiyel bir DDoS saldırısı veya sosyal mühendislik saldırıları için bir temel oluşturabilir.

zone "example.com" {
    type master; 
    file "/etc/bind/db.example.com"; 
    allow-transfer { none; };  # Bölge transferinin kısıtlanması
};

Yorumlama: Elde Edilen Bulguların Güvenlik Anlamı

Yapılan risk değerlendirmesinde, elde edilen bulguların güvenlik anlamı oldukça büyüktür. Örneğin, belirli IP bloklarına gelen sorguları kısıtlayan bir Erişim Kontrol Listesi (ACL) yapılandırması, dışardan gelecek saldırılara karşı bir siper olarak işlev görür. Bunun için aşağıdaki gibi bir yapılandırma örneği sunulabilir:

acl "trusted" {
    192.168.1.0/24;  # Güvenilir IP bloğu
};

options {
    allow-query { trusted; };  # Sadece güvenilir IP'lerden sorgulara izin verme
};

Sunucunun sadece belirli IP bloklarından gelen sorgulara yanıt vermesi, "Open Resolver" riskini ortadan kaldırır. Bu, saldırganların sunucu üzerinden zararlı isteklerde bulunmasını engeller.

Savunma: Profesyonel Önlemler

DNS sunucularınızın güvenliği için alabileceğiniz başlıca profesyonel önlemler şunlardır:

  1. Secure Dynamic Updates: Windows DNS ortamlarında, sadece etki alanı içinde bulunan cihazların güncellemeleri yapabilmesi için "Secure Only" seçeneği aktif olmalıdır. Bu, yetkisiz güncellemeleri ortadan kaldırır.

  2. Rekürsiyon Kontrolü: İç ağ sunucularının dışarıya açık dünyadan gelen rekürsif sorgulara kapatılması, profesyonel bir standarttır ve yetkisiz sorgulamaların önüne geçer.

  3. Bölge İmzalaması: DNSSEC kullanılarak verilerin dijital olarak imzalanması, DNS kayıtlarının bütünlüğünü korur ve saldırganların verileri değiştirmesini engeller.

  4. Sorgu Loglarının Aktif Edilmesi: Saldırı anında kimin neyi sorguladığını anlamak için sorgu loglarının aktif edilmesi ve izole edilmesi gereklidir. Bu, olay sonrası analizlerde kritik bir rol oynar.

logging {
    category queries { query_log; };
};  # Sorgu loglarının aktif edilmesi
  1. DDoS Saldırılarına Karşı Koruma: Yanıt hızı sınırlaması (RRL) uygulanarak, sunucunun belirli bir hedefe yanıt gönderme hızının kontrol altında tutulması önemlidir. Bu, DDoS amplifikasyon saldırılarına karşı savunma sağlar.
rate-limit {
    responses-per-second 5;  # Belirli bir isteğe maksimum yanıt oranı
};

Sonuç

BIND ve Windows DNS sunucularının güvenlik yapılandırmaları, olası tehditlere karşı ciddi riskler barındırmaktadır. Yanlış yapılandırmalar, ağ topolojisinin ifşası ve yetkisiz erişimlere yol açabilmektedir. Alınabilecek profesyonel önlemler ve doğru yapılandırmalar, bu riskleri minimize ederek siber güvenlik ortamını güçlendirmektedir. DNS güvenliği, sürekli güncellenmesi gereken dinamik bir alan olup, siber tehditlere karşı daimi bir hazırlık gerektirir.