0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

取得したサーバ証明書のFQDNは公開されている

Last updated at Posted at 2020-02-16

TL; DR

  • Certificate Transparencyという仕様にしたがって、発行したサーバ証明書のドメインは基本的に公開されます
  • 存在を隠したいドメインにサーバ証明書を発行するときは、ワイルドカード証明書を使うか、そもそもドメインごと既存のものとは分けましょう

Certificate Transparencyとは

Certificate TransparencyはRFC 6962で定められています。
これはサーバ証明書を発行したら、証明書データベースに登録するというもの。データベースは修正不可で、いつ、どのドメインに、どの認証局から発行されたのかなどが登録されます。
不正にサーバ証明書が発行されたときに、すぐに気がつくようにするためデータベースは一般公開されています。

「秘密の」ドメインが公開されている

誰でも検索可能なデータベースなので、「秘密の」ドメインであっても容赦なく第三者から検索可能です。検索も以下のサイトから容易に実施できます。

検索されるとどのような問題があるのか

セキュリティ上の懸念

たとえば、第三者からは知られていない(ことになっている)ことだけでセキュリティを担保しているウェブサイト(社内向けサイトに時々ありますね)は、前提が崩れています。
SSL-VPNなど、外部には隠しておきたいドメインであっても公開されてしまいます。ここに脆弱性があれば、すぐに攻撃されてしまいます。

リリース前の情報が漏れる懸念

プレスリリースが出る前の製品が、取得した証明書から判明することがあります。サブドメインで新サービスを公開する場合、証明書はサイト公開前に発行されるため、意図せず情報が流出します。
実際、ドラクエウォークはプレスリリースの数日前からCT情報から名前だけ発覚していました。

対策

対策例として2種類の方法を挙げます。他にもよいアイデアがあれば教えてください。

ワイルドカード証明書を利用する(EV証明書以外)

ワイルドカード証明書を利用すれば、具体的なドメイン名を隠蔽できます。たとえば、newservice.example.comというドメインで新サービスを提供するとき、*.example.comというワイルドカード証明書を取得すれば、サービス名部分を隠蔽できます。
しかしEV証明書はワイルドカード証明書で発行できないため、この方法が使えません。また、ワイルドカード証明書はシングルドメインの証明書と比べて高額なので、コストの問題もあります。

新規ドメインを使う

そもそもドメインごと分けるという方法もあります。example.comドメインがすでに知られているのであれば、newservice.example.netなど新しいドメイン名を発行します。
この方法ならEV証明書でも発行可能です。社内向けドメインであれば問題がありませんが、ティザーサイトなどではSEOが難しい、よいドメインが取得できないかもしれないという問題もあります。

パス振り分けを使う

ティザーサイトならパス振り分けでもサイトを公開できます。この場合example.com/newservice/というURLになります。この方法は既存FQDN内で提供されるためコストはかかりませんが、SSL-VPNなどでは利用できませんし、振り分けに使うLBへの負荷やルール数の問題があります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?