Ubuntu_Debian-三级现场测评命令单
Categories:
8 分钟阅读
示例版本:Ubuntu 22.04 LTS(Jammy Jellyfish) 定位:三级等保现场测评取证命令单,按功能小节组织核查命令、预期现象与判定要点。 现场提示:以下命令以只读核查为主,涉及服务状态、审计、防火墙等命令需 root 权限(sudo);修改类操作须先评估业务影响。
系统版本核查
lsb_release -a
- 预期现象:关键字段通常为 Description: Ubuntu 22.04 LTS、Release: 22.04、Codename: jammy。
示例输出(节选)
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
cat /proc/version
- 预期现象:应显示内核与编译信息。
示例输出(节选)
Linux version 5.15.0-91-generic (buildd@lcy02-amd64-021) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #102-Ubuntu SMP Thu Nov 16 14:41:53 UTC 2023
- 对应控制点:GB/T 22239-2019 8.1.4.4 a)、d)(确认系统版本与补丁基线,支撑最小安装与漏洞修补判定)。
- 判定要点:系统版本明确且在安全维护期内(LTS 版本)为符合;版本已停止安全维护或无法确认时为部分符合。
- 取证要求:留存 lsb_release 与内核版本输出截图,记录主机名、IP 及测评时间。
网络配置核查
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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.10.22/24 metric 100 brd 192.168.10.255 scope global ens33
- 对应控制点:GB/T 22239-2019 8.1.4.4 c)(通过网络地址范围限制管理终端的地址信息核对)。
- 判定要点:网卡地址与网络访问控制策略一致、无策略外多余地址/网卡为符合;发现与策略不符的地址时为部分符合。
- 取证要求:留存 ip addr 输出截图,标注管理地址与业务地址。
账户与口令策略核查
cat /etc/passwd
- 预期现象:应列出本地账户。
示例输出(节选)
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
appuser:x:1000:1000::/home/appuser:/bin/bash
cat /etc/shadow
- 预期现象:应列出口令散列和状态。
示例输出(节选)
root:$y$j9T$AbCdEf123456$XyZ0987654321abcdef…:19876:7:90:7:30:::
daemon:*:19375:0:99999:7:::
...
appuser:$y$j9T$GhIjKl654321$fedcba0987654321abcde…:19876:7:90:7:30:::
cat /etc/login.defs
- 预期现象:应显示口令老化参数。
示例输出(节选)
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
...
UMASK 027
cat /etc/pam.d/common-password
- 预期现象:应显示口令复杂度或密码模块配置。
示例输出(节选)
password requisite pam_pwquality.so retry=3
password [success=1 default=ignore] pam_unix.so obscure yescrypt
...
# 示例(启用复杂度后):
# password requisite pam_pwquality.so minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
cat /etc/pam.d/common-auth
- 预期现象:应显示认证与登录失败处理相关配置。
示例输出(节选)
auth required pam_faildelay.so delay=3000000
auth required pam_faillock.so preauth audit silent deny=5 unlock_time=600
auth [success=2 default=ignore] pam_unix.so nullok
auth requisite pam_deny.so
auth required pam_faillock.so authfail audit silent deny=5 unlock_time=600
auth sufficient pam_faillock.so authsucc
...
# 注:Ubuntu 22.04(PAM 1.4.0)已移除 pam_tally2 模块(Ubuntu 20.04 及更早版本为 pam_tally2.so),
# 登录失败锁定应核查 pam_faillock;deny、unlock_time 等参数亦可统一配置于 /etc/security/faillock.conf。
cat /etc/pam.d/login
- 预期现象:应显示本地登录相关 PAM 配置。
示例输出(节选)
session optional pam_keyinit.so force revoke
auth optional pam_group.so
...
session required pam_env.so readenv=1 user_readenv=1
session required pam_limits.so
cat /etc/ssh/sshd_config
- 预期现象:应能核查 root 远程登录、地址限制、超时等参数。
示例输出(节选)
PermitRootLogin no
MaxAuthTries 4
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers appuser opsadmin
...
cat /etc/profile
- 预期现象:应能核查 TMOUT 等登录超时参数。
示例输出(节选)
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
mesg n 2> /dev/null || true
export TMOUT=600
readonly TMOUT
- 对应控制点:GB/T 22239-2019 8.1.4.1 a)、b)(身份标识唯一、口令复杂度与定期更换、登录失败处理与连接超时退出);8.1.4.2 b)、c)、d)(默认账户口令、多余/过期账户、最小权限)。
- 判定要点:口令复杂度与有效期已生效、登录失败限制与 TMOUT 超时已配置、无空口令/共享/过期账户为符合;common-auth 中 pam_unix 带 nullok 参数(允许空口令账户认证)等情形应判部分符合并整改。
- 取证要求:留存 /etc/passwd、/etc/shadow、login.defs、common-password、common-auth、sshd_config、/etc/profile 输出截图。
高风险:存在可登录的空口令/弱口令账户,或未配置口令复杂度定期更换、未限制非法登录次数,按 T/ISEAA 001-2020 可判定为高风险,参见 22、高风险判定指引与加固对照表。
远程连接协议与算法核查
cat /etc/ssh/sshd_config
- 预期现象:应能核查 root 远程登录、地址限制、超时以及算法配置项。
示例输出(节选)
PermitRootLogin no
MaxAuthTries 4
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers appuser opsadmin
...
sshd -T | grep -E 'ciphers|macs|kexalgorithms|hostkeyalgorithms|pubkeyacceptedalgorithms'
- 预期现象:应输出 SSH 服务端当前生效的算法配置。
示例输出(节选)
ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
macs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
kexalgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group16-sha512
hostkeyalgorithms rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
pubkeyacceptedalgorithms rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
- 注:
sshd -T需 root 权限,输出为合并 /etc/ssh/sshd_config.d/*.conf(jammy 的 sshd_config 默认 Include 该目录)后的生效值;egrep已被上游弃用,应改用grep -E。
ssh -Q cipher
- 预期现象:应列出本机 OpenSSH 支持的对称加密算法。
示例输出(节选)
aes128-cbc
aes128-ctr
...
aes256-gcm@openssh.com
chacha20-poly1305@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-sha256
diffie-hellman-group16-sha512
diffie-hellman-group18-sha512
curve25519-sha256
curve25519-sha256@libssh.org
sntrup761x25519-sha512@openssh.com
ssh -Q key
- 预期现象:应列出本机 OpenSSH 支持的主机密钥/公钥算法。
示例输出(节选)
ssh-ed25519
ecdsa-sha2-nistp256
...
rsa-sha2-512
sk-ssh-ed25519@openssh.com
ssh -V
- 预期现象:应输出 OpenSSH 版本号。
示例输出(节选)
OpenSSH_8.9p1 Ubuntu-3ubuntu0.10, OpenSSL 3.0.2 15 Mar 2022
- 对应控制点:GB/T 22239-2019 8.1.4.1 c)、d)(远程管理防鉴别信息窃听、通信过程保密性)。
- 判定要点:仅启用 SSH 等加密协议、未启用 SSHv1 及 arcfour/3des/hmac-sha1 等弱算法为符合;以明文协议或弱算法承载远程管理为不符合。
- 取证要求:留存 sshd -T 算法与参数输出、ssh -V 版本及 ssh -Q 支持列表截图。
安全审计核查
service rsyslog status
- 预期现象:应显示 rsyslog 状态。
示例输出(节选)
● rsyslog.service - System Logging Service
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2026-08-24 08:30:05 CST; 2h ago
Docs: man:rsyslogd(8)
Main PID: 945 (rsyslogd)
service auditd status
- 预期现象:应显示 auditd 状态;部分系统可能未安装该服务。
示例输出(节选)
/lib/systemd/system/auditd.service 不存在或未安装时:
Unit auditd.service could not be found.
(安装 auditd 后)
● auditd.service - Security Auditing Service
Loaded: loaded (/lib/systemd/system/auditd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2026-08-24 08:30:06 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/rsyslog.conf
- 预期现象:应显示日志规则和转发配置。
示例输出(节选)
/############ RULES ###########/
*.*;auth,authpriv.none -/var/log/syslog
auth,authpriv.*; /var/log/auth.log
...
# 远程转发示例(如已配置)
*.* @@192.168.20.10:514
cat /etc/rsyslog.d/50-default.conf
- 预期现象:该文件通常作为默认日志配置文件,内容中应包含常见 facility/priority 到日志文件的映射规则。
示例输出(节选)
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
...
cat /etc/logrotate.conf
- 预期现象:应显示日志轮转与保留配置。
示例输出(节选)
weekly
rotate 4
create
include /etc/logrotate.d
...
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
ls -l /var/log/syslog
- 预期现象:应显示 syslog 文件权限和属主信息。
示例输出(节选)
-rw-r----- 1 syslog adm 1048576 Aug 24 10:20 /var/log/syslog
tail -n 20 /var/log/syslog
- 预期现象:应输出最近 20 条 syslog 日志。
示例输出(节选)
Aug 24 10:18:02 demo-web01 systemd[1]: Started Session 342 of user appuser.
Aug 24 10:18:35 demo-web01 CRON[456700]: (root) CMD (/opt/scripts/log_clean.sh)
...
Aug 24 10:22:41 demo-web01 systemd[1]: logrotate.service: Deactivated successfully.
last
- 预期现象:应显示成功登录记录。
示例输出(节选)
opsadmin pts/0 203.0.113.50 Mon Aug 24 10:02 still logged in
appuser pts/1 192.168.10.5 Sun Aug 23 17:44 - 19:02 (01:17)
reboot system boot 5.15.0-91-generi Mon Aug 24 08:29 - 10:25 (01:55)
...
wtmp begins Tue Jan 6 09:00:01 2026
lastb
- 预期现象:应显示失败登录记录;部分主机可能需要 root 权限。
示例输出(节选)
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)、b)、c)、d)(审计覆盖每个用户、记录要素完整、记录保护与定期备份、审计进程保护)。
- 判定要点:rsyslog/auditd 正常运行且审计覆盖登录与重要操作、日志定期轮转并有集中转发(如 @@ 远程服务器)为符合;未启用任何审计功能为不符合。
- 取证要求:留存服务状态、auditctl -l、rsyslog 配置与转发配置、logrotate 配置、last/lastb 输出截图。
高风险:未开启任何安全审计功能(rsyslog/auditd/journald 均未启用或审计记录被关闭),按 T/ISEAA 001-2020 可判定为高风险,参见 22、高风险判定指引与加固对照表。
访问控制与服务核查
ls -l /etc/passwd
- 预期现象:应显示关键文件权限。
示例输出(节选)
-rw-r--r-- 1 root root 1024 Aug 3 2025 /etc/passwd
ls -l /etc/shadow
- 预期现象:应显示关键文件权限。
示例输出(节选)
-rw-r----- 1 root shadow 896 Aug 3 2025 /etc/shadow
ls -l /etc/group
- 预期现象:应显示关键文件权限。
示例输出(节选)
-rw-r--r-- 1 root root 512 Aug 3 2025 /etc/group
cat /etc/hosts.allow
- 预期现象:应显示允许地址规则;未配置时可能为空。
示例输出(节选)
# 示例:仅允许运维网段访问 sshd
sshd: 192.168.10.0/255.255.255.0
cat /etc/hosts.deny
- 预期现象:应显示拒绝地址规则;未配置时可能为空。
示例输出(节选)
sshd: ALL
- 注:OpenSSH 自 6.7 起 sshd 已移除 TCP Wrappers/libwrap 支持,Ubuntu 22.04 中 /etc/hosts.allow、/etc/hosts.deny 对 sshd 不再生效;来源地址限制应以 sshd_config 的 AllowUsers/DenyUsers/Match Address 及 ufw 规则为准。
netstat -ntlp
- 预期现象:应显示监听端口与程序名。
示例输出(节选)
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
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 -
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
- 注:Ubuntu 22.04 默认未安装 net-tools(netstat),可用 iproute2 的
ss -ntlp等价核查监听端口与进程。
service --status-all
- 预期现象:应显示全部服务状态,通常包含 +、-、? 等标记。
示例输出(节选)
[ + ] cron
[ - ] open-iscsi
[ ? ] alsa-utils
[ + ] ssh
[ + ] ufw
ps aux | grep ssh
- 预期现象:启用 SSH 时通常应看到 ssh/sshd 相关进程。
示例输出(节选)
root 950 0.0 0.1 15432 8212 ? Ss 08:30 0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
appuser 456791 0.0 0.0 7368 4812 ? S 10:02 0:00 sshd: appuser@pts/0
root 567890 0.0 0.0 6472 2200 pts/0 S+ 10:05 0:00 grep --color=auto ssh
ps aux | grep telnet
- 预期现象:未启用 Telnet 时通常无有效结果。
示例输出(节选)
appuser 567890 0.0 0.0 6472 2100 pts/0 S+ 10:06 0:00 grep --color=auto telnet
ps aux | grep tomcat
- 预期现象:运行 Tomcat 时应显示相关 Java 进程。
示例输出(节选)
tomcat 3105 1.2 12.4 3562000 248968 ? Sl 08:31 1:52 /usr/bin/java ... org.apache.catalina.startup.Bootstrap start
appuser 567891 0.0 0.0 6472 2100 pts/0 S+ 10:07 0:00 grep --color=auto tomcat
ps aux | grep nginx
- 预期现象:运行 Nginx 时应显示 nginx master/worker 进程。
示例输出(节选)
root 2205 0.0 0.1 10244 5120 ? Ss 08:31 0:00 nginx: master process nginx -g daemon on; master_process on;
www-data 2206 0.1 0.2 12288 8832 ? S 08:31 0:03 nginx: worker process
appuser 567892 0.0 0.0 6472 2100 pts/0 S+ 10:08 0:00 grep --color=auto nginx
ufw status
- 预期现象:启用 UFW 时应显示 Status 以及允许/拒绝规则;未安装时可能提示命令不存在。
示例输出(节选)
Status: active
To Action From
-- ------ ----
22/tcp LIMIT Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
注:ufw 需 root 权限,是 Linux netfilter 防火墙的管理前端,底层规则可用
iptables -L -n或nft list ruleset复核;ufw limit 22/tcp表示同一来源 IP 30 秒内超过 6 次连接即限流,可用于 SSH 防爆破。对应控制点:GB/T 22239-2019 8.1.4.2 a)、e)、f)(账户权限分配与访问控制策略);8.1.4.4 b)、c)(关闭不需要的服务与高危端口、终端接入方式限制)。
判定要点:关键文件权限合理、仅开启必要服务与端口、防火墙启用且规则与访问控制策略一致、无 telnet 等明文服务为符合;发现 telnet/rsh 等明文远程服务运行即不符合。
取证要求:留存关键文件权限、service –status-all、netstat/ss、ufw status 及 telnet 进程核查输出截图。
高风险:使用 telnet、FTP 等明文协议进行远程管理,按 T/ISEAA 001-2020 可判定为高风险,参见 22、高风险判定指引与加固对照表。
最小安装、补丁与中间件核查
dpkg --list
- 预期现象:表头通常包含 Desired、Status、Name、Version、Architecture、Description。
示例输出(节选)
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/
ii adduser 3.118ubuntu5 all add and remove users and groups
...
ii openssh-server 1:8.9p1-3ubuntu0.10 amd64 secure shell (SSH) server
dpkg -l | grep -i 'nginx\|apache\|tomcat\|redis-server\|mongod\|postgresql\|mysql\|mariadb\|memcached\|mongodb-server\|rabbitmq-server'
- 预期现象:安装对应组件时应输出软件包名和版本。
示例输出(节选)
ii nginx 1.18.0-6ubuntu14.5 amd64 small, powerful, scalable web/proxy server
ii redis-server 5:6.0.16-1ubuntu1.3 amd64 persistent key-value database with network interface
apt list --installed
- 预期现象:应显示已安装软件包清单;输出通常较长。
示例输出(节选)
Listing...
adduser/jammy,now 3.118ubuntu5 all [installed]
bash/jammy-updates,now 5.1-6ubuntu1.2 amd64 [installed]
curl/jammy-updates,now 7.81.0-1ubuntu1.19 amd64 [installed]
...
zstd/jammy,now 1.4.8+dfsg-3build1 amd64 [installed]
apt list --upgradable
- 预期现象:存在待更新补丁时应显示可升级软件包;无待升级时通常为空。
示例输出(节选)
Listing...
openssh-client/jammy-security,jammy-updates 1:8.9p1-3ubuntu0.11 amd64 [upgradable from: 1:8.9p1-3ubuntu0.10]
openssh-server/jammy-security,jammy-updates 1:8.9p1-3ubuntu0.11 amd64 [upgradable from: 1:8.9p1-3ubuntu0.10]
(无待升级时仅输出 Listing...)
systemctl status unattended-upgrades
cat /etc/apt/apt.conf.d/20auto-upgrades
- 预期现象:unattended-upgrades 服务处于 active (running),且 20auto-upgrades 中两项均为 “1”,表示已启用安全补丁自动更新。
示例输出(节选)
● unattended-upgrades.service - Unattended Upgrades Shutdown
Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2026-08-24 08:30:12 CST; 2h ago
...
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
- 对应控制点:GB/T 22239-2019 8.1.4.4 a)、d)(最小安装、发现已知漏洞并及时修补)。
- 判定要点:仅安装必要组件、无多余中间件,且补丁及时更新(自动更新启用或可升级项近期可补齐)为符合;长期不修补为部分符合或不符合。
- 取证要求:留存 dpkg –list、apt list –upgradable、unattended-upgrades 状态与 20auto-upgrades 输出截图。
高风险:存在可被利用的高危漏洞且长期未修补,按 T/ISEAA 001-2020 可判定为高风险,参见 22、高风险判定指引与加固对照表。
时钟同步与计划任务核查
timedatectl status
- 预期现象:应显示本地时间、时区、NTP 同步状态等信息。
示例输出(节选)
Local time: Mon 2026-08-24 10:28:33 CST
Universal time: Mon 2026-08-24 02:28:33 UTC
RTC time: Mon 2026-08-24 02:28:33
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
crontab -l
- 预期现象:应显示当前用户计划任务;无任务时可能提示 no crontab。
示例输出(节选)
*/5 * * * * /usr/bin/curl -s http://192.168.10.30/healthcheck > /dev/null
0 2 * * * /opt/scripts/log_clean.sh >> /var/log/log_clean.log 2>&1
- 注:还应核查 /etc/crontab、/etc/cron.d/、/etc/cron.daily 等目录及
systemctl list-timers,避免遗漏系统级计划任务。
groups 用户名
- 预期现象:应显示指定用户所属组列表。
示例输出(节选)
appuser : appuser sudo docker
- 对应控制点:GB/T 22239-2019 8.1.4.3 b)(审计记录时间准确性依赖全系统统一时钟);计划任务与账户属组核查对应 8.1.4.2 a)、d)。
- 判定要点:NTP 同步状态为 yes、时区正确为符合;时钟未同步为部分符合;发现非授权计划任务时应结合入侵防范条款判定。
- 取证要求:留存 timedatectl 输出及 NTP 源配置(/etc/systemd/timesyncd.conf 或 chrony 配置)、计划任务清单截图。
入侵防范核查
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
dpkg -l | grep -Ei 'fail2ban|aide|ossec|wazuh|snort|suricata'
- 预期现象:若部署入侵防范/主机入侵检测软件,应出现对应包名;未部署则无输出。
示例输出(节选)
ii fail2ban 0.11.2-6ubuntu0.1 all ban hosts that cause multiple authentication errors
systemctl status fail2ban
- 预期现象:安装并启用 fail2ban 时应显示 active/running;未安装时可能提示服务不存在。
示例输出(节选)
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
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 b)、c)、e)(服务/端口收敛、终端接入限制、入侵行为检测与报警)。
- 判定要点:SSH 防爆破参数生效且部署 fail2ban/AIDE 等检测措施、能对入侵行为告警为符合;无任何入侵检测与防护措施为部分符合。
- 取证要求:留存 sshd -T 参数输出、fail2ban 状态与封禁规则(fail2ban-client status sshd)、入侵检测软件清单截图。
安全基线与完整性核查
cat /etc/issue
- 预期现象:应显示登录前系统标识或告警提示(如已配置)。
示例输出(节选)
Authorized users only. All activity may be monitored and reported.
Ubuntu 22.04 LTS \n \l
cat /etc/issue.net
- 预期现象:应显示远程登录告警提示(如已配置)。
示例输出(节选)
Authorized access only. Unauthorized use is prohibited.
Ubuntu 22.04 LTS
cat /etc/motd
- 预期现象:应显示登录后提示或告警内容(如已配置)。
示例输出(节选)
*** 本系统仅限授权人员使用,操作行为将被审计记录。 ***
*** For authorized personnel only. Activities are audited. ***
awk -F: '($2=="") {print $1}' /etc/shadow
- 预期现象:若存在空口令账户应输出账号名;无空口令时无输出。
示例输出(节选)
(无空口令账户时无输出;存在时应仅输出账号名,例如)
svcbackup
debsums -s
- 预期现象:已安装 debsums 时会输出校验异常包;无异常时无输出。
示例输出(节选)
(无异常时无输出;存在校验异常时应输出被修改的包,例如)
debsums: changed file /usr/sbin/sshd (from openssh-server package)
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
注:AIDE 首次使用需先执行
aideinit生成基线数据库,aide --check才能比对;基线数据库应存放在安全位置并定期更新。对应控制点:GB/T 22239-2019 8.1.4.5 a)(恶意代码防范或主动免疫可信验证机制);空口令核查对应 8.1.4.1 a)。
判定要点:无空口令账户、具备恶意代码防范措施(主机防病毒/EDR 或完整性校验机制)并定期执行为符合;仅有登录横幅而无任何防范/检测措施为部分符合。
取证要求:留存 /etc/issue、/etc/issue.net、/etc/motd、空口令检查、debsums/AIDE 校验结果及防病毒软件运行截图。
高风险:存在空口令/弱口令账户,或未采取任何恶意代码防范与完整性检测措施,按 T/ISEAA 001-2020 可判定为高风险,参见 22、高风险判定指引与加固对照表。
参考依据
- GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》(8.1.4 安全计算环境)(国家标准全文公开系统)
- GB/T 28448-2019《信息安全技术 网络安全等级保护测评要求》(国家标准全文公开系统)
- pam_faillock(8) — Ubuntu 22.04 手册页
- sshd_config(5) — Ubuntu 22.04 手册页
- login.defs(5) — Ubuntu 22.04 手册页
- ufw(8) — Ubuntu 22.04 手册页
- ss(8) — Ubuntu 22.04 手册页
- grep(1) — Ubuntu 24.04 手册页(egrep 已被上游弃用)
- Automatic updates — Ubuntu Server 官方文档
- OpenSSH 6.7 Release Notes(sshd 移除 TCP Wrappers/libwrap 支持)
- T/ISEAA 001-2020《网络安全等级保护测评高风险判定指引》(中关村信息安全测评联盟团体标准)
命令核验说明:本文命令已于 2026-09 对照上述官方文档核验,现场以实际系统版本为准。
关联文章
- 配套加固:04、安全评估Linux主机加固操作手册
- 取证记录:16、安全评估加固记录表3.0
- 高风险口径:22、高风险判定指引与加固对照表