LLMNR(エルエルエムエヌアール)とは | 意味や読み方など丁寧でわかりやすい用語解説
LLMNR(エルエルエムエヌアール)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
LLMNR (エルエルエムエヌアール)
英語表記
LLMNR (エルエルエムエヌアール)
用語解説
LLMNRは、Link-Local Multicast Name Resolutionの略称であり、コンピューターネットワークにおいてホスト名からIPアドレスを解決するためのプロトコルの一つである。主に、DNSサーバーが利用できない、あるいは応答しない小規模なローカルネットワーク環境で利用されることを想定して設計されている。家庭内LANや小規模オフィスのネットワークのように、専用のDNSサーバーを設置していない環境でも、コンピューター同士が「PC-A」や「FILE-SERVER」といった人間が覚えやすい名前を使って通信できるようにする役割を担う。Windows Vista以降のオペレーティングシステムに標準で実装されており、特別な設定をしなくても自動的に機能することが多い。その本質は、DNSによる名前解決を補完、あるいは代替する仕組みであり、ネットワークの利便性を向上させる技術であると言える。
LLMNRの動作原理は比較的単純である。あるコンピューターが、ネットワーク上の特定のホスト名を持つコンピューターのIPアドレスを知りたいと考えた場合、まず最初に設定されているDNSサーバーへ問い合わせを試みる。しかし、DNSサーバーが存在しない、あるいは何らかの理由で応答が得られなかった場合、次にLLMNRのプロセスが開始される。IPアドレスを知りたいコンピューターは、自身が接続されているローカルネットワーク全体に対して、「このホスト名を持つコンピューターはいますか?」という問い合わせメッセージを送信する。この送信方法はマルチキャストと呼ばれ、特定のグループに属する不特定多数のコンピューターへ同時にデータを送る技術である。LLMNRでは、IPv4の場合はマルチキャストアドレス「224.0.0.252」、IPv6の場合は「FF02::1:3」が宛先として使用され、通信にはUDPポート5355が用いられる。このマルチキャストパケットはルーターを越えて外部のネットワークへは送信されず、同一のネットワークセグメント内、すなわちリンクローカルの範囲に限定される。
問い合わせメッセージを受け取ったネットワーク上の各コンピューターは、そのメッセージに含まれるホスト名が自分自身の名前と一致するかどうかを確認する。もし一致した場合、そのコンピューターは問い合わせ元のコンピューターに対して、自身のIPアドレスを含んだ応答メッセージを返信する。この応答は、問い合わせ時とは異なり、送信元へ直接送られるユニキャスト通信で行われる。応答を受け取ったコンピューターは、目的のホスト名とIPアドレスの対応を知ることができ、これ以降はそのIPアドレスを使って目的のコンピューターと通信を開始することが可能になる。このように、中央集権的なサーバーを介さず、ネットワークに参加しているコンピューター同士が直接情報を交換することで名前解決を実現するのがLLMNRの大きな特徴である。
Windows環境における名前解決は、複数の手段を決められた順序で試行する仕組みになっている。一般的には、まずローカルに保存されているhostsファイルの内容を確認し、次にDNSのキャッシュ、そしてDNSサーバーへの問い合わせが行われる。これらの手段で解決できなかった場合に、LLMNRによる問い合わせが試行され、さらにそれでも解決できない場合は、より古いプロトコルであるNetBIOS Name Service (NBT-NS) が使用される。この順序からわかるように、LLMNRは主としてDNSが機能しない状況でのフォールバック手段として位置づけられている。
便利なプロトコルである一方、LLMNRには重大なセキュリティ上の懸念が存在する。その最大の弱点は、応答の正当性を検証する認証の仕組みがプロトコル自体に備わっていない点である。これにより、悪意のある攻撃者がネットワーク内に存在する場合、正規のコンピューターになりすまして偽の応答を返す「なりすまし(スプーフィング)攻撃」が容易に成立してしまう。例えば、ユーザーがファイルサーバーのホスト名をタイプミスした場合、DNSでは当然解決できないためLLMNRの問い合わせが発生する。この瞬間を狙って攻撃者が「私がそのサーバーです」と偽の応答を返し、自身のIPアドレスを教える。ユーザーのコンピューターは偽のサーバーへ接続を試み、その過程で認証情報(ユーザー名やパスワードハッシュなど)を送信してしまう可能性がある。攻撃者はこの情報を窃取し、ネットワーク内でのさらなる不正アクセスの足がかりとすることができる。これは中間者攻撃と呼ばれる攻撃手法の一種であり、企業ネットワークなどセキュリティが重視される環境においては極めて深刻な脅威となる。
こうしたリスクのため、多くの企業ネットワークでは、Active Directoryドメインサービスの一部としてDNSサーバーが適切に構成され、すべての名前解決がDNSによって確実に行われるよう設計されている。このような環境においてLLMNRは不要であるばかりか、セキュリティホールとなり得るため、グループポリシーやレジストリ設定を用いて意図的に無効化することが強く推奨されている。システムエンジニアとしては、LLMNRがもたらす利便性と、それに伴うセキュリティリスクの両面を正確に理解し、構築・運用するネットワーク環境の要件に応じて、その有効・無効を適切に判断する知識が不可欠である。