今朝早く、 Let’s Encrypt 証明書の更新方法を dehydrated から mod_md に変更した. 8/17 に Steffen から「“2.4.27 VC15 で mod_md を使えるようにした」というお知らせが出ていたが、やってみてなかった。忙しかったし、 ‘dehydrated’ で問題なかったし。だけど一昨日 “ACME Support in Apache HTTP Server Project” という記事を見て、やっぱ使ってやろうと昨日決心した。
現時点で、 ‘mod_md’ は version 1.0.0、 Apache は 2.4.28 である。 Windows ユーザにとってうれしいことに、 Steffen が 2.4.28 VC15 用をビルドしてくれていて、ここから落とせる。使い方は簡単だ。 mod_md-VC15.zip を展開すると bin フォルダと modules フォルダがある。 bin の中身は apache/bin に、modules の中身は apache/modules にコピーする。 mod_ssl.so だけは上書きになる。新しいほうは、パッチ済みの Apache mod_ssl である。
[httpd.conf について]
次の行をアンコメント/追加する。
LoadModule watchdog_module modules/mod_watchdog.so
LoadModule md_module modules/mod_md.so
自鯖の場合は、 Include conf/extra/letsencrypt.conf
を削除した。<<--- このときに追加したものだ。
[httpd-ssl.conf について]
以下の行を追加した。 https://github.com/icing/mod_md/wiki と https://httpd.apache.org/docs/trunk/mod/mod_md.html を参照
MDCertificateAgreement https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf
MDCertificateAgreement https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
Updating our Subscriber Agreement to v1.2 on November 15, 2017が出たので。
MDRenewWindow 80d
MDRenewWindow 30d
デフォが MDRenewWindow 33% だからなくてもいいけど。
ManagedDomain example.com
MDomain example.com
公式で、 MDomain Directive となったので。
’SSLCertificateFile’ と ‘SSLCertificateKeyFile’ ディレクティブはいらなくなる。
自鯖の場合は、下記の行を削除した。
SSLOpenSSLConfCmd ECDHParameters secp384r1
と SSLOpenSSLConfCmd Curves secp384r1
。 <<--- このときに追加したものだ。
CipherSuite のサーバ認証を ECDSA から RSA に変更した。 mod_md デフォルトでは、 RSA certs ができるので。
Apache を再起動。 mod_md が ServerRoot に MD というフォルダを作る。
現時点での SSLLABS Server Test の結果:
https://test.o6asan.com/SSL_Server_Test_o6asan_com13.html
追記(11/16):
mod_md による証明書の更新が 2017.11.08 @16:07:35 UTC 、無事、完了。お利口さんにちゃんと働いてくれている。
追記2(11/30):
今朝、更新方法を変えて後、 Windows7 で Internet Explorer 11 を使っている方が、うちのサイトにアクセスできないことに気づいた。ひと月も経っちゃってるよ、ウヘッ!
なので、 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 を httpd-ssl.conf に追加した。トホホ。
現時点での SSLLABS Server Test の結果:
https://test.o6asan.com/SSL_Server_Test_o6asan_com14.html