SSL証明書更新後にHTTPS通信が失敗

HTTPS通信が失敗

ZabbixからURL監視のエラー通知を受けて発覚。タイミング的に自動化している3ヵ月毎のSSL証明書更新によるものと断定出来ました。
ブラウザから接続しみてると確かに以下のHTTPS通信エラーが表示され、キャッシュクリアなどしても解消しません。

Warning

このサイトへの接続はセキュリティで保護されていません
interior-urashiba.com では、サポートされていないプロトコルが使用されています。

エラーの原因

結論から書きますが、自動化していたCertbotを用いた証明書更新スクリプトでは、以前はRSA方式で証明書を取得していました。
ですが、最近の更新でECDSA方式がデフォルトで利用されるように仕様が変更されていた様です。この暗号化方式の違いが原因で、OCIロードバランサー(LB)の設定と新しい証明書が適合せず、HTTPS通信が失敗しました。

従来のRSAは非推奨に

RSA暗号は徐々に非推奨となっています。特に、鍵長が2048ビット未満のRSA鍵はセキュリティ上の理由から推奨されなくなっています。

・Microsoftは2048ビット未満のRSA証明書の使用を非推奨としている
・TLS1.3では、既にRSAは削除されている

ECDSAとRSAの比較

IPAの資格試験に頻出するので学習はしていましたが、RSAと比較しておさらいしておきます。
ECDSAは256ビットでRSAの2048ビットと同等の安全性を確保できることから、Webページのレスポンス改善目的でも採用されているそうです。

特徴/アルゴリズムRSAECDSA
方式公開鍵暗号方式公開鍵暗号方式
暗号の仕組み素因数分解の困難性に基づく楕円曲線の離散対数問題に基づく
鍵のサイズ2048~4096ビット(推奨)256ビット程度でRSAと同等の安全性を提供
計算コスト高い(鍵サイズが大きいほど遅い)低い(同等の安全性でRSAより高速)
安全性の基準鍵サイズが大きいほど安全鍵サイズが小さくても高い安全性を提供
主な用途暗号化、デジタル署名デジタル署名、TLSハンドシェイク
速度と効率計算処理が重く、省リソース環境には不向き高速、省リソース環境で優れる
使用例HTTPS証明書(TLS)、デジタル署名新しいTLS証明書、ブロックチェーンの署名
適する環境古いシステムや広く互換性が必要な場合低リソース環境、最新システムやIoT

解決方法

ECDSAの証明書に合わせてOCIロードバランサー側の暗号化スイートを変更します。
OCIロードバランサーでは、デフォルトで「oci-default-ssl-cipher-suite-v1」という互換性重視のものが選択されており、拡張オプションから変更の必要がありました。



今回はセキュリティを考慮し、「oci-modern-ssl-cipher-suite-v1」を選択しました。

教訓

パッケージマネージャーの一括アップデートコマンドは無暗に実行しない

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA