当前位置: 首页 > article >正文

K8s安全加固实战:认证、授权、网络策略三维度解读

前言Kubernetes已成为企业云原生基础设施的标准但默认配置下的K8s集群存在诸多安全隐患。攻击者利用配置缺陷入侵集群后可横向扩展到整个基础设施。本文从认证Authentication、授权Authorization、**网络策略Network Policy**三个维度系统讲解K8s安全加固的实战方法。一、认证Authentication谁在访问API Server1.1 默认认证的问题K8s API Server默认不强制认证匿名用户只要知道API Server地址即可访问集群资源。在生产环境中必须关闭匿名认证# kube-apiserver 启动参数--anonymous-authfalse关闭匿名认证后所有请求都需要携带有效凭证。1.2 ServiceAccount Token认证Pod访问API Server通过ServiceAccount实现。默认每个Namespace有一个default ServiceAccount其Token具有该Namespace的读写权限。问题应用不需要API Server权限时Token仍在挂载。解决方案使用automountServiceAccountToken: false关闭自动挂载apiVersion:v1kind:ServiceAccountmetadata:name:my-app-sanamespace:productionautomountServiceAccountToken:false---apiVersion:apps/v1kind:Deploymentspec:template:spec:serviceAccountName:my-app-saautomountServiceAccountToken:false1.3 证书认证X.509 Client Certs对于需要集群管理权限的用户使用证书认证# 创建用户证书openssl req-new-newkeyrsa:4096\-keyoutadmin.key-nodes\-outadmin.csr\-subj/CNadmin/Osystem:masters# 签署证书openssl x509-req-inadmin.csr\-CA/etc/kubernetes/pki/ca.crt\-CAkey/etc/kubernetes/pki/ca.key\-CAcreateserial\-outadmin.crt-days365# 配置kubectl使用证书kubectl config set-credentials admin\--client-certificateadmin.crt\--client-keyadmin.key1.4 OIDC联合认证企业级方案大型企业推荐使用OIDC将K8s与现有身份提供商Okta、Keycloak、Azure AD集成# kube-apiserver OIDC配置--oidc-issuer-urlhttps://your-idp.com--oidc-client-idk8s-cluster--oidc-ca-file/etc/kubernetes/pki/oidc-ca.crt--oidc-username-claimemail--oidc-groups-claimgroups二、授权Authorization他们能做什么2.1 RBAC权限模型K8s使用RBAC基于角色的访问控制管理权限核心概念Role/ClusterRole定义一组权限规则RoleBinding/ClusterRoleBinding将规则绑定到用户/组/ServiceAccount示例只读Namespace权限apiVersion:rbac.authorization.k8s.io/v1kind:Rolemetadata:name:readonlynamespace:monitoringrules:-apiGroups:[]resources:[pods,services,configmaps]verbs:[get,list,watch]---apiVersion:rbac.authorization.k8s.io/v1kind:RoleBindingmetadata:name:readonly-bindingnamespace:monitoringsubjects:-kind:Groupname:viewerscompany.comapiGroup:rbac.authorization.k8s.ioroleRef:kind:Rolename:readonlyapiGroup:rbac.authorization.k8s.io2.2 权限细化避免过度授权反面典型system:masters组拥有cluster-admin权限误用会导致完全失控。最佳实践遵循最小权限原则使用细粒度RBAC# 只能读取特定标签Pod的权限apiVersion:rbac.authorization.k8s.io/v1kind:Rolemetadata:name:pod-reader-with-labelnamespace:productionrules:-apiGroups:[]resources:[pods]verbs:[get,list]resourceNames:[]# 通过label selector限制2.3 Node授权模式K8s提供两种API Server授权模式模式说明适用场景Node限制kubelet只能访问自己Node上的资源默认需配合NodeRestriction插件RBAC使用角色绑定管理所有权限精细化控制场景# 启用NodeRestriction插件推荐--enable-admission-pluginsNodeRestriction2.4 权限审计定期检查过度授权的ServiceAccount# 列出所有具有cluster-admin权限的账户kubectl get clusterrolebinding-owide|grepcluster-admin# 检查某个SA的权限kubectl auth can-i--list--assystem:serviceaccount:default:default三、网络策略Network PolicyPod之间的流量管控3.1 默认网络模型的问题K8s默认网络是全连通模型任意Pod可以访问任意其他Pod。攻击者拿下单个Pod后可横向移动到整个集群。解决方案实施网络隔离策略。3.2 网络策略基础网络策略由CNI插件如Calico、Cilium实现声明式定义允许的流量apiVersion:networking.k8s.io/v1kind:NetworkPolicymetadata:name:frontend-isolationnamespace:productionspec:podSelector:matchLabels:app:frontendpolicyTypes:-Ingress-Egressingress:# 只允许来自backend的流量-from:-podSelector:matchLabels:app:backendports:-protocol:TCPport:8080egress:# 只允许访问后端服务和DNS-to:-podSelector:matchLabels:app:backendports:-protocol:TCPport:8080-to:-namespaceSelector:matchLabels:kubernetes.io/metadata.name:kube-systemports:-protocol:UDPport:533.3 默认拒绝策略在安全要求高的Namespace中设置默认拒绝所有流量apiVersion:networking.k8s.io/v1kind:NetworkPolicymetadata:name:default-deny-allnamespace:productionspec:podSelector:{}# 空选择器 该Namespace所有PodpolicyTypes:-Ingress-Egress⚠️ 配置默认拒绝后必须显式开放每个工作负载需要的流量。3.4 微服务间的最小权限网络策略典型三层应用的网络策略模板App层 → 允许来自Ingress Controller的80/443 允许到API层的8080 拒绝其他所有 API层 → 允许来自App层的流量 允许到DB层的5432 允许到Redis的6379 拒绝其他所有 DB层 → 只允许来自API层的访问 拒绝其他所有包括同Namespace其他Pod# DB层网络策略apiVersion:networking.k8s.io/v1kind:NetworkPolicymetadata:name:db-network-policynamespace:productionspec:podSelector:matchLabels:tier:databasepolicyTypes:-Ingressingress:-from:-podSelector:matchLabels:tier:apiports:-protocol:TCPport:5432四、综合加固检查清单检查项命令/操作标准关闭匿名认证kubectl get pod -A -o yaml | grep -i anonymous应返回空禁止默认SA Token挂载检查所有DeploymentautomountServiceAccountToken: false清理过度授权RBACkubectl get clusterrolebinding | grep cluster-admin只保留必要账户启用网络策略检查CNI配置每个Namespace至少有一条策略启用Audit日志kubectl logs -n kube-system kube-apiserver-*配置审计策略限制Pod特权模式PSP或OPA策略禁止privileged: true加密Secretetcd加密--encryption-provider-config五、工具推荐5.1 KubesecKubesec是一个K8s资源安全评分工具kubectl apply-fdeployment.yaml|kubesec score -输出安全评分0-100并列出具体风险项。5.2 kube-benchkube-bench对照CIS Kubernetes Benchmark检查集群配置kubectl apply-fhttps://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml kubectl logs job/kube-bench5.3 Falco运行时安全Falco监控K8s运行时异常行为# 检测容器内执行shell-rule:Detect Shell in Containerdesc:A shell was spawned in a container other than at container startcondition:spawned_process and container and proc.name bashoutput:Shell spawned in container (user%user.name command%proc.cmdline container%container.name)priority:WARNING结语K8s安全加固是一个持续过程不是一次性项目。建议先止血关闭匿名认证、实施网络隔离5分钟可完成再规范完善RBAC权限体系最后进阶集成OPA/Falco等运行时安全工具安全加固的投入会在安全事件发生时获得百倍回报。配图建议①认证流程图用户→API Server→认证插件→RBAC→资源②RBAC权限模型图Role/RoleBinding关系③网络策略示例架构图三层应用流量拓扑

相关文章:

K8s安全加固实战:认证、授权、网络策略三维度解读

前言 Kubernetes已成为企业云原生基础设施的标准,但默认配置下的K8s集群存在诸多安全隐患。攻击者利用配置缺陷入侵集群后,可横向扩展到整个基础设施。本文从认证(Authentication)、授权(Authorization)、*…...

抠图软件在线使用有哪些?2026年最全对比测试,找到适合你的工具

最近被问得最多的问题就是:"有没有特别好用的抠图软件?"说实话,这两年AI技术的发展真的改变了抠图这件事儿。我自己也用过不少抠图工具,从专业的PS到各种在线应用,今天就来好好聊聊抠图软件在线使用有哪些选…...

手把手教你用STM32F103驱动TLC7528双路DAC(附完整代码与避坑指南)

手把手教你用STM32F103驱动TLC7528双路DAC(附完整代码与避坑指南) 在嵌入式开发中,数字模拟转换器(DAC)是实现数字信号到模拟信号转换的关键组件。TLC7528作为一款经典的双路8位DAC芯片,以其高性价比和简单…...

用FPGA驱动TDC-GPX2做高精度时间测量:一个基于XC7A35T的完整Verilog状态机实现

基于XC7A35T的TDC-GPX2高精度时间测量系统:状态机设计与工程实践 在精密时间测量领域,TDC-GPX2作为一款高分辨率时间数字转换芯片,配合FPGA的灵活控制能力,能够实现皮秒级的时间间隔测量。本文将深入探讨如何利用Xilinx Artix-7系…...

观察Taotoken在多模型自动路由下的服务可用性与容灾表现

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察Taotoken在多模型自动路由下的服务可用性与容灾表现 在构建基于大模型的应用时,服务的稳定性是保障业务连续性的基…...

S32K3开发板三色LED点灯实战:从引脚配置到代码烧录的保姆级避坑指南

S32K3开发板三色LED点灯实战:从引脚配置到代码烧录的保姆级避坑指南 当一块崭新的S32K3开发板摆在面前,闪烁的LED往往是开发者与之对话的第一个"Hello World"。本文将带你用最直观的方式——控制RGB三色灯,快速建立对NXP这款车规级…...

别再傻傻串联了!聊聊数字电路里移位器的三种实现:从简单开关到桶形和对数结构

数字电路设计中的移位器架构选择:从基础实现到性能优化 在数字电路设计中,移位操作是最基础却又最容易被低估的功能之一。许多刚入行的工程师往往会采用最简单的串联移位结构,直到项目遇到性能瓶颈才开始思考优化方案。实际上,移…...

使用 TaoToken CLI 工具一键配置多开发环境接入参数

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用 TaoToken CLI 工具一键配置多开发环境接入参数 在团队协作或个人多项目开发中,为不同的 AI 应用工具配置 API 密钥…...

AI 科技日报-2026年5月19日

AI 科技日报 | 2026年5月19日 今日AI领域八大要闻速递 1. 京东宣布AI研发投入增长超200%,"618"全面智能化 京东集团技术委员会主席曹鹏在"618"启动发布会上透露,今年京东体系AI相关研发投入增长将超200%,AI将首次全场…...

CH348芯片全平台驱动实战:从Windows Server到树莓派Linux,一次搞定8串口配置

CH348芯片全平台驱动实战:从Windows Server到树莓派Linux,一次搞定8串口配置 工业自动化、物联网网关、多设备调试等场景中,工程师常面临一个核心痛点:如何在各类操作系统环境下高效管理多串口设备。南京沁恒微电子的CH348芯片以其…...

2023B卷,跳格子(1)

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:华为OD面试 文章目录 一、🍀前言 1.1 ☘️题目详情 1.2 ☘️参考解题答案 一、🍀前言 2023B卷,跳格子(1) 。 1.1 ☘️题目详情 题目: 小明和朋友…...

3个实战技巧高效提取抖音1080P视频封面:自媒体素材管理效率提升90%

3个实战技巧高效提取抖音1080P视频封面:自媒体素材管理效率提升90% 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fa…...

VMware Unlocker终极指南:如何在Windows/Linux上免费解锁macOS虚拟机支持

VMware Unlocker终极指南:如何在Windows/Linux上免费解锁macOS虚拟机支持 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 你是否曾经想在Windows或Linux电脑上运行macOS虚拟机,却…...

5分钟掌握MAA:解放双手的明日方舟智能助手终极指南

5分钟掌握MAA:解放双手的明日方舟智能助手终极指南 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://gitcod…...

如何为FF14国际服实现完整中文汉化:FFXIVChnTextPatch实战指南

如何为FF14国际服实现完整中文汉化:FFXIVChnTextPatch实战指南 【免费下载链接】FFXIVChnTextPatch 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIVChnTextPatch 还在为《最终幻想14》国际服的英文界面而烦恼吗?FFXIVChnTextPatch项目为你提…...

2026生鲜零售收银软件推荐:四大主流方案深度对比

开一家生鲜店,最让人头疼的往往不是进货渠道或选址,而是每天高峰期那台“卡住”的收银机。想象一下,周末傍晚顾客排成长龙,称重员手忙脚乱地输入代码,屏幕转圈加载,后面的顾客开始不耐烦地催促,…...

2026年京东云OpenClaw/Hermes Agent配置Token Plan搭建详细指南

2026年京东云OpenClaw/Hermes Agent配置Token Plan搭建详细指南。OpenClaw是开源的个人AI助手,Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具&…...

对比直接使用厂商API体验Taotoken在计费透明度上的优势

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用厂商API体验Taotoken在计费透明度上的优势 在集成大模型能力到实际业务的过程中,除了模型的性能和稳定性&…...

突发外交事件3分钟响应!Perplexity国际新闻搜索应急配置清单,含12条预设Prompt与可信度评分模型

更多请点击: https://kaifayun.com 第一章:突发外交事件3分钟响应!Perplexity国际新闻搜索应急配置清单,含12条预设Prompt与可信度评分模型 面对突发外交事件(如边境冲突升级、高层会谈临时取消、制裁公告突袭发布&am…...

声磁同步定点仪怎么选?这份选购经验干货分享

做工厂电缆故障检测、地埋电缆探测的工程人员,多半都踩过定点仪的坑:设备抗干扰差,复杂厂区地下管线密集,找半天定不准点位,开挖错位置不仅耽误工期,额外的开挖成本、停产损失动辄几万到几十万。作为常年跟…...

如何用Hitboxer解决游戏按键冲突:5步实现职业级操作精度

如何用Hitboxer解决游戏按键冲突:5步实现职业级操作精度 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的游戏对战中,因为同时按下左右方向键而角色卡顿?或者…...

数据质量管理的过去、现在与未来:理解 2024 年数据测试、监控与数据可观察性

原文:towardsdatascience.com/the-past-present-and-future-of-data-quality-management-understanding-testing-monitoring-and-efd1350457eb?sourcecollection_archive---------1-----------------------#2024-05-25 数据领域正在发展,数据质量管理也…...

终身机器学习的起源:为什么 LLML 是 AI 领域的下一个游戏改变者(第一部分)

原文:towardsdatascience.com/the-origins-of-lifelong-ml-part-1-of-why-llml-is-the-next-game-changer-of-ai-8dacf9897143?sourcecollection_archive---------12-----------------------#2024-01-17 通过 Q 学习和基于解释的神经网络理解终身机器学习的力量 h…...

启动我进入数据科学的那一个思维方式转变

原文:towardsdatascience.com/the-one-mindset-change-that-launched-me-into-data-science-3f72bd1df46f?sourcecollection_archive---------2-----------------------#2024-10-19 让它成为现实:微小的改变帮助你进入数据科学或任何梦想职业 https://…...

Julia 中的 One Billion Row Challenge

原文:towardsdatascience.com/the-one-billion-row-challenge-in-julia-bdd19cde58d5?sourcecollection_archive---------9-----------------------#2024-06-05 如果数据科学家决定接受这个任务,他们能学到什么? https://medium.com/vikas.…...

ESP32 Arduino核心开发终极指南:构建专业级物联网控制系统

ESP32 Arduino核心开发终极指南:构建专业级物联网控制系统 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 还在为物联网项目开发中的硬件兼容性、开发环境复杂…...

Windows电脑运行安卓应用终极指南:APK安装器完整教程

Windows电脑运行安卓应用终极指南:APK安装器完整教程 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想过,在Windows电脑上直接运行安…...

Redis Sorted Set(有序集合)详解

Redis 里面有一种非常强大的数据结构: Sorted Set(有序集合)简称: ZSet这是 Redis 面试和项目里非常高频的东西。一、什么是 Sorted Set 先记住一句话: Sorted Set 自动排序的 Set它具备: Set 的去重自动排…...

犀牛开发者日记-犀牛论剑特辑 | 李江浩:一个 ROS 布道师的转身

熟悉ROS领域的朋友,对李江浩这个名字想必并不陌生。作为资深ROS布道师,他常年活跃在技术社区分享干货,面对同行提出的各类问题,总能给出快准狠的解决方案,精准直击技术痛点。熟悉他的人都有一个共同感受:李…...

硬件工程师转型软件设计:十大核心技巧与思维转换实战指南

1. 项目概述:一次思维模式的“跨界”升级作为一名在硬件领域摸爬滚打了十多年的老兵,我深知从示波器、烙铁和PCB布线软件转向代码编辑器、版本控制和软件架构图时,那种既兴奋又迷茫的感觉。硬件工程师转软件设计,这绝不仅仅是换个…...