图书目录

目  录

第Ⅰ部分  容器是什么

第1章 容器是什么  3

1.1  常见的误解  4

1.2  容器组件  6

1.3  内核权能  7

1.4  其他容器  13

1.5  本章小结  15

第2章 非root运行时  17

2.1  Docker的rootless模式  18

2.2  运行rootless模式的Podman  24

2.3  本章小结  31

第3章 容器运行时保护  33

3.1  运行Falco工具  34

3.2  配置规则  38

3.2.1  变更规则  39

3.2.2  宏  41

3.2.3  列表  41

3.2.4  正确处理优先的事项  41

3.2.5  标记规则集  42

3.2.6  输出告警  42

3.3  本章小结  43

第4章 取证日志  45

4.1  需要考虑的事项  46

4.2  重要的文件  47

4.3  违反规则  50

4.4  关键命令  52

4.5  规则  53

4.6  解析规则  54

4.7  持续监测  58

4.8  顺序和性能  62

4.9  本章小结  63

第5章 Kubernetes漏洞  65

5.1  微型Kubernetes  66

5.2  使用kube-hunter的选项  68

5.2.1  部署方法  69

5.2.2  扫描方法  69

5.2.3  搜寻模式  69

5.3  容器部署  70

5.4  内部集群测试  72

5.5  Minikube与kube-hunter  75

5.6  测试列表  77

5.7  本章小结  78

第6章 容器镜像CVE  79

6.1  理解CVE  80

6.2  Trivy工具  82

6.3  探索Anchore工具  88

6.4  Clair工具  96

6.5  本章小结  101

第Ⅱ部分 DevSecOps工具

第7章 基线扫描(Zap应用程序)  105

7.1 ZAP资源  106

7.2 基线扫描  107

7.3 扫描Nmap的主机  113

7.4 添加正则表达式  114

7.5 本章小结  116

第8章 制定安全规范  117

8.1 安全工具  118

8.2 安装  119

8.3 简单测试  122

8.4 攻击文件的示例  125

8.5 本章小结  128

第9章 Kubernetes合规  129

9.1 迷你Kubernetes环境  130

9.2 使用kube-bench工具  133

9.3 故障排除  138

9.4 自动化  139

9.5 本章小结  140

第10章 保护Git存储库  141

10.1 注意事项  142

10.2 安装并运行Gitleaks工具  144

10.3 安装并运行GitRob  148

10.4 本章小结  151

第11章 主机安全自动化  153

11.1 机器镜像  155

11.2 幂等性  156

11.3 Secure Shell示例  159

11.4 内核变更  162

11.5 本章小结  164

第12章 使用Nikto工具扫描服务器  165

12.1 注意事项  165

12.2 安装  166

12.3 扫描第二台主机  170

12.4 运行选项  171

12.5 命令行选项  172

12.6 规避技术  172

12.7 Nikto工具的主配置文件  175

12.8 本章小结  176

第Ⅲ部分 云端安全

第13章 云端运营持续监测  181

13.1 NetData主机仪表盘  182

13.1.1 安装Netdata工具  182

13.1.2 数据收集器  188

13.1.3 卸载主机软件包  188

13.2 Komiser云平台审查  189

13.3 本章小结  193

第14章 云端守护  195

14.1 安装Cloud Custodian工具  195

14.1.1 安装封装器  196

14.1.2 安装Python软件包  197

14.1.3 与EC2实例交互  198

14.2 更复杂的策略  203

14.3 IAM策略  204

14.4 存储在S3中的静止状态数据  204

14.5 生成告警  205

14.6 本章小结  207

第15章 云端持续审计  209

15.1 使用Lunar测试运行时、主机和云端  209

15.1.1 安装Bash的默认shell  211

15.1.2 执行  211

15.1.3 基于基准的云端持续审计  215

15.2 使用Cloud Reports执行AWS持续审计实务活动  217

15.2.1 生成报告  219

15.2.2 EC2持续审计  221

15.3 利用Prowler对标CIS并执行AWS持续审计  223

15.4 本章小结  225

第16章 AWS云端存储  227

16.1 存储桶  228

16.2 原生安全设置  231

16.3 自动攻击S3存储桶  233

16.4 存储狩猎  236

16.5 本章小结  238

第Ⅳ部分 高级Kubernetes和运行时安全

第17章 Kubernetes外部攻击  243

17.1 Kubernetes网络足迹  244

17.2 针对API Server的攻击  245

17.2.1 API Server信息探查  245

17.2.2 规避API Server信息泄露  246

17.2.3 攻击API Server的配置错误漏洞  247

17.2.4 预防未经身份验证访问API Server  248

17.3 攻击etcd  248

17.3.1 etcd信息探查  248

17.3.2 利用etcd server的配置错误漏洞  248

17.3.3 防止未授权的etcd访问  249

17.4 Kubelet攻击  250

17.4.1 kubelet信息探查  250

17.4.2  利用kubelets的配置错误漏洞  251

17.4.3 防止未经身份验证的kubelet访问  251

17.5 本章小结  252

第18章 Kubernetes的RBAC授权  253

18.1 Kubernetes授权机制  253

18.2 RBAC概述  254

18.3 RBAC陷阱  255

18.3.1 避免使用cluster-admin角色  255

18.3.2 危险的内置用户和内置组  256

18.3.3 只读权限也有危险  257

18.3.4 创建Pod过程的风险  258

18.3.5 Kubernetes瞬时权限  260

18.3.6 其他危险的对象  260

18.4 持续审计RBAC  260

18.4.1 使用kubectl命令  261

18.4.2 其他工具  261

18.5 本章小结  265

第19章 加固网络  267

19.1 容器网络概述  267

19.1.1 节点IP地址  268

19.1.2 Pod IP地址  268

19.1.3 服务IP地址  269

19.2 限制Kubernetes集群中的流量  270

19.2.1 使用网络策略设置集群  270

19.2.2 入门指南  270

19.2.3 允许访问  273

19.2.4 出站流量限制  276

19.2.5 网络策略限制  277

19.3 CNI网络策略扩展  277

19.3.1 供应方Cilium  277

19.3.2 供应方Calico  279

19.4 本章小结  280

第20章 加固工作负载  281

20.1 在Manifests中使用securityContext  281

20.1.1 通用方法  282

20.1.2 allowPrivilegeEscalation选项  282

20.1.3 权能  283

20.1.4 privileged选项  285

20.1.5 readOnlyRootFilesystem选项  285

20.1.6 seccompProfile选项  286

20.2 强制工作负载安全  287

20.3 Pod安全策略  288

20.3.1 建立PSP安全策略  288

20.3.2 设置PSP  290

20.3.3 PSP与RBAC  291

20.4 Pod安全策略的替代产品  294

20.4.1 Open Policy Agent工具  294

20.4.2 Kyverno策略引擎  298

20.5 本章小结  300