安全章程
使命
Keycloak 安全工作小組致力於透過持續改善文件、程式碼和流程來提升 Keycloak 專案的安全性。我們的核心職責包括:
- 主動分流:快速處理回報給 Keycloak 的安全漏洞,並確保它們得到及時且一致的解決。
- 影響評估:評估新功能和現有功能的安全隱含意義。
- 流程增強:定期審查和改進安全流程,以確保程式碼庫內的持續改進。
團隊
Keycloak 安全回應團隊
一組積極參與新問題分類並與解決團隊協調的維護者。回應團隊擁有存取所有回報給專案的 CVE 的完全權限,並且可以根據需要新增或移除解決團隊的成員。
成員提名流程
- 新成員可以由現有的維護者和 Keycloak 安全回應團隊的成員提名。兩個團隊的成員在批准流程中都有投票權,並且需要 2/3 的多數票才能獲得批准。
- 所有提名都必須發送到 Keycloak 安全郵件列表。
- 成員可以隨時辭職,並可以在辭職時提名繼任者。
職責
- 保持積極和回應,參與日常活動。
- 溝通任何休假。
- 每週輪班參與輪值。
- 未經事先通知,已超過三個月不活躍或未履行其職責的成員將透過投票移除。
範圍
- 漏洞分流:管理透過 Keycloak 安全郵件列表收到的報告。
- 協調:監督對回報漏洞的回應,以確保符合 SLA 截止期限。
- 流程改進:維護和加強安全措施,例如實施 linter、掃描器、fuzzer 和修補程式管理器。確保安全主動整合到整個專案中。
輪值
- 團隊成員每週輪流擔任主要聯絡人。
- 輪值期間的指定人員處理傳入的安全請求、協調對事件的回應,並管理其輪值期間的日常安全任務。
- 其他團隊成員將繼續執行安全回應職責,以支援輪值人員。
- Keycloak 安全辦公室每週會議時間決定輪值的結束時間,並且輪值中的下一個人會被更新有關狀態。
- 在會議期間溝通假期和 PTO,以便我們可以調整輪值。
Keycloak 安全解決團隊
由積極參與分類或解決未解決 CVE 的個人組成的動態團隊。成員在參與漏洞時新增,並在其參與結束後移除。
範圍
- 解決和測試:確保有效地修復漏洞並進行徹底測試。
- 協作:與回應團隊合作,優先處理修復,使其高於團隊積壓中的所有其他項目,無論其性質為何。
- 發布協調:與發布協調員和品質工程 (QE) 團隊密切合作,將修補程式納入即將發布的版本中。
存取權限
資源 |
回應團隊 |
解決團隊 |
郵件列表 |
完全存取權 |
在特定主題中加入副本 (CC) |
私人 GitHub 儲存庫 |
完全存取權 |
臨時存取權 |
安全公告和警示 |
完全存取權 |
無存取權 |
Slack 頻道 (#alerts-keycloak-cve) |
完全存取權 |
臨時存取權 |
協調安全漏洞修復
- 識別:回應團隊識別受影響領域的相關工程師,並將其臨時納入私人溝通管道(例如,儲存庫、電子郵件主題),形成臨時解決團隊。
- 效率:為了防止意外洩露,解決團隊會盡可能保持小規模。
- 自主性:解決團隊有自主權可以讓其他參與者參與,例如發布協調員、QE 和文件團隊。如有疑問,建議與回應團隊溝通。
- 撤銷存取權:發布後,將撤銷對敏感溝通管道的存取權,以維護最小權限原則。
流程概述
- 向 Keycloak 安全郵件列表報告新的漏洞。
- 對漏洞報告進行分類。
- 指派 CVE ID。
- 回應團隊識別負責的群組(例如,由 Noah 和 Emma 組成的團隊 A)。
- 團隊 A 將修復提交到私人儲存庫,並讓領域專家進行審查。
- 團隊 A 通知 QE 和發布協調員即將推出的修補程式。
- 合併提取請求,並發布新版本以及官方公告。
在沒有要修復的 CVE 的情況下,所有團隊成員都將被撤銷對安全敏感管道的存取權,除了 Keycloak 安全回應團隊之外。
本章程概述了 Keycloak 專案為管理和減輕安全漏洞所採取的做法,以確保專案對所有使用者的完整性和可靠性。