公共の Wi-Fi を使用する場合、なぜ LLMNR を無効にするのですか?

最終更新: 20/10/2025

  • LLMNR は、なりすましやハッシュ キャプチャの危険にさらされるため、無効にすると内部者によるリスクが軽減されます。
  • 簡単に無効化: Windows 上の GPO/レジストリと Linux 上の systemd-resolved の編集。
  • NBT-NS のブロックまたは無効化とレジストリ/トラフィックによる検証を補完します。
LLMNRを無効にする

LLMNRプロトコルは、Microsoft環境ではお馴染みのプロトコルです。Windowsが主流のネットワークでは、デフォルトで有効になっています。かつては理にかなった機能でしたが、今では役に立つどころか、むしろ面倒な存在となっています。だからこそ、使い方を知っておくことは重要です。 LLMNRを無効にする方法 特に公衆WiFiネットワークを使用している場合は注意が必要です。

何らかの決定を下す前に、それが何をするのか、そしてなぜそれを無効にすることが推奨されるのかを理解しておくことをお勧めします。 幸いなことに、無効にするのは簡単です。 Windows (Windows Server を含む) と Linux の両方で、ポリシー、レジストリ、Intune、または systemd-resolved の調整によって実現できます。

LLMNR とは何ですか? またどのように機能しますか?

LLMNR の頭字語です リンクローカルマルチキャスト名前解決その目的は DNSサーバーに依存せずにローカルセグメント内のホスト名を解決する言い換えると、マシンが DNS 経由で名前を解決できない場合、マルチキャストを使用して近隣にクエリを実行し、誰かが「ヒントを得る」かどうかを確認できます。

このメカニズムはポート UDP 5355 ローカル ネットワーク内で動作するように設計されています。 クエリはマルチキャストで送信される 直近のネットワークに接続され、その名前を「認識」したコンピュータは「私です」と応答できます。これは、DNSが利用できない、または設定する意味がない小規模環境や即席の環境にとって、迅速かつシンプルなアプローチです。

実際には、LLMNR クエリはローカル セグメントに送信され、そのトラフィックをリッスンしているデバイスは、正しい宛先であると判断した場合、応答できます。 その範囲はローカルリンクに限定されますそのため、ネットワーク上に正式な名前サービスがない場合に「パッチ」としてその名前と役割が使用されます。

長年にわたり、特に小規模ネットワークやアドホック展開では、それが有用であることが証明されました。 今ではDNSが普及し、安価になったため、ユースケースは非常に絞り込まれているため、LLMNR をオフにしてより平和的に動作させることがほとんどの場合に合理的です。

LLMNRを無効にする

LLMNRは本当に必要か?リスクと背景

百万ドルの価値がある質問:取り外すべきか、それともそのままにしておくべきか?家庭内で最も一般的な答えは「はい、ご自由に取り外せます」です。 企業では影響を検証するのに便利である: 環境の DNS が正しく設定され、検索が機能する場合、LLMNR は何も提供せず、不必要なリスクにさらされます。

最大の問題は LLMNRにはなりすましに対する保護は組み込まれていない攻撃者は、自身のサブネット上で標的デバイスを「偽装」し、早期に、あるいは優先的に応答することで接続をリダイレクトし、混乱を引き起こす可能性があります。これは、古典的な「中間者」(MitM)攻撃のシナリオです。

限定コンテンツ - ここをクリックしてください  盗まれたPCからファイルを削除する方法

類推として、これは現代の攻撃を考慮せずに誕生し、時代遅れになった Wi-Fi WEP 標準を思い起こさせます。 LLMNRでも同様のことが起こる: 過去には役立ちましたが、今日では、企業ネットワークにこれを残しておくと、詐欺の危険にさらされることになります。

さらに、適切なツールを持つ攻撃者は、正当なサーバーと通信していると信じ込んでいるときに、コンピューターに NTLMv2 ハッシュなどの機密情報を「送信」するように強制できます。 攻撃者がハッシュを入手するとは、ポリシーやパスワードの複雑さに応じて成功率は異なりますが、パスワードの解読を試みることができるため、実際の侵入のリスクが高まります。

LLMNR を無効にするのはいつですか?

最近の展開のほとんどでは、何も壊すことなく無効にすることができます。 クライアントが常にDNSで解決する場合 ローカルネットワークで「魔法」に頼らないのであれば、LLMNRは不要です。それでも、ポリシーを組織全体にプッシュする前に、重要な環境で検証してください。

この決定は技術的なものだけではなく、運用上のリスクやコンプライアンス上のリスクも軽減されることに留意してください。 LLMNR を無効にすることは、シンプルで測定可能かつ影響力のある強化制御です。まさに、あらゆる賢明なセキュリティ フレームワークに求められるものです。

LLMNR

WindowsでLLMNRを無効にする

Windows で LLMNR を無効にするために使用できる主なオプションは次のとおりです。

オプション 1: ローカル グループ ポリシー エディター (gpedit.msc)

スタンドアロン コンピューターの場合、または簡単なテストの場合は、ローカル グループ ポリシー エディターを使用できます。 WIN + Rを押して、次のように入力します gpedit.msc と入力し、それを開くことを承認します。

次に、次の項目に移動します。 [コンピュータの構成] > [管理用テンプレート] > [ネットワーク]一部のエディションでは、設定は クライアントDNS. 「マルチキャスト名前解決を無効にする」というエントリを見つけます。 (名前は多少異なる場合があります)、ポリシーを「有効」に設定します。

Windows 10 では、このテキストは通常​​「マルチキャスト名前解決を無効にする」と読み上げられます。 変更を適用または承認して、コンピューターを再起動します。 チーム側の設定が正しく適用されていることを確認します。

オプション2: Windowsレジストリ

すぐに要点を押さえたい場合やスクリプト化可能な方法が必要な場合は、レジストリにポリシー値を作成できます。 CMDを開くか、 PowerShellの 管理者権限を持つ そして実行します:

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 はポリシー レベルで無効になります。 サイクルを終了するにはコンピュータを再起動してください 以前の状態のプロセスがメモリ内に残るのを防ぎます。

ドメイン内の GPO を使用して LLMNR を無効にする

LLMNR を無効にする別の方法は、グループ ポリシー管理コンソールを開いて、ドメイン コントローラーから変更を集中的に適用することです。 新しいGPOを作成します(例:「MY-GPO」) そしてそれを編集します。

エディターで、次のパスに従います。 コンピューターの構成 > 管理用テンプレート > ネットワーク > DNS クライアント. 「マルチキャスト名前解決を無効にする」ポリシーを有効にする エディターを閉じて保存します。その後、GPOを適切なOUにリンクし、ポリシーを強制的に更新するか、通常のレプリケーションが完了するまで待ちます。

限定コンテンツ - ここをクリックしてください  Windows 7 でウイルス対策を使用せずに PC からウイルスを削除する方法

完了です。これで、LLMNR を一貫して削減するドメイン ポリシーができました。 調整の正確な名称は異なる場合があることに留意してください。 Windows Server のバージョンによって若干異なりますが、場所は示されているとおりです。

Intune: 「適用済み」だが、gpedit では「未構成」と表示される

よくある質問: Intune から構成プロファイルをプッシュすると、正しく適用されたことが通知されますが、gpedit を開くと設定が「未構成」と表示されます。 これは必ずしもアクティブではないことを意味するものではありません。Intune は CSP/レジストリ経由で設定を適用しますが、それが必ずしもローカル エディターに「構成済み」として反映されるわけではありません。

これを確認する確実な方法は、ポリシー ログを参照することです。 存在し、0に等しい場合、値は マルチキャストを有効にする HKLM\Software\Policies\Microsoft\Windows NT\DNSClientgpedit に「未構成」と表示されていても、LLMNR は無効になっています。

これをスクリプト (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 for Endpoint レポートを使用します。

Linux で LLMNR を無効にする (systemd-resolved)

systemd-resolved を使用する Ubuntu や Debian などのディストリビューションでは、LLMNR を直接「kill」できます。 リゾルバ設定を編集する そう:

sudo nano /etc/systemd/resolved.conf

ファイル内で、対応するパラメータが明確になるように設定します。 例えば:

[Resolve]
LLMNR=no

保存してサービスまたはコンピューターを再起動します。 通常はサービスを再起動するだけで十分ですただし、より都合がよい場合は再起動も有効です。

sudo systemctl restart systemd-resolved

これにより、systemd-resolved は LLMNR の使用を停止します。 別の解決策を使用する場合 (または他のディストリビューション) の場合は、ドキュメントを確認してください。パターンはそれほど大きく変わらず、常に同等の「スイッチ」があります。

NBT-NSとWindowsファイアウォールについて

LLMNR を無効にすると、戦いの半分は終わります。 レスポンダーや類似のツールもNetBIOSネームサービス(NBT-NS)を悪用するこれは、従来のNetBIOSポート(UDP 137/138およびTCP 139)で動作します。これにより、多くの人が疑問に思うことがあります。ファイアウォールでポートをブロックするだけで十分なのでしょうか、それともNBT-NSを明示的に無効にする必要があるのでしょうか?

ローカル ファイアウォールに厳格なルール (受信と送信の両方) を適用し、137/UDP、138/UDP、および 139/TCP をブロックすると、露出が大幅に減少します。 ただし、エンタープライズ環境では、NetBIOS over TCP/IP を無効にするのがベスト プラクティスです。 ファイアウォール ポリシーが変更された場合やアプリケーションによって修正された場合に、不要な応答や広告を防止するために、インターフェイスで使用します。

限定コンテンツ - ここをクリックしてください  携帯電話から Wi-Fi パスワードを削除する方法

Windows では、LLMNR のように直接的な「ファクトリー」 GPO はありませんが、WMI またはレジストリ経由で実行できます。 このWMIベースのPowerShellは、すべてのIP対応アダプタでこれを無効にします。:

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

ファイアウォール ルールを使用する場合は、そのルールが双方向かつ永続的であることを確認してください。 ブロック 137/UDP、138/UDP、139/TCP また、ファイアウォールを管理する他の GPO または EDR/AV ソリューションに競合するルールがないことを監視します。

検証: LLMNR と NBT-NS が機能していないことを確認する方法

Windows 上の 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 を搭載した Linux では、resolvectl または systemctl を使用してステータスを確認します。 LLMNRが「いいえ」に設定されていることを確認してください 有効な構成で、サービスがエラーなしで再起動されたことを確認します。

NBT-NS の場合、ファイアウォール ルールによって 137/UDP、138/UDP、および 139/TCP がブロックされていること、またはアダプタで NetBIOS が無効になっていることを確認します。 しばらくネットで調べることもできます 無線で NetBIOS 要求や広告が行われていないことを確認します。

よくある質問と役立つニュアンス

  • LLMNR を無効にすると何か問題が生じますか? DNSが適切に管理されているネットワークでは、通常はそうではありません。特殊な環境やレガシー環境では、まずパイロットグループで検証を行い、変更をサポートに伝えてください。
  • Intune では「強制」と表示されているのに、gpedit では「未構成」と表示されるのはなぜですか? ローカルエディターはMDMやCSPによって課された状態を必ずしも反映するとは限りません。真実はレジストリと実際の結果にあり、gpeditのテキストには存在しません。
  • ファイアウォールで NetBIOS をブロックする場合、NBT-NS を無効にする必要がありますか? ブロックが完全かつ堅牢であれば、リスクは大幅に軽減されます。しかし、NetBIOS over TCP/IPを無効にすることでスタックレベルの応答がなくなり、ルール変更による予期せぬ事態を回避できるため、こちらの方が好ましい選択肢です。
  • LLMNR を無効にする既製のスクリプトはありますか? はい、ご覧の通り、レジストリまたはPowerShell経由で実行できます。Intuneの場合は、スクリプトをRemediationとしてパッケージ化し、コンプライアンスチェックを追加してください。

LLMNR をオフにすると、ローカル ネットワーク上のスプーフィング サーフェスが縮小され、Responder などのツールによるハッシュ取得攻撃が未然に防がれます。 NBT-NSをブロックまたは無効にしてDNSを管理する場合シンプルで効果的なセキュリティ カクテルが実現します。ノイズが減り、リスクが減り、日常的な使用に適したネットワークが実現します。