摘要:SSH密钥普遍缺乏有效管理,已成为重大的安全风险隐患。
SSH密钥作为安全远程访问的核心机制无处不在,它们驱动DevOps流程、支撑服务器管理、并实现从部署到补丁的全流程自动化。然而,尽管应用广泛,此类密钥在企业安全领域却常被忽视。究其根源,在于它们不像密码会定期失效,极易被创建却难以追踪,最终往往遭到遗忘。大型企业环境中,数十万甚至数百万未受管控的SSH密钥普遍存在——这些可访问敏感系统的凭证因缺乏明确归属和生命周期监管,使本应可靠的身份验证方式转变为重大风险源。
一、应用访问治理坦白说:在大多数组织中,SSH密钥的创建是DIY(自己动手)的事情。开发人员随时创建它们。他们将公钥复制到服务器上。没有请求工单,没有审批,也绝对没有过期日期。
解决该问题的关键在于实施访问治理——强制SSH密钥遵循与VPN或管理员权限同等的申请审批制度。借助CyberArk、SSH UKM等专用工具或Ansible等自动化平台,可实现密钥的可控分发与审计追踪,辅以记录密钥归属、用途及有效期等元数据,即可建立领先的管理机制。
二、找出遗留密钥针对环境中普遍存在的遗留密钥,可通过SSH发现工具或者扫描服务器中的authorized_keys文件来发现。这些工具能精准定位密钥关联账户,并标记无主或长期未使用的密钥。实践表明,清理工作常能消除40%的冗余密钥。此类发现不仅完善资产清单,更彻底消除了隐蔽的系统后门。
三、实施密钥轮换与强制过期的密码不同,SSH密钥往往长期有效,这埋下了重大隐患,当工程师离职或设备遭入侵时,静态密钥便成为潜伏的定时炸弹。
实施密钥轮换是基础安全实践——对高权限账户应至少每90天轮换一次。自动化工具能实现全集群密钥轮换,若将其集成至CI/CD管道则更为高效。每次轮换时需同步审视访问的必要性:该权限是否仍应存在?
四、警惕孤儿密钥的威胁孤儿密钥,即那些没有活跃所有者的密钥,对攻击者来说就像猫薄荷一样具有吸引力。没有人在看他们,他们还在工作。尤其需警惕无活跃归属的"孤儿密钥",这类密钥因缺乏监管而极易被攻击者利用。
通过IGA平台将密钥绑定至具体身份,确保人员离职时关联密钥同步撤销。对无法追溯归属、未经认证的密钥,应视作系统漏洞进行人工介入处理。
五、别忘了私钥服务器上的公钥若以未加密形式存储或复制至临时目录,将导致严重安全崩溃。基本防护要求包括:设置高强度密码、使用chmod 600权限限制、禁用共享文件夹。
对于服务账户或高风险密钥,还应采用特权账户管理——例如通过CyberArk的临时密钥代理机制实现访问,确保用户全程不接触私钥。同时必须监控异常行为,若密钥从未知IP发起访问,则应立即触发安全告警。
六、临时SSH访问想象一个无需永久authorized_keys文件的世界:用户按需申请访问,由中心化服务颁发有效期仅15分钟的短期证书,到期自动失效——这正是临时SSH的核心机制,也是实现零常驻特权的关键路径,代表着行业演进方向。
七、为何治理至关重要SSH密钥就是凭证。它们需要像其他任何访问权限一样被治理,包括访问审查、自动化清理、审计追踪和执行。
漏洞不会等待。真实事件已经证明了未受管理SSH密钥的危险。2025年,GoDaddy遭遇了一次入侵,攻击者访问了SSH凭证,影响了28,000个托管账户。此外,MITRE ATT&CK框架概述了对手如何利用不安全的私钥渗透系统。这些案例突显了对强大SSH密钥管理实践的迫切需求。
八、结语SSH密钥不会消失。但未受管理的密钥是您的组织不该承受的风险。治理它们、轮换它们、监控它们,不要等到漏洞发生才证明你本应如此。