Planet Python 日本語
フォロー
セス・マイケル・ラーソン:Pythonエコシステムにおける証明書配布のペインポイントを文書化する
eMudhra CAの侵害は、Pythonエコシステムにおける認証局の取り扱いにおけるシステム的な問題を浮き彫りにしました。CPythonはOpenSSLに依存しており、CAルート証明書が必要です。Pythonは、ネイティブサポートが不足しているプラットフォーム向けに、certifiパッケージを通じてこれらをバンドルしています。歴史的にcertifiは重要でしたが、現在ではLinuxディストリビューションが独自に管理された優れた証明書ストアを提供しています。OpenSSLベースのPythonインストールにおけるデフォルトの有効な証明書失効メカニズムの欠如が大きな問題です。依存関係としてのcertifiのアップグレードは、Pythonおよびpipエコシステム全体にわたる連鎖的なアップデートを引き起こします。pipはcertifiをバンドルしているため、侵害が発生した場合、pipとPython自体の両方の緊急アップデートが必要になる可能性があります。Python Security Response Teamは、複数のPythonブランチにわたるリリースを調整する必要があります。pipはデフォルトでtruststoreを使用するように移行しており、これによりcertifiへの依存、特にLinuxユーザーにとっての依存が軽減されるでしょう。このインシデントでは、他の多くのパッケージングツールやインフラストラクチャコンポーネントが迅速に行動する必要がありました。パッチが適用された後に依存関係をアップグレードするようユーザーに通知することは、依然として大きな課題です。著者は、ほとんどのプラットフォームが現在十分なCAバンドルを提供していることを考えると、PyPIは証明書配布チャネルであることをやめるべきだと提案しています。Pythonおよびpipのメンテナーの負担を軽減するために、システム提供の証明書ストアへの依存を増やす方向への移行が提案されています。OpenSSLベースのシステムにおける効果的な証明書失効という未解決の問題は、将来のボランティアの負担を軽減するために対処する必要があります。