马哥资深网络安全工程师-渗透测试代码审计应急响应「完整FX」

106 阅读6分钟

马哥资深网络安全工程师-渗透测试代码审计应急响应

核心代码,注释必读

// download:3w ukoou com

渗透测试介绍

渗透测试是一项在计算机系统上进行的授权模拟攻击,旨在对其安全性进行评估。渗透测试人员使用与攻击者相同的工具、技术和流程,来查找和展示系统弱点对业务带来的影响。

渗透测试通常会模拟各种可能威胁您业务的攻击。渗透测试可以检查系统是否足够稳定,能否抵抗来自经过认证和未经认证的攻击,以及一系列系统角色发起的攻击。在合适的范围内,针对您需要评估的系统的任何方面,渗透测试都可以深入其中。

渗透测试工作往往作为风险评估的一个重要环节,为风险评估提供重要的原始参考数据。渗透测试不仅在目的上与脆弱性评估不同,而且在实施方式和方向上也与其有着很大的区别。脆弱性评估是在已知系统上,对已知的弱点进行排查。渗透测试往往是“黑盒测试”,测试者模拟黑客,不但要在未知系统中发现弱点,而且还要验证部分高危险的弱点,甚至还会挖掘出一些未知的弱点。因此,渗透测试是脆弱性评估的一种很好的补充。同时,由于主持渗透测试的测试人员一般都具备丰富的安全经验和技能,所以其针对性比常见的脆弱性评估会更强、粒度也会更为细致。另外,渗透测试的攻击路径及手段不同于常见的安全产品,所以它往往能暴露出一条甚至多条被人们所忽视的威胁路径,从而暴露整个系统或网络的威胁所在。

马哥资深网络安全工程师-渗透测试代码审计应急响应 - k8s安全最佳实践

代码安全往往可以通过以下方式进行应对,比如说应用之间的通讯,尽量使用 TLS 或 mTLS,保证数据的加密传输。即使集群中大部分都是可信的环境,TLS 带来的性能损耗我认为也是在可以承受的范围之内。

针对代码安全的增强,通常需要我们在在 CI 或 CD 过程中对代码进行扫描,对容器镜像进行扫描,对应用安全进行扫描,即使很多工具会存在误报的情况,但在大规模的项目中这些步骤是必不可少的。

容器安全方面,我们建议尽可能的使用可信的基础镜像,除此之外,尽可能去删掉不必要的二进制,避免基础镜像中操作系统漏洞带来的影响。

在容器运行的过程中尽可能的使用非 root 用户,除非是有特定的数据读写要求,可能会有一些问题。

  • 集群安全 K8s 集群安全层面的建议,首先我们需要整理集群中所有关键组件的通讯矩阵,要知道哪些组件会用到哪些端口,比如说 K8s 控制平面常用的 10250,6443 端口等。对系统组件所用到的端口进行合理的管控,通过防火墙来提供最基础的保障。
  • 数据安全 在 K8s 集群中我们可以实现或接入已有的 KMS 服务,对 etcd 中的数据进行加密,在 etcd 数据泄漏的情况下也可以保证集群中 secret 数据的安全。
  • 网络安全 在 K8s 中我们可以借助 Network Policy 实现网络隔离,常用的网络插件 calico 和 Cilium 都可以很好的支持。不要开放不必要的端口,不仅是不对外开放端口甚至对于容器内部暴露的端口也要尽可能的去屏蔽。
  • 针对所部署的应用安全 尽可能的为每一个部署到 K8s 的容器配置 Security Context,限制容器内的运行用户和容器特权,禁止其直接读取或读写整个宿主机的网络和文件。再就是 K8s 针对安全策略的的增强,我们可以利用一些安全策略管理工具如 Gatekeeper,为整个集群运用一些安全策略以抵抗风险。
  • 可观测性部分 不论是限制节点调度,还是配置网络隔离策略等,这些都是以很被动的方式主动进行防御。在复杂的分布式容器化环境中数据的可见性降低,借助可观测性工具,我们就可以及时的发现集群中异常,比如异常流量、异常的日志、异常的 API 访问等,这些对整个系统安全来说显得尤为重要。借助可观测性工具,无论是监控数据还是异常日志,都可以帮助我们在第一时间去发现问题,我们可以设置合理的告警策略进行防御。
  • 安全策略管理 K8s 集群安全策略,除了在使用过程中规范对使用者的要求,比如限制不可信的镜像仓库、特权容器、hostPath 挂载,也可以借助 Gatekeeper 这类安全策略管理工具进行主动的拦截。

KubeSphere 中的安全增强:

KubeSphere 是一个构建在 K8s 之上的容器管理平台,我们针对 K8s 安全问题提供了以下增强:

1、借助可观测性组件增强异常的感知能力。借助日志、监控数据结合告警策略来提高异常感知的能力,增加数据的能见度。

2、支 Network Policy 实现网络隔离,支持 IP 池的管理。

3、支持接入 Kata Containers 等更安全的运行时。

4、KubeSphere 社区中开源的 KubeEye,是一个可以实现集群自动巡检的小工具,可以帮助我们扫描集群中存在的安全风险、不合理的配置等。

5、KubeSphere 提供了 Gatekeeper 的集成,并计划提供可视化的管理界面,实现安全策略的管理。

6、在 DevOps 流水线中我们可以集成代码、镜像等安全扫描工具。