مقدمه
DNS یکی از حیاتیترین اما اغلب نادیدهگرفتهشدهترین سطوح حمله در زیرساخت است. مسمومسازی cache DNS، ربودن DNS و خروج داده مبتنی بر DNS تهدیدات واقعی هستند. DNSSEC امضاهای رمزنگاری به رکوردهای DNS اضافه میکند.
حملات DNS
- Cache Poisoning: تزریق پاسخهای جعلی به resolver
- DNS Hijacking: سازش nameserver یا حساب registrar
- DNS Exfiltration: رمزگذاری دادههای دزدیدهشده در query های DNS
DNSSEC: امضای Zone
BASH
# تولید کلیدها
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE company.com # ZSK
dnssec-keygen -a RSASHA256 -b 4096 -n ZONE -f KSK company.com # KSK
# امضای zone
dnssec-signzone -A -o company.com -t company.com.zone
# با PowerDNS (آسانتر)
pdnsutil secure-zone company.com
pdnsutil show-zone company.com | grep DS # DS record برای registrarاعتبارسنجی DNSSEC روی Resolver
BASH
# در BIND
options {
dnssec-validation auto;
};
# تست
dig +dnssec A company.com
# اگر پرچم "ad" در پاسخ باشد: احراز هویت انجام شدفیلتر DNS با RPZ
BASH
# /var/named/rpz.company.local.zone
malware-site.com.rpz.company.local CNAME . # بازگشت NXDOMAIN
phishing.net.rpz.company.local CNAME .امنیت DNS یک مشکل لایهای است: DNSSEC از جعل جلوگیری میکند، فیلتر DNS دامنههای مخرب شناختهشده را مسدود میکند و DoT/DoH query ها را در حین انتقال رمزگذاری میکند.
