- さまざまな サーバーソフトウェア に合わせたSSL/TLS設定を自動生成するツール
- Apache、nginx、HAProxy、Tomcatなど20種類以上のサーバー環境をサポート
- Modern、Intermediate、Old の3つの Mozilla構成プロファイル を提供し、セキュリティレベルと互換性を選択可能
- OpenSSLバージョンとサーバーバージョンを入力して環境に合わせた設定を生成でき、HTTPSリダイレクトオプションも含む
- Mozillaの セキュリティガイドライン と連携し、安全なサーバー設定を容易に実装できる便利なツール
概要
- Mozilla SSL Configuration Generator は、サーバー管理者が安全なSSL/TLS構成を簡単に生成できるよう支援するWebベースのツール
- MozillaのセキュリティポリシーとTLS推奨設定に基づき、各サーバー環境に適した設定スクリプトを自動生成
対応サーバーソフトウェア
- 対応対象には Apache、AWS ALB/ELB、Caddy、Coturn、Dovecot、Exim、Go、HAProxy、Jetty、lighttpd、MySQL、nginx、Oracle HTTP、Postfix、PostgreSQL、ProFTPD、Redis、Squid、stunnel、Tomcat、Traefik などが含まれる
- 各サーバー向けに最適化されたSSL設定テンプレートを提供
Mozilla構成プロファイル
- Modern: TLS 1.3をサポートし、下位互換性を必要としない最新サービス向け
- Intermediate: さまざまなクライアントとの互換性を考慮した一般的なサーバー向けで、ほとんどのシステムに推奨
- Old: 非常に古いクライアントとの互換性を維持する必要がある場合にのみ使用
環境設定項目
- Server Version と OpenSSL Version を入力して、その環境に適した設定を生成
- HTTPSリダイレクト機能を含み、JavaScriptの有効化 が必要
参考情報とリソース
- Mozillaの公式ドキュメントとセキュリティガイドラインへのリンクを提供
1件のコメント
Hacker Newsのコメント
似た文脈では、ウェブサイトのセキュリティヘッダーをスキャンできる SecurityHeaders や、TLS設定を検証する SSL Labs Test、そしてコマンドラインからサイトをスキャンできる testssl.sh のようなツールもある
インターネットにアクセスできない環境や、自動化されたHTMLレポートを生成する際に便利
並列化やオプション無効化をしても最低20秒かかっていたが、新しいツールは60〜100倍高速
脆弱性分析はないが、設定の抽出が目的だった
各ヘッダーは役割が異なり、サイトの目的によっては適用すべきでない場合もある
たとえば CSP ヘッダーがあっても、実際には意味のない設定になっていることが多い
なぜ今でも「SSL」という用語を使うのかわからない
この10年間の技術的進歩を忘れたかのように感じる
顧客に TLS 証明書を設定すると言うと、「うちは SSL が必要だ」と心配されることが多い
結局は認知度の問題。一般ユーザーは TLS を知らず、企業は混乱を避けるために SSL を使い続ける
Cloudflare の SSLページ もパスは SSL だが内容は TLS 中心で、やはり紛らわしい
Netscape Navigator が Mozilla につながっているので、Mozilla が今でも SSL という用語を多く使うのも理解できる
今あるソフトウェアの75%はなくなったほうが世界は良くなる気がする
その後、暗号化された HTTP の一般名詞になり、プロトコル名が TLS に変わっても今なお SSL と呼ばれている
暗号設定はアプリケーション開発者や運用担当者に任せるべきではない
参考になるものとして Goブログの TLS Cipher Suites 記事 がある
Mozilla SSL Configuration Generator は素晴らしいが、本来は存在すべきでないツールだ
OpenSSL のようなライブラリにはすでにcipher presetがあったのに、ジェネレーターがそれを拡張しなかったのは不思議だ
たとえば
HIGH:!kRSA:!kEDH:!SHA1:!CAMELLIA:!ARIAのように組み合わせれば、安全性を保ちながら最新アルゴリズムを使えるこうした設定は、ECC キーや ChaCha20 のような強力な cipher suiteを誤って無効化してしまう問題を防いでくれる
EdDSA や post-quantum hybrid アルゴリズムをサポートできないサーバーが出てくるのも、こうした理由による
最近 OCSP stapling を含めているのは皮肉だ
ブラウザと Let's Encrypt がすでに OCSP を事実上廃止しているからだ
Mozilla は SSH 設定ガイドも提供している
OpenSSH セキュリティガイドライン も参照できる
サーバー開発者が年号やセキュリティレベル(secure, medium, loose)だけを指定すればよいターンキー構成を提供してほしい
SSL cipher を選ぶのはほとんどカーゴカルトの域で、自分が何をしているのかわからない
なぜ SSLHonorCipherOrder を Off に設定するよう推奨しているのか気になっていた
Modern と Intermediate レベルの cipher はどれも安全なので、クライアントがハードウェアに合った cipherを選べるようにするほうが効率的だ
関連内容は issue comment と Mozilla Wiki にまとまっている
設定ジェネレーターにmTLS(相互TLS)オプションがないのは残念だ
クライアント証明書が必要な状況では非常に便利だが、あまりにニッチな機能なので外されたようだ
「AWS ELB」の項目はClassic Load Balancerを意味しているようだ
今では「AWS ALB」が Application Load Balancer なので、用語が紛らわしい
OpenSSL 設定向けにも似たようなツールがあるとよい