ユーザに対して、そのユーザ名のサブドメインやメールアドレスを払い出すWebサービスがあります。
しかし、特定のサブドメインやメールアドレスは特別な用途で使われているものもあります。そのようなサブドメインやメールアドレスを一般ユーザに払い出してしまうと危険です。
現在、IETFでは仕様上利用用途が決められている、それらのラベルをとりまとめる「Dangerous Labels in DNS and E-mail」というdraftが提出されています。
今回はそれを眺めていきます。
(あくまでIETFの取り組みであり、仕様上定義されているものをとりまとめています。クラウドサービスや特定ベンダーで特別利用しているものは現在含まれていません。)
サブドメイン
ここでとりあげるサブドメインは、利用用途が決まってるため一般ユーザに払い出すべきではありません。(例: mta-sts.example.com)
(なお、_example のように、アンダースコアで始まるものはRFC 8552ですでにまとめられています。ここでは紹介はしません。)
- mta-sts: RFC8461で定義される、SMTP MTA Strict Transport Securityポリシーファイルの設置に利用
- openpgpkey: 「OpenPGP Web Key Directory」でOpenPGP certificateの参照と検証に利用
- root-key-sentinel-is-ta-(key-tag): RFC8509で、信頼するDNSSECルートキーを示すのに利用
- root-key-sentinel-not-ta-(key-tag): RFC8509で、信頼しないDNSSECルートキーを示すのに利用
- www: ブラウザがWebサイトが動作していると想定して利用する
メールアドレス
ここでとりあげる文字列は、利用用途が決まってるため、メールアドレスのローカルパートとして一般ユーザに払い出すべきではありません。(例: webmaster@example.com)
(なお、大文字小文字は区別しません)
- abuse: RFC2142で、不正利用時の連絡先として指定
- administrator: 証明書の発行用途で利用 (CA/B Forum)
- admin: 証明書の発行用途で利用 (CA/B Forum)
- hostmaster: RFC2142及び、証明書の発行用途で利用 (CA/B Forum)
- info: 証明書の発行用途で利用 (参考)
- is: 証明書の発行用途で利用 (参考)
- it: 証明書の発行用途で利用 (参考)
- noc: RFC2142で、ネットワークに関する連絡先として指定
- postmaster: RFC2142及び、証明書の発行用途で利用 (CA/B Forum)
- root: システムの問い合わせや、証明書の発行に利用?
- security: RFC2142で、セキュリティ関係の連絡先として指定
- ssladministrator: 証明書の発行用途で利用(参考)
- ssladmin: 証明書の発行用途で利用 (参考)
- sslwebmaster: 証明書の発行用途で利用(参考)
- sysadmin: 証明書の発行用途で利用(参考)
- webmaster: Web関連の問い合わせ先及び、証明書の発行用途で利用 (CA/B Forum)
- www: webmasterのエイリアスとして使用
CA Browser ForumのBaseline Requirementsは、証明書発行に関するガイドラインです。CAやクラウドサービスでも、メールアドレスベースの検証ではこれらに準拠しており、これらのメールアドレスを検証に用いてますね。
おわり
もちろん今回は仕様で利用用途が定義されているものにフォーカスしています。
他にも危険なものとかありそうだけど、まとまってるのかな?