《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第十章:Rook-Ceph 安全加固与生产合规

本章目标:

  • 建立 Kubernetes + Rook-Ceph 生产安全基线
  • 防止数据泄露、误操作、权限滥用
  • 满足企业安全规范、等保、安全审计要求
  • 实现 Ceph、Kubernetes、网络、密钥全链路安全

10.1 Rook-Ceph安全体系总览

生产环境安全模型:

复制代码
                         用户

                          |

                    Kubernetes API

                          |

        +-----------------+----------------+

        |                                  |

    RBAC权限                         Admission控制


        |

        |

    Rook Operator


        |

+-------+---------+---------+

|       |         |         |

MON    MGR       OSD       CSI


|

|

Ceph Authentication

|

|

数据加密

|

|

存储设备

10.2 安全风险分类

风险 影响 防护
管理员权限泄露 数据删除 RBAC
Ceph Key泄露 存储访问 Secret管理
网络攻击 数据窃取 网络隔离
误删除PVC 业务中断 备份
节点入侵 数据泄露 硬化
勒索攻击 数据损坏 不可变备份

10.3 Ceph认证体系

Ceph使用:

复制代码
CephX

认证机制

查看:

复制代码
ceph auth list

示例:

复制代码
client.admin

client.rbd
client.cephfs

10.4 禁止使用client.admin

不推荐

应用:

复制代码
client.admin

原因:

权限:

复制代码
mon *
osd *
mgr *

等同:

root权限


推荐

创建专用账号:

例如:

复制代码
ceph auth get-or-create client.k8s-app \
mon 'profile rbd' \
osd 'profile rbd pool=kubernetes-rbd'

查看:

复制代码
ceph auth get client.k8s-app

10.5 Ceph Key权限最小化

查看:

复制代码
ceph auth caps client.xxx

示例:

复制代码
client.app

mon:
allow r

osd:
allow rw pool=app-pool

生产原则:

复制代码
一个业务
一个Ceph用户
一个Pool

10.6 Kubernetes RBAC安全

10.6.1 查看Cluster管理员

复制代码
kubectl get clusterrolebinding

危险:

复制代码
cluster-admin

绑定过多


10.6.2 创建Ceph运维角色

示例:

复制代码
apiVersion: rbac.authorization.k8s.io/v1
kind: Role

metadata:
  name: rook-ceph-viewer
  namespace: rook-ceph


rules:

- apiGroups:
  - ""

  resources:
  - pods
  - services

  verbs:
  - get
  - list

10.7 Rook Operator安全

Rook Operator权限很高:

包括:

  • 创建Pod
  • 修改CRD
  • 创建Secret

检查:

复制代码
kubectl describe sa rook-ceph-operator \
-n rook-ceph

建议:

独立Namespace

复制代码
rook-ceph

不要:

复制代码
default

10.8 Kubernetes Secret安全

Rook Secret:

查看:

复制代码
kubectl get secret \
-n rook-ceph

例如:

复制代码
rook-ceph-mon
rook-csi-rbd
rook-csi-cephfs

10.8.1 禁止明文保存

禁止:

复制代码
kubectl get secret -o yaml

直接发送到:

  • Git
  • Wiki
  • 工单

10.9 Secret加密

开启Kubernetes Encryption

配置:

复制代码
apiVersion: apiserver.config.k8s.io/v1

kind: EncryptionConfiguration

resources:

- resources:
  - secrets

  providers:

  - aescbc:
      keys:
      - name: key1
        secret: BASE64KEY

  - identity: {}

重启:

kube-apiserver


验证:

复制代码
kubectl get secret \
-o yaml

内容:

应该:

复制代码
k8s:enc:aescbc

10.10 Ceph数据加密

Ceph支持:

1. LUKS磁盘加密

架构:

复制代码
OSD

 |

LUKS

 |

BlueStore

2. 应用层加密

例如:

数据库:

复制代码
TDE

10.11 OSD磁盘安全

磁盘清理

退役:

必须:

复制代码
ceph osd purge

然后:

复制代码
sgdisk --zap-all /dev/sdX

禁止:

直接:

复制代码
rm -rf

10.12 节点安全加固

OS基线

推荐:

Ubuntu 22.04/24.04

或者:

Rocky Linux 9


SSH安全

禁止密码:

复制代码
PasswordAuthentication no

禁止root:

复制代码
PermitRootLogin no

10.13 网络安全隔离

推荐网络:

复制代码
业务网络

10.0.0.0/16


        |

        |

Kubernetes


        |


Ceph Cluster Network

172.16.0.0/16

10.14 NetworkPolicy

限制访问:

示例:

复制代码
apiVersion: networking.k8s.io/v1

kind: NetworkPolicy

metadata:

 name: rook-ceph-only


spec:

 podSelector:

   matchLabels:

     app: rook-ceph-osd


 policyTypes:

 - Ingress

 - Egress

10.15 Ceph TLS安全

查看:

复制代码
ceph config dump | grep ssl

启用:

复制代码
ceph config set global ms_cluster_mode secure

验证:

复制代码
ceph config get global ms_cluster_mode

结果:

复制代码
secure

10.16 Ceph Dashboard安全

默认:

复制代码
HTTP

不推荐


开启HTTPS

查看:

复制代码
ceph mgr services

创建证书:

复制代码
ceph dashboard create-self-signed-cert

生产:

建议使用:

  • 企业CA
  • cert-manager

10.17 Dashboard账号管理

查看:

复制代码
ceph dashboard ac-user-show

创建管理员:

复制代码
ceph dashboard ac-user-create \
admin \
password \
administrator

禁止:

共享账号


10.18 审计日志

Kubernetes Audit

开启:

apiserver参数:

复制代码
--audit-policy-file

记录:

包括:

  • PVC删除
  • Secret读取
  • RBAC修改

10.19 Ceph日志审计

查看:

复制代码
ceph log last

查看:

复制代码
ceph log dump

输出:

例如:

复制代码
client.admin deleted pool

10.20 Prometheus安全监控

监控:

OSD

指标:

复制代码
ceph_osd_up

容量

复制代码
ceph_cluster_total_used_bytes

权限异常

监控:

复制代码
secret access
RBAC change

10.21 告警规则

Ceph异常

PrometheusRule:

复制代码
groups:

- name: ceph


  rules:


  - alert:
      CephHealthError


    expr:
      ceph_health_status != 0


    for:
      5m

10.22 Vault集成

企业推荐:

复制代码
Hashicorp Vault

        |

        |

Ceph/K8s Secret

用途:

  • 保存Ceph Key
  • 保存数据库密码
  • 自动轮换

10.23 Rook-Ceph Secret轮换

流程:

复制代码
生成新Key

      |

更新Secret

      |

滚动CSI

      |

验证PVC

查看:

复制代码
kubectl rollout restart daemonset \
csi-rbdplugin \
-n rook-ceph

10.24 防勒索安全设计

备份隔离

生产:

复制代码
Ceph

 |

Velero

 |

MinIO

 |

WORM/Object Lock

权限隔离

备份账号:

只允许:

复制代码
write

禁止:

复制代码
delete

10.25 等保/企业安全基线

身份认证

项目 要求
RBAC 必须
MFA 推荐
SSH Key 必须
密码策略 必须

数据安全

项目 要求
备份 必须
加密 推荐
恢复演练 必须

运维安全

项目 要求
审计日志 必须
操作留痕 必须
权限审批 推荐

10.26 生产安全检查清单

项目 状态
禁用client.admin应用访问
RBAC最小权限
Secret加密
TLS开启
Dashboard HTTPS
网络隔离
Audit开启
备份隔离
权限审计
恢复演练

10.27 生产推荐安全架构

复制代码
                 用户

                  |

              SSO/MFA

                  |

          Kubernetes RBAC

                  |

          Rook Operator

                  |

       +----------+----------+

       |                     |

    CephX                TLS

       |                     |

       +----------+----------+

                  |

              Ceph Cluster

                  |

              Encrypted Disk

                  |

              Backup System

                  |

              Disaster Site

相关推荐
あ-11 小时前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》第十八章:Rook-Ceph 企业级备份、容灾与数据保护体系
ceph
あ-1 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第六章:Kubernetes Rook-Ceph 运维手册 v1.0(生产版)
ceph
あ-1 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第十二章:Rook-Ceph 监控、告警与可观测性体系ds
ceph
あ-1 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第十一章:Rook-Ceph 升级、扩容与生命周期管理
ceph
あ-1 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第七章:Rook-Ceph 生产故障案例库
ceph
あ-2 天前
Proxmox Ceph 集群故障排查手册
ceph
あ-2 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第八章:Rook-Ceph 性能优化与生产调优
ceph
RobinDevNotes6 天前
Palmier Pro:AI时代的Mac视频编辑器
人工智能·ceph·macos·ai·音视频·视频编辑·mcp
bgy666616 天前
Ceph 分布式存储完整实战指南:架构、部署与全场景运维
分布式·ceph·架构