designetwork

ネットワークを軸としたIT技術メモ

ローカルドメインのSSL証明書はどうするのが良いか

f:id:daichi703n:20161215234122j:plain

内部的なドメイン(Internal Domain Name)として使用される.local。 test.local, test.internalといったローカルドメインを使用しているケースが多い。

ローカルドメインを使用している中で発生する問題のひとつである「SSL証明書をどうするか?」という問題の対応を記載する。

.localドメインの証明書の問題

詳細はこちらの通り

概要としては、.local, .internalといったドメインジェネリックトップレベルドメイン(gTLD: generic Top Level Domain)(.com, .jpなど)ではなく、公的には認められていない。それと合わせて、その認証も公的にはできなくなっており、公的機関から証明書の発行を受けることはできない。

また、セキュリティ的にも、ローカルドメインは各社で独自に使用できるものであるため、インターネット上と違いユニーク性は担保されず、重複の可能性がある。そこに起因して、なりすまし等の問題が発生する。

対処方法

こちらにローカルドメインSSL証明書に関する推奨方法が記載されている。

記載内容は以下の通り

Options for Internal or Local SSL Certificates

So what can you do if you have servers with internal names and/or reserved IPs that you want to secure with SSL? There are a couple options:

  • Migrating to registered domain names - a good long term option and allows you to continue getting certificates from your preferred trusted CA provider.
  • Setting up and running your own enterprise CA – however, this comes with the costs of procuring, configuring and running your own CA and OCSP services.
  • Using self-signed SSL Certificates – however, this is only good in very limited environments (e.g. test servers). It teaches users to ignore important browser warnings which can lead to security issues if they accept self-signed certificates outside of their company.
  • Obtaining SSL Certificates under non-public roots from your trusted CA provider – this is a good option if you want to continue using unqualified names, but don’t want to run your own CA or rely on self-signed certificates.

概略は以下の通り(ほぼGoogle翻訳なので誤訳はご了承ください)

  • 登録されたドメイン名への移行 - 長期的なオプションとして、信頼できるCAプロバイダーから証明書を取得し続けることができます。
  • 独自のエンタープライズCAを設定して運用する - ただし、これには独自のCAおよびOCSPサービスを調達、設定、実行するコストが伴います。
  • 自己署名SSL証明書を使用する - ただし、これは非常に限られた環境(テストサーバーなど)でのみ有効です。 自社以外の自己署名証明書を受け入れる場合、セキュリティ上の問題につながる重要なブラウザの警告を無視することになってしまいます。
  • 信頼できるCAプロバイダから非公開のルートでSSL証明書を取得する - 非修飾名の使用を継続したいが、独自のCAを実行したくない場合や自己署名証明書に依存したくない場合には、これは良いオプションです 。

可能であれば、登録されたドメインへの移行が推奨されている。新規設計時には基本的にインターネット上で取得しているドメインを使用するのがよさそうだ。

また、ローカルな環境については自己署名SSL証明書(オレオレ証明書)を使用することも許容されている。

まとめ

ローカルドメインSSL証明書が必要になるケースでは、そもそもローカルドメインではなく、組織で取得しているドメインに変更するのが良い。

開発環境、検証環境などの局所的、暫定的な環境においては、自己署名証明書(オレオレ証明書)などを適用することも対応のひとつとなる。