امنیت DNS در ویندوز سرور

امنیت DNS در ویندوز سرور

اگه 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 مثل ستون فقرات اکتیودایرکتوریه.
اگه اون بشکنه، کل بدن از کار می‌افته 🧍‍♂️
پس با چند تنظیم ساده و دقیق، می‌تونی از فاجعه‌های بی‌صدا جلوگیری کنی.

دیدگاه‌ خود را بنویسید

پیمایش به بالا