安全性と利便性のあいだ(無料ネームサーバーの制限強化とCSRF対策について)
いつもバリュードメインをご利用いただきありがとうございます。
バリュードメイン ドメイン管理担当でございます。
今回は、2022年3~4月に一部ご利用者様よりご指摘があった、無料ネームサーバーのサブドメイン登録やCSRFの脆弱性の指摘についての状況・経緯・対策等について、ご説明させていただきます。
まず、結論を先に申し上げますと、両問題ともに現時点(2022年5月2日)で、過去も含めて再点検を実施いたしましたが、問題が発生している事例はなく、また、両問題とも対策済みであることをご報告させていただきます。
関係各位、ご利用中の皆様には大変ご心配をおかけしましたこと、深くお詫び申し上げます。
また、再点検や仕様見直しのきっかけになった機会をいただいた関係様方には、心より感謝申し上げます。バリュードメインのお客様からも、常日頃から様々なご指摘をいただくことはありますが、本件でも温かいお叱りもいただいたこと、改めて感謝申し上げるとともに、そのようなご指摘こそが大切だと真摯に受け止め、再発防止に努めて参ります。
この問題については、意図してと言えば誤解を生みますが、把握していなかった訳ではございませんでした。ドメイン担当として苦しい言い訳になるかもしれませんが、その辺の事情等を、今後の反省を込めて、また、お叱りを受ける覚悟で、解説させていただきたいと思います。
無料ネームサーバーの登録システムについて
無料ネームサーバー機能とは、バリュードメイン以外で管理しているドメインを、バリュードメイン内のサーバーで運用するためのものです。
無料ネームサーバーの登録ページはこちらになります(要ログイン)
なお、バリュードメインで管理していないドメインをバリュードメイン外のサーバーで運用するためにご利用されることは原則禁止させていただいています。この度、仕様を全面的に見直し、無料ネームサーバーの登録時の認証を強化いたしました。
変更前は下記の2通りの認証方法でした。
- ネームサーバーをバリュードメインに変更し、認証する。
- 現在設定されているネームサーバー提供元様側でTXTレコードに認証用コードを追加し、認証する。
1の方法について、利用予定のレンタルサーバー以外で管理されているドメインを、レンタルサーバー提供のネームサーバーを使って運用する場合に伝統的に使われてきた方法です。ただし、この方法には一部問題があります。
予めネームサーバー側に利用したいドメインのゾーン情報を登録していれば問題は発生しないのですが、ネームサーバーを先に変更する必要がある場合、確率は少ないのですが、ネームサーバーを変更してからドメインのゾーン情報を管理できるようになるまでのタイムラグに第三者に乗っ取られる可能性があります。(このような一時的にでもネームサーバー設定がなく正しくないドメインの状態をlame delegationと言います)
ただし、先にドメインのゾーン情報を作れば、lame delegationは発生しないのですが、本人確認できないであろう第三者のゾーン情報(例えば、google.comみたいなドメインのゾーン)を受け入れることを制限するために、先にネームサーバーをバリュードメインのものに変更いただいておりました。
なぜバリュードメインがこの認証方法を使っていたのか?ということですが、問題があると指摘を受ける前提で言うと、認証されない第三者のドメインのゾーン情報を受け入れることを制限でき、かつ、ネームサーバー機能を提供されていない他社ドメイン管理会社でも利用できる方法であり、お客様にとって簡単で手間が少ないと判断していたからです。後述の無料ネームサーバーへのサブドメイン登録問題もこの認証上の問題です。
2の方法については、ドメイン管理会社でネームサーバー機能を有している場合は、安全な方法で比較的手間が少ない方法となります。
変更後は下記の4通りの認証方法を採用しています。
- 現在設定されているネームサーバー提供元様側でTXTレコードに認証用コードを追加し、認証する。
- 登録するドメインで作成されたメールアドレス宛に認証用コードを送信し、認証する。
- 登録するドメインと紐づけられたwebサーバー上に認証用ファイルをアップし、認証する。
- 登録するドメインのネームサーバーをバリュードメインのネームサーバーに変更し、認証する。
1については、同じ仕様で継続。2、3については新設、4については、仮登録を入れる形で改善いたしました。
2、3については、ネームサーバー機能に加えて、メールサーバーやウェブサーバーを保持している必要性がありますが、比較的安全な認証方法になります。
4については、事前のSMS認証で極力不正な第三者のドメイン申請を防ぎつつ、ネームサーバーの変更前に予め仮登録をしていただくことで、lame delegation、第三者の乗っ取りを防ぎつつ、ネームサーバーだけで認証をする方法としました。しかしながら、ネームサーバーだけで認証するには限界があり、今後の需要や利用状況を見て、継続提供させていただくかを適宜判断をしていきたいと考えております。
いずれも適切な手順で認証を実施していただくことで、安全にご利用いただけますのでご安心ください。
一部ご不便となる変更で、お手数をおかけすることなりますが、何卒ご理解いただけますと幸いです。
無料ネームサーバーへのサブドメイン登録について
外部からご指摘をいただいた第三者によるサブドメインの登録申請の問題については、3月に修正済みですが、今回を期に再点検し、認証を強化いたしました。この問題は、異なるアカウントで管理されている親ドメインで管理されていないサブドメインのゾーン情報を別のアカウントで作成できるというものです。(親ドメインが「value-domain.com」であるとすると サブドメインは「abc.value-domain.com」や「sub.value-domain.com」になります)
問題の原因として、サブドメインを委譲し、複数アカウントで管理・運用できるという仕様そのそもにありました。これは、サブドメインだけをネームサーバーで管理して運用したいという需要があり、受け入れ対応していたものです。
ただし、無料ネームサーバーの登録条件に記載させていただいている通り、第三者による運用は禁止、弊社レンタルサーバー以外での運用は原則禁止とさせていただいており、一定時間経過のちも問題があるドメインについては、自動的に停止させていただいております。親ドメインが異なるアカウントとのサブドメインについては、(レンタルサーバー利用に必要な)SMS認証がされている、親ドメインのDNS設定において設定されていない・最終更新時間が一定の時間内であるなど、一定の条件下でのみ運用を許可としており、申請時には弊社システムで警告が出るようになっております。
異なるアカウントからのサブドメイン登録申請自体が過去数年でも数える程しかないため、今回を期に、4のネームサーバーでの認証は一旦すべて拒否させていただき、1,2,3の認証か、4の場合は個別の手動による認証対応をお願いさせていただくことになりました。
今回の変更内容は以下の通りとなります。
- SMS認証での申請数制限を強化
- 親ドメインやサブドメインのいずれか1つでも他のユーザー管理下にある場合、一律拒否
- 親ドメインが設定されていないサブドメインの場合、一律拒否
- TXTレコード、メール認証、ウェブ認証でのサブドメインについては許可
いずれの場合も、ネームサーバーでの認証がどうしても必要な場合は個別対応いたしますので、お手数をおかけしますが、サポートからお問い合わせいただければ幸いです。
以上の通り、制限を厳しく変更させていただき、安全にご利用いただける状態でございますのでご安心ください。
ご利用の皆様にはご不便をおかけすることになり申し訳ございません。
クロスサイトリクエストフォージェリ(CSRF)の問題について
今回のクロスサイトリクエストフォージェリ(CSRF)とは、今回の場合、バリュードメインにログインしている状態の同じブラウザ上で、悪意のある変更先のURLやドメイン名を指定された他のウェブサイトなどにアクセスした場合、意図せず自分自身で設定を書き換えてしまうという問題です。URLにいれるドメイン名や契約ID等と攻撃対象者をピンポイントで合致させる必要があるので、確率は低くはありますが、発生する可能性はございました。
今回、適切な前ページを経由しない、適切な参照元ではないリクエストを点検し、テスト以外で発生している事例は確認できておりません。また、現時点で対策済みです。
今更な言い訳になりますが、CSRF対策は契約周りなどドメイン操作に関係ないところは対応済みでしたが、ドメイン設定に関わる部分については、一部入れない形を取っておりました。今回、結果として見直すことになりますが、この理由には歴史的な経緯があります。
バリュードメインは運営して20年以上になります。お蔭様で20年以上にも渡りご愛用いただいている方も多数いらっしゃり、また、1契約で多数のドメインを管理されるお客様も少なからずいらっしゃいます。今回の影響を調べる点検作業中で改めてスタッフ一同感謝しておりました。。
2020年に公式にAPIを提供させていただきましたが、その随分前から、お客様自身で開発されたプログラムで、スクレイピング(プログラムでバリュードメインのウェブサイトから情報を抽出、整形、解析、設定変更したりする技術)を使い、複数のドメインの取得や、一括変更、中古ドメインのドロップキャッチや自動取得など様々な画面でバリュードメインを活用いただいてきました。厳格なCSRF対策を入れると、スクレイピングの際、アクセスが拒否され、これらの自動・一括処理ができなくなるというお声がございました。このため、一部のドメインの設定項目については、スクレイピングによる変更を受け入れるため、対策を緩めてきた経緯がございました。
今回、スクレイピングでできることはAPIで代替できる操作であるため、また、全体のセキュリティ向上のために、これ以上は許容は厳しいと判断し、APIへの移行や個別システムの提供のご提案をさせていただき、一律CSRF対策を入れさせていただきましたので、安全にご利用いただける状態でございますのでご安心ください。
この変更に伴い、一部のお客様には変更のお手間を取らせることになり大変申し訳ございませんでした。今後の安心、安全なご利用のためご容赦いただけますと幸いです。
また、ご利用の皆様にはご心配をおかけし申し訳ございませんでした。
最後に
バリュードメインでは、柔軟性や自由度を重視し、様々な立場のお客様に寄り添い、自由な表現を支える日本のインターネットインフラ提供事業者としての役割を目指してまいりました。
また、ドメインやDNSについては、インターネットの基本的なインフラであり、かつ、重要な社会インフラでもあります。
利便性とセキュリティ対策による制限は一部相反する場合もあるかもしれませんが、全ての方の安心安全と利便性を高い次元で共存させ、お客様にご満足いただけるよう日々考え努めるのが事業者の役目であり、義務でもあり、社会的責任でもあります。
この機会を与えていただいたことを大変感謝しております。また、弊社のお客様の中に、厳しくも温かいお𠮟りをいただけるお客様が多いこと、改めてスタッフ一同嚙み締めて心に刻みました。
反省をすべき点は反省し、見直すべき箇所は見直し、今後とも少しでもお役に立ち、真に喜んでいただけるよう心掛けてまいります。不器用で至ぬところもございますが、今後とも末永いご愛顧のほど、よろしくお願いいたします。