openEuler-三级现场测评命令单

openEuler 22.03 LTS-SP3 服务器三级等保现场测评取证命令单:/etc/os-release、/etc/openEuler-release、/etc/openEuler-latest 与 hostnamectl 版本核查,ip addr 与 umask 网络与默认权限掩码核查,/etc/passwd、/etc/shadow、/etc/login.defs、/etc/pam.d/system-auth、pwquality.conf 的 minlen/minclass/dcredit/ucredit/lcredit/ocredit 与 faillock 的 deny/unlock_time/root_unlock_time 账户口令策略核查,以及安全审计、安全增强与边界防护、最小安装补丁与中间件、入侵防范、安全基线与完整性核查。

示例版本:openEuler 22.03 LTS-SP3

定位:三级等保现场测评取证命令单,按功能小节组织核查命令、预期现象与判定要点。

系统版本核查

cat /etc/os-release
  • 预期现象:官方示例关键字段包括 NAME=“openEuler”、VERSION=“22.03 (LTS-SP3)"、PRETTY_NAME=“openEuler 22.03 (LTS-SP3)"。
示例输出(节选)
NAME="openEuler"
VERSION="22.03 (LTS-SP3)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP3)"
ANSI_COLOR="0;31"
cat /etc/openEuler-release
  • 预期现象:官方示例为 openEuler release 22.03 (LTS-SP3)。
示例输出(节选)
openEuler release 22.03 (LTS-SP3)
cat /etc/openEuler-latest
  • 预期现象:应看到 openeulerversion=openEuler-22.03-LTS-SP3、kernelversion=5.10.0-136.12.0.86.oe2203sp3 等字段。
示例输出(节选)
openeulerversion=openEuler-22.03-LTS-SP3
kernelversion=5.10.0-136.12.0.86.oe2203sp3
...
hostnamectl
  • 预期现象:应显示主机名、内核、架构等信息。
示例输出(节选)
 Static hostname: demo-web01
       Icon name: computer-server
         Chassis: server
Operating System: openEuler 22.03 (LTS-SP3)
          Kernel: Linux 5.10.0-136.12.0.86.oe2203sp3.x86_64
    Architecture: x86-64
  • 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 a)——本小节用于确认被测主机版本与安装范围,为最小安装核查提供基线。
  • 判定要点:仅作资产与版本确认,不单独下结论,结合 8.1.4.4 的组件安装与补丁状态综合判定符合/部分符合。
  • 取证要求:留存 os-release、openEuler-release、hostnamectl 输出(截图或文本),标注资产编号与测评时间。

网络与默认权限掩码核查

ip addr
  • 预期现象:应显示网卡与 IP 信息。
示例输出(节选)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 192.168.10.23/24 brd 192.168.10.255 scope global noprefixroute eth0
umask
  • 预期现象:应输出当前 shell 的权限掩码值,实际值随系统配置而异。
示例输出(节选)
0022
  • 提示:openEuler 默认 umask 为 0022,官方加固建议 0027;全局取值来源包括 /etc/profile、/etc/bashrc、/etc/login.defs(UMASK)等,现场应逐处核对是否一致。

  • 对应控制点:GB/T 22239-2019 8.1.3 安全区域边界(就近条款,确认主机接入位置与隔离情况);umask 对应 8.1.4.2 访问控制(最小权限与默认权限)。

  • 判定要点:ip addr 用于确认接入位置,发现同一主机跨接内外网应转入安全通信网络/区域边界判定;umask 为 0027 及更严为符合,0022 结合重要文件权限抽查综合判定。

  • 取证要求:留存 ip addr、umask 输出,注明 umask 生效来源(/etc/profile、/etc/bashrc、/etc/login.defs)。

账户与口令策略核查

cat /etc/passwd
  • 预期现象:应列出本地账户。
示例输出(节选)
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
appuser:x:1000:1000::/home/appuser:/bin/bash
cat /etc/shadow
  • 预期现象:应列出口令散列和口令状态。
示例输出(节选)
root:$6$rounds=4096$AbCdEf$XyZ1234567890abcdef…::0:99999:7:::
bin:*:19375:0:99999:7:::
...
appuser:$6$rounds=4096$GhIjKl$0987654321fedcba…:19876:0:90:7:30:::
  • 提示:shadow(5) 明确口令字段为空即可无口令登录,! 或 * 表示口令锁定/不可用口令登录。
cat /etc/login.defs
  • 预期现象:应显示口令老化参数。
示例输出(节选)
PASS_MAX_DAYS	90
PASS_MIN_DAYS	7
PASS_MIN_LEN	12
PASS_WARN_AGE	14
...
UMASK		027
  • 提示:PASS_MIN_LEN 已由 PAM 模块(pam_pwquality 的 minlen)取代,口令长度以 PAM 生效配置为准;PASS_MAX_DAYS 等仅在创建账户时写入 /etc/shadow,存量账户应结合 chage -l 逐户核对。
cat /etc/pam.d/system-auth
  • 预期现象:应显示口令复杂度相关模块配置。
示例输出(节选)
auth        required      pam_faillock.so preauth audit silent deny=5 unlock_time=600
...
password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
...
cat /etc/pam.d/password-auth
  • 预期现象:应显示登录失败锁定或认证策略配置。
示例输出(节选)
auth        required      pam_faillock.so preauth audit silent deny=5 unlock_time=600
...
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
...
session     required      pam_loginuid.so
grep -E '^(minlen|minclass|dcredit|ucredit|lcredit|ocredit)' /etc/security/pwquality.conf
  • 预期现象:应显示口令复杂度参数;openEuler 官方加固示例为 minlen=8、minclass=3,未显式配置时各项为注释,实际生效值以 PAM 行参数为准。
示例输出(节选)
minlen = 12
minclass = 3
dcredit = -1
ucredit = -1
lcredit = -1
ocredit = -1
grep -E '^(deny|unlock_time|root_unlock_time)' /etc/security/faillock.conf
  • 预期现象:应显示登录失败锁定参数;openEuler 默认失败阈值为 3 次、锁定后 60 秒自动解锁,官方加固建议 deny=3、unlock_time=300 并限制 root(even_deny_root)。
示例输出(节选)
deny = 3
unlock_time = 300
root_unlock_time = 300
cat /etc/pam.d/login
  • 预期现象:应显示本地登录相关 PAM 配置。
示例输出(节选)
#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
...
session    required     pam_selinux.so open
session    required     pam_limits.so
chage -l root
  • 预期现象:应显示 root 账户口令期限信息。
示例输出(节选)
最近一次密码修改时间:3月 15, 2026
密码过期时间:6月 13, 2026
密码失效时间:从不
...
最少数量的天数:密码修改之间间隔的天数:7
最多数量的天数:密码修改之间间隔的最大天数:90
cat /etc/ssh/sshd_config
  • 预期现象:应显示 SSH 登录控制参数。
示例输出(节选)
PermitRootLogin no
PermitEmptyPasswords no
MaxAuthTries 4
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers appuser opsadmin
...
sshd -T | grep -E 'ciphers|macs|kexalgorithms|hostkeyalgorithms|pubkeyacceptedalgorithms'
  • 预期现象:应输出 SSH 服务端当前生效的算法配置。
示例输出(节选)
ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr
macs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
kexalgorithms curve25519-sha256,diffie-hellman-group14-sha256
hostkeyalgorithms rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256
pubkeyacceptedalgorithms rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256
  • 提示:sshd -T 为扩展测试模式,仅校验配置并输出生效配置后退出、不改变服务状态,需 root 执行;ssh -Q 列出的是本机支持的算法全集,不代表已启用,启用值以 sshd -T 输出为准。openEuler 官方加固指南注明 Ciphers、KexAlgorithms、MACs 默认已加固(弱算法默认移除)。
ssh -Q cipher
  • 预期现象:应列出本机 OpenSSH 支持的对称加密算法。
示例输出(节选)
aes128-cbc
aes128-ctr
aes256-ctr
...
aes128-gcm@openssh.com
aes256-gcm@openssh.com
ssh -Q mac
  • 预期现象:应列出本机 OpenSSH 支持的 MAC 算法。
示例输出(节选)
hmac-sha1
hmac-sha2-256
hmac-sha2-512
...
hmac-sha2-256-etm@openssh.com
hmac-sha2-512-etm@openssh.com
ssh -Q kex
  • 预期现象:应列出本机 OpenSSH 支持的密钥交换算法。
示例输出(节选)
diffie-hellman-group14-sha1
diffie-hellman-group14-sha256
diffie-hellman-group16-sha512
curve25519-sha256
curve25519-sha256@libssh.org
ssh -Q key
  • 预期现象:应列出本机 OpenSSH 支持的主机密钥/公钥算法。
示例输出(节选)
ssh-ed25519
ecdsa-sha2-nistp256
...
ssh-rsa
rsa-sha2-256
rsa-sha2-512
ssh -V
  • 预期现象:应输出 OpenSSH 版本号。
示例输出(节选)
OpenSSH_9.3p1, OpenSSL 1.1.1w  11 Sep 2023
(实际版本随 openEuler 小版本而异)
update-crypto-policies --show
  • 预期现象:在支持该机制的系统中应显示系统级密码策略;若未集成该机制则可能无此命令。
示例输出(节选)
DEFAULT
  • 补充:该命令由 crypto-policies-scripts 包提供,可用 rpm -q crypto-policies-scripts 确认是否安装;未集成该机制的系统以 sshd -T 的实际算法配置为准。
cat /etc/profile
  • 预期现象:应能核查 TMOUT 等会话控制参数。
示例输出(节选)
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi
export TMOUT=600
readonly TMOUT
  • 提示:openEuler 官方加固指南建议在 /etc/profile 末尾增加 export TMOUT=300(示例值),并配合 readonly TMOUT 防止会话内被修改。

  • 对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 a)b)c)(身份标识唯一、口令复杂度并定期更换,登录失败处理与超时退出,远程管理防窃听);账户分配与清理对应 8.1.4.2 访问控制 a)c)。

  • 判定要点:口令复杂度(minlen、minclass)与有效期(PASS_MAX_DAYS≤90)按策略与官方加固建议核对,openEuler 默认失败锁定 3 次/锁定 60 秒、官方建议 deny=3 且 unlock_time=300;未配置任何登录失败处理、存在空口令或弱口令判不符合,PermitRootLogin no 为倾向符合。

  • 取证要求:留存 passwd/shadow(口令字段脱敏)、login.defs、pwquality 与 faillock 生效配置、PAM 三文件、sshd_config、sshd -T、chage 输出,必要时报文验证口令复杂度。

  • 高风险提示:空口令/默认口令/弱口令,或使用 Telnet、FTP 等明文协议远程管理,可判高风险,见 22、高风险判定指引与加固对照表。

安全审计核查

service rsyslog status
  • 预期现象:应显示日志服务状态。
示例输出(节选)
Redirecting to /bin/systemctl status rsyslog.service
● rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2026-08-24 08:30:11 CST; 2h ago
 Main PID: 1088 (rsyslogd)
service auditd status
  • 预期现象:应显示审计服务状态。
示例输出(节选)
Redirecting to /bin/systemctl status auditd.service
● auditd.service - Security Auditing Service
   Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2026-08-24 08:30:10 CST; 2h ago
auditctl -l
  • 预期现象:应逐条列出当前审计规则。
示例输出(节选)
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-a always,exit -F arch=b64 -S execve -k exec_monitor
cat /etc/audit/rules.d/audit.rules
  • 预期现象:应显示审计规则文件内容。
示例输出(节选)
## First rule - delete all
-D
...
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-a always,exit -F arch=b64 -S execve -k exec_monitor
-e 2
cat /etc/rsyslog.conf
  • 预期现象:应显示日志规则和转发配置。
示例输出(节选)
#### RULES ####
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
...
# 远程转发示例(如已配置)
*.* @@192.168.20.10:514
ls -l /var/log/messages
  • 预期现象:应显示日志文件权限、属主、大小、时间。
示例输出(节选)
-rw-------. 1 root root 1048576 Aug 24 10:20 /var/log/messages
ls -l /var/log/secure
  • 预期现象:应显示安全日志文件权限。
示例输出(节选)
-rw-------. 1 root root 262144 Aug 24 09:58 /var/log/secure
ls -l /var/log/audit/audit.log
  • 预期现象:应显示审计日志文件权限。
示例输出(节选)
-rw-------. 1 root root 2097152 Aug 24 10:22 /var/log/audit/audit.log
tail -n 20 /var/log/messages
  • 预期现象:应输出最近 20 条系统日志。
示例输出(节选)
Aug 24 10:18:02 demo-web01 systemd: Started Session 342 of user root.
Aug 24 10:18:35 demo-web01 kernel: TCP: request_sock_TCP: Possible SYN flooding on port 80. Sending cookies.
...
Aug 24 10:22:41 demo-web01 rsyslogd: [origin software="rsyslogd" swVersion="8.2302.0"] exit on signal 2.
tail -n 20 /var/log/audit/audit.log
  • 预期现象:应输出最近 20 条审计日志。
示例输出(节选)
type=USER_AUTH msg=audit(1771893601.231:8812): pid=456789 uid=0 auid=1000 msg='op=PAM:authentication acct="appuser" exe="/usr/sbin/sshd" hostname=203.0.113.50 addr=203.0.113.50 terminal=ssh res=success'
type=CRED_ACQ msg=audit(1771893601.240:8813): pid=456789 uid=0 auid=1000 msg='op=PAM:setcred acct="appuser" exe="/usr/sbin/sshd" hostname=? addr=? terminal=ssh res=success'
...
last
  • 预期现象:应显示成功登录记录。
示例输出(节选)
opsadmin pts/0        203.0.113.50     Mon Aug 24 10:02   still logged in
root     pts/1        192.168.10.5     Sun Aug 23 17:44 - 19:02  (01:17)
reboot   system boot  5.10.0-136.12.0. Mon Aug 24 08:29 - 10:25  (01:55)
...
wtmp begins Tue Jan  6 09:00:01 2026
lastb
  • 预期现象:应显示失败登录记录。
示例输出(节选)
root     ssh:notty    203.0.113.77     Mon Aug 24 04:12 - 04:12  (00:00)
admin    ssh:notty    203.0.113.77     Mon Aug 24 04:11 - 04:11  (00:00)

btmp begins Fri Jul 31 00:01:02 2026
  • 对应控制点:GB/T 22239-2019 8.1.4.3 安全审计 a)–d)(审计覆盖每个用户与重要事件,记录含日期时间/用户/事件类型/结果,审计记录保护并定期备份,审计进程防未经授权中止)。
  • 判定要点:auditd/rsyslog 运行、审计规则覆盖用户与重要安全事件、日志留存不少于 6 个月并外发集中存储为符合;审计未启用或覆盖缺失判不符合,留存周期不足或无保护判部分符合。
  • 取证要求:留存服务状态、auditctl -l 与 audit.rules、rsyslog.conf(含远程转发配置)、日志文件权限、tail 输出及留存周期策略说明。
  • 高风险提示:设备无安全审计功能或审计数据不完整、无法满足事件追溯要求,可判高风险,见 22、高风险判定指引与加固对照表。

安全增强与边界防护核查

sestatus
  • 预期现象:应显示 SELinux status、Current mode 等字段。
示例输出(节选)
SELinux status:                 enforcing
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Memory protection checking:     actual (secure)
getenforce
  • 预期现象:通常为 Enforcing、Permissive 或 Disabled。
示例输出(节选)
Enforcing
systemctl status firewalld
  • 预期现象:应显示 firewalld 状态。
示例输出(节选)
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2026-08-24 08:30:12 CST; 2h ago
firewall-cmd --list-all
  • 预期现象:应显示 zone、services、ports 等规则。
示例输出(节选)
public (active)
  target: default
  interfaces: eth0
  services: dhcpv6-client ssh
  ports: 80/tcp 443/tcp
  protocols:
  masquerade: no
  forward-ports:
  rich rules:
iptables -nvL
  • 预期现象:应按链输出规则和计数器。
示例输出(节选)
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 120K   12M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
  350 24560 ACCEPT     tcp  --  *      *       192.168.10.0/24      0.0.0.0/0           tcp dpt:22
...
Chain OUTPUT (policy ACCEPT 98765 packets, 45M bytes)
netstat -ntlp
  • 预期现象:应显示监听端口及程序名。
示例输出(节选)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1123/sshd
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2101/mysqld
tcp6       0      0 :::80                   :::*                    LISTEN      2205/nginx: master
ss -ntlp
  • 预期现象:netstat 由 net-tools 包提供、openEuler 默认可能未安装,iproute2 的 ss 为等效替代,应显示监听端口与进程信息。
示例输出(节选)
State  Recv-Q Send-Q Local Address:Port  Peer Address:Port Process
LISTEN 0      128          0.0.0.0:22           0.0.0.0:*      users:(("sshd",pid=1123,fd=3))
LISTEN 0      80         127.0.0.1:3306         0.0.0.0:*      users:(("mysqld",pid=2101,fd=32))
LISTEN 0      511                *:80                 *:*      users:(("nginx",pid=2205,fd=6),("nginx",pid=2206,fd=6))
  • 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 b)(关闭不必要的服务和端口、限制管理端口接入源);主机防火墙访问控制就近对应 8.1.3.2 访问控制。
  • 判定要点:防火墙按业务最小化开放且管理端口限制源地址为符合;SSH 等管理端口对全网开放判部分符合;SELinux 官方加固指南注明默认启用,现场为 Disabled 应在报告中说明原因,不单独判不符合。
  • 取证要求:留存 sestatus/getenforce、firewall-cmd –list-all 或 iptables -nvL、netstat/ss 监听端口输出,并与业务用途比对确认无多余端口。

最小安装、补丁与中间件核查

rpm -qa
  • 预期现象:应逐行列出已安装软件包。
示例输出(节选)
kernel-5.10.0-136.12.0.86.oe2203sp3.x86_64
openssh-server-9.3p1-4.oe2203sp3.x86_64
...
nginx-1.21.5-1.oe2203sp3.x86_64
(实际输出按字母序逐行列出全部已安装包,通常上千行)
dnf list installed
  • 预期现象:应列出软件包清单。
示例输出(节选)
Installed Packages
NetworkManager.x86_64            1:1.38.0-1.oe2203sp3   @anaconda
audit.x86_64                     3.0.7-3.oe2203sp3      @System
...
zlib.x86_64                      1.2.11-26.oe2203sp3    @System
rpm -qa | grep patch
  • 预期现象:如命名匹配,应筛出补丁相关包。
示例输出(节选)
patch-2.7.6-13.oe2203sp3.x86_64
rpm -qa | grep -i 'nginx\|apache\|tomcat\|redis-server\|mongod\|postgresql\|mysql\|mariadb\|memcached\|mongodb-server\|rabbitmq-server'
  • 预期现象:安装对应中间件时应输出包名。
示例输出(节选)
nginx-1.21.5-1.oe2203sp3.x86_64
nginx-filesystem-1.21.5-1.oe2203sp3.noarch
ps -ef | grep 'nginx\|apache\|tomcat\|redis-server\|mongod\|postgresql\|mysql\|mariadb\|memcached\|mongodb-server\|rabbitmq-server\|weblogic'
  • 预期现象:运行对应中间件时应输出进程信息。
示例输出(节选)
root       2205      1  0  2025 ?        00:02:11 nginx: master process /usr/sbin/nginx
nginx      2206   2205  0  2025 ?        00:05:43 nginx: worker process
mysql      2101      1  0  2025 ?        00:30:12 /usr/libexec/mysqld --basedir=/usr
root     567890  456789  0 10:05 pts/0    00:00:00 grep --color=auto nginx|apache|tomcat|...
chkconfig --list
  • 预期现象:应显示开机启动项。
示例输出(节选)
Note: This output shows SysV services only. ...
netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
systemctl list-unit-files --type=service --state=enabled
  • 预期现象:systemd 环境下应列出全部开机自启服务;chkconfig --list 仅显示 SysV 兼容服务,两者应结合核查。
示例输出(节选)
UNIT FILE                    STATE           VENDOR PRESET
auditd.service               enabled         enabled
crond.service                enabled         enabled
firewalld.service            enabled         enabled
rsyslog.service              enabled         enabled
sshd.service                 enabled         enabled
...
  • 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 a)c)(最小安装、仅安装必要组件,能发现可能存在的安全漏洞并及时修补)。
  • 判定要点:安装与业务无关的组件/中间件、存在高危漏洞长期未修补、中间件以 root 等非最小权限运行判部分符合;仅安装必要组件且补丁及时为符合。
  • 取证要求:留存 rpm -qa/dnf list installed 清单、中间件进程与运行账户输出、漏扫报告与补丁/升级记录。

入侵防范核查

grep -E '^(MaxAuthTries|LoginGraceTime|PermitRootLogin|AllowUsers|DenyUsers|AllowGroups|DenyGroups)' /etc/ssh/sshd_config
  • 预期现象:应能看到 SSH 暴力破解防护与访问控制相关参数。
示例输出(节选)
PermitRootLogin no
MaxAuthTries 4
LoginGraceTime 30
AllowUsers appuser opsadmin
sshd -T | grep -E 'maxauthtries|logingracetime|permitrootlogin|allowusers|denyusers|allowgroups|denygroups'
  • 预期现象:应输出 SSH 服务端当前生效的对应参数值。
示例输出(节选)
allowgroups none
allowusers appuser opsadmin
denygroups none
denyusers none
logingracetime 30
maxauthtries 4
permitrootlogin no
rpm -qa | grep -Ei 'fail2ban|aide|ossec|wazuh|snort|suricata'
  • 预期现象:若部署入侵防范/主机入侵检测软件,应出现对应包名;未部署则无输出。
示例输出(节选)
aide-0.16.2-3.oe2203sp3.x86_64
fail2ban-0.11.2-3.oe2203sp3.noarch
systemctl status fail2ban
  • 预期现象:安装并启用 fail2ban 时应显示 active/running;未安装时可能提示服务不存在。
示例输出(节选)
● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2026-08-24 08:30:20 CST; 2h ago
 Main PID: 1420 (fail2ban-server)
  • 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范(SSH 防暴力破解与访问控制);防恶意代码手段对应 8.1.4.5 恶意代码防范。
  • 判定要点:MaxAuthTries 收紧(官方建议 3)、LoginGraceTime 收紧(官方建议 60)、PermitRootLogin no、AllowUsers 白名单及 fail2ban 生效为符合;仅依赖默认值(MaxAuthTries 6、LoginGraceTime 120)判部分符合;未部署任何防恶意代码/入侵检测手段且无可信验证机制时 8.1.4.5 判不符合。
  • 取证要求:留存 sshd -T 生效参数、fail2ban 运行状态与规则、HIDS/防恶意代码软件的名称、版本与运行状态。
  • 高风险提示:主机无可信验证机制又未采取防恶意代码措施,可判高风险,见 22、高风险判定指引与加固对照表。

安全基线与完整性核查

cat /etc/issue
  • 预期现象:应显示登录前系统标识或告警提示(如已配置)。
示例输出(节选)
Authorized users only. All activity may be monitored and reported.
openEuler release 22.03 (LTS-SP3)
Kernel \r on an \m
cat /etc/issue.net
  • 预期现象:应显示远程登录告警提示(如已配置)。
示例输出(节选)
Authorized users only. All activities may be monitored and reported.
openEuler release 22.03 (LTS-SP3)
cat /etc/motd
  • 预期现象:应显示登录后提示或告警内容(如已配置)。
示例输出(节选)
*** 本系统仅限授权人员使用,操作行为将被审计记录。 ***
*** For authorized personnel only. Activities are audited. ***
awk -F: '($2=="") {print $1}' /etc/shadow
  • 预期现象:若存在空口令账户应输出账号名;无空口令时无输出。
示例输出(节选)
(无空口令账户时无输出;存在时应仅输出账号名,例如)
svcbackup
  • 提示:shadow(5) 明确口令字段为空即可无口令登录;可另用 awk -F: '($3==0 && $1!="root")' /etc/passwd 排查非 root 的 UID 0 账户。
rpm -Va
  • 预期现象:如存在被篡改文件,通常会输出校验不一致项;无异常时无输出或输出很少。
示例输出(节选)
missing     /usr/libexec/abrt-hook-ccpp
S.5....T.  c /etc/ssh/sshd_config
.M.......    /usr/local/bin/custom-tool
(无篡改时通常无输出或仅有少量预期变更项)
aide --check
  • 预期现象:已安装并初始化 AIDE 时应输出完整性检查结果;未安装时可能提示命令不存在。
示例输出(节选)
AIDE found differences between database and filesystem!!
added: /root/.bash_history.new
removed: /tmp/old.lock
changed: /etc/passwd
...
File: /etc/passwd
 Size: 1024 -> 1032
  • 对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别(登录告警提示,就近条款);空口令对应 8.1.4.2 访问控制;rpm -Va/AIDE 完整性校验对应 8.1.4.4 入侵防范。
  • 判定要点:存在空口令账户判不符合;issue/issue.net/motd 告警提示缺失不单独判不符合,作为增强项说明;定期执行完整性校验并保留基线与结果为符合。
  • 取证要求:留存空口令与 UID 0 检查输出(无输出也须截屏留证)、issue/issue.net/motd 内容、rpm -Va/AIDE 输出及上次校验基线时间。
  • 高风险提示:空口令或弱口令账户可判高风险,见 22、高风险判定指引与加固对照表。

参考依据

关联文章