امنیت DNS در ویندوز سرور
اگه DNS هک بشه، همهچی قاتی پاتی میشه
🌐 اول بریم سراغ اصل قضیه: DNS چیه؟
به زبان ساده، DNS مثل دفترچه تلفن اینترنتیه.
تو فقط اسم سایت رو میزنی (مثلاً persolbusiness.com) و DNS برات شماره تلفنش (آیپی) رو پیدا میکنه. 📞
حالا اگه کسی دفترچه تلفنت رو دستکاری کنه چی میشه؟
درست حدس زدی! 😱 کاربر بهجای سایت اصلی، میره توی سایت قلابی — همون «هک شیک و بیصدا» که هیچکس نمیفهمه چی شد.
👀 چرا باید DNS رو امن کنیم؟
DNS مثل مغز شبکه است.
همهی درخواستها ازش رد میشن.
اگه اون آلوده بشه، کل اکتیودایرکتوری، کاربران و حتی سرویسهای حیاتی مثل Exchange و SharePoint میرن رو هوا 🚀
چند تا دلیل ساده ولی واقعی:
جلوگیری از حملات DNS Spoofing یا Cache Poisoning
حفظ درستی رکوردهای دامنه
جلوگیری از نشت اطلاعات دامنه و سرورها
حفظ امنیت کاربران داخلی (مخصوصاً وقتی همه Domain Joined هستن)
🔩 گامبهگام امن کردن DNS در ویندوز سرور / اکتیودایرکتوری
۱. 💂 فعال کردن Secure Dynamic Updates
در DNS Manager، روی Zone مربوطه (مثلاً corp.local) راستکلیک کن → Properties → تب General
در بخش Dynamic updates گزینهی
✅ “Secure only” رو انتخاب کن.
🔹 چرا؟
اینطوری فقط کامپیوترهایی که عضو دامنه هستن و از Kerberos احراز هویت شدن، میتونن رکورد DNS بسازن یا آپدیت کنن.
بقیه بیاجازه میان؟ در بستهست 😎
۲. 🚧 بستن دسترسی غیرضروری به Zone Transfers
برو به تب Zone Transfers و مطمئن شو که:
گزینهی “Allow zone transfers” رو یا خاموش کنی
یا فقط به سرورهای خاص (Secondary DNS) اجازه بدی.
🔹 چرا؟
چون Zone Transfer یعنی «کل فهرست رکوردهای DNS» — اگه اشتباهی برای همه باز باشه، هکر راحت میفهمه کل شبکهت از چی تشکیل شده!
۳. 🕵️ فعال کردن DNS Logging و Auditing
توی Event Viewer و از مسیرApplications and Services Logs > Microsoft > Windows > DNS-Server
مطمئن شو Logging فعاله.
برای حرفهایترها: PowerShell فرمان زیر رو اجرا کن:
Set-DnsServerDiagnostics -All $true
🔹 این کار کمک میکنه بفهمی کی، چه رکوردی رو و کی تغییر داده.
اگه یه نفر رکورد مهمی رو دستکاری کنه، ردش میمونه 😉
۴. 🧱 محدود کردن دسترسی در سطح ACL
توی DNS Manager → روی Zone راستکلیک کن → Properties → Security Tab
فقط گروههای زیر باید دسترسی داشته باشن:
Authenticated Users (Read Only)
DNS Admins (Full Control)
SYSTEM
🔹 کاربر عادی یا گروه ناشناس؟ ❌ حذف کنش.
۵. 🚨 تنظیم DNS Response Rate Limiting (RRL)
از ویندوز سرور ۲۰۱۶ به بعد، میتونی جلوی حملات DDoS از نوع DNS Amplification رو با تنظیم RRL بگیری:
Set-DnsServerResponseRateLimiting -ResponsesPerSec 5 -LeakRate 3 -TruncateRate 2 -WindowInSec 10
🔹 خلاصهاش:
اگه کسی شروع کرد به اسپم کردن سرور DNS با درخواستهای عجیب، سیستم خودش جلوش ترمز میکشه 🛑
۶. 🌍 جلوگیری از Queryهای خارجی (در DNS داخلی)
DNS شما مخصوص شبکه داخلیه، پس چرا باید از بیرون پاسخ بده؟
در DNS Manager → Properties → Interfaces Tab فقط کارت شبکه داخلی رو انتخاب کن.
🔹 یعنی فقط دستگاههای درون شبکه میتونن ازش جواب بگیرن.
۷. 🧠 فعال کردن DNSSEC (در صورت نیاز)
DNSSEC (DNS Security Extensions) کمک میکنه رکوردهای DNS امضای دیجیتال داشته باشن، تا از جعل یا تغییرش جلوگیری بشه.
اجرای PowerShell زیر:
Add-DnsServerSigningKey -ZoneName “corp.local” -CryptoAlgorithm RSASHA256 -KeyLength 2048
Enable-DnsServerZoneSigning -ZoneName “corp.local”
🔹 البته این بیشتر برای محیطهای بزرگ یا Public DNS کاربرد داره، ولی امنیتش عالیه!
۸. 💾 پشتیبانگیری منظم از Zoneها
هر از چند وقت، تنظیمات DNS رو Export کن:
Export-DnsServerZone -Name “corp.local” -FileName “C:\Backup\corp.local.dns”
🔹 اگه یه روز رکوردها پریدن یا خراب شدن، با یه Import برمیگردن.
۹. 🧩 مانیتورینگ و هشداردهی
از ابزارهایی مثل:
Zabbix
PRTG Network Monitor
Microsoft Sentinel (یا حتی Event Viewer + Task Scheduler)
برای تشخیص تغییرات یا رفتار مشکوک استفاده کن.
🔹 مثال طنز:
یه بار یکی از کاربرا یه رکورد DNS ساخت به اسم server-upgrade.local برای شوخی… اما نتیجه؟ نصف شبکه رفت رو اون رکورد اشتباهی 😂
🧯 چند حمله معروف DNS که باید حواست بهش باشه
| نوع حمله | توضیح کوتاه |
|---|---|
| DNS Spoofing | جعل پاسخهای DNS برای هدایت کاربر به سایت تقلبی |
| Cache Poisoning | تزریق رکوردهای جعلی در حافظهی DNS |
| NXDOMAIN Flood | ارسال درخواستهای بیپایان برای دامنههای وجودنداشته |
| DNS Amplification | استفاده از سرور DNS شما برای حمله به بقیه! |
💡 چند توصیه طلایی آخر
همیشه سیستمعامل و رولهای DNS رو بهروز نگه دار.
آنتیویروس یا EDR سازمانی روی سرور نصب کن.
از Least Privilege Principle پیروی کن.
و مهمتر از همه: DNS رو شوخی نگیر! 😅
🧱 جمعبندی
DNS مثل ستون فقرات اکتیودایرکتوریه.
اگه اون بشکنه، کل بدن از کار میافته 🧍♂️
پس با چند تنظیم ساده و دقیق، میتونی از فاجعههای بیصدا جلوگیری کنی.