Sectigo Certification Authority(Comodo)は、ストレージに新しいUSERTrustルート証明書を持たないレガシーデバイスとの互換性を確保するために、クロスサインに使用されたAddTrustルート証明書の有効期限が切れる前にユーザーに警告しました。AddTrustは、2020年5月20日10:48:38 UTCに有効期限が切れました。残念ながら、問題は古いブラウザーだけでなく、OpenSSL 1.0.x、LibreSSL、およびGnuTLSに基づく非ブラウザークライアントでも発生しました。たとえば、Rokuセットトップボックス(2020年5月30日付けのテクニカルサポートの回答を参照)、Heroku、フォーティネット、Chargifyアプリケーション、Linuxおよびその他の多くの .NET Core 2.0プラットフォーム。図に示すように、最近のブラウザーは2番目のUSERTRustルート証明書を使用できるため、問題はレガシーシステム(Android 2.3、Windows XP、Mac OS X 10.11、iOS 9など)にのみ影響すると想定されていました。
証明書チェーンしかし、2020年5月30日、実際には、無料のOpenSSL 1.0.xおよびGnuTLSライブラリを使用する数百のWebサービスでクラッシュが発生しました。証明書の陳腐化エラーにより、安全な接続が確立されなくなりました。OpenSSLバグトラッカーの対応するチケット(ユーザー名とパスワード:guest)は、バージョンOpenSSL 1.1.0についてのみ2020年2月25日に閉鎖されました。エラーが発生する理由
クライアントが接続すると、TLSサーバーはクライアントに証明書を送信します。クライアントは、サーバー証明書からクライアントが信頼するルート証明書への証明書のチェーンを構築する必要があります。クライアントがこのチェーンを構築するのを助けるために、サーバーは独自の証明書とともに1つ以上の追加の中間証明書を送信します。
たとえば、Webサイトは次の2つの証明書を送信します。1。
件名= * .habr.com
発行元= Sectigo ECCドメイン検証セキュアサーバーCA
アクションの開始= 2020年5月30日土曜日 3:00:00
有効期限= 2021年12月3日金曜日 2:59:59
2。
件名= Sectigo ECCドメイン検証セキュアサーバーCA
発行者= USERTrust ECC証明機関
アクションの開始= 2018年11月2日金曜日 3:00:00
アクションの終了= 2031年1月1日水曜日 2:59:59
最初の証明書はサーバーに属し、Sectigo認証局によって発行されます。 2番目は、USERTrust ECC証明機関によって発行され、ルート証明書です。これら2つの証明書は、信頼されたルートへの完全なチェーンを形成します。ただし、USERTrust証明機関は比較的新しいルートです。それは2010年に作成され、すべてのクライアントがそれを信頼するのに何年もかかりました。昨年、個人のお客様はこのルートを信用していないという報告がありました。したがって、サーバーによっては、AddTrust外部CAルートによって発行された追加のUSERTrust ECC証明機関中間証明書をクライアントに送信します。この証明書は2000年に生成され、2020年5月30日に期限切れになった彼の証明書でした。最新のブラウザーを含む有能な証明書バリデーターの場合、USERTrustの前に信頼チェーンを構築できるため、これは問題を引き起こしませんでしたが、OpenSSL 1.0.xまたはGnuTLSを使用するクライアントに問題がありました。これらのクライアントがUSERTrustルート証明機関を信頼していて、それへのチェーンを構築したい場合でも、クライアントはAddTrust外部CAルートへのチェーンになり、証明書の検証が失敗します。Sectigoは、2028年まで有効な代替の相互署名付き中間証明書AAA Certificate Servicesを提供しています。サービスの確認
サーバーハンドラーおよびクライアントアプリケーションのオペレーターは、証明書チェーンで古いAddTrustルート証明書を確認することをお勧めします。基本的に、信頼チェーンからAddTrust External CA Rootを削除するだけです。サーバーオペレーターには、「チェーン証明書とは」というサービスがあります。、このチェックを実行し、必要なすべての中間証明書を持つ新しい信頼チェーンを生成するのに役立ちます。すべてのクライアントがストアにすでに持っているため、このチェーンにルート証明書を含める必要はありません。さらに、SSLハンドシェイクのサイズが大きくなるため、チェーンに含めることは単に非効率的です。クライアントアプリケーションオペレーターは、最新のTLSライブラリにアップグレードすることをお勧めします。これが不可能な場合は、ストレージからAddTrust外部CAルート証明書を削除する必要があります。リポジトリにない場合は、新しいルート証明書USERTrust RSA証明機関に対して正しい信頼チェーンが構築されるため、TLSチェックが正しく通過します。AddTrust外部CAルートを削除するには、以下を実行する必要があります。- 編集
/etc/ca-certificates.conf
とコメントmozilla/AddTrust_External_Root.crt
- 走る
update-ca-certificates
この問題を修正するために、FedoraとRHEL は AddTrust証明書をブラックリストに追加することを推奨しています: trust dump --filter "pkcs11:id=%AD%BD%98%7A%34%B4%26%F7%FA%C4%26%54%EF%03%BD%E0%24%CB%54%1A;type=cert" \
> /etc/pki/ca-trust/source/blacklist/addtrust-external-root.p11-kit
update-ca-trust extract
ただし、この方法はGnuTLSでは機能しません。参照
: 「2020年5月30日後のSectigo証明書に問題と解決方法 Habr企業ブログ上の」
企業向けのPKIソリューション。お問い合わせ+7(499)678 2210、sales-ru @ globalsign.com。