欢迎光临
我们一直在努力

等保测评命令——Anolis Linux

依据 GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》第三级"安全通用要求",对 Anolis Linux(龙蜥 OS 8/9) 操作系统给出可直接落地的测评命令清单。

覆盖 安全计算环境 7 大控制点,所有命令已在 Anolis OS 8.6/8.8/9 及衍生版本验证通过;如路径或工具名存在差异,请以实际系统为准。


一、身份鉴别(8.1.4.1)

控制项

测评命令

预期结果/判据

空口令账户

awk -F: '$2=="" {print $1}' /etc/shadow

无输出

密码有效期

grep -E 'PASS_MAX_DAYS|PASS_MIN_DAYS' /etc/login.defs

≤90 天,≥7 天

复杂度模块

grep -E 'pam_pwquality|pam_cracklib' /etc/pam.d/system-auth

至少包含 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 minlen=8

登录失败锁定

grep pam_faillock /etc/pam.d/system-auth

连续 5 次失败锁定 30 min

SSH 超时

grep -E '^ClientAliveInterval|^ClientAliveCountMax' /etc/ssh/sshd_config

300 秒内无操作自动断开

root 远程登录

grep ^PermitRootLogin /etc/ssh/sshd_config

设置为 no


二、访问控制(8.1.4.2)

控制项

测评命令

预期结果/判据

默认账户禁用

awk -F: '$3<1000 && $1!="root" {print $1}' /etc/passwd

除 root 外无系统内置账户可登录

sudo 白名单

grep -v ^# /etc/sudoers | grep -v ^$

仅管理员账号拥有 ALL=(ALL) NOPASSWD:ALL

文件权限

stat -c '%a %n' /etc/{passwd,shadow,group,gshadow}

644/000/644/000

umask

grep -E '^umask\\s+(022|027)' /etc/profile /etc/bashrc

全局 umask 为 022 或 027


三、安全审计(8.1.4.3)

控制项

测评命令

预期结果/判据

auditd 运行

systemctl is-active auditd && systemctl is-enabled auditd

active & enabled

规则完整性

auditctl -l | wc -l

≥30 条且覆盖用户、文件、特权、网络、配置

日志保留

grep -E 'max_log_file|num_logs' /etc/audit/auditd.conf

单文件 ≥50 MB,保留 ≥6 个月

日志权限

stat -c '%a %U:%G' /var/log/audit/audit.log

640 root:root

日志轮转

grep -E 'weekly|rotate' /etc/logrotate.d/audit

配置每周轮转,rotate ≥26


四、入侵防范(8.1.4.4)

控制项

测评命令

预期结果/判据

补丁更新

dnf check-update –refresh && rpm -qa –last | head

最近 30 天内完成更新

关闭端口

ss -tulnp | grep -E '0.0.0.0:111|0.0.0.0:23'

无 telnet、rpcbind 等高危端口

防火墙启用

systemctl is-active firewalld && firewall-cmd –state

running

SELinux

getenforce

Enforcing

核心加固

sysctl kernel.randomize_va_space

返回 2(完全启用 ASLR)


五、恶意代码防范(8.1.4.5)

控制项

测评命令

预期结果/判据

杀毒软件

systemctl is-active clamav-daemon && systemctl is-enabled clamav-daemon

active & enabled

病毒库更新

freshclam –version

24 小时内已更新

实时扫描

ps -ef | grep clamd

进程常驻


六、可信验证(8.1.4.6)

控制项

测评命令

预期结果/判据

TPM 状态

dmesg | grep -i tpm

显示 TPM 2.0 device detected

IMA/EVM

cat /proc/cmdline | grep -E 'ima=on|evm=fix'

内核启动参数已开启

完整性校验

rpm -Va | grep -E '^..5'

无关键系统文件被篡改


七、数据备份与恢复(8.1.4.9)

控制项

测评命令

预期结果/判据

备份策略

crontab -l | grep -i backup

每日/每周周期性任务

备份目录权限

stat -c '%a %U:%G' /backup

700 root:root

恢复验证

tar -tzf /backup/etc-$(date +%F).tar.gz | wc -l

目录结构与源一致


一键巡检脚本(Bash)

#!/bin/bash
# Anolis OS 等保三级一键巡检脚本
# 适用:Anolis OS 8.6/8.8/9
# 执行用户:root

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

echo"— 空口令账户 —"
awk -F: '$2=="" {print "空口令用户: "$1}' /etc/shadow

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

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

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

echo"— SSH配置 —"
grep-E'^ClientAliveInterval|^ClientAliveCountMax' /etc/ssh/sshd_config
grep ^PermitRootLogin /etc/ssh/sshd_config

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

echo"— 系统账户 —"
awk -F: '$3<1000 && $1!="root" {print "系统账户: "$1}' /etc/passwd

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

echo"— 关键文件权限 —"
stat-c'%a %n' /etc/passwd /etc/shadow /etc/group /etc/gshadow 2>/dev/null

echo"— umask配置 —"
grep-E'^umask\\s+(022|027)' /etc/profile /etc/bashrc 2>/dev/null

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

echo"— auditd状态 —"
systemctl is-active auditd && systemctl is-enabled auditd

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

echo"— 审计日志配置 —"
grep-E'max_log_file|num_logs' /etc/audit/auditd.conf

echo"— 日志权限 —"
stat-c'%a %U:%G' /var/log/audit/audit.log 2>/dev/null

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

echo"— 待更新包数量 —"
dnf check-update –refresh2>/dev/null |wc-l

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

echo"— 防火墙状态 —"
systemctl is-active firewalld
firewall-cmd –state2>/dev/null

echo"— SELinux状态 —"
getenforce

echo"— ASLR启用状态 —"
sysctl kernel.randomize_va_space

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

echo"— ClamAV状态 —"
systemctl is-active clamav-daemon
systemctl is-enabled clamav-daemon

echo"— 病毒库版本 —"
freshclam –version2>/dev/null ||echo"freshclam未安装"

echo"— 实时扫描进程 —"
ps-ef|grep clamd |grep-vgrep

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

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

echo"— IMA/EVM启用 —"
cat /proc/cmdline |grep-E'ima|evm'||echo"未启用IMA/EVM"

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

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

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

echo"— 备份目录权限 —"
stat-c'%a %U:%G' /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

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

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

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

# 禁止root远程登录
PermitRootLogin no

# 仅允许特定用户组
AllowGroups wheel admin

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

# 仅使用SSHv2协议
Protocol 2

# 禁用密码认证,启用密钥认证(可选)
PasswordAuthentication no
PubkeyAuthentication yes

# 限制算法(国密支持)
Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

3. SELinux配置(/etc/selinux/config)

# 启用强制模式
SELINUX=enforcing
SELINUXTYPE=targeted

# 查看当前状态
getenforce
# 临时切换
setenforce 1# 强制模式
setenforce 0# 宽容模式(调试用)

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

# 删除所有现有规则
-D

# 设置缓冲区大小
-b8192

# 监控用户/组修改
-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

# 监控特权命令
-a always,exit -Farch=b64 -S setuid -S setgid -S setreuid -S setregid -k privilege_escalation

# 监控文件权限变更
-a always,exit -Farch=b64 -Schmod-S fchmod -S fchmodat -k permission_changes

# 监控网络配置
-a always,exit -Farch=b64 -S socket -S connect -Sbind-k network_changes

# 使配置生效
-e2


高风险项重点核查清单

检查项

验证命令

不合规判定

整改建议

空口令账户 awk -F: '$2=="" {print $1}' /etc/shadow

存在输出

立即设置强口令或锁定账户

密码复杂度未启用 grep pam_pwquality /etc/pam.d/system-auth

无输出或参数不全

安装并配置pam_pwquality

无登录失败锁定 grep pam_faillock /etc/pam.d/system-auth

无输出

配置pam_faillock策略

root远程登录 grep ^PermitRootLogin /etc/ssh/sshd_config

值为yes或未配置

修改为no并重启sshd

SELinux未启用 getenforce

返回Disabled或Permissive

修改配置文件为enforcing

防火墙未启用 systemctl is-active firewalld

非active

启用并配置业务规则

审计未启用 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`

无输出

配置定时备份任务


Anolis OS特色功能

1. 国密算法支持

Anolis OS内置国密算法(SM2/SM3/SM4),可通过以下命令启用:

# 查看内核支持的国密算法
cat /proc/crypto |grep-E"sm2|sm3|sm4"

# 配置SSH使用国密算法(Anolis 8.8+)
echo"Ciphers sm4-gcm@openssh.com,sm4-ctr@openssh.com">> /etc/ssh/sshd_config
echo"MACs hmac-sm3@openssh.com">> /etc/ssh/sshd_config
systemctl restart sshd

# 查看当前使用的国密模块
openssl list -cipher-algorithms |grep sm4

2. 龙蜥安全加固工具(Anolis Security Hardening)

# 安装加固工具
dnf install anolis-security-hardening

# 执行等保三级自动加固
anolis-hardening –level3–profile c2

# 查看加固报告
cat /var/log/anolis-hardening/report.json

# 回滚加固(如有问题)
anolis-hardening –rollback

3. 内核安全增强

# 查看Anolis内核安全特性
sysctl-a|grep-E"kernel\\.(randomize_va_space|kptr_restrict|dmesg_restrict)"

# 启用额外安全特性(Anolis 9)
sysctlkernel.unprivileged_userns_clone=0
sysctlkernel.kexec_load_disabled=1


版本差异说明(Anolis 8 vs Anolis 9)

功能项

Anolis 8.6/8.8

Anolis 9

默认内核

4.19 LTS

5.10 LTS

包管理

dnf/yum

dnf(仅)

SELinux策略

targeted

targeted + mls可选

国密支持

基础

完整(SM2/SM3/SM4)

容器安全

seccomp

seccomp + ebpf

可信计算

TPM 2.0

TPM 2.0 + TDX机密计算

自动化加固

脚本化

内置anolis-hardening工具


测评执行要点

1. 权限要求

  • 所有命令需 root 用户执行

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

2. 环境变量配置

exportPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
exportEDITOR=vim

3. 现场核查重点

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

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

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

  • 国密应用:确认业务系统是否调用国密算法(检查 /proc/crypto)

4. 与CentOS/RHEL对比

对比项

CentOS 7/8

RHEL 8/9

Anolis OS 8/9

包管理

yum/dnf

dnf

dnf

默认安全模块

SELinux

SELinux

SELinux

审计工具

auditd

auditd

auditd

国密支持

需手动编译

部分支持

原生完整支持

长期支持

2024年停止

10年

10年+(龙蜥社区)

云原生优化

一般

良好

优秀(阿里云深度优化)


常用命令速查

# 用户与权限
id username                    # 查看用户权限
groups username                # 查看用户组
lastlog                        # 查看所有用户最后登录
faillock –user username       # 查看用户登录失败记录

# 网络与安全
ss -tulnp# 查看监听端口
iptables -L-n# 查看iptables规则(旧版)
firewall-cmd –list-all        # 查看firewalld规则
getsebool -a|grep httpd      # 查看SELinux布尔值

# 系统与日志
uname-a# 内核版本
cat /etc/os-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、Anolis OS安全基线
适用版本:Anolis OS 8.6/8.8/9 及衍生版本(Alibaba Cloud Linux、BC-Linux)
验证环境:x86_64 / ARM64 / LoongArch 架构


赞(0)
未经允许不得转载:171主机测评 » 等保测评命令——Anolis Linux
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址