前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【CentOS7操作系统安全加固系列】第(3)篇

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

作者头像
yuanfan2012
发布2020-11-10 13:14:29
2.1K0
发布2020-11-10 13:14:29
举报
文章被收录于专栏:WalkingCloudWalkingCloud

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

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

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

代码语言:javascript
复制
useradd -D | grep INACTIVE

INACTIVE=30(或更少) 检查所有使用密码的用户是否将密码设置为在密码过期后的 30 天内停用:

代码语言:javascript
复制
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

代码语言:javascript
复制
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用户用于测试

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

修改后

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

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

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

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

代码语言:javascript
复制
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

代码语言:javascript
复制
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

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

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

代码语言:javascript
复制
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 能读取它

代码语言:javascript
复制
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、检查不活跃的密码锁定是否小于等于 30 天
  • 2、禁止 wheel 组以外的用户使用 su - root 命令
  • 3、限制 root 用户 SSH 远程登录
  • 4、检查 AIDE 是否安装
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档