このドメインを DNS CAA および TLS 1.3 へ対応させた(加えて TLS 1.0/1.1 を無効化した)記録をメモとして残しておきます。
- 作業実施バージョン
- Ubuntu 18.04.2 LTS
- OpenSSL 1.1.1
- nginx/1.14.0 (Ubuntu)
1. DNS CAA (Certificate Authority Authorization) への対応
DNS CAA とは、ざっくり言うと、意図しない認証局 (CA; Certification Authority) から SSL (TLS) サーバ証明書が勝手に発行されないようにする仕組みです。
2019年10月現在では、認証局がサーバ証明書を発行する際には必ず DNS の CAA レコードを確認し、自身(自社)に対してドメイン(あるいはサブドメイン)の所有者が意図して証明書発行依頼をしているかどうかを確認することが義務付けられています。
認証局は CAA レコードを確認し、自身(自社)が証明書を発行できる認証局で無いと確認できたら証明書を発行せずに、ドメイン管理者にその旨を報告するという状況です。
しかしながら、2019年10月現在では、DNS CAA レコードをドメインに対して登録するかどうかはユーザの任意とされているため、仮に設定しなくとも証明書発行は問題なく行えます。
よって、あくまで対応を強制されているのは認証局側であって、ユーザ的観点で見ると「ドメインに対して CAA レコードを登録しておくと、証明書の誤発行防止につながりますよ」程度のレベルです。。。
また、DNS CAA への対応は、もちろんですが DNS サーバ側が対応している必要があります。今回、私が使用している DNS サーバは対応しているため、CAA レコードの登録をしました。
なお、登録する CAA レコードですが、作成に当たっては SSLMate の CAA Record Helper を使用し、できたレコードを DNS サーバの設定にコピペしました。
なので、特に難しいことはしていませんw
ただし、CAA レコードの登録に当たって注意しなければならない事項としては、親ドメイン(例えば example.com)に CAA レコードを登録している場合、サブドメイン(例えば sub.example.com)もその影響を受けますので、他者へサブドメインを委譲している場合にはサブドメインのことも考慮した設定をする必要があります。
2. TLS 1.3 への対応
2020年上半期中には TLS 1.0/1.1 が主要ブラウザ全てで閲覧できなくなるという状況を迎えています。
そのため、HTTPS でサービスを提供する場合には TLS 1.2/1.3 で動作をさせる必要があります。
直近は TLS 1.2 に対応していればブラウザで閲覧できなくなるという状況を凌げることは確かですが、いいタイミングなので、TLS 1.0/1.1 の対応終了と TLS 1.3 への対応を実施しました。
TLS 1.3 への対応は、OpenSSL 1.1.1 以降のバージョンが動作している必要があるため、OpenSSL のバージョンを上げました。
なお、Ubuntu では特定のパッケージだけバージョンを上げる場合には update ではなく install を使うようです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | % sudo apt install openssl Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: apache2-data apache2-utils libopts25 sntp Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: libssl1.1 The following packages will be upgraded: libssl1.1 openssl 2 upgraded, 0 newly installed, 0 to remove and 202 not upgraded. Need to get 1913 kB of archives. After this operation, 660 kB of additional disk space will be used. Do you want to continue? [Y/n] |
正しく “The following packages will be upgraded:” とあるので、アップグレードし、nginx 側で下記のような設定を加え、TLS 1.0/1.1 を無効化し TLS 1.3 を有効にしました。
1 | ssl_protocols TLSv1.2 TLSv1.3; |
No comment yet, add your voice below!