Azure AKS节点OpenSSH远程代码执行问题(CVE-2024-6387)分析与解决方案
【免费下载链接】AKS Azure Kubernetes Service 项目地址: https://gitcode.com/gh_mirrors/ak/AKS
问题背景
近期在Azure Kubernetes Service(AKS)环境中发现了一个重要安全问题CVE-2024-6387,该问题影响AKS节点上运行的OpenSSH服务。OpenSSH是广泛使用的安全Shell协议实现,用于远程系统管理。此问题允许攻击者在特定条件下绕过身份验证机制,实现远程代码执行。
问题技术分析
该问题源于OpenSSH服务在信号管理机制上的不足。具体而言,当SSH服务处理某些特定信号时,存在竞态条件问题,可能导致身份验证流程被绕过。攻击者可以利用精心构造的请求触发这一条件,从而获得未授权的系统访问权限。
在AKS环境中,虽然默认情况下节点SSH访问受到限制,但某些配置或自定义设置可能使节点暴露在风险中。特别值得注意的是,该问题主要影响Linux节点,Windows节点不受影响。
影响范围
受影响的AKS节点主要包括:
- 使用Ubuntu 22.04 LTS作为基础镜像的节点
- 使用Azure Linux作为基础镜像的节点
- 运行较旧版本OpenSSH服务的节点
解决方案
微软AKS团队已发布修复方案,提供了两种主要解决途径:
1. 升级节点镜像版本
对于不同操作系统的基础镜像,应升级至以下修复版本:
- Ubuntu节点镜像:升级至202407.03.0版本
- Azure Linux节点镜像:升级至202407.08.0版本
升级节点镜像是最彻底的解决方案,建议所有用户尽快执行。升级过程可通过AKS的节点映像升级功能完成。
2. 临时缓解措施
对于无法立即升级的用户,可采取以下临时缓解方案:
方案一:禁用节点SSH访问 通过AKS管理功能完全禁用节点SSH访问,这是最安全的临时解决方案。在Azure门户或使用Azure CLI执行相关命令即可完成配置。
方案二:修改SSH配置 编辑/etc/ssh/sshd_config文件,将LoginGraceTime参数设置为0。这种方法虽然不能完全消除问题,但能显著降低被利用的风险。需要注意的是,此方法仅适用于不直接暴露在互联网上的节点。
最佳实践建议
-
定期更新策略:建立定期检查并更新节点镜像的机制,确保始终运行最新安全版本。
-
最小权限原则:严格控制节点SSH访问权限,仅对必要人员开放。
-
网络隔离:将AKS节点置于适当的网络隔离环境中,限制不必要的入站连接。
-
监控与告警:部署安全监控工具,检测异常的SSH连接尝试。
-
安全扫描:将CVE扫描纳入CI/CD流程,及时发现潜在风险。
后续行动
AKS团队已完成修复镜像的全球部署,所有区域用户均可获取安全更新。建议用户优先考虑升级节点镜像方案,以获得完整的安全防护。同时,应审查现有集群配置,确保没有不必要的SSH访问通道保持开放。
对于运行关键业务负载的集群,建议在非高峰时段执行升级操作,并提前验证升级流程在测试环境中的表现。通过采取这些措施,可以有效保护AKS环境免受CVE-2024-6387问题的威胁。
【免费下载链接】AKS Azure Kubernetes Service 项目地址: https://gitcode.com/gh_mirrors/ak/AKS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



