[Hardening] F-12: Absence of Per-Account or Per-User Source CIDR Allowlist.
- 主要语言
- Java
- 星标
- 3.1k
- 派生
- 1.4k
- 平均合并
- 6 天 19 小时
- 30 天内合并 PR
- 32
描述
### The required feature described as a wish
**Description:** CloudStack does not provide a built-in mechanism to restrict per-account or per-user access to a defined set of source IP addresses or CIDR ranges. Any IP address that can reach the management plane can attempt to authenticate as any account.
**Affected Components:** Management UI / API
**Impact:** Without source IP allowlisting, a stolen API key or compromised credential set can be used from any network location globally. There is no network-level control to limit the blast radius of a credential compromise. High-privilege service accounts are particularly at risk, as they can be accessed from unexpected locations without raising any flags.
**Steps to Reproduce:**
- This finding is not directly reproducible since it reflects the absence of a control.
**Recommended Remediation:** Implement a per-account or per-user source CIDR allowlist field in the data model. Requests originating from IPs outside the defined allowlist should be rejected and logged as a security event.
贡献指南
调研方向
该 issue 指出了 Management UI/API、account 或 user 数据模型、请求源 IP 检查以及 Security-Event 日志记录,但没有列出文件或测试。首先定位这些入口点,并跟踪 API 请求的 authentication 和 authorization。完成时应包括按 account 或 user 定义的 CIDR 策略、对策略范围之外请求的拒绝,以及记录 Security-Events,并覆盖相关行为。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- api, authentication, authorization, backend, security
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 冷清
- 描述清晰度
- 需要澄清
- 新手友好度
- 30/100