k8s_Node节点安全基线
k8s Node節(jié)點安全基線
訪問控制
1.高危-確保–anonymous-auth參數(shù)設(shè)置為false
描述:
啟用后,未被其他配置的身份驗證方法拒絕的請求將被視為匿名請求。 然后,這些請求由Kubelet服務器處理。 您應該依靠身份驗證來授權(quán)訪問并禁止匿名請求
加固建議:
在每個節(jié)點上編輯<kubelet_config>文件,并將KUBELET_ARGS參數(shù)設(shè)置為
--anonymous-auth = false
2.高危-確保 --make-iptables-util-chains 參數(shù)設(shè)置為 true
描述:
允許 Kubelet 管理 iptables。
Kubelets 可以根據(jù)您為 pod 選擇網(wǎng)絡(luò)選項的方式自動管理對 iptables 的所需更改。 建議讓 kubelets 管理對 iptables 的更改。 這確保 iptables 配置與 pods 網(wǎng)絡(luò)配置保持同步。 使用動態(tài) pod 網(wǎng)絡(luò)配置更改手動配置 iptables 可能會妨礙 pod/容器與外部世界之間的通信。 您的 iptables 規(guī)則可能過于嚴格或過于開放。
影響:Kubelet 將管理系統(tǒng)上的 iptables 并保持同步。
如果您正在使用任何其他 iptables 管理解決方案,那么可能會有一些沖突(如業(yè)務沖突,確保功能完整的情況下考慮加白處理)。
加固建議:
如果使用 Kubelet 配置文件,請編輯該文件(/var/lib/kubelet/config.yaml)以設(shè)置 makeIPTablesUtilChains: true。 如果使用命令行參數(shù),請編輯每個工作節(jié)點上的 kubelet 服務文件 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 設(shè)置KUBELET_SYSTEM_PODS_ARGS 變量(刪除 --make-iptables-util-chains 參數(shù)或設(shè)置為true)。 根據(jù)您的系統(tǒng),重新啟動 kubelet 服務
文件權(quán)限
3.高危-確保 kubelet 服務文件權(quán)限設(shè)置為 644 或更多限制
描述:
kubelet 服務文件控制著設(shè)置 kubelet 服務在工作節(jié)點中的行為的各種參數(shù)。 您應該限制其文件權(quán)限以維護文件的完整性。 該文件應該只能由系統(tǒng)管理員寫入。
加固建議:
確保kubeadmin文件的權(quán)限為644
使用chmod 644 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 命令修正文件權(quán)限
使用stat -c %a /etc/systemd/system/kubelet.service.d/10-kubeadm.conf Verify命令可查看權(quán)限
4.高危-確保 kubelet 服務文件所有權(quán)設(shè)置為 root:root
描述:
kubelet 服務文件控制著設(shè)置 kubelet 服務在工作節(jié)點中的行為的各種參數(shù)。你應該確保他的文件所屬者被正確的設(shè)置
加固建議:
執(zhí)行命令
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 文件權(quán)限設(shè)置為 644 或更多限制
描述:
kubelet.conf 文件是節(jié)點的 kubeconfig 文件,它控制著設(shè)置工作節(jié)點行為和身份的各種參數(shù)。 您應該限制其文件權(quán)限以維護文件的完整性。 該文件應該只能由系統(tǒng)上的管理員寫入
加固建議:
執(zhí)行命令chmod 644 /etc/kubernetes/kubelet.conf 修改文件權(quán)限
通過命令stat -c %a /etc/kubernetes/kubelet.conf可查看配置文件權(quán)限
6.高危-確保 kubelet --config 配置文件的權(quán)限設(shè)置為 644 或更多限制
描述:
kubelet 從 --config 參數(shù)指定的配置文件中讀取各種參數(shù),包括安全設(shè)置。 如果指定了此文件,則應限制其在系統(tǒng)上的文件權(quán)限
加固建議:
執(zhí)行命令 chmod 644 /var/lib/kubelet/config.yaml
修改文件權(quán)限 stat -c %a /var/lib/kubelet/config.yaml 可以查看文件權(quán)限
7.高危-確保 kubelet --config 配置文件所有權(quán)設(shè)置為 root:root
描述:
kubelet 從 --config 參數(shù)指定的配置文件中讀取各種參數(shù),包括安全設(shè)置。如果指定了此文件,則應限制其文件權(quán)限以保持文件的完整性。該文件應歸 root:root 所有。
加固建議:
執(zhí)行命令 chown root:root /var/lib/kubelet/config.yaml 修改文件權(quán)限
執(zhí)行命令 stat -c %U:%G /var/lib/kubelet/config.yaml 可以查看文件所屬者
身份鑒別
8.高危-確保–authorization-mode參數(shù)未設(shè)置為AlwaysAllow
描述:
默認情況下,Kubelet允許所有經(jīng)過身份驗證的請求(甚至是匿名請求),而無需來自apiserver的明確授權(quán)檢查。 您應該限制這種行為,并且只允許明確授權(quán)的請求
未經(jīng)授權(quán)的請求將被拒絕。
加固建議:
編輯<kubelet_啟動文件> 添加/修改為–authorization-mode = Webhook或其他值 要求–authorization-mode的值不能為AlwaysAllow
總結(jié)
以上是生活随笔為你收集整理的k8s_Node节点安全基线的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统中的日志服务管理
- 下一篇: C语言课程设计——家庭财务管理系统源码