オープンリゾルバ(オープンリゾルバ)とは | 意味や読み方など丁寧でわかりやすい用語解説
オープンリゾルバ(オープンリゾルバ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
オープンリゾルバ (オープンリゾルバ)
英語表記
Open resolver (オープンリゾルバー)
用語解説
オープンリゾルバとは、DNS(Domain Name System)の問い合わせに対して、アクセス制限を設けずにインターネット上のあらゆるコンピューターからの要求に応答するDNSリゾルバを指す。通常、DNSリゾルバは、自身がサービスを提供する組織の内部ネットワークや、契約しているISPの顧客など、特定の利用者からの問い合わせのみを受け付けるように設定されるべきものである。しかし、設定ミスや誤解により、誰もが利用できる状態になってしまったものがオープンリゾルバと呼ばれる。これは、意図せずインターネット全体に公開された公衆電話のようなもので、本来の利用範囲を超えて誰でも自由に使うことができてしまう状態である。この状態は、様々なサイバー攻撃の踏み台として悪用される危険性があり、セキュリティ上の重大な問題として認識されている。
詳細に入ると、DNSはインターネット上でドメイン名とIPアドレスを相互に変換する「名前解決」の仕組みを提供する基盤サービスである。ユーザーがウェブサイトのドメイン名を入力した際、そのドメイン名に対応するIPアドレスを特定するために、まずそのユーザーのコンピューターが設定されたDNSリゾルバに問い合わせを行う。このDNSリゾルバは、必要に応じて階層構造になっている他のDNSサーバーに問い合わせを繰り返し、最終的に目的のIPアドレスを取得してユーザーのコンピューターに返す役割を担う。
通常のDNSリゾルバ、特に企業やISPが運用するキャッシュDNSサーバーやフルリゾルバは、自社のネットワーク内や特定の顧客に限定してこの名前解決サービスを提供することが一般的である。これは、再帰問い合わせ(recursive query)と呼ばれる、リゾルバが他のDNSサーバーに問い合わせを繰り返して最終的な答えを見つける処理を、無制限に提供することを避けるためである。この再帰問い合わせを特定のIPアドレス範囲に限定する設定が施されていれば、それは「プライベートリゾルバ」として適切に運用されていることになる。
一方、オープンリゾルバは、この再帰問い合わせの制限が適切に設定されていないか、あるいは全く設定されていない状態のDNSリゾルバである。つまり、インターネット上のどのIPアドレスから問い合わせがあっても、その要求を受け付け、名前解決処理を行い、結果を返す。この無制限のサービス提供が、以下のような深刻なセキュリティリスクを引き起こす要因となる。
最も顕著な問題は、DNSアンプリフィケーション攻撃(またはDNSリフレクション攻撃)の踏み台として悪用されることである。これは、分散型サービス拒否(DDoS)攻撃の一種であり、攻撃者は、オープンリゾルバが応答を返すIPアドレスを、攻撃目標のサーバーのアドレスに偽装(IPスプーフィング)して、オープンリゾルバに非常に短いDNSクエリを大量に送信する。オープンリゾルバは、その短いクエリに対して、非常に長い応答を生成して、偽装された攻撃目標のIPアドレスに送り返してしまう。結果として、攻撃者は少量のトラフィックで、オープンリゾルバから攻撃目標へ大量のデータ(増幅されたデータ)を送りつけることができ、目標サーバーをトラフィックで飽和させてサービスを停止させることを狙う。オープンリゾルバが世界中に多数存在するため、複数のオープンリゾルバを同時に悪用することで、さらに大規模な攻撃が可能となる。
次に、DNSキャッシュポイズニング攻撃の危険性も高まる。これは、攻撃者がDNSリゾルバのキャッシュに偽の情報を注入し、特定のドメイン名に対するIPアドレスを不正なものに書き換える攻撃である。オープンリゾルバは外部からの問い合わせに無制限に応答するため、攻撃者はキャッシュポイズニングを仕掛けやすくなる。これにより、正当なウェブサイトにアクセスしようとしたユーザーが、攻撃者の用意した偽のサイトに誘導され、個人情報が盗まれたり、マルウェアに感染させられたりする被害につながる可能性がある。
さらに、オープンリゾルバは情報漏洩のリスクも抱える。外部の人間がオープンリゾルバを利用して、内部ネットワークのDNSクエリパターンを観測することが可能になる。これにより、組織が利用しているサービスや内部ネットワークの構造に関するヒントを得て、将来的な攻撃のための足がかりとされてしまう可能性がある。
オープンリゾルバが発生する主な原因は、DNSサーバーの構築時における設定ミスや、セキュリティ意識の欠如にある。例えば、サーバー管理者がファイアウォールやDNSサーバー自身のアクセス制御機能について十分な理解がなく、デフォルト設定のまま運用してしまったり、一時的にテスト目的で公開した設定を元に戻し忘れたりするケースなどが挙げられる。
これらのリスクを回避するためには、自身の運用するDNSサーバーがオープンリゾルバになっていないかを定期的に確認し、もしそうなっている場合は直ちに修正することが不可欠である。確認方法としては、外部のインターネットから自身のDNSサーバーに対して、再帰問い合わせが応答されるかどうかを試すツールやサービスを利用するのが一般的である。対策としては、DNSサーバーのアクセス制御リスト(ACL)や、サーバーが稼働しているシステムまたはネットワークのファイアウォールを設定し、信頼できる特定のIPアドレス範囲からのDNS問い合わせのみに応答するように制限することが最も重要である。再帰問い合わせ(recursive query)の機能を、信頼できるネットワークからの要求にのみ許可するように明示的に設定することも推奨される。DNSサーバーを構築・運用する際には、最初からセキュリティを考慮した設計と設定を行うことが、オープンリゾルバ問題を防ぐ上での基本的な原則となる。