【CentOS7操作系统安全加固系列】第(3)篇

本文涉及的产品
运维安全中心(堡垒机),企业双擎版 50资产 7天
运维安全中心(堡垒机),免费版 6个月
简介: 【CentOS7操作系统安全加固系列】第(3)篇

640.jpg

1、检查不活跃的密码锁定是否小于等于 30


规则描述:在给定时间段内已停用的用户帐户可以自动禁用。建议在密码到期后 30 天内处于非活动状态的帐户被禁用。

审计描述:执行以下命令检查 INACTIVE 是否为 30 或更少:


useradd -D | grep INACTIVE


INACTIVE=30(或更少)

检查所有使用密码的用户是否将密码设置为在密码过期后的 30 天内停用:


egrep ^[^:]+:[^\!*] /etc/shadow| egrep -v "^\s*#|root" | awk -F: '{print $1":"$7}' | egrep -v ".*:(30|[1-2][0-9]|[1-9])$"


检查是否输出为空


修改建议:执行以下命令

将默认密码不活动期限设置为 30 天:useradd -D -f 30

修改不合规用户的用户参数:chage --inactive 30


useradd -D -f 30
chage --inactive 30 centos
useradd -D | grep INACTIVE
egrep ^[^:]+:[^\!*] /etc/shadow| egrep -v "^\s*#|root" | awk -F: '{print $1":"$7}' | egrep -v ".*:(30|[1-2][0-9]|[1-9])$"


例如添加一下centos用户用于测试

640.png


2、禁止 wheel 组以外的用户使用 su - root 命令


规则描述:使用 PAM 认证模块进行 su 权限控制,禁止 wheel 组之外的用户使用 su - root 命令


审计描述:执行命令 cat /etc/pam.d/su,查看文件中是否存在如下配置:

auth sufficient pam_rootok.so 使用 pam_rootok.so 认证模块认证

auth required pam_wheel.so group=wheel 或 auth required pam_wheel.so use_uid 且配置了只允许 wheel 组的用户才能使用 su - root 命令


修改建议:修改或添加配置文件/etc/pam.d/su 的条目:auth sufficient pam_rootok.so auth required pam_wheel.so group=wheel 或 auth required pam_wheel.so use_uid

限制使用 su 命令的账户 说明:su 命令用于在不同账户之间切换。为了增强系统安全性,有必要对 su 命令的使用权进行控制,只允许 root 和 wheel 群组的账户使用 su 命令,限制其他账户使用。


修改前centos用户可以正常su - root

640.png

修改后

640.png

将centos用户加入到wheel组后也可以正常su - root

640.png

3、限制 root 用户 SSH 远程登录


规则描述:拒绝 root 用户通过 ssh 协议远程登录且 ssh 协议版本为 2

审计描述:查看配置文件/etc/ssh/sshd_config 是否有以下配置:


egrep -v "^[[:space:]]_#|^[[:space:]]_\$" /etc/ssh/sshd_config | grep PermitRootLogin


(1)拒绝 root 用户通过 ssh 协议远程登录 PermitRootLogin no

(2)ssh 协议版本是否为 2 Protocol 2

修改建议:在文件/etc/ssh/sshd_config 添加如下配置:PermitRootLogin no Protocol 2


备注:PermitRootLogin 的默认值为 yes,Protocol 的默认值为 2


egrep -v "^[[:space:]]*#|^[[:space:]]*$" /etc/ssh/sshd_config | grep PermitRootLogin
cat /etc/ssh/sshd_config | grep PermitRootLogin
sed -i "s/#PermitRootLogin yes/PermitRootLogin no/g" /etc/ssh/sshd_config
cat /etc/ssh/sshd_config | grep PermitRootLogin
service sshd restart


640.png

640.png

只能先用其它用户SSH登录再su - root


640.png


4、检查 AIDE 是否安装


规则描述:AIDE 生产一个文件系统状态的快照,其中包括修改时间,权限和文件哈希值,然后可以其与文件系统的当前状态进行比较,以检测对系统的修改。


审计描述:检查 AIDE 是否安装,执行:rpm -q aide 2>/dev/null

修改建议:执行以下命令安装 AIDE:# yum install aide


AIDE:Advanced Intrusion Detection Environment,是一款入侵检测工具,主要用途是检查文档的完整性。AIDE 在本地构造了一个基准的数据库,一旦操作系统被入侵,可以通过对比基准数据库而获取文件变更记录,使用 aide.conf 作为其配置文档。AIDE 数据库能够保存文档的各种属性,包括:权限(permission)、索引节点序号(inode number)、所属用户(user)、所属用户组(group)、文档大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小连同连接数。


一旦出现 AIDE 监控的文件被篡改的情况,AIDE 会触发告警,通知管理员。AIDE 还能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文档的校验码或散列号


1).安装 aide


yum install aide -y


2).配置文件所在路径:/etc/aide.conf

3).对 AIDE 的配置文件进行检测:aide -D

4).aide -i 生成出初化数据库 ,初始化的时间会比较长,耐心等待下

5)根据/etc/aide.conf 生成的/var/lib/aide/aide.db.new.gz 文件需要重命名 为/var/lib/aide/aide.db.gz,以便让 AIDE 能读取它


mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz


6)、测试 添加一个用户,aide -C 或者 aide --check


640.png

640.png

AIDE 的介绍可以参考 https://linux.cn/article-4242-1.html

相关文章
|
9天前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
9天前
|
弹性计算 运维 安全
阿里云操作系统迁移最佳实践|飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是阿里云操作系统迁移最佳实践,Alibaba Cloud Linux /Anolis OS 兼容 CentOS 生态,因此能够很丝滑的进行迁移替换。无论是对企业的运维人员,还是对企业操作系统的使用者来说,相对简化了它的维护成本。通过 SMC 操作系统迁移实践带用户深入了解,不仅阐述了原地迁移方案的独特优势,还针对不同的迁移场景,逐步剖析了整个迁移流程,力求使复杂的操作变得直观易懂,实现了真正的“白屏化”体验。 1. CentOS 迁移背景 2. 操作系统迁移实践 3. 迁移故障处理
|
1月前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
66 4
|
4月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
325 80
|
6月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
4月前
|
运维 Linux
CentOS操作系统常见的故障处理
本文分享了CentOS操作系统网卡启动失败的故障处理方法,包括使用命令查看日志和禁用NetworkManager服务。
258 4
CentOS操作系统常见的故障处理
|
3月前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
3月前
|
Linux 编译器 C语言
./build.sh:行1: g++: 未找到命令的错误问题在centos操作系统下面如何解决
通过上述步骤,您应该能够有效地解决CentOS系统中 `g++: 未找到命令`的错误。确保软件开发环境配置得当,对于顺利执行编译脚本和日常开发工作至关重要。如果问题依然存在,考虑检查脚本内的命令路径引用是否正确,或进一步排查系统配置问题。
195 0
|
5月前
|
人工智能 运维 安全
CentOS停更无忧,中国操作系统闯入后CentOS时代
CentOS停更无忧,中国操作系统闯入后CentOS时代