サブドメイン乗っ取り!あなたのサイトが知らぬ間に悪用されている可能性も!?
どうも、ウェブ企画パートナーズの竹内です。
今回は「サブドメイン乗っ取り」について、できるだけ分かりやすく、しかも詳しく解説していきたいと思います。実は、JPRS(.jp や .co.jp などのJPドメインを管理・統括している会社)が新しくニュースを出していて、そこに「サービス終了後に残っているDNS設定を利用したサブドメインの乗っ取り」についての注意喚起がありました。
正直、ニュースを読んだだけでは専門用語が並んでいて「なんかよく分からないな……」と思われた方も多いのではないでしょうか? なので、このブログ記事でかみ砕いて説明してみようと思います。
サブドメイン乗っ取りのニュースとは
まずはJPRS(日本レジストリサービス)が出した公式ニュースの概要からお伝えします。
1月21日に公開された内容によると、次のような警告がありました。
サービス(レンタルサーバーやCDNなど)を利用してドメイン名のサブドメインでWebサイトを公開していた場合、公開終了時にDNS設定を削除・変更せず放置していると、第三者がそのサブドメインを「乗っ取り」して意図しないWebサイトを表示させたり、フィッシングに悪用されたりする恐れがある。
そのため、Webサイトの公開を終了する際には、追加していたDNS設定をきちんと削除・変更しましょう。
ポイントは、「サービスをやめた後、DNS設定をそのままにしておくとヤバイですよ」ということです。具体的にどんな仕組みで乗っ取られるのか、専門用語の解説を交えながら見ていきましょう。
そもそもドメインって何? 〜 サブドメインの前に
「サブドメイン乗っ取り」を理解するために、まずドメインの概念をおさらいします。
ドメインはWeb上の“住所”
たとえば example.com
というドメインがあったとします。
ユーザーが example.com
にアクセスすると、実際にはその先にあるサーバーが呼び出されてWebサイトのページが表示されます。
ドメインは「このURLにアクセスしたらこのサーバーに行ってね」という“命令”や“住所”のような役割を持っています。
サブドメインとは?
example.com
の前に文字列を追加して、sub.example.com
のように運用する方法があります。
たとえば、Yahoo!でいえば、news.yahoo.co.jp
や sports.yahoo.co.jp
など、サービスごとにサブドメインを切り替えて使っているのを見たことがあるでしょう。
同じドメインを持っている人(または企業)なら、いくらでもサブドメインを発行する権利があります。メインのサイトとは別の場所に分けたいときなどに使うのに便利です。
サブドメイン乗っ取りって何が起こるの?
ここからが本題です。具体的にどんなタイミングでサブドメインが乗っ取られてしまうのかをイメージしてみましょう。
メインサイト(例:aaa.com
)とサブドメイン(例:b.aaa.com
)を用意する
aaa.com
は本サイト、b.aaa.com
は別のサービスやキャンペーン用などとして使います。
それぞれ異なるレンタルサーバーやクラウドサービスを契約することも多いです。
サブドメイン専用のサーバー(例:AWSやGitHub Pagesなど)を用意する
b.aaa.com
にアクセスがあったらAWSのサーバーを参照させる設定(DNS設定)をするわけです。
こうすることで、b.aaa.com
は別の場所にあるWebサイトとして運用できます。
サービスやキャンペーンが終了し、サブドメインを使わなくなる
たとえば男性用化粧品を販売していたサイトを終了して、AWSのサーバー契約を解約した……とします。
ところが、ドメイン側のDNS設定をそのまま放置してしまったとしたら…?
「空き」のサーバー情報が残ったままになる
ドメインの設定上は「b.aaa.com
にアクセスがあったらAWSへ行ってくださいね」という命令が残りっぱなし。
しかし、当のAWS契約は解約されて「空き状態」になってしまっているかもしれません。
第三者が同じサーバー名(またはアカウント)を再利用する可能性がある
もしAWS(あるいは他のクラウドサービス)の仕組み上、「同じアカウント名」を別の人が取得できるとしたら?
攻撃者はそこを利用して、b.aaa.com
へアクセスしてきたユーザーをだまして別のサイト(フィッシングサイトなど)を表示できるわけです。
ユーザーからすれば「b.aaa.com
= 信頼できるはずの本サイト関連ドメイン」だと思い込んでしまうので、個人情報を入力したり、マルウェアをダウンロードさせられたりしてしまう危険性があります。
ダングリングレコードとサブドメインテイクオーバー
こうした状況を専門用語で説明すると、次の2つの言葉が出てきます。
ダングリングレコード(dangling record)
「宙ぶらりんのレコード」というイメージです。
つまり、ドメイン側では「このサブドメインは○○のサーバーを参照してね」と残っているのに、実際そのサーバーが存在しない(解約済み)など、設定が宙に浮いた状態のことを指します。
サブドメインテイクオーバー(subdomain takeover)
いわゆる「サブドメイン乗っ取り」。
ダングリングレコードを放置していると、第三者がそのサブドメインを不正に利用できるようになってしまう行為をこう呼びます。
攻撃者はインターネット上を片っ端からスキャンして、ダングリングレコードになっているサブドメインがないかどうか探し回っています。見つけたら「これは使えるぞ」と、同じサーバー名・アカウント名を取得して不正サイトを立ち上げる、というのが主な手口です。
どんなサービスで起きやすいの?
ここで大事なのは、「同じアカウント名」や「同じホスト名」を後から取得できるサービスで起こりやすいという点です。
AWSのS3やGitHub Pages、Azureなど、解約した後に再度同じ名前を他人が使える場合、ダングリングレコードを狙った攻撃が可能になる場合があります。
もちろんこれらのサービスそのものが危険というわけではなく、解約や公開終了のあとにDNS設定をきちんと変更・削除しなかった場合に起こり得るトラブルです。
対策はどうするの?
対策は至ってシンプルです。
1,サービス終了・解約するときは、ドメイン側の設定(DNSレコード)を必ず確認する。
2,サブドメインを使っていたサーバーの参照先が不要なら、その設定を削除する。
- 「CNAMEレコード」や「Aレコード」などの形で、サブドメインが外部サービスに向いているかをチェック。
- すでに解約して使っていないサーバーに向いている設定があれば削除しましょう。
社内やクライアントとの情報共有を徹底する。
- たとえば担当者が変わっている場合など、だれがドメイン管理をしているか分からなくなるとミスが起こりやすくなります。
まとめ
サブドメイン乗っ取りとは、解約後やサービス終了後の「空き」状態のサーバー設定を放置してしまうことで、悪意ある第三者にそのサブドメインを不正利用されてしまうことです。
専門用語では、ダングリングレコードを放置した結果起きるサブドメインテイクオーバーとも呼ばれます。
「あ、もうサーバー解約したし大丈夫」と思っていると、ドメイン側にはまだ「このサーバーを参照せよ」という命令が残っている可能性があります。
攻撃者は使われていないサブドメインやサーバー名を探し出し、なりすましてフィッシングや不正サイトを立ち上げる恐れがあります。
対策はシンプル:サービス終了時にDNS設定を削除・変更すればOKです。逆に言えば、それさえ忘れなければ大きなリスクを回避できます。
こういったセキュリティの話は、どうしてもカタカナ用語や専門用語が出てきて「何だかよく分からない……」となりがちですが、ぜひこの機会に把握しておいていただければと思います。
もしご自身の会社やクライアントでサブドメインを運用しているサイトがある場合、「解約したはずなのになぜかサブドメイン設定が残っている」ということがないかチェックしてみてくださいね。
今後も、こうした最新のセキュリティ情報や、ちょっと専門的だけど大事なトピックをかみ砕いて解説していければと思っています。
最後までお読みいただきありがとうございました!
何かご相談やご質問等ございましたら、ぜひお気軽にお問い合わせください。今後も、皆さんのお役に立つ情報をお届けしていきます!