等保测评命令——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`
复杂度模块 `grep -E 'pam_pwquality pam_cracklib' /etc/pam.d/system-auth`
登录失败锁定 grep pam_faillock /etc/pam.d/system-auth 连续 5 次失败锁定 30 min
SSH 超时 `grep -E '^ClientAliveInterval ^ClientAliveCountMax' /etc/ssh/sshd_config`
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 ^$`
文件权限 stat -c '%a %n' /etc/{passwd,shadow,group,gshadow} 644/000/644/000
umask `grep -E '^umask\s+(022 027)' /etc/profile /etc/bashrc`

三、安全审计(8.1.4.3)

控制项 测评命令 预期结果/判据
auditd 运行 systemctl is-active auditd && systemctl is-enabled auditd active & enabled
规则完整性 `auditctl -l wc -l`
日志保留 `grep -E 'max_log_file num_logs' /etc/audit/auditd.conf`
日志权限 stat -c '%a %U:%G' /var/log/audit/audit.log 640 root:root
日志轮转 `grep -E 'weekly rotate' /etc/logrotate.d/audit`

四、入侵防范(8.1.4.4)

控制项 测评命令 预期结果/判据
补丁更新 `dnf check-update --refresh && rpm -qa --last head`
关闭端口 `ss -tulnp grep -E '0.0.0.0:111
防火墙启用 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`
IMA/EVM `cat /proc/cmdline grep -E 'ima=on
完整性校验 `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 返回DisabledPermissive 修改配置文件为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 架构


相关推荐
田里的水稻2 小时前
ubuntu22.04_构建openclaw开发框架
运维·人工智能·python
Elastic 中国社区官方博客2 小时前
Elastic 为什么捐赠其 OpenTelemetry PHP 发行版
大数据·开发语言·elasticsearch·搜索引擎·信息可视化·全文检索·php
线束线缆组件品替网2 小时前
Adam Tech NPC-6-007-BU网线组件详解
服务器·网络·数码相机·智能路由器·电脑·51单片机·电视盒子
zhojiew2 小时前
为agent实现渐进式Skills能力的思考和实践
linux·python·算法
Striver-Diligent2 小时前
您的解决方案准确吗?一种用于增强通信网络可靠性的、面向故障的性能预测方法
网络·深度学习·机器学习·网络性能估计·数字孪生网络·网络预测
相思难忘成疾2 小时前
《RHEL9虚拟机部署及SSH远程登录实践手册》
linux·运维·ssh·虚拟机
牢七2 小时前
百家cms 黑盒测试
安全·web安全
cg_ssh2 小时前
Vue3中样式变量的使用
linux·运维·服务器
cheems95272 小时前
[网络原理]http协议理论基础以及wireshark抓包分析(二)
网络·http·wireshark