
Kubernetes 安全检测Kube-bench
简介
Kube-bench可以检查Kubernetes是否根据CIS Kubernetes基准中定义的安全最佳实践进行部署。
安装
运行如下命令安装Kube-bench
docker run --rm -v `pwd`:/host aquasec/kube-bench:latest install
./kube-bench
检查
检查对k8s控制节点进行压测
./kube-bench master
检查完成后呢,我们发现它有10个问题。
解决问题
我们以设置--kubelet-certificate-authority
为例。
我们通过设置证书授权来改善kubernetes.
# 修改kube-apiserver.yaml
vim /etc/kubernetes/manifests/kube-apiserver.yaml
# 添加证书授权
- --kubelet-certificate-authority=/etc/kubernetes/pki/ca.crt
随后重启kubelet,并再次检查,我们就会发现这个问题以及解决了。
systemctl daemon-reload
systemctl restart kubelet.service
./kube-bench master
通过它的一些问题描述来一点点改善我们的集群环境。
常见问题
问题一
授权模式不应设置为AlwaysAllow,而应包括Node和RBAC。
实例地址ip设置无效。
不安全端口失败参数应该设置为0。
解决方法
vim /etc/kubernetes/manifests/kube-apiserver.yaml
# - --authorization-mode=AlwaysAllow
- --authorization-mode=Node,RBAC
# - --insecure-bind-address=0.0.0.0
- --insecure-port=0
问题二
确保anonymous-auth
参数设置为false
确保--authorization-mode
参数不能设置为AlwaysAllow
尽可能的使用webhook authn或authz
vim /var/lib/kubelet/config.yaml # master和node都需要改配置
anonymous:
enabled: false
authorization:
mode: Webhook
systemctl daemon-reload
systemctl restart kubelet.service
问题三
确保etcd的--client-cert-auth
失败设置为true
vim /etc/kubernetes/manifests/etcd.yaml
- --client-cert-auth=true
systemctl daemon-reload
systemctl restart kubelet.service
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价
排名
2
文章
657
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 :
好是好,这个对效率影响大不大哇,效率高不高
一个bug让程序员走上法庭 索赔金额达400亿日元
剑轩 : 有点可怕
ASP.NET Core 服务注册生命周期
剑轩 :
http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术