はじめに
クリアコードでは、Firefoxサポートサービスの一環として、お客さまからの要望に基づいてカスタマイズしたFirefoxの提供もしています。 要望のなかには、古いバージョンのTLS(1.0/1.1)での3DESの使用というものがあります。 古いバージョンのTLSの使用は情報セキュリティの観点からは非推奨なのは言うまでもありませんが、この要望で想定されているのは、システムの移行が済んでおらず塩漬けとなっている業務システムにアクセスする必要があるような場合です。
今回は、そのような事例に対応するために、Firefox ESR102ではどのようなカスタマイズが必要なのかについて説明します。
ESR91以前で必要だったカスタマイズ
TLS1.0/1.1と3DESを有効にする場合の設定についてESR91の場合を説明します。
- TLS1.0/1.1を有効にするには
- TLS1.0/1.1かつ3DESを有効にするには
- TLS1.2以降で3DESを有効にするには
TLS1.0/1.1を有効にするには
ESR91では、脆弱なバージョンのTLSをあえて使用するための設定は、ポリシーのSSLVersionMin
にtls1
を指定するというものでした。
これにより、TLS 1.0/1.1の使用を許可します。
"SSLVersionMin": "tls1"
TLS1.0/1.1かつ3DESを有効にするには
SSLVersionMin
ポリシーでサポートされる古いバージョンとしてtls1
を明示的に指定すると、暗号スイートの3DESも同時に有効にできます。
"SSLVersionMin": "tls1"
TLS1.2以降で3DESを有効にするには
古いバージョンのTLSで暗号スイートとして3DESを有効にするには、SSLVersionMin
でtls1
を指定すれば有効にできましたが、TLS1.2以降は異なります。
autoconfig.cfgで設定するならば、次のようにsecurity.ssl3.deprecated.rsa_des_ede3_sha
にfalse
を設定します。
lockPref("security.ssl3.deprecated.rsa_des_ede3_sha", false);
ポリシーのDisabledCiphers
で設定するなら、 TLS_RSA_WITH_3DES_EDE_CBC_SHA
にfalse
を指定します。
"DisabledCiphers": {
"TLS_RSA_WITH_3DES_EDE_CBC_SHA": false,
},
ESR102以降で必要になるカスタマイズ
TLS1.0/1.1と3DESを有効にする場合の設定についてESR102の場合を説明します。
- TLS1.0/1.1を有効にするには
- TLS1.0/1.1かつ3DESを有効にするには
- TLS1.2以降で3DESを有効にするには
TLS1.0/1.1を有効にするには
Firefox ESR102以降でも、TLS1.0/1.1を有効にするにはSSLVersionMin
にtls
を指定すればよいのは同様です。
TLS1.0/1.1かつ3DESを有効にするには
ESR91ではSSLVersionMin
ポリシーでサポートされる古いバージョンとしてtls1
を明示的に指定すると、暗号スイートの3DESも同時に有効にできました。
しかし、ESR102ではESR91とは異なり、それだけでは暗号スイートとして3DESはサポートされません。
試しに、TLS1.0/1.1かつ暗号スイートとして3DESが有効になっているサーバーにアクセスすると次のようなエラーメッセージが表示されます。
SSL_ERROR_NO_CYPHER_OVERLAPはサーバー側でサポートしている暗号スイートと、Firefoxがサポートしている暗号スイートが合致しておらず、接続できないことを意味します。
そこで、3DESを明示的に有効にするにはpolicies.jsonに次のような設定を適用する必要があります。
"Preferences": {
"security.tls.version.enable-deprecated": {
"Value": true,
"Status": "locked"
},
},
なお、security.tls.version.enable-deprecated
にtrue
を設定した場合、ポリシーのSSLVersionMin
にtls1
を設定しなくても、TLS1.0/1.1が有効になります。
そのため、security.tls.version.enable-deprecated
にtrue
を設定するのが、TLS1.0/1.1かつ3DESを有効にする場合のおすすめ設定です。
TLS1.2以降で3DESを有効にするには
ESR91と同様に、security.ssl3.deprecated.rsa_des_ede3_sha
にfalse
を設定するか、ポリシーのDisabledCiphers
を使ってTLS_RSA_WITH_3DES_EDE_CBC_SHA
にfalse
を指定します。
おわりに
今回は、Firefox ESR102以降で古いバージョンのTLSと3DESを有効にしてサイトにアクセスする方法を紹介しました。 あえて脆弱なものを使用するためには、手間がかかるようになっており安全側に倒した設計となっていることがわかります。 本来は、より安全なバージョンへとサーバーの移行を進めるのが望ましいのですが、移行過程で必要になったら参考にしてみてください。
クリアコードでは、お客さまからの技術的なご質問・ご依頼に有償にて対応するFirefoxサポートサービスを提供しています。企業内でのFirefoxの運用でお困りの情シスご担当者さまやベンダーさまは、お問い合わせフォームよりお問い合わせください。