ククログ

株式会社クリアコード > ククログ > Firefox ESR102以降で古いバージョンのTLSと3DESを有効にしてサイトにアクセスする方法

Firefox ESR102以降で古いバージョンのTLSと3DESを有効にしてサイトにアクセスする方法

はじめに

クリアコードでは、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をあえて使用するための設定は、ポリシーのSSLVersionMintls1を指定するというものでした。 これにより、TLS 1.0/1.1の使用を許可します。

"SSLVersionMin": "tls1"

TLS1.0/1.1かつ3DESを有効にするには

SSLVersionMinポリシーでサポートされる古いバージョンとしてtls1を明示的に指定すると、暗号スイートの3DESも同時に有効にできます。

"SSLVersionMin": "tls1"

TLS1.2以降で3DESを有効にするには

古いバージョンのTLSで暗号スイートとして3DESを有効にするには、SSLVersionMintls1を指定すれば有効にできましたが、TLS1.2以降は異なります。

autoconfig.cfgで設定するならば、次のようにsecurity.ssl3.deprecated.rsa_des_ede3_shafalseを設定します。

lockPref("security.ssl3.deprecated.rsa_des_ede3_sha", false);

ポリシーのDisabledCiphersで設定するなら、 TLS_RSA_WITH_3DES_EDE_CBC_SHAfalseを指定します。

"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を有効にするにはSSLVersionMintlsを指定すればよいのは同様です。

TLS1.0/1.1かつ3DESを有効にするには

ESR91ではSSLVersionMinポリシーでサポートされる古いバージョンとしてtls1を明示的に指定すると、暗号スイートの3DESも同時に有効にできました。 しかし、ESR102ではESR91とは異なり、それだけでは暗号スイートとして3DESはサポートされません。

試しに、TLS1.0/1.1かつ暗号スイートとして3DESが有効になっているサーバーにアクセスすると次のようなエラーメッセージが表示されます。

「安全な接続ができませんでした」のタイトルと、「myserverへの接続中にエラーが発生しました。Cannot communicate security with peer: no common encryption algorithm(s). エラーコード: SSL_ERROR_NO_CYPHER_OVERLAP」のメッセージが表示されたネットワークエラーの様子のスクリーンショット

SSL_ERROR_NO_CYPHER_OVERLAPはサーバー側でサポートしている暗号スイートと、Firefoxがサポートしている暗号スイートが合致しておらず、接続できないことを意味します。

そこで、3DESを明示的に有効にするにはpolicies.jsonに次のような設定を適用する必要があります。

"Preferences": {
  "security.tls.version.enable-deprecated": {
    "Value": true,
    "Status": "locked"
  },
},

なお、security.tls.version.enable-deprecatedtrueを設定した場合、ポリシーのSSLVersionMintls1を設定しなくても、TLS1.0/1.1が有効になります。

そのため、security.tls.version.enable-deprecatedtrueを設定するのが、TLS1.0/1.1かつ3DESを有効にする場合のおすすめ設定です。

TLS1.2以降で3DESを有効にするには

ESR91と同様に、security.ssl3.deprecated.rsa_des_ede3_shafalseを設定するか、ポリシーのDisabledCiphersを使ってTLS_RSA_WITH_3DES_EDE_CBC_SHAfalseを指定します。

おわりに

今回は、Firefox ESR102以降で古いバージョンのTLSと3DESを有効にしてサイトにアクセスする方法を紹介しました。 あえて脆弱なものを使用するためには、手間がかかるようになっており安全側に倒した設計となっていることがわかります。 本来は、より安全なバージョンへとサーバーの移行を進めるのが望ましいのですが、移行過程で必要になったら参考にしてみてください。

クリアコードでは、お客さまからの技術的なご質問・ご依頼に有償にて対応するFirefoxサポートサービスを提供しています。企業内でのFirefoxの運用でお困りの情シスご担当者さまやベンダーさまは、お問い合わせフォームよりお問い合わせください。