NSA和CISA联合发布Kubernetes安全加固建议。
Kubernetes是在云端部署、扩展和管理容器APP的非常流行的开源解决方案,也是网络攻击的目标。黑客攻击Kubernetes系统的目标包括窃取数据、加密货币挖矿、DoS攻击等。为帮助企业更好地对Kubernetes系统进行安全加固,2021年8月3日,美国国家安全局(NSA)和网络安全与基础设施安全局(CISA)联合发布加强Kubernetes系统安全的建议,为管理员更安全地管理Kubernetes提供安全指南。
指南称,Kubernetes环境被黑的主要诱因是供应链攻击、恶意攻击者和内部威胁。虽然管理员无法应对这3种威胁,但可以通过避免错误配置、减小安全风险等方式来加固Kubernetes系统。
针对Kubernetes系统安全风险的防护措施包括扫描容器和pod的bug和错误配置、使用最小权限来运行pod和容器、进行网络隔离、强认证、防火墙、审计日志等。管理员还应定期检查所有的Kubernetes配置,确保系统应用了最新的补丁和可用更新。
Kubernetes Pod 安全加固建议:
-
以非root用户运行基于容器的应用;
-
尽可能地以不可变的文件系统运行容器;
-
扫描容器镜像中可能的漏洞和错误配置;
-
使用Pod安全策略来强制实现最小等级的安全,包括:
●预防高权限的容易;
●拒绝常被黑客利用的容器特征,如hostPID、hostIPC、hostNetwork、allowedHostPath。
●拒绝以root用户或允许提权到root的容易执行;
●使用SELinux、AppArmor 、seccomp等安全服务来加固应用防止被利用。
网络隔离和加固:
-
使用防火墙和基于角色的访问控制来锁定对控制面板的访问;
-
进一步限制对Kubernetes etcd服务器的访问;
-
配置控制面板组件来使用经过认证的、加密的通信,如TLS;
-
设置网络策略来隔离资源。不同命名空间下的pod和服务仍然互相通信,除非有其他的隔离策略实现;
-
将所有的凭证和敏感信息保存在Kubernetes Secrets而不是配置文件中。使用强加密方法来加密secrets。
认证和授权:
-
禁用匿名登录(默认是开启的);
-
使用强用户认证;
-
使用基于角色的访问控制策略来限制管理员、用户和服务账户的活动。
日志审计:
-
启用审计日志功能(模式是禁用的);
-
通过日志确保node、pod和容器级的可用性;
更新和应用安全实践:
-
立刻应用安全补丁和更新;
-
执行周期性的漏洞扫描和渗透测试;
-
不用时即在环境中移除组件。
完整的Kubernetes安全加固指南参见:
https://media.defense.gov/2021/Aug/03/2002820425/-1/-1/1/CTR_KUBERNETES%20HARDENING%20GUIDANCE.PDF