 Rancher Hardening Guide v2.4
            Rancher Hardening Guide v2.4
                
  
              197.27 KB
             
              22 页
               
              0 评论
              
| 语言 | 格式 | 评分 | 
|---|---|---|
| 英语 | .pdf | 3 | 
| 摘要 | ||
| 文档提供了针对Rancher v2.4和Kubernetes v1.15生产环境安装的硬化配置指南,以满足CIS Kubernetes Benchmark v1.5的要求。指南涵盖了节点安全、内核运行时参数、etcd用户和组的配置、网络策略的定义以及RKE和RKE模板的配置。该指南还指出了在CIS 1.5硬化环境中已知的问题,例如默认服务账号的权限管理、Kubectl在仅提供公共IP时的限制以及自定义节点注册时的私有IP需求。 | ||
| AI总结 | ||
| 
《Rancher Hardening Guide v2.4》文档总结如下:
### 文档概述
该文档提供了针对Rancher v2.4生产环境的加固指南,主要涵盖了如何通过配置和控制(addressing)以满足CIS Kubernetes Benchmark v1.5的要求。目标是帮助用户在部署Kubernetes之前,加固集群节点,确保 安全性。文档适用于以下版本:
- Rancher Version: v2.4
- CIS Benchmark Version: v1.5
- Kubernetes Version: v1.15
---
### 已知问题
1. **自定义节点注册问题**:在CIS 1.5加固环境中,若只提供公网IP注册自定义节点,Rancher的exec shell和查看日志功能将失效,必须提供私有IP。
2. **默认服务账号限制**:
   - CIS 1.5 5.1.5检查要求默认服务账号(default service accounts)不得绑定任何角色或集群角色(除默认外)。
   - 默认服务账号应不提供服务账号令牌,并无明确权限分配。
---
### 配置与加固
1. **内核运行时参数配置**  
   在所有节点上设置以下内核参数,文件路径为`/etc/sysctl.d/90-kubelet.conf`:
   ```
   vm.overcommit_memory=1
   vm.panic_on_oom=0
   kernel.panic=10
   kernel.panic_on_oops=1
   kernel.keys.root_maxbytes=25000000
   ```
   启用配置:`sysctl -p /etc/sysctl.d/90-kubelet.conf`
2. **etcd用户和组配置**  
   - 创建etcd用户和组,UID和GID均为52034:
     ```
     groupadd --gid 52034 etcd
     useradd --comment "etcd service account" --uid 52034 --gid 52034 etcd
     ```
   - 更新RKE配置文件(`config.yml`)中的etcd权限,确保正确设置UID和GID。
3. **网络策略配置**  
   确保所有命名空间定义网络策略。提供的脚本`apply_networkPolicy_to_all_ns.sh`会应用默认放宽的网络策略到所有命名空间:
   ```bash
   #!/bin/bash -e
   for namespace in $(kubectl get namespaces -A -o json | jq -r '.items[].metadata.name'); do
     kubectl apply -f default-allow-all.yaml -n ${namespace}
   done
   ```
   执行前需授予脚本执行权限:`chmod +x apply_networkPolicy_to_all_ns.sh`
---
### RKE集群配置文件(yaml)参考
以下为硬化RKE集群的参考配置:
```yaml
# 版本信息
kubernetes_version: "v1.15.9-rancher1-1"
# 启用功能
enable_network_policy: true
default_pod_security_policy_template_id: "restricted"
# 服务配置
services:
  etcd:
    uid: 52034
    gid: 52034
  kube-api:
    pod_security_policy: true
    secrets_encryption_config:
      enabled: true
    audit_log:
      enabled: true
    extra_args:
      feature-gates: "RotateKubeletServerCertificate=true"
      profiling: "false"
      address: "127.0.0.1"
  kube-controller:
    extra_args:
      feature-gates: "RotateKubeletServerCertificate=true"
```
---
### RKE模板配置参考
RKE模板提供了 Kubernetes 的硬化安装配置,主要包括:
- 网络插件选型(如 canal)。
- 默认Pod安全部门策略(`restricted`)。
- Docker根目录设置:`/var/lib/docker`。
- 服务节点端口范围:`30000-32767`。
此外,模板中还配置了 Kubernetes 组件的额外参数,如 `kubelet` 的 tls-cipher-suites 和 `kube-api` 的 audit log。
---
### 总结
文档提供了针对Rancher v2.4和Kubernetes v1.15的硬化配置指南,涵盖内核参数、etcd用户、网络策略、RKE配置等多方面,旨在帮助用户在部署前加固集群,满足CIS Kubernetes Benchmark的安全要求。用户在部署时应特别注意已知问题,确保功能正常。 | ||
 P1 
 P2 
 P3 
 P4 
 P5 
 P6 
 P7 
下载文档到本地,方便使用
    
                - 可预览页数已用完,剩余
                15 页请下载阅读 -
              
文档评分 
  













