DNS Recursion Checker - Kapsamlı Recursive DNS Analizi
DNS Recursion Checker ile IP adreslerinin recursive DNS özelliğini test edin. DNS güvenlik açıklarını tespit edin ve network güvenliğinizi artırın.
DNS Recursion Nedir?
DNS Recursion, bir DNS sunucusunun client adına başka DNS sunucularına sorgu göndermesi özelliğidir. Recursive DNS sunucuları, kendilerinde bulunmayan kayıtları diğer DNS sunucularından sorgulayarak client'a tam yanıt döner.
Güvenlik Riskleri
- 🚨 DNS Amplification: DDoS saldırılarında kuvvetlendirici
- 💀 Reflection Attacks: Yansıma saldırıları
- 🔓 Open Resolver: Herkese açık DNS çözümleyici
- ⚠️ Resource Abuse: Kaynak kötüye kullanımı
- 🎯 Cache Poisoning: DNS cache zehirleme
Güvenli Yapılandırma
- ✅ Restricted Access: Sadece güvenilir client'lar
- 🔒 ACL Implementation: Access Control Lists
- 🛡️ Rate Limiting: Sorgu hızı sınırlaması
- 🔍 Query Monitoring: Sorgu izleme
- 📝 Logging: Detaylı günlük tutma
DNS Recursion Test
Bu araç ile tek IP adresi bazında DNS recursion testi yapabilirsiniz. IP adresi girerek o sunucunun recursive DNS sorguları kabul edip etmediğini öğrenebilirsiniz.
Manuel DNS Recursion Testi
dig Komutu ile Test
# Recursion test
dig @8.8.8.8 google.com
# Recursion flag kontrol
dig @8.8.8.8 google.com +norecurse
# Detaylı debug
dig @8.8.8.8 google.com +trace
# IPv6 test
dig @2001:4860:4860::8888 google.com AAAA
nslookup ile Test
# Windows/Linux nslookup
nslookup
> server 8.8.8.8
> set norecurse
> google.com
# Tek komut
nslookup google.com 8.8.8.8
Python ile Recursion Test
import socket
import struct
def test_dns_recursion(ip, port=53):
"""DNS recursion test"""
try:
# DNS query packet
query_id = 0x1234
flags = 0x0100 # Recursion desired
# Create socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.settimeout(5)
# DNS query for google.com
query = struct.pack('>HHHHHH', query_id, flags, 1, 0, 0, 0)
query += b'\x06google\x03com\x00' # Domain name
query += struct.pack('>HH', 1, 1) # Type A, Class IN
# Send query
sock.sendto(query, (ip, port))
response, addr = sock.recvfrom(512)
# Parse response flags
response_flags = struct.unpack('>H', response[2:4])[0]
recursion_available = bool(response_flags & 0x0080)
sock.close()
return 'open' if recursion_available else 'closed'
except Exception as e:
return 'error'
# Test örneği
result = test_dns_recursion('8.8.8.8')
print(f"DNS Recursion: {result}")
DNS Server Güvenlik
BIND9 Güvenli Yapılandırma
# /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
// Recursion sadece local network
allow-recursion {
127.0.0.1;
192.168.0.0/16;
10.0.0.0/8;
};
// Query restrictions
allow-query {
127.0.0.1;
192.168.0.0/16;
};
// Rate limiting
rate-limit {
responses-per-second 10;
window 10;
};
};
Windows DNS Server
# PowerShell ile yapılandırma
# Recursion disable
Set-DnsServerRecursion -Enable $false
# Access control
Add-DnsServerQueryResolutionPolicy `
-Name "Allow-Internal" `
-Condition "And" `
-ClientSubnet "EQ,192.168.0.0/16" `
-Action Allow
# Rate limiting
Set-DnsServerResponseRateLimiting `
-ResponsesPerSec 10 `
-ErrorsPerSec 5
DNS Amplification Saldırıları
DNS amplification saldırıları, açık DNS resolver'ları kullanarak küçük sorguları büyük yanıtlara dönüştürür. Saldırgan, sahte source IP ile küçük DNS sorgusu gönderir ve büyük yanıt kurbanın IP'sine iletilir.
Sorgu Türü |
Request Size |
Response Size |
Amplification Factor |
A Record |
~60 bytes |
~100 bytes |
1.7x |
ANY Record |
~60 bytes |
~3000 bytes |
50x |
TXT Record |
~60 bytes |
~1500 bytes |
25x |
DNSSEC |
~60 bytes |
~4000 bytes |
65x |
Sıkça Sorulan Sorular
Açık DNS recursion, DNS amplification saldırılarında kuvvetlendirici olarak kullanılır. Saldırganlar küçük sorguları büyük yanıtlara dönüştürerek DDoS saldırısı gerçekleştirir. Ayrıca DNS cache poisoning ve resource abuse risklerine yol açar.
Sadece güvenilir internal network'ler (192.168.x.x, 10.x.x.x, 172.16-31.x.x) ve authenticate olmuş client'lar recursion kullanmalı. Public internet'ten gelen recursive sorguları asla kabul etmeyin.
BIND9'da allow-recursion direktifi ile IP kısıtlaması yapın. Windows DNS'te recursion'ı disable edin. Firewall'da port 53'ü sadece güvenilir source'lara açın. ACL policies uygulayın ve rate limiting aktifleştirin.
Anormal DNS query volume, büyük response packet'ler, bilinmeyen source IP'lerden gelen sorgular, ANY record sorguları artışı ve outbound traffic spike'ları DNS amplification saldırısının işaretleridir.
Recursive DNS, client adına diğer DNS sunucularını sorgular ve cache'ler. Authoritative DNS ise sadece kendi zone'undaki kayıtlar için yetkilidir ve başka sunucu sorgulamaz. İdeal yapıda ikisi ayrı server'larda çalışmalı.
Google DNS (8.8.8.8), Cloudflare (1.1.1.1) gibi public DNS servisleri, özellikle recursive service sağlamak için tasarlanmıştır. Bu servisler güçlü DDoS protection, rate limiting ve abuse detection sistemleri ile korunur.
İlgili DNS Araçları
DNS güvenliği için diğer professional araçlarımızı da kullanabilirsiniz:
Comprehensive DNS record sorguları
IP'den domain adı çözümleme
Email güvenlik policy kontrolü
Kapsamlı DNS sağlık analizi