当前位置:首页>Linux>等保测评命令——Centos Linux

等保测评命令——Centos Linux

  • 2026-09-16 18:27:33
等保测评命令——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|PASS_WARN_AGE" /etc/login.defs
≤90天,≥1天,≥7天预警
密码复杂度
grep -E "pam_pwquality|pam_cracklib" /etc/pam.d/system-auth
包含大小写字母、数字、特殊字符,长度≥8位
登录失败锁定
grep -E "pam_faillock|pam_tally2" /etc/pam.d/system-auth
连续失败≤5次,锁定≥30分钟
SSH超时策略
grep -E "ClientAliveInterval|ClientAliveCountMax" /etc/ssh/sshd_config
300秒无操作自动断开

二、访问控制(8.1.4.2)

控制项
测评命令
达标判据
默认账户清理
grep -E "games|news|ftp|lp|halt|shutdown" /etc/passwd
已禁用或删除
sudo授权
grep -v "^#" /etc/sudoers | grep -v "^$"
仅管理员拥有sudo权限
关键文件权限
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
保留≥6个月(rotate≥26)
日志权限
ls -l /var/log/audit/audit.log
640 root:root

四、入侵防范(8.1.4.4)

控制项
测评命令
达标判据
开放端口
ss -tulnp | grep LISTEN
无高危端口(111、23、513等)
补丁更新
yum check-update && rpm -qa --last | head
30天内完成更新
防火墙
systemctl status firewalld && firewall-cmd --list-all
启用并配置业务规则
SELinux
getenforce
Enforcing模式

五、恶意代码防范(8.1.4.5)

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

六、可信验证(8.1.4.6)

控制项
测评命令
达标判据
TPM状态
dmesg | grep -i tpm
TPM 2.0就绪
文件完整性
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# 执行用户:rootecho"===== 1 身份鉴别 ====="echo"--- 空口令检查 ---"awk -F: '($2==""){print "空口令用户: "$1}' /etc/shadowecho"--- 密码有效期 ---"grep-E"PASS_MAX_DAYS|PASS_MIN_DAYS|PASS_WARN_AGE" /etc/login.defsecho"--- 密码复杂度 ---"grep-E"pam_pwquality|pam_cracklib" /etc/pam.d/system-auth |head-5echo"--- 登录失败锁定 ---"grep-E"pam_faillock|pam_tally2" /etc/pam.d/system-authecho"--- SSH超时 ---"grep-E"ClientAliveInterval|ClientAliveCountMax" /etc/ssh/sshd_configecho""echo"===== 2 访问控制 ====="echo"--- 默认账户 ---"grep-E"games|news|ftp|lp|halt|shutdown" /etc/passwdecho"--- sudo配置 ---"grep-v"^#" /etc/sudoers |grep-v"^$"|head-10echo"--- 关键文件权限 ---"ls-l /etc/passwd /etc/shadow /etc/group /etc/gshadow 2>/dev/nullecho"--- umask配置 ---"grepumask /etc/profile /etc/bashrc 2>/dev/nullecho""echo"===== 3 安全审计 ====="echo"--- auditd状态 ---"systemctl status auditd 2>/dev/null |grep Activesystemctl is-enabled auditd 2>/dev/nullecho"--- 审计规则 ---"auditctl -l2>/dev/null |wc-lecho"--- 日志保留 ---"grep-E"weekly|rotate" /etc/logrotate.conf |head-3echo"--- 日志权限 ---"ls-l /var/log/audit/audit.log 2>/dev/nullecho""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-lecho"--- 防火墙状态 ---"systemctl status firewalld 2>/dev/null |grep Activefirewall-cmd --state2>/dev/nullecho"--- SELinux ---"getenforceecho""echo"===== 5 恶意代码防范 ====="echo"--- ClamAV状态 ---"systemctl status clamav-daemon 2>/dev/null |grep Activeps-ef|grep clamd |grep-vgrepecho"--- 病毒库 ---"freshclam --version2>/dev/null ||echo"未安装freshclam"echo""echo"===== 6 可信验证 ====="echo"--- TPM状态 ---"dmesg|grep-i"tpm"|head-3echo"--- 文件完整性 ---"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=900auth [default=die] pam_faillock.so authfail audit deny=5unlock_time=900auth sufficient pam_faillock.so authsucc audit deny=5unlock_time=900

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

# 禁止root远程登录PermitRootLogin no# 仅允许特定用户组AllowGroups wheel# 空闲超时配置(5分钟无操作自动断开)ClientAliveInterval 300ClientAliveCountMax 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
返回Disabled或Permissive
修改配置文件为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"
存在监听
关闭rpcbind、telnet等服务
无杀毒软件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  # 备份/etcrsync-avz /backup/ remote:/backup/          # 异地同步

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


最新文章

随机文章