CKS - Practise - PSP and Audit.docx
### CKS - 实践 - PSP 和审计 #### Kubernetes 审计功能启用与配置 在 Kubernetes 集群中实现审计功能对于确保系统的安全性和合规性至关重要。本实践指南将详细介绍如何在 Kubernetes 集群中配置审计日志,并创建一个只记录特定事件的日志策略。 **目标:** 在 Kubernetes 集群中启用审计功能,创建一个特定的日志策略文件,该文件将仅基于以下规范来记录事件: - **命名空间:** prod - **级别:** metadata - **操作:** delete - **资源:** secrets - **日志路径:** /var/log/prod-secrets.log - **审计文件位置:** /etc/kubernetes/prod-audit.yaml - **日志保留天数:** 30 **步骤:** 1. **创建审计策略文件**: 创建一个新的审计策略文件 `/etc/kubernetes/prod-audit.yaml` 并按如下方式配置: ```yaml apiVersion: audit.k8s.io/v1 kind: Policy rules: - level: Metadata namespace: - "prod" verb: - "delete" resources: group: "" resource: - "secrets" ``` 2. **在 API 服务器中启用审计日志**: 在 Kubernetes 的 API 服务器中配置以下参数以启用审计功能: ```bash --audit-policy-file=/etc/kubernetes/prod-audit.yaml --audit-log-path=/var/log/prod-secrets.log --audit-log-maxage=30 ``` 3. **添加卷和卷挂载**: 为了使 API 服务器能够访问审计策略文件和日志文件,需要向其配置文件添加卷和卷挂载。示例如下: ```yaml volumes: - name: audit hostPath: path: /etc/kubernetes/prod-audityaml type: File - name: audit-log hostPath: path: /var/log/prod-secrets.log type: FileOrCreate volumeMounts: - mountPath: /etc/kubernetes/prod-audit.yaml name: audit readOnly: true - mountPath: /var/log/prod-secrets.log name: audit-log readOnly: false ``` 4. **保存并重启 kube-apiserver**: 保存配置文件,并确保 kube-apiserver 服务重启成功,以便应用新的审计配置。 #### 启用 PodSecurityPolicy **目标:** 在 Kubernetes API 服务器中启用 PodSecurityPolicy,并根据指定条件创建一个 PodSecurityPolicy (PSP)。 1. **在 API 服务器中启用 PodSecurityPolicy**: 需要在 Kubernetes API 服务器的配置文件 (`/etc/kubernetes/manifests/kube-apiserver.yaml`) 中添加 `PodSecurityPolicy` 到 `--enable-admission-plugins` 列表中。配置应如下所示: ```bash --enable-admission-plugins=NodeRestriction,PodSecurityPolicy ``` 2. **创建 PodSecurityPolicy**: 根据以下条件创建一个 PodSecurityPolicy (PSP): - **PSP 名称:** pod-psp - **是否允许作为 root 运行:** false - **允许挂载的卷类型:** configMap, secret, emptyDir, hostPath - **seLinux, runAsUser, supplementalGroups, fsGroup:** RunAsAny 使用以下 YAML 模板创建 PodSecurityPolicy 文件 (`/root/psp.yaml`): ```yaml apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: pod-psp spec: privileged: false seLinux: rule: RunAsAny runAsUser: rule: RunAsAny supplementalGroups: rule: RunAsAny fsGroup: rule: RunAsAny volumes: - configMap - secret - emptyDir - hostPath ``` 3. **部署 Pod 并验证**: 修改现有的 Pod 定义文件 (`/root/pod.yaml`) 以符合上面创建的 PodSecurityPolicy 条件,并部署 Pod。确保 Pod 正常运行后,可以验证是否正确应用了 PodSecurityPolicy。 通过以上步骤,我们不仅在 Kubernetes 集群中实现了精确的审计日志功能,还增强了集群的安全性,确保了 Pod 的安全性配置遵循了最佳实践。这些步骤为 Kubernetes 用户提供了一个实用的指南,帮助他们更好地管理和监控 Kubernetes 集群中的安全事件。












- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于PLC机械手臂的设计毕业论文.pdf
- 基于组态软件的双容液位单回路过程控制系统设计样本.doc
- 某家属区综合布线施工工艺.doc
- 新型通信运营企业的发展战略研究.docx
- 信息技术基础教案算法及算法的表示.pdf
- 企业信息化建设战略规划报告-.pptx
- 通信公司培训体系搭建.ppt
- 软件需求规格说明书模版.pdf
- 数控机床螺纹加工编程.ppt
- 智慧城市集团大数据平台整体方案建议书v编辑.docx
- 网络卫士终端管理系统介绍.docx
- 学院教务网络管理系统使用管理办法.docx
- 人工神经网络自组织竞争人工神经网络宣教.pptx
- 房产管理系统数据库课程设计报告.pdf
- 嵌入式操作系统及编程试题(A).doc
- 基于PLC的皮带运输机电器控制系统设计.doc


