こんにちは。
はるかです。
専門用語の多いタイトルで申し訳ないです。
ただ、サイト全体をSSL化している場合、セキュリティをさらに向上させることができますので、是非ともやってみてください。
私のサイトなので、当然ですが誰にもわかるように説明をしたいと思います。
私のサイトの www.harukas.org これをドメインと言います。
DNSはドメイン名をIPアドレスに変換する機能を保有しています。
また、それ以外にサブドメインに名前を割り当てたり、固有のテキスト情報をを入れることができます。
(絶対やらないでくださいね:例えばtxtレコードに「私は由美のことが世界で一番好きです」とか入れて、強制的に全世界に配信することができ、見るのは専門知識が必要ですw)
通信の世界は、実は複雑でとっても難しかったります。
AというサーバからBというクライアントにデータを渡すにはIPアドレスが必要になります。
しかし、実はそれ間違っています。
え?と思うかもしれませんが、IPアドレスはネットワーク層という7つの層のひとつなのです。
もっと簡単にいうと、LANケーブルが抜けてWiFiも無い状態でAからBへデータが送れますか?
無理ですよね?
ということで、LANケーブルは物理層という7つの中で一番下なのです。
IPは3層(ソケットなどに通信するなら4層以上)なので、その下の階層すべてが必要になるのが通信のしくみです。
私たちは自分たちの知っていることや、必要な事だけで会話します。
なので「IPアドレスがわかればデータが渡せる」というような誤解が生まれます。
さて、話を戻します。
DNSは、ドメインからIPアドレスに変換する機能を持ったシステムです。
多数のアクセスがあり冗長性も必要なので、主にサーバに構築されます。
なのでドメインネームサーバーと言ったりします。
では、なぜIPに変換しなければならないかです。
これは「プロトコル」という「ルール」がそうなっているからです。
さらに、HTTP(S)というプロトコルでは、先ほどの説明の通りWebサーバからブラウザがデータを取りに行くには、IPアドレスが必要になります。
なので、ドメインからIPに変換するサーバはとても重要なのですね。
このサーバが落ちるとWebサーバが生存していても、サイトを見ることができないのです。
例えば、私が使っているDigiCertの証明書であれば、
issue “digicert.com”
と入れることができるのです。
これだけでは、何が嬉しいのかわかりませんよね。
実は、数年前大問題が発生しました。
なんと大手の Symantec が google.com の SSL証明書を無断で発行してしまったのです。
しかも、それが出回ったのがクラッカー(悪用する悪い人たち)なのです。
これで、Googleは大激怒しました。当然ですよね。
Googleは独自に証明書を発行するCA認証機関を買収しています。
なので、自分で発行できるのですね。
そこで、CAAに
issue “google.com”
といれて置けば、Googleの名前をかたったHTTPSの証明書を発行するなんて不可能になります。
本来ルート証明や、サイトが本物であるというのを保証するのはSymantecなどの認証局です。
その認証局が不正な証明書を流通させてしまう世の中なので、恐いですね。
CAAは、そういった不正証明書の発行問題を未然に防ぐことのできる仕掛けです。
これでDNS認証が遅くなるなどの弊害は特にないので、設定できる方は是非ともやってみてください。
余談ですが、Symantecでissueを指定しておいて、let’s encryptの証明書は多分発行できなくなります。
そういう仕組みですので、もし他社の証明書に切り替えたい場合は、まずCAAの設定を解除するなどの施策が必要になります。
そして、発行したいCAのドメインをCAAに設定する事により当該CAの証明書の発行が許可されます。
しかしながら、独自でDNSを立てていたり、他のプロバイダでも参考になると思います。
なお、この設定はHTTPSを導入しているサイトでないと意味が無いので注意してください。
管理するドメインの「ゾーン編集」を選択します。
※ゾーマではありません。
ドメイン管理画面
※画面は既にCAAの設定がされているのですが、気にしないでください。
ゾーン表示画面
値のところは、各自が使っている証明書を発行している会社のドメインにします。
RapidSSL(Symantec)の証明書は2017年10月末までのインフラで発行されたものは、信頼されませんので
2017年11月より発行しているdigicert.comを指定する事になります。
digicert.comを指定していれば、
・DigiCert
・Symantec
・Thawte
・GeoTrust
・RapidSSL
を同時に指定しているのと同義です。
これらの証明書を使用している方は、CAAに digicert.com を今から指定しておけば移行も楽になります。
(上述の証明書すべての発行権限をdigicert.comは持っている)
lets encrypt を使っている方は、間違って digicert.com を設定しないで下さいね。
lets encrypt を使っている場合は、letsencrypt.orgを指定します。
さくらの説明書をよく見ておいて下さい。
CAA設定画面
設定ができたら、SSL TEST で試験をしてみましょう。
https://www.ssllabs.com/ssltest/
DNS CAAの項目が「YES」になっている事を確認してください。
SSLTESTの結果
SSLTESTのフォーラムの情報では、2017年春頃DNS CAAを利用しているWebサイトは、何十億もあるWebサイトで「たった200サイト程度」だったとの事です。
そんな中で実装できるなんて、なんかかっこいいですよね。
SSLの人気コンテンツを持っている私のサイトは、とかくSSLTESTにかけられる事が多いです。
なので、そういうステータス向上にも役立ちますね。
まあ一番の目的は、認証局のミスを防ぐという事にかわりないですがね(笑)
・DNSレベルでの設定なのでサイトの速度に影響は無い
・設定は簡単なので設定しておくのがよい
以上でした。
ではまたね~
はるかです。
専門用語の多いタイトルで申し訳ないです。
ただ、サイト全体をSSL化している場合、セキュリティをさらに向上させることができますので、是非ともやってみてください。
私のサイトなので、当然ですが誰にもわかるように説明をしたいと思います。
DNSってなに?
DNSはドメインネームシステムの略です。私のサイトの www.harukas.org これをドメインと言います。
DNSはドメイン名をIPアドレスに変換する機能を保有しています。
また、それ以外にサブドメインに名前を割り当てたり、固有のテキスト情報をを入れることができます。
(絶対やらないでくださいね:例えばtxtレコードに「私は由美のことが世界で一番好きです」とか入れて、強制的に全世界に配信することができ、見るのは専門知識が必要ですw)
通信の世界は、実は複雑でとっても難しかったります。
AというサーバからBというクライアントにデータを渡すにはIPアドレスが必要になります。
しかし、実はそれ間違っています。
え?と思うかもしれませんが、IPアドレスはネットワーク層という7つの層のひとつなのです。
もっと簡単にいうと、LANケーブルが抜けてWiFiも無い状態でAからBへデータが送れますか?
無理ですよね?
ということで、LANケーブルは物理層という7つの中で一番下なのです。
IPは3層(ソケットなどに通信するなら4層以上)なので、その下の階層すべてが必要になるのが通信のしくみです。
私たちは自分たちの知っていることや、必要な事だけで会話します。
なので「IPアドレスがわかればデータが渡せる」というような誤解が生まれます。
さて、話を戻します。
DNSは、ドメインからIPアドレスに変換する機能を持ったシステムです。
多数のアクセスがあり冗長性も必要なので、主にサーバに構築されます。
なのでドメインネームサーバーと言ったりします。
では、なぜIPに変換しなければならないかです。
これは「プロトコル」という「ルール」がそうなっているからです。
さらに、HTTP(S)というプロトコルでは、先ほどの説明の通りWebサーバからブラウザがデータを取りに行くには、IPアドレスが必要になります。
なので、ドメインからIPに変換するサーバはとても重要なのですね。
このサーバが落ちるとWebサーバが生存していても、サイトを見ることができないのです。
CAAとは
なんと、そのDNS様の中にSSLの証明書を発行した会社名(ドメイン名)を入れることができるのです。例えば、私が使っているDigiCertの証明書であれば、
issue “digicert.com”
と入れることができるのです。
これだけでは、何が嬉しいのかわかりませんよね。
実は、数年前大問題が発生しました。
なんと大手の Symantec が google.com の SSL証明書を無断で発行してしまったのです。
しかも、それが出回ったのがクラッカー(悪用する悪い人たち)なのです。
これで、Googleは大激怒しました。当然ですよね。
Googleは独自に証明書を発行するCA認証機関を買収しています。
なので、自分で発行できるのですね。
そこで、CAAに
issue “google.com”
といれて置けば、Googleの名前をかたったHTTPSの証明書を発行するなんて不可能になります。
本来ルート証明や、サイトが本物であるというのを保証するのはSymantecなどの認証局です。
その認証局が不正な証明書を流通させてしまう世の中なので、恐いですね。
CAAは、そういった不正証明書の発行問題を未然に防ぐことのできる仕掛けです。
これでDNS認証が遅くなるなどの弊害は特にないので、設定できる方は是非ともやってみてください。
余談ですが、Symantecでissueを指定しておいて、let’s encryptの証明書は多分発行できなくなります。
そういう仕組みですので、もし他社の証明書に切り替えたい場合は、まずCAAの設定を解除するなどの施策が必要になります。
そして、発行したいCAのドメインをCAAに設定する事により当該CAの証明書の発行が許可されます。
さくらでCAAの設定をしてみよう
本件は、さくらインターネットのサービスを利用している方向けの情報となります。しかしながら、独自でDNSを立てていたり、他のプロバイダでも参考になると思います。
なお、この設定はHTTPSを導入しているサイトでないと意味が無いので注意してください。
管理パネルを開く
管理画面にログインして、ドメイン設定画面を開きます。管理するドメインの「ゾーン編集」を選択します。
※ゾーマではありません。
ドメイン管理画面
ゾーンの変更を行う
ゾーン編集になったら、「変更」をクリックします。※画面は既にCAAの設定がされているのですが、気にしないでください。
ゾーン表示画面
CAAの設定を行う
番号通りの手順で実施します。値のところは、各自が使っている証明書を発行している会社のドメインにします。
RapidSSL(Symantec)の証明書は2017年10月末までのインフラで発行されたものは、信頼されませんので
2017年11月より発行しているdigicert.comを指定する事になります。
digicert.comを指定していれば、
・DigiCert
・Symantec
・Thawte
・GeoTrust
・RapidSSL
を同時に指定しているのと同義です。
これらの証明書を使用している方は、CAAに digicert.com を今から指定しておけば移行も楽になります。
(上述の証明書すべての発行権限をdigicert.comは持っている)
lets encrypt を使っている方は、間違って digicert.com を設定しないで下さいね。
lets encrypt を使っている場合は、letsencrypt.orgを指定します。
さくらの説明書をよく見ておいて下さい。
CAA設定画面
設定ができたら、SSL TEST で試験をしてみましょう。
https://www.ssllabs.com/ssltest/
DNS CAAの項目が「YES」になっている事を確認してください。
SSLTESTの結果
SSLTESTのフォーラムの情報では、2017年春頃DNS CAAを利用しているWebサイトは、何十億もあるWebサイトで「たった200サイト程度」だったとの事です。
そんな中で実装できるなんて、なんかかっこいいですよね。
SSLの人気コンテンツを持っている私のサイトは、とかくSSLTESTにかけられる事が多いです。
なので、そういうステータス向上にも役立ちますね。
まあ一番の目的は、認証局のミスを防ぐという事にかわりないですがね(笑)
まとめ
・CAAレコードの設定は、認証局の誤(不正)発行対策になる・DNSレベルでの設定なのでサイトの速度に影響は無い
・設定は簡単なので設定しておくのがよい
以上でした。
ではまたね~
コメント一覧
コメントする