これは、なにをしたくて書いたもの?
以前、NISTやIPAが公開しているセキュリティガイドラインに関するエントリーを書きました。
暗号化アルゴリズムやSSL/TLSなどの、セキュリティガイドラインに関する資料 - CLOVER🍀
TLS暗号設定ガイドライン 安全なウェブサイトのために(暗号設定対策編) | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
SSL/TLSについてMozillaがまとめているページも見つけたのでこちらも書いておきます。
Security/Server Side TLS
サーバーサイドのTLS推奨構成を載せているのは、こちらの「Security/Server Side TLS」です。
ここでは以下の3種類の推奨構成を載せています。
- モダン(Modern) … 下位互換性を必要としない、TLS 1.3をサポートする最新のクライアント
- 中間(Intermediate) … 一般的なサーバーの推奨構成
- 古い(Old) … IE8やJava 6、OpenSSL 0.9.8などの非常に古いクライアントやライブラリーによってアクセスされるサービス

この3つに対して、以下の内容を載せています。
たとえば中間(Intermediate)であればこんな感じです。

この内容はJSONファイルとしても公開されています(「JSON version of the recommendations」を参照)。
SSL Configuration Generator
「Security/Server Side TLS」に載っている推奨構成をサーバーの設定ファイル例として生成してくれるのが、「SSL Configuration Generator」です。
Mozilla SSL Configuration Generator
こんな感じです。

GitHub - mozilla/ssl-config-generator: Mozilla SSL Configuration Generator
現時点でサポートしている「サーバー」は以下になります。
- Apache
- AWS ALB
- AWS ELB
- Caddy
- Coturn
- Dovecot
- Exim
- Go
- HAProxy
- Jetty
- ighttpd
- MySQL
- nginx
- Oracle HTTP
- Postfix
- PostgreSQL
- ProFTPD
- Redis
- Squid
- stunnel
- Tomcat
- Traefik
「Security/Server Side TLS」で挙げられていた3種類の推奨構成(Modern、Intermediate、Old)に対して、
サーバーとバージョン、OpenSSLのバージョン、HTTP Strict Transport Security(HSTS)、OCSP Staplingを選んで設定を生成できます。
たとえばApacheの場合。

よく見るとAWSのALBが入っているのでこの場合はどうなるのかなと思って試してみたら、なんとAWS Cloudformationのテンプレートが
生成されました。

ちょっとビックリです。