等保测评命令——Centos Linux

依据 GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》等保2.0三级 标准,针对 CentOS 操作系统(安全计算环境) 给出可直接落地的测评命令清单。

覆盖 身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范、可信验证、数据备份恢复 等核心控制点,已在 CentOS 7/8 环境验证通过。


一、身份鉴别(8.1.4.1)

控制项 测评命令 达标判据
空口令检查 awk -F: '($2==""){print $1}' /etc/shadow 无输出
密码有效期 `grep -E "PASS_MAX_DAYS PASS_MIN_DAYS
密码复杂度 `grep -E "pam_pwquality pam_cracklib" /etc/pam.d/system-auth`
登录失败锁定 `grep -E "pam_faillock pam_tally2" /etc/pam.d/system-auth`
SSH超时策略 `grep -E "ClientAliveInterval ClientAliveCountMax" /etc/ssh/sshd_config`

二、访问控制(8.1.4.2)

控制项 测评命令 达标判据
默认账户清理 `grep -E "games news
sudo授权 `grep -v "^#" /etc/sudoers grep -v "^$"`
关键文件权限 ls -l /etc/passwd /etc/shadow /etc/group /etc/gshadow 644/000/644/000
umask值 grep umask /etc/profile /etc/bashrc 022或027

三、安全审计(8.1.4.3)

控制项 测评命令 达标判据
auditd服务 systemctl status auditd && systemctl is-enabled auditd active & enabled
审计规则 auditctl -l && cat /etc/audit/audit.rules 覆盖登录、权限变更、文件操作
日志保留 `grep -E "weekly rotate" /etc/logrotate.conf`
日志权限 ls -l /var/log/audit/audit.log 640 root:root

四、入侵防范(8.1.4.4)

控制项 测评命令 达标判据
开放端口 `ss -tulnp grep LISTEN`
补丁更新 `yum check-update && rpm -qa --last head`
防火墙 systemctl status firewalld && firewall-cmd --list-all 启用并配置业务规则
SELinux getenforce Enforcing模式

五、恶意代码防范(8.1.4.5)

控制项 测评命令 达标判据
杀毒软件 `systemctl status clamav-daemon && ps -ef grep clamav`
病毒库更新 freshclam --version && ls -l /var/lib/clamav/ 24小时内更新

六、可信验证(8.1.4.6)

控制项 测评命令 达标判据
TPM状态 `dmesg grep -i tpm`
文件完整性 `rpm -Va grep -E "^..5"`

七、数据备份恢复(8.1.4.9)

控制项 测评命令 达标判据
备份策略 `crontab -l grep -i backup`
备份权限 ls -l /backup/ 700 root:root
恢复验证 tar -tzf /backup/etc_backup_$(date +%F).tar.gz 可正常解压,文件完整

一键巡检脚本(Bash)

复制代码
#!/bin/bash
# CentOS 等保三级一键巡检脚本
# 适用:CentOS 7/8
# 执行用户:root

echo"===== 1 身份鉴别 ====="

echo"--- 空口令检查 ---"
awk -F: '($2==""){print "空口令用户: "$1}' /etc/shadow

echo"--- 密码有效期 ---"
grep-E"PASS_MAX_DAYS|PASS_MIN_DAYS|PASS_WARN_AGE" /etc/login.defs

echo"--- 密码复杂度 ---"
grep-E"pam_pwquality|pam_cracklib" /etc/pam.d/system-auth |head-5

echo"--- 登录失败锁定 ---"
grep-E"pam_faillock|pam_tally2" /etc/pam.d/system-auth

echo"--- SSH超时 ---"
grep-E"ClientAliveInterval|ClientAliveCountMax" /etc/ssh/sshd_config

echo""
echo"===== 2 访问控制 ====="

echo"--- 默认账户 ---"
grep-E"games|news|ftp|lp|halt|shutdown" /etc/passwd

echo"--- sudo配置 ---"
grep-v"^#" /etc/sudoers |grep-v"^$"|head-10

echo"--- 关键文件权限 ---"
ls-l /etc/passwd /etc/shadow /etc/group /etc/gshadow 2>/dev/null

echo"--- umask配置 ---"
grepumask /etc/profile /etc/bashrc 2>/dev/null

echo""
echo"===== 3 安全审计 ====="

echo"--- auditd状态 ---"
systemctl status auditd 2>/dev/null |grep Active
systemctl is-enabled auditd 2>/dev/null

echo"--- 审计规则 ---"
auditctl -l2>/dev/null |wc-l

echo"--- 日志保留 ---"
grep-E"weekly|rotate" /etc/logrotate.conf |head-3

echo"--- 日志权限 ---"
ls-l /var/log/audit/audit.log 2>/dev/null

echo""
echo"===== 4 入侵防范 ====="

echo"--- 高危端口 ---"
ss -tulnp|grep-E"0.0.0.0:111|0.0.0.0:23|0.0.0.0:513"

echo"--- 待更新包 ---"
yum check-update 2>/dev/null |wc-l

echo"--- 防火墙状态 ---"
systemctl status firewalld 2>/dev/null |grep Active
firewall-cmd --state2>/dev/null

echo"--- SELinux ---"
getenforce

echo""
echo"===== 5 恶意代码防范 ====="

echo"--- ClamAV状态 ---"
systemctl status clamav-daemon 2>/dev/null |grep Active
ps-ef|grep clamd |grep-vgrep

echo"--- 病毒库 ---"
freshclam --version2>/dev/null ||echo"未安装freshclam"

echo""
echo"===== 6 可信验证 ====="

echo"--- TPM状态 ---"
dmesg|grep-i"tpm"|head-3

echo"--- 文件完整性 ---"
rpm-Va|grep-E"^..5"|head-5||echo"关键文件未被篡改"

echo""
echo"===== 7 数据备份 ====="

echo"--- 备份任务 ---"
crontab-l2>/dev/null |grep-i backup ||echo"未配置备份任务"

echo"--- 备份目录 ---"
ls-ld /backup/ 2>/dev/null ||echo"备份目录不存在"

echo""
echo"===== 巡检完成 ====="

关键配置文件说明

1. 密码策略配置(/etc/pam.d/system-auth)

复制代码
# 密码复杂度要求
password requisite pam_pwquality.so try_first_pass local_users_only retry=3minlen=8minclass=4ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

# 密码历史(CentOS 8)
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=12

# 登录失败锁定(CentOS 7使用pam_tally2,CentOS 8使用pam_faillock)
auth required pam_faillock.so preauth silent audit deny=5unlock_time=900
auth [default=die] pam_faillock.so authfail audit deny=5unlock_time=900
auth sufficient pam_faillock.so authsucc audit deny=5unlock_time=900

2. SSH安全配置(/etc/ssh/sshd_config)

复制代码
# 禁止root远程登录
PermitRootLogin no

# 仅允许特定用户组
AllowGroups wheel

# 空闲超时配置(5分钟无操作自动断开)
ClientAliveInterval 300
ClientAliveCountMax 0

# 仅使用SSHv2协议
Protocol 2

3. 审计规则配置(/etc/audit/audit.rules)

复制代码
# 监控用户/组修改
-w /etc/passwd -p wa -k identity_changes
-w /etc/group -p wa -k identity_changes
-w /etc/shadow -p wa -k identity_changes
-w /etc/gshadow -p wa -k identity_changes

# 监控sudoers修改
-w /etc/sudoers -p wa -k sudoers_changes
-w /etc/sudoers.d/ -p wa -k sudoers_changes

# 监控SSH配置
-w /etc/ssh/sshd_config -p wa -k ssh_config_changes

高风险项重点核查清单

检查项 验证命令 不合规判定 整改建议
空口令账户 awk -F: '($2==""){print $1}' /etc/shadow 存在输出 立即设置强口令或锁定账户
密码复杂度未启用 grep pam_pwquality /etc/pam.d/system-auth 无输出 安装并配置pam_pwquality
无登录失败锁定 `grep -E "pam_faillock pam_tally2" /etc/pam.d/system-auth` 无输出
root远程登录 grep ^PermitRootLogin /etc/ssh/sshd_config 值为yes或未配置 修改为no并重启sshd
SELinux未启用 getenforce 返回DisabledPermissive 修改配置文件为enforcing
防火墙未启用 systemctl is-active firewalld active 启用firewalld并配置规则
审计未启用 systemctl is-active auditd active 安装auditd并启用服务
高危端口开放 `ss -tulnp grep -E "0.0.0.0:111 0.0.0.0:23"`
无杀毒软件 systemctl is-active clamav-daemon active 安装ClamAV并启用实时保护
备份未配置 `crontab -l grep backup` 无输出

CentOS版本差异说明(6 vs 7 vs 8)

功能项 CentOS 6 CentOS 7 CentOS 8
服务管理 service systemctl systemctl
包管理 yum yum dnf(yum兼容)
登录失败锁定 pam_tally2 pam_tally2/pam_faillock pam_faillock
SELinux 基础 增强 增强
审计工具 auditd auditd auditd
默认防火墙 iptables firewalld firewalld
长期支持 已停止(2020) 2024年停止 2021年停止(转向CentOS Stream)

重要提示 :CentOS 8已于2021年底停止维护,建议迁移至 Rocky Linux、AlmaLinux 或 Anolis OS 等替代方案。


测评执行要点

1. 权限要求

  • 所有命令需 root 用户执行

  • 建议创建专用审计账户,加入 audit

2. 现场核查重点

  • 密码策略:不仅看配置,需尝试创建弱口令用户验证策略是否生效

  • 审计完整性 :抽查 /var/log/audit/audit.log,确认包含权限变更、文件修改记录

  • SELinux有效性 :检查是否有进程处于 unconfined_service_t

  • 备份有效性:必须现场执行恢复演练,验证备份文件可用

3. 与RHEL/Oracle Linux对比

对比项 CentOS RHEL Oracle Linux
源代码 RHEL重新编译 商业源码 RHEL兼容
支持周期 已停止 10年 10年
安全补丁 滞后 及时 及时
成本 免费 订阅制 免费(仅更新)
等保合规 需自行加固 官方加固指南 类似CentOS

常用命令速查

复制代码
# 用户与权限
cat /etc/passwd                    # 查看所有用户
cat /etc/shadow                    # 查看密码状态
lastlog                            # 查看最后登录
faillock --user username           # 查看登录失败记录(CentOS 8)
pam_tally2 --user username         # 查看登录失败记录(CentOS 7)

# 网络与安全
ss -tulnp# 查看监听端口
netstat-tulnp# 传统方式查看端口
iptables -L-n# 查看iptables规则
firewall-cmd --list-all            # 查看firewalld规则

# 系统与日志
uname-a# 内核版本
cat /etc/centos-release            # OS版本
ausearch -ts today -k identity_changes  # 搜索今日审计日志
aureport --login--summary-i# 生成登录报告

# 备份与恢复
tar czf /backup/etc-$(date +%F).tar.gz /etc  # 备份/etc
rsync-avz /backup/ remote:/backup/          # 异地同步

参考标准 :GB/T 22239-2019、GB/T 28448-2019、CentOS安全基线
适用版本 :CentOS 7/8(CentOS 6部分命令需调整)
验证环境:x86_64 / ARM64 架构


相关推荐
程序员龙叔12 小时前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
大树8815 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
用户83562907805115 小时前
使用 Python 操作 Word 内容控件
后端·python
摇滚侠15 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质16 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush416 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52016 小时前
Linux 11 动态监控指令top
linux
DaLi Yao16 小时前
【无标题】
人工智能·安全
SM1771521183817 小时前
NSK紧凑型FA系列丝杠技术详解
经验分享·规格说明书