Kubernetes集群安全加固

news2024/12/26 17:18:48

本博客地址:https://security.blog.csdn.net/article/details/130678814

一、系统账户加固

1、对账户的登录次数进行检查,连续超过3次登录失败后,对用户锁定150s

# 每个设备上都运行
sed -i~ '2iauth required pam_faillock.so deny=3 unlock_time=150 even_deny_root root_unlock_time=300' /etc/pam.d/sshd

2、配置用户密码的生命周期,限制其登录密码至少每隔一段时间就进行更新

# 每个设备上都运行
sed -i 's/^PASS_MAX_DAYS\t.*/PASS_MAX_DAYS   30/' /etc/login.defs         # 密码最大修改天数30天,即30天强制修改一次
sed -i 's/^PASS_MIN_DAYS\t.*/PASS_MIN_DAYS   0/' /etc/login.defs          # 密码最小修改天数0天,即随时可修改密码
sed -i 's/^PASS_MIN_LEN\t.*/PASS_MIN_LEN   8/' /etc/login.defs            # 密码最小长度为8位
sed -i 's/^PASS_WARN_AGE\t.*/PASS_WARN_AGE   7/' /etc/login.defs          # 密码错误警告次数为7次

3、配置用户密码的复杂程度,规定密码的长度、大小写字符数、特殊符号数目

# 每个设备上都运行
echo "minlen = 8" >> /etc/security/pwquality.conf
echo "maxrepeat = 2" >> /etc/security/pwquality.conf
echo "lcredit = 1" >> /etc/security/pwquality.conf
echo "ucredit = 1" >> /etc/security/pwquality.conf
echo "dcredit = 1" >> /etc/security/pwquality.conf
echo "ocredit = 1" >> /etc/security/pwquality.conf

4、禁止root用户远程登录(或禁止使用密码登录,强制使用证书登录)。普通用户登录系统后,通过sudo命令获得更高的执行权限

# 每个设备上都运行
sed -i~ 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

5、其他

重启SSH服务,使上面的root用户配置生效

# 每个设备上都运行
systemctl restart sshd.service

启用SELinux

# 每个设备上都运行

# 修改selinux配置文件,配置默认策略为enforcing
sed -i "s/SELINUX=disabled/SELINUX=enforcing/g" /etc/selinux/config
# 如果selinux提示disabled,则需要重启系统使其生效

二、kube-apiserver加固

kube-apiserver的加固需要通过修改kube-apiserver的配置文件来修改kube-apiserver的配置。kube-apiserver的配置文件一般在:/etc/kubernetes/manifests/kube-apiserver.yaml

在kube-apiserver.yaml配置文件中,配置disable匿名登录和kubelet使用https调用;禁用调试模式;同时为kube-apiserver配置NodeRestriction、AlwaysPullImages、PodSecurityPolicy和ServiceAccount插件;最后为kube-apiserver配置访问审计日志。

# 配置内容:
- --anonymous-auth=false
- --kubelet-https=true
- --profiling=false
- --authorization-mode=Node,RBAC
- --enable-admission-plugins=NodeRestriction,AlwaysPullImages,PodSecurityPolicy,ServiceAccount
- --audit-log-path=/var/log/kube-apiserver-audit.log

如图所示:
在这里插入图片描述

三、kubelet加固

kubelet的加固需要通过修改kubelet的配置文件来修改kubelet的配置。kubelet的配置存放在/etc/kubernetes/kubelet.conf/var/lib/kubelet/config.yaml/etc/sysconfig/kubelet这三个地方。

在config.yaml文件中配置anonymous为false、配置readOnlyPort为disable。

vim /var/lib/kubelet/config.yaml
---------------------------------------------------------------
authentication:
  anonymous:
    enabled: false

readOnlyPort: 0

如图所示

在这里插入图片描述

在kubelet的EnvironmentFile中配置激活证书轮换。

vim /etc/sysconfig/kubelet
--------------------------------------------------------------------------
KUBELET_EXTRA_ARGS=--rotate-certificates

如图所示

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/530602.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试

一、前言 “死亡测试”名字比较恐怖,这里的“死亡”指的的是程序的崩溃。通常在测试过程中,我们需要考虑各种各样的输入,有的输入可能直接导致程序崩溃,这时我们就需要检查程序是否按照预期的方式挂掉,这也就是所谓的…

CBFS Shell .NET 22.0.85 Crack

使用虚拟文件夹、自定义菜单、工具栏、详细信息列等扩展和自定义 Windows 资源管理器! CBFS Shell 窗口资源管理器自定义 使用 CBFS Shell 为您的用户扩展 Windows 资源管理器。定义用户如何与文件和文件夹交互、自定义上下文菜单、添加信息列等。与可能导致资源管…

详细解释什么是LNMP架构

LNMP(Linux-Nginx-MySQL-PHP)是一种常见的Web服务器架构,适用于中小型网站和应用。 它包括四个核心组件: 1. Linux:LNMP架构是在Linux操作系统上运行的。通常选择Ubuntu、Debian等基于Debian的发行版作为Linux系统。 2. Nginx:Nginx是一个高性能的Web服…

支付系统设计三:支付网关设计09-总结

文章目录 前言一、设计目标二、设计实现1. 开发框架2. 配置管理后台3. 屏蔽渠道差异4. 各阶段工作内容4.1 业务处理前期准备阶段4.2 业务处理阶段4.2.1 交易处理模板获取4.2.2 参数验证4.2.3 幂等性验证4.2.4 交易数据准备服务获取4.2.5 路由处理4.2.6 支付渠道数据补全4.2.7 交…

Docker高级(完结)

一、DockerFile DockerFile简介 Docker是用来构建Docker镜像文件,由一条条docker指令和参数构成的脚本。 DockerFile构建过程 小总结 从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段, Dockerfile是…

浅析垃圾回收

大家好,我是易安! Java虚拟机的自动内存管理,将原本需要由开发人员手动回收的内存,交给垃圾回收器来自动回收。不过既然是自动机制,肯定没法做到像手动回收那般精准高效 ,而且还会带来不少与垃圾回收实现相…

《MongoDB入门教程》 - MongoDB基础介绍

前言 时间也过太快了嘛,一晃上次更新都又过去6个月了,再不更新就变成年更博客了。 对了,第一次疫情也过去了,最近开始二阳了,希望大家能继续挺过去吧 本篇文章初尝试使用ChatGPT进行,博主主要负责排版和总…

mysql使用xtrabackup方式复制过滤某一个数据库

需求: 搭建一个新的从库,只复制过滤源端数据库里的其中一个数据库workflow到新实例上。 一 操作步骤 1.1 在目标端新建一个数据库实例 略 1.2 在源端做备份 /home/urman-agent/bin/xtrabackup --defaults-file/data/mysql/etc/13314/my.cnf --targ…

redis缓存穿透、缓存击穿、缓存雪崩

一、缓存 缓存是数据交换的缓冲区,是存储数据的临时地方,一般读写性能较高。 如浏览器会把静态资源先加载到浏览器缓存中,tomcat中有应用层缓存等,则数据库也有数据库缓存。 缓存的作用: 降低后端负载提高读写效率…

ES8基本命令

ElasticSearch是面向文档型数据库 构造类似于数据库:indexes(索引库数据库)-->types(类型表)-->documents(文档行)-->field(字段字段) 但是在7.X开始,Type已经开始被废弃。 正排索引:根据主键id关联内容,然后再找关键字…

微服务—Redis实用篇-黑马头条项目-达人探店功能(使用set与zset实现)

微服务—Redis实用篇-黑马头条项目-达人探店功能(使用set与zset实现) 1、达人探店 1.1、达人探店-发布探店笔记 发布探店笔记 探店笔记类似点评网站的评价,往往是图文结合。对应的表有两个: tb_blog:探店笔记表,包含笔记中的标…

Liunx基础命令 - mkdir命令

mkdir命令 – 创建目录文件 mkdir命令来自英文词组”make directories“的缩写,其功能是用来创建目录文件。使用方法简单,但需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。而目录不存在&#…

路径规划算法:基于蜉蝣优化的路径规划算法- 附代码

路径规划算法:基于蜉蝣优化的路径规划算法- 附代码 文章目录 路径规划算法:基于蜉蝣优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法蜉蝣…

Linux 无网环境下离线安装rpm

概述 搭建了私有yum仓库,想实现无网环境下Docker rpm离线安装的方法 1. 使用和配置清华源 2. 免安装下载rpm包及其依赖 3. 寻找特定的rpm包并补全依赖 清华的清华源 名称连接帮助文档备注主页清华大学开源软件镜像站 | Tsinghua Open Source MirrorAOSP | 镜像站使…

Swagger 3.0 与 Springboot 集成

springboot版本:2.3.12.RELEASE swagger版本:3.0.0 1&#xff1a;pom文件添加如下代码: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version>&…

离线安装 Docker + Docker registry(Docker仓库)

概述 通过私有yum仓库安装docker 具体内容&#xff1a; 1. 构建私有镜像仓库 2. 准备rpm包 3. 安装部署 4. ansible 安装 卸载 5. shell 脚本安装 卸载 6. 网页连接 7. 构建docker 私有仓库 1. 构建私有镜像仓库 构建简单的yum私有仓库请参考如下文档 http://t.csdn.cn/22bmb…

用chatGPT写chatGPT教学方案

最近从机器学习的原理、数学推理、主流模型架构、chatGPT的Prompt策略&#xff0c;也实际体验了各种AIGC工具&#xff0c;算是较为系统的学习了chatGPT的前世今身&#xff0c;想着有很多人应该跟我一样&#xff0c;没有编程基础、也没有成为chatGPT专家的希望&#xff0c;仅仅通…

LeetCode_Day3 | 反转链表/移除链表的元素/设计个链表

LeetCode_链表 203.移除链表元素1. 题目描述2. 直接使用原表删除1. 思路2. 代码实现 3. 使用虚拟头节点删除1. 思路2. 代码实现 707.设计链表1.题目描述2.单链表&#xff1a;虚拟头节点设计1. 思路2. 代码实现及部分逻辑解释3. 需要注意的点 206.反转链表1.题目描述2. 双指针法…

BIO阻塞模型

作者&#xff1a;V7 博客&#xff1a;https://www.jvmstack.cn 一碗鸡汤 少年辛苦终身事&#xff0c;莫向光阴惰寸功。 —— 杜荀鹤 同步阻塞IO 在介绍阻塞和非阻塞之前先说明一下同步和异步。我们可以将同步和异步看做是发起IO请求的两种方式。同步IO指的是用户空间&…

项目美术部门敏捷开发流程及工具

前言 在项目开发中&#xff0c;针对美术部门的特性和工作风格&#xff0c;合理使用多种工具进行项目管理和进度控制非常必要。如果项目执行中有异地协作、美术内/外包、多项目并行的情况&#xff0c;正确的规划和管理的优势会更加凸显。 而合理使用整套的综合管理工具会让项目…