چرا اگر از وای‌فای عمومی استفاده می‌کنید، LLMNR را غیرفعال کنید؟

آخرین به‌روزرسانی: ۰۱/۰۲/۲۰۲۴
نویسنده: دانیل تراسا

  • LLMNR افراد را در معرض جعل و ضبط هش قرار می‌دهد؛ غیرفعال کردن آن خطرات داخلی را کاهش می‌دهد.
  • غیرفعال کردن آسان: GPO/Registry در ویندوز و ویرایش systemd-resolved در لینوکس.
  • با مسدود کردن یا غیرفعال کردن NBT‑NS و تأیید توسط رجیستری/ترافیک تکمیل می‌شود.
غیرفعال کردن LLMNR

پروتکل LLMNR چهره‌ای آشنا در محیط‌های مایکروسافت است. در شبکه‌هایی که ویندوز سیستم عامل اصلی آنهاست، این پروتکل به طور پیش‌فرض فعال است و اگرچه زمانی منطقی به نظر می‌رسید، اما امروزه اغلب بیشتر از اینکه مفید باشد، دردسرساز است. به همین دلیل است که دانستن نحوه استفاده از آن ایده خوبی است. نحوه غیرفعال کردن LLMNR مخصوصاً اگر از یک شبکه وای‌فای عمومی استفاده می‌کنیم.

قبل از هرگونه تصمیم گیری، بهتر است بفهمید که این ویژگی چه کاری انجام می‌دهد و چرا غیرفعال کردن آن توصیه می‌شود. خبر خوب این است که غیرفعال کردن آن آسان است. هم در ویندوز (شامل ویندوز سرور) و هم در لینوکس، چه از طریق سیاست‌ها، رجیستری، Intune، یا با تنظیم systemd-resolved.

LLMNR چیست و چگونه کار می‌کند؟

LLMNR مخفف کلمه تفکیک نام چندپخشی لینک-محلیهدف آن است بدون تکیه بر سرور DNS، نام‌های میزبان را در بخش محلی حل کنیدبه عبارت دیگر، اگر ماشینی نتواند نامی را از طریق DNS تشخیص دهد، می‌تواند با استفاده از multicast به جستجوی همسایه بپردازد تا ببیند آیا کسی «نکته را متوجه می‌شود».

این مکانیزم از پورت استفاده می‌کند UDP 5355 و برای کار در شبکه محلی طراحی شده است. پرس و جو از طریق چندپخشی ارسال می‌شود به شبکه‌ی مستقیم، و هر کامپیوتری که نام را «تشخیص» دهد می‌تواند با گفتن «این من هستم» پاسخ دهد. این یک رویکرد سریع و ساده برای محیط‌های کوچک یا بداهه است که در آن‌ها DNS در دسترس نبوده یا پیکربندی آن منطقی نبوده است.

در عمل، درخواست LLMNR به بخش محلی ارسال می‌شود و دستگاه‌هایی که به آن ترافیک گوش می‌دهند، در صورتی که مطمئن باشند مقصد صحیح هستند، می‌توانند پاسخ دهند. دامنه آن محدود به لینک محلی استو از این رو نام و وظیفه آن به عنوان یک «وصله» زمانی است که هیچ سرویس نام رسمی در شبکه وجود ندارد.

برای سال‌ها، به خصوص در شبکه‌های کوچک‌تر یا استقرارهای موقت، این روش مفید واقع شد. امروزه، با DNS گسترده و ارزان، موارد استفاده آنقدر محدود شده است که تقریباً همیشه منطقی است که LLMNR را خاموش کنید و با آرامش بیشتری زندگی کنید.

غیرفعال کردن LLMNR

آیا LLMNR واقعاً ضروری است؟ خطرات و زمینه‌ها

سوال میلیون دلاری: آیا باید آن را بردارم یا بگذارمش؟ در یک محیط خانگی، رایج‌ترین پاسخ این است: «بله، می‌توانید آن را بردارید.» در یک شرکت، اعتبارسنجی تأثیر راحت استاگر DNS محیط به درستی تنظیم شده باشد و جستجوها کار کنند، LLMNR هیچ چیزی ارائه نمی‌دهد و خطرات غیرضروری را در معرض خطر قرار می‌دهد.

بزرگترین مشکل این است که LLMNR شامل محافظت در برابر جعل هویت نمی‌شودیک مهاجم در زیرشبکه شما می‌تواند دستگاه هدف را «جعل هویت» کند و زودتر یا ترجیحاً پاسخ دهد، اتصال را تغییر مسیر دهد و باعث هرج و مرج شود. این یک سناریوی حمله کلاسیک «مرد میانی» (MitM) قدیمی است.

محتوای اختصاصی - اینجا را کلیک کنید  ¿Cómo se protegen los datos almacenados en computadora?

به عنوان یک قیاس، این موضوع استاندارد WEP وای‌فای را به یاد می‌آورد که بدون در نظر گرفتن حملات مدرن متولد شد و منسوخ شده است. اتفاق مشابهی با LLMNR رخ می‌دهد: در گذشته مفید بود، اما امروزه اگر آن را در شبکه‌های شرکتی فعال بگذارید، دری باز برای فریب است.

علاوه بر این، اگر یک مهاجم با ابزارهای مناسب در اختیار داشته باشد، می‌تواند رایانه‌های شما را مجبور کند تا اطلاعات حساسی مانند هش‌های NTLMv2 را «بخوانند» وقتی فکر می‌کنند که با یک سرور قانونی در حال صحبت هستند. هنگامی که مهاجم آن هش‌ها را به دست آورد، می‌تواند سعی کند آنها را بشکند - با موفقیت‌های متفاوت بسته به سیاست‌ها و پیچیدگی رمز عبور - که خطر نفوذ واقعی را افزایش می‌دهد.

چه زمانی LLMNR را غیرفعال کنیم؟

در اکثر قریب به اتفاق پیاده‌سازی‌های مدرن، می‌توانید آن را بدون ایجاد اختلال در چیزی غیرفعال کنید. اگر کلاینت‌های شما همیشه از طریق DNS به سرور متصل می‌شوند و اگر در شبکه محلی به «جادو» متکی نیستید، LLMNR غیرضروری است. با این حال، قبل از اعمال سیاست به کل سازمان، آن را در محیط‌های بحرانی اعتبارسنجی کنید.

به خاطر داشته باشید که این تصمیم فقط فنی نیست: بلکه ریسک عملیاتی و انطباق شما را نیز کاهش می‌دهد. غیرفعال کردن LLMNR یک کنترل سخت‌سازی ساده، قابل اندازه‌گیری و تأثیرگذار است.، دقیقاً همان چیزی که هر چارچوب امنیتی معقولی به آن نیاز دارد.

LLMNR

غیرفعال کردن LLMNR در ویندوز

در اینجا گزینه‌های اصلی موجود برای غیرفعال کردن LLMNR در ویندوز آمده است:

گزینه ۱: ویرایشگر سیاست گروهی محلی (gpedit.msc)

در رایانه‌های مستقل یا برای آزمایش سریع، می‌توانید از ویرایشگر سیاست گروهی محلی (Local Group Policy Editor) استفاده کنید. WIN + R را فشار دهید، تایپ کنید gpedit.msc را اجرا کنید و با زدن دکمه‌ی «پذیرش» (accept) آن را باز کنید.

سپس، از طریق موارد زیر حرکت کنید: پیکربندی کامپیوتر > قالب‌های مدیریتی > شبکهدر برخی نسخه‌ها، این تنظیم در زیر ظاهر می‌شود Cliente DNS. ورودی «غیرفعال کردن تفکیک‌پذیری نام چندپخشی» را پیدا کنید (نام ممکن است کمی متفاوت باشد) و خط‌مشی را روی «فعال» تنظیم کنید.

در ویندوز ۱۰، متن معمولاً به صورت «Disable multicast name resolution» خوانده می‌شود. تغییر را اعمال یا قبول کنید و رایانه خود را مجدداً راه اندازی کنید. برای اطمینان از اینکه تنظیمات سمت تیم به درستی اعمال می‌شوند.

گزینه دوم: رجیستری ویندوز

اگر ترجیح می‌دهید مستقیماً به اصل مطلب بپردازید یا به یک روش اسکریپت‌نویسی نیاز دارید، می‌توانید مقدار سیاست را در رجیستری ایجاد کنید. CMD را باز کنید یا پاورشل با مجوزهای سرپرست و اجرا کنید:

REG ADD "HKLM\Software\Policies\Microsoft\Windows NT\DNSClient" /f
REG ADD "HKLM\Software\Policies\Microsoft\Windows NT\DNSClient" /v "EnableMulticast" /t REG_DWORD /d 0 /f

با این کار، LLMNR در سطح سیاست غیرفعال خواهد شد. برای بستن چرخه، کامپیوتر را مجدداً راه‌اندازی کنید و از باقی ماندن فرآیندهایی با وضعیت قبلی در حافظه جلوگیری می‌کند.

غیرفعال کردن LLMNR با GPO در یک دامنه

راه دیگر برای غیرفعال کردن LLMNR، اعمال تغییر به صورت مرکزی از یک کنترل‌کننده دامنه با باز کردن کنسول مدیریت سیاست گروهی است. یک GPO جدید ایجاد کنید (برای مثال، "MY-GPO") و آن را ویرایش کنید.

در ویرایشگر، مسیر زیر را دنبال کنید: پیکربندی کامپیوتر > قالب‌های مدیریتی > شبکه > کلاینت DNS. فعال کردن سیاست «غیرفعال کردن تفکیک‌پذیری نام چندپخشی» و ویرایشگر را ببندید تا ذخیره شود. سپس، GPO را به OU مناسب پیوند دهید و سیاست را مجبور به به‌روزرسانی کنید یا منتظر تکرار عادی باشید.

محتوای اختصاصی - اینجا را کلیک کنید  چگونه می‌توانم به صورت دستی یک قانون در Little Snitch تنظیم کنم؟

انجام شد. اکنون شما یک خط‌مشی دامنه دارید که به طور مداوم LLMNR را کاهش می‌دهد. به یاد داشته باشید که نامگذاری دقیق تنظیمات ممکن است متفاوت باشد. کمی بین نسخه‌های ویندوز سرور متفاوت است، اما مکان همانطور که نشان داده شده است، می‌باشد.

Intune: «اعمال شده» اما gpedit «پیکربندی نشده» را نشان می‌دهد

یک سوال رایج: شما یک پروفایل پیکربندی را از Intune وارد می‌کنید، به شما می‌گوید که به درستی اعمال شده است، و وقتی gpedit را باز می‌کنید، تنظیمات را به صورت «پیکربندی نشده» می‌بینید. این لزوماً به معنای فعال نبودن آن نیست.Intune تنظیماتی را از طریق CSP/Registry اعمال می‌کند که همیشه در ویرایشگر محلی به عنوان «Configured» نمایش داده نمی‌شوند.

راه مطمئن برای بررسی این موضوع، مراجعه به گزارش سیاست‌ها (Policy Log) است: اگر وجود داشته باشد و برابر با 0 باشد، مقدار فعال کردن چندپخشی (Multicast) روشن HKLM\Software\Policies\Microsoft\Windows NT\DNSClient، LLMNR غیرفعال است، حتی اگر gpedit عبارت «پیکربندی نشده» را نشان دهد.

اگر ترجیح می‌دهید این کار را از طریق اسکریپت (مانند Remediation در Intune مفید) انجام دهید، در اینجا یک اسکریپت ساده PowerShell برای ایجاد مقدار و تأیید آن آورده شده است:

New-Item -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Force | Out-Null
New-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name "EnableMulticast" -PropertyType DWord -Value 0 -Force | Out-Null
(Get-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient").EnableMulticast

این شامل مواردی می‌شود که Intune می‌گوید اعمال شده است، اما شما می‌خواهید حداکثر اطمینان را داشته باشید یا دستگاه‌های «سرکش» را عیب‌یابی کنید. برای حسابرسی انبوه، اسکریپت را با ابزار موجودی خود ترکیب کنید یا با Intune/Defender برای گزارش‌های Endpoint.

غیرفعال کردن LLMNR در لینوکس (با استفاده از systemd حل شد)

در توزیع‌هایی مانند اوبونتو یا دبیان که از systemd-resolved استفاده می‌کنند، می‌توانید LLMNR را مستقیماً «از بین ببرید». تنظیمات حل کننده را ویرایش کنید بنابراین:

sudo nano /etc/systemd/resolved.conf

در فایل، پارامتر مربوطه را طوری تنظیم کنید که مبهم نباشد. برای مثال:

[Resolve]
LLMNR=no

سرویس یا رایانه را ذخیره و مجدداً راه اندازی کنید: معمولاً راه‌اندازی مجدد سرویس کافی استاگرچه اگر برای شما راحت‌تر باشد، راه‌اندازی مجدد نیز معتبر است.

sudo systemctl restart systemd-resolved

با این کار، systemd-resolved استفاده از LLMNR را متوقف خواهد کرد. اگر از راهکار دیگری برای حل مشکل استفاده می‌کنید (یا سایر توزیع‌ها)، مستندات آنها را بررسی کنید: الگو خیلی متفاوت نیست و همیشه یک «سوئیچ» معادل وجود دارد.

درباره NBT‑NS و فایروال ویندوز

غیرفعال کردن LLMNR نیمی از راه است. ابزارهای Responder و مشابه آن نیز از سرویس نام NetBIOS (NBT‑NS) سوءاستفاده می‌کنند.که روی پورت‌های کلاسیک NetBIOS (UDP 137/138 و TCP 139) کار می‌کند. این موضوع سوالی را مطرح می‌کند که بسیاری از مردم می‌پرسند: آیا مسدود کردن پورت‌ها در فایروال کافی است یا باید NBT‑NS را به طور صریح غیرفعال کنید؟

اگر قوانین سختگیرانه‌ای را در فایروال محلی خود - چه ورودی و چه خروجی - اعمال کنید و 137/UDP، 138/UDP و 139/TCP را مسدود کنید، میزان مواجهه با حملات را تا حد زیادی کاهش می‌دهید. با این حال، بهترین روش در محیط‌های سازمانی غیرفعال کردن NetBIOS از طریق TCP/IP است. در رابط‌ها، برای جلوگیری از پاسخ‌های ناخواسته یا تبلیغات در صورت تغییر یا اصلاح خط‌مشی فایروال توسط یک برنامه.

محتوای اختصاصی - اینجا را کلیک کنید  ¿Cómo delegar el acceso a tu cuenta en ProtonMail?

در ویندوز، هیچ GPO «کارخانه‌ای» به طور مستقیم مانند LLMNR وجود ندارد، اما می‌توانید این کار را از طریق WMI یا رجیستری انجام دهید. این PowerShell مبتنی بر WMI آن را در تمام آداپتورهای دارای IP غیرفعال می‌کند.:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=TRUE" | ForEach-Object { $_.SetTcpipNetbios(2) } 

اگر قوانین فایروال را ترجیح می‌دهید، ادامه دهید، اما مطمئن شوید که آنها دو طرفه و پایدار هستند. بلوک‌های ۱۳۷/UDP، ۱۳۸/UDP و ۱۳۹/TCP و نظارت می‌کند که هیچ قانون متناقضی در سایر GPOها یا راه‌حل‌های EDR/AV که فایروال را مدیریت می‌کنند، وجود نداشته باشد.

تأیید: چگونه بررسی کنیم که LLMNR و NBT-NS از کار افتاده‌اند

برای LLMNR در ویندوز، به رجیستری نگاه کنید: HKLM\Software\Policies\Microsoft\Windows NT\DNSClient\EnableMulticast باید وجود داشته باشد و برابر با 0 باشد. بررسی سریع در PowerShell می کرد:

(Get-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient").EnableMulticast

در سطح ترافیک، یک تکنیک ساده این است که جستجویی برای یک نام ناموجود انجام دهید و با استفاده از Wireshark مشاهده کنید که هیچ بسته UDP 5355 خروجی داده نمی‌شود. اگر چندپخشی را به بخش محلی نمی‌بینید، شما در مسیر درستی هستید.

در لینوکس با systemd-resolved، وضعیت را با resolvectl یا systemctl بررسی کنید: مطمئن شوید که LLMNR روی «خیر» تنظیم شده است. در پیکربندی مؤثر و اینکه سرویس بدون خطا مجدداً راه‌اندازی شد.

برای NBT‑NS، تأیید کنید که قوانین فایروال شما 137/UDP، 138/UDP و 139/TCP را مسدود می‌کنند یا اینکه NetBIOS روی آداپتورها غیرفعال است. همچنین می‌توانید مدتی در اینترنت بو بکشید (snow) برای بررسی اینکه هیچ درخواست NetBIOS یا تبلیغاتی در حال پخش نیست.

سوالات متداول و نکات مفید

  • آیا با غیرفعال کردن LLMNR چیزی خراب می‌شود؟ در شبکه‌هایی با DNS که به خوبی نگهداری می‌شوند، معمولاً این اتفاق نمی‌افتد. در محیط‌های خاص یا قدیمی، ابتدا در یک گروه آزمایشی اعتبارسنجی کنید و تغییر را به پشتیبانی اطلاع دهید.
  • چرا gpedit با اینکه Intune نوشته «Enforced» (اجرا شده) نوشته «Not Configured» (پیکربندی نشده)؟ زیرا ویرایشگر محلی همیشه حالت‌های اعمال شده توسط MDM یا CSP را منعکس نمی‌کند. حقیقت در رجیستری و نتایج واقعی است، نه در متن gpedit.
  • آیا در صورت مسدود کردن NetBIOS در فایروال، غیرفعال کردن NBT‑NS الزامی است؟ اگر مسدودسازی کامل و قوی باشد، ریسک را تا حد زیادی کاهش می‌دهید. با این حال، غیرفعال کردن NetBIOS از طریق TCP/IP پاسخ‌های سطح پشته را حذف می‌کند و در صورت تغییر قوانین از غافلگیری جلوگیری می‌کند، بنابراین گزینه ارجح است.
  • آیا اسکریپت‌های آماده‌ای برای غیرفعال کردن LLMNR وجود دارد؟ بله، از طریق رجیستری یا PowerShell، همانطور که دیده‌اید. برای Intune، اسکریپت را به عنوان Remediation بسته‌بندی کنید و بررسی انطباق را اضافه کنید.

خاموش کردن LLMNR سطح جعل در شبکه محلی را کاهش می‌دهد و حملات هش ربایی را با ابزارهایی مانند Responder در نطفه خفه می‌کند. اگر NBT‑NS را نیز مسدود یا غیرفعال کنید و از DNS خود مراقبت کنیدشما یک ترکیب امنیتی ساده و مؤثر خواهید داشت: نویز کمتر، ریسک کمتر و شبکه‌ای که برای استفاده روزمره بسیار بهتر آماده شده است.