k8s_Node节点安全基线
k8s Node节点安全基线访问控制1.高危-确保–anonymous-auth参数设置为false描述:启用后,未被其他配置的身份验证方法拒绝的请求将被视为匿名请求。 然后,这些请求由Kubelet服务器处理。 您应该依靠身份验证来授权访问并禁止匿名请求加固建议:在每个节点上编辑<kubelet_config>文件,并将KUBELET_ARGS参数设置为--anonymous-aut
k8s Node节点安全基线
访问控制
1.高危-确保–anonymous-auth参数设置为false
描述:
启用后,未被其他配置的身份验证方法拒绝的请求将被视为匿名请求。 然后,这些请求由Kubelet服务器处理。 您应该依靠身份验证来授权访问并禁止匿名请求
加固建议:
在每个节点上编辑<kubelet_config>文件,并将KUBELET_ARGS参数设置为
--anonymous-auth = false
2.高危-确保 --make-iptables-util-chains 参数设置为 true
描述:
允许 Kubelet 管理 iptables。
Kubelets 可以根据您为 pod 选择网络选项的方式自动管理对 iptables 的所需更改。 建议让 kubelets 管理对 iptables 的更改。 这确保 iptables 配置与 pods 网络配置保持同步。 使用动态 pod 网络配置更改手动配置 iptables 可能会妨碍 pod/容器与外部世界之间的通信。 您的 iptables 规则可能过于严格或过于开放。
影响:Kubelet 将管理系统上的 iptables 并保持同步。
如果您正在使用任何其他 iptables 管理解决方案,那么可能会有一些冲突(如业务冲突,确保功能完整的情况下考虑加白处理)。
加固建议:
如果使用 Kubelet 配置文件,请编辑该文件(/var/lib/kubelet/config.yaml)以设置 makeIPTablesUtilChains: true。 如果使用命令行参数,请编辑每个工作节点上的 kubelet 服务文件 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 设置KUBELET_SYSTEM_PODS_ARGS 变量(删除 --make-iptables-util-chains 参数或设置为true)。 根据您的系统,重新启动 kubelet 服务
文件权限
3.高危-确保 kubelet 服务文件权限设置为 644 或更多限制
描述:
kubelet 服务文件控制着设置 kubelet 服务在工作节点中的行为的各种参数。 您应该限制其文件权限以维护文件的完整性。 该文件应该只能由系统管理员写入。
加固建议:
确保kubeadmin文件的权限为644
使用chmod 644 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
命令修正文件权限
使用stat -c %a /etc/systemd/system/kubelet.service.d/10-kubeadm.conf Verify
命令可查看权限
4.高危-确保 kubelet 服务文件所有权设置为 root:root
描述:
kubelet 服务文件控制着设置 kubelet 服务在工作节点中的行为的各种参数。你应该确保他的文件所属者被正确的设置
加固建议:
执行命令
chown root:root /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
修改文件拥有者
stat -c %U:%G /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
查看是否修改成功
5.高危-确保 --kubeconfig kubelet.conf 文件权限设置为 644 或更多限制
描述:
kubelet.conf 文件是节点的 kubeconfig 文件,它控制着设置工作节点行为和身份的各种参数。 您应该限制其文件权限以维护文件的完整性。 该文件应该只能由系统上的管理员写入
加固建议:
执行命令chmod 644 /etc/kubernetes/kubelet.conf
修改文件权限
通过命令stat -c %a /etc/kubernetes/kubelet.conf
可查看配置文件权限
6.高危-确保 kubelet --config 配置文件的权限设置为 644 或更多限制
描述:
kubelet 从 --config 参数指定的配置文件中读取各种参数,包括安全设置。 如果指定了此文件,则应限制其在系统上的文件权限
加固建议:
执行命令 chmod 644 /var/lib/kubelet/config.yaml
修改文件权限 stat -c %a /var/lib/kubelet/config.yaml
可以查看文件权限
7.高危-确保 kubelet --config 配置文件所有权设置为 root:root
描述:
kubelet 从 --config 参数指定的配置文件中读取各种参数,包括安全设置。如果指定了此文件,则应限制其文件权限以保持文件的完整性。该文件应归 root:root 所有。
加固建议:
执行命令 chown root:root /var/lib/kubelet/config.yaml
修改文件权限
执行命令 stat -c %U:%G /var/lib/kubelet/config.yaml
可以查看文件所属者
身份鉴别
8.高危-确保–authorization-mode参数未设置为AlwaysAllow
描述:
默认情况下,Kubelet允许所有经过身份验证的请求(甚至是匿名请求),而无需来自apiserver的明确授权检查。 您应该限制这种行为,并且只允许明确授权的请求
未经授权的请求将被拒绝。
加固建议:
编辑<kubelet_启动文件> 添加/修改为–authorization-mode = Webhook或其他值 要求–authorization-mode的值不能为AlwaysAllow
更多推荐
所有评论(0)