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

k8s,1.修改容器内主机名和/etc/hosts 文件,2.root特权容器,3.pod安全策略(基于名称空间

1.修改容器内主机名和/etc/hosts 文件,让持久生效,通过修改资源清单方式---kind: PodapiVersion: v1metadata:name: rootspec:hostname: myhost         # 修改主机名hostAliases:             # 修改 /etc/hosts- ip: 192.168.88.240     # IP 地址hostnames:             # 名称键值对- harbor               # 主机名containers:- name: apacheimage: myos:httpd
2.root特权容器1.系统进程特权,可以引起宿主机数据的变更hostPID: true     		# 特权,共享系统进程2.pod容器网络特权hostNetwork: true          # 特权,共享主机网络3.root特权securityContext:           # 安全上下文值privileged: true     # root特权容器# root用户特权的使用[root@node-0001 /]# mkdir /sysroot[root@node-0001 /]# mount /dev/vda1 /sysroot[root@node-0001 /]# mount -t proc proc /sysroot/proc[root@node-0001 /]# chroot /sysrootsh-4.2# : 此处已经是 node 节点上的 root 用户了---   #特权资源文件编写kind: PodapiVersion: v1metadata:name: rootspec:hostPID: true            # 特权,共享系统进程hostNetwork: true        # 特权,共享主机网络containers:- name: apacheimage: myos:httpdsecurityContext:       # 安全上下文值privileged: true     # root特权容器3.pod安全策略(基于名称空间来设置)1.语法:...pod-security.kubernetes.io/标签:策略kubectl label namespace myweb pod-security.kubernetes.io/标签:策略2.pod准入控制标签:1)enforce:违反策略会导致pod被拒绝2)audit:违反策略会触发审计日志,但是pod仍然可以被接受3)warn:违反策略会查发警告信息,但是pod仍然可以被接受3.pod安全策略1)privileged:不受限制的策略,提供最大范围权限,可以允许设置特权提升规则2)baseline:弱限制性的策略,禁止已知的策略提升权限,允许使用默认的pod配置3)restricted:非常严格的限制性策略,几乎不允许任何特权提升的行为4.测试安全策略:kubectl label namespaces mytest pod-security.kubernetes.io/warn=baselinekubectl -n mytest apply -f root.yaml即使这个名称空间设置的弱限制性策略,由于没有设置安全声明,也不能成功创建5.pod设置安全声明---kind: PodapiVersion: v1metadata:name: nonrootspec:containers:- name: phpimage: myos:php-fpmsecurityContext:                      # 声明安全策略allowPrivilegeEscalation: false     # 容器内没有权限提升的行为runAsNonRoot: true                  # 容器运行在非 root 用户下runAsUser: 65534                    # 运行容器用户的 UIDseccompProfile:                     # 容器使用了默认的安全配置type: "RuntimeDefault"capabilities:                       # 容器禁用了所有特权能力drop: ["ALL"]

1.修改容器内主机名和/etc/hosts 文件,让持久生效,通过修改资源清单方式

        ---
        kind: Pod
        apiVersion: v1
        metadata:
          name: root
        spec:
          hostname: myhost         # 修改主机名
          hostAliases:             # 修改 /etc/hosts
          - ip: 192.168.88.240     # IP 地址
            hostnames:             # 名称键值对
            - harbor               # 主机名
          containers:
          - name: apache
            image: myos:httpd
2.root特权容器

    1.系统进程特权,可以引起宿主机数据的变更
        hostPID: true             # 特权,共享系统进程

    2.pod容器网络特权
        hostNetwork: true          # 特权,共享主机网络
        
    3.root特权
         securityContext:           # 安全上下文值
                  privileged: true     # root特权容器

        # root用户特权的使用
        [root@node-0001 /]# mkdir /sysroot
        [root@node-0001 /]# mount /dev/vda1 /sysroot
        [root@node-0001 /]# mount -t proc proc /sysroot/proc
        [root@node-0001 /]# chroot /sysroot
        sh-4.2# : 此处已经是 node 节点上的 root 用户了

        ---   #特权资源文件编写
        kind: Pod
        apiVersion: v1
        metadata:
          name: root
        spec:
          hostPID: true            # 特权,共享系统进程
          hostNetwork: true        # 特权,共享主机网络
          containers:
          - name: apache
            image: myos:httpd
            securityContext:       # 安全上下文值
              privileged: true     # root特权容器

3.pod安全策略(基于名称空间来设置)
    1.语法:...pod-security.kubernetes.io/标签:策略
        kubectl label namespace myweb pod-security.kubernetes.io/标签:策略

    2.pod准入控制标签:
        1)enforce:违反策略会导致pod被拒绝
        2)audit:违反策略会触发审计日志,但是pod仍然可以被接受
        3)warn:违反策略会查发警告信息,但是pod仍然可以被接受

    3.pod安全策略
        1)privileged:不受限制的策略,提供最大范围权限,可以允许设置特权提升规则
        2)baseline:弱限制性的策略,禁止已知的策略提升权限,允许使用默认的pod配置
        3)restricted:非常严格的限制性策略,几乎不允许任何特权提升的行为

    4.测试安全策略:kubectl label namespaces mytest pod-security.kubernetes.io/warn=baseline
        kubectl -n mytest apply -f root.yaml
        即使这个名称空间设置的弱限制性策略,由于没有设置安全声明,也不能成功创建

    5.pod设置安全声明
        ---
        kind: Pod
        apiVersion: v1
        metadata:
          name: nonroot
        spec:
          containers:
          - name: php
            image: myos:php-fpm
            securityContext:                      # 声明安全策略
              allowPrivilegeEscalation: false     # 容器内没有权限提升的行为
              runAsNonRoot: true                  # 容器运行在非 root 用户下
              runAsUser: 65534                    # 运行容器用户的 UID
              seccompProfile:                     # 容器使用了默认的安全配置
                type: "RuntimeDefault"
              capabilities:                       # 容器禁用了所有特权能力
                drop: ["ALL"]

http://www.lryc.cn/news/532572.html

相关文章:

  • MSPFN 代码复现
  • 除了console.error,还有什么更好的错误处理方式?
  • 力扣.270. 最接近的二叉搜索树值(中序遍历思想)
  • Yageo国巨的RC系列0402封装1%电阻库来了
  • wait/notify/join/设计模式
  • Windows Docker笔记-Docker拉取镜像
  • 七大排序思想
  • intra-mart实现简易登录页面笔记
  • SpringBoot整合RocketMQ
  • 深入理解 YUV Planar 和色度二次采样 —— 视频处理的核心技术
  • 项目顺利交付,几个关键阶段
  • 第七天 开始学习ArkTS基础,理解声明式UI编程思想
  • windows C++ Fiber (协程)
  • 游戏引擎学习第89天
  • 2025新鲜出炉--前端面试题(一)
  • 教程 | i.MX RT1180 ECAT_digital_io DEMO 搭建(一)
  • Pyecharts系列课程04——折线图/面积图(Line)
  • 变压器-000000
  • 凝思60重置密码
  • linux——网络计算机{序列化及反序列化(JSON)(ifdef的用法)}
  • 【教程】docker升级镜像
  • 迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写应用APP
  • python代码
  • React 打印插件 -- react-to-print
  • 探索C语言简易计算器程序的实现与优化
  • 深入了解 MySQL:从基础到高级特性
  • OSPF基础(1):工作过程、状态机、更新
  • 工业相机如何获得更好的图像色彩
  • 使用requestAnimationFrame减少浏览器重绘
  • Mac 终端命令大全