Error tying to register ISO/Template with DirectDownload over HTTPS with Let's Encrypt
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- java
- 領域
- backend, cloud, infrastructure
調査の方向性
Agent の証明書処理と /etc/cloudstack/agent/cloud.jks から始め、Java の /usr/lib/jvm/java-17-openjdk-amd64/lib/security/cacerts および /etc/ssl/certs/ca-certificates.crt のシステムストアと比較します。Let's Encrypt を使用する HTTPS URL に対して ISO または Template の直接ダウンロードを再現し、関連する issue と PR を検討します。完了の条件は、Agent が Zone ごとの手動 workaround なしで証明書を検証できることです。
索引モデルが issue の本文から書いたものです。
説明
problem
When using the "Direct Download" feature for an ISO or Template (bypassing Secondary Storage), the Agent fails to verify Let's Encrypt certificates due to the absence of Let's Encrypt’s main CA certificate.
Note: Let's Encrypt is widely used on the internet (>50% of all certificates).
ACS currently loads and trusts certificates exclusively from /etc/cloudstack/agent/cloud.jks and does not fall back to Java (/usr/lib/jvm/java-17-openjdk-amd64/lib/security/cacerts) or the system store (/etc/ssl/certs/ca-certificates.crt). Both of these contain the missing certificate (ISRG Root X1), which has been in use since 2015.
See: https://letsencrypt.org/certificates/
ISRG Root X1 is the current root of the trust chain (valid until 2030), after which it will be replaced by ISRG Root X2.
Recommendation: Add a fallback to Java’s trust store to avoid maintaining an ever-changing list of certificates.
Alternative: As a short-term fix, include the missing CA certificate (https://letsencrypt.org/certs/isrgrootx1.pem) in /etc/cloudstack/agent/cloud.jks for the next release, while a more sustainable solution is developed.
versions
We are running ACS 4.20.2 on Ubuntu 24.04. However, this issue likely affects all versions starting from 4.19, when the feature to bypass Secondary Storage was introduced.
Related issues and PRs:
- https://github.com/apache/cloudstack/issues/7929
- https://github.com/apache/cloudstack/pull/7693/changes
- https://github.com/apache/cloudstack/pull/7923/changes
- https://github.com/apache/cloudstack/pull/7932/changes
- https://github.com/apache/cloudstack/pull/11113/changes
The steps to reproduce the bug
- When registering an ISO or Template for Direct Download, use any HTTPS URL whose TLS certificate is issued by Let's Encrypt.
What to do about it?
As a workaround, the following command can be run for each Zone to add the missing certificate. Note that this introduces additional manual steps for platform maintenance:
cmk upload templatedirectdownloadcertificate hypervisor="KVM" name="isrg-root-x1-2" certific
ate="$(curl -s https://letsencrypt.org/certs/isrgrootx1.pem)" zoneid="00000000-0000-0000-00000-000000000000"
- 主要言語
- Java
- スター
- 3.1k
- フォーク
- 1.4k
- 平均マージ
- 7日 5時間
- マージ済み PR(30日)
- 28
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/cloudstack のほかの issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
apache/cloudstack#14222 ·
-
bug component:kubernetes
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
apache/cloudstack#14180 ·
-
bug component:projects component:UI
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
apache/cloudstack#14070 · コメント 5 件 ·
-
component:backup
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
apache/cloudstack#14013 ·
-
KVM agent fails to connect to Ceph RBD storage pool after upgrading Ceph client to Tentacle 20.2.4 オープンbug component:ceph
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
apache/cloudstack#13989 · コメント 3 件 ·
apache/cloudstack の issue をすべて見る
似ている issue
-
[BUG]茶杯方块在取茶时会引发崩溃 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
1.0.0-alpha2 Type/Improvement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
wso2/dpdp-accelerator#272 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
apache/rocketmq-dashboard#4860 · コメント 1 件 ·
-
agent-audit bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
Vault-Web/cloud-page#144 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
infinispan/infinispan#18150 ·