# Ubuntu_Debian-三级等保现场测评命令单

LLMS index: [llms.txt](/wikis/llms.txt)

---

> 示例版本：Ubuntu 22.04 LTS（Jammy Jellyfish）

## 系统版本核查

```bash
lsb_release -a
```
- 预期现象：关键字段通常为 Description: Ubuntu 22.04 LTS、Release: 22.04、Codename: jammy。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">No LSB modules are available.
</span></span><span class="line"><span class="cl">Distributor ID:	Ubuntu
</span></span><span class="line"><span class="cl">Description:	Ubuntu 22.04.4 LTS
</span></span><span class="line"><span class="cl">Release:	22.04
</span></span><span class="line"><span class="cl">Codename:	jammy
</span></span></code></pre></div>
</details>


```bash
cat /proc/version
```
- 预期现象：应显示内核与编译信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Linux version 5.15.0-91-generic <span class="o">(</span>buildd@lcy02-amd64-021<span class="o">)</span> <span class="o">(</span>gcc <span class="o">(</span>Ubuntu 11.4.0-1ubuntu1~22.04<span class="o">)</span> 11.4.0, GNU ld <span class="o">(</span>GNU Binutils <span class="k">for</span> Ubuntu<span class="o">)</span> 2.38<span class="o">)</span> <span class="c1">#102-Ubuntu SMP Thu Nov 16 14:41:53 UTC 2023</span>
</span></span></code></pre></div>
</details>



## 网络配置核查

```bash
ip addr
```
- 预期现象：应显示网卡与 IP 信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu <span class="m">65536</span> qdisc noqueue state UNKNOWN group default qlen <span class="m">1000</span>
</span></span><span class="line"><span class="cl">    inet 127.0.0.1/8 scope host lo
</span></span><span class="line"><span class="cl">2: ens33: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu <span class="m">1500</span> qdisc fq_codel state UP group default qlen <span class="m">1000</span>
</span></span><span class="line"><span class="cl">    inet 192.168.10.22/24 metric <span class="m">100</span> brd 192.168.10.255 scope global ens33
</span></span></code></pre></div>
</details>



## 账户与口令策略核查

```bash
cat /etc/passwd
```
- 预期现象：应列出本地账户。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">root:x:0:0:root:/root:/bin/bash
</span></span><span class="line"><span class="cl">daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">appuser:x:1000:1000::/home/appuser:/bin/bash
</span></span></code></pre></div>
</details>


```bash
cat /etc/shadow
```
- 预期现象：应列出口令散列和状态。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">root:<span class="nv">$y$j9T$AbCdEf123456$XyZ0987654321abcdef</span>…:19876:7:90:7:30:::
</span></span><span class="line"><span class="cl">daemon:*:19375:0:99999:7:::
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">appuser:<span class="nv">$y$j9T$GhIjKl654321$fedcba0987654321abcde</span>…:19876:7:90:7:30:::
</span></span></code></pre></div>
</details>


```bash
cat /etc/login.defs
```
- 预期现象：应显示口令老化参数。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">PASS_MAX_DAYS	<span class="m">90</span>
</span></span><span class="line"><span class="cl">PASS_MIN_DAYS	<span class="m">7</span>
</span></span><span class="line"><span class="cl">PASS_WARN_AGE	<span class="m">14</span>
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">UMASK		<span class="m">027</span>
</span></span></code></pre></div>
</details>


```bash
cat /etc/pam.d/common-password
```
- 预期现象：应显示口令复杂度或密码模块配置。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">password	requisite			pam_pwquality.so <span class="nv">retry</span><span class="o">=</span><span class="m">3</span>
</span></span><span class="line"><span class="cl">password	<span class="o">[</span><span class="nv">success</span><span class="o">=</span><span class="m">1</span> <span class="nv">default</span><span class="o">=</span>ignore<span class="o">]</span>	pam_unix.so obscure yescrypt
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl"><span class="c1"># 示例（启用复杂度后）：</span>
</span></span><span class="line"><span class="cl"><span class="c1"># password	requisite			pam_pwquality.so minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1</span>
</span></span></code></pre></div>
</details>


```bash
cat /etc/pam.d/common-auth
```
- 预期现象：应显示认证与登录失败处理相关配置。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">auth	<span class="o">[</span><span class="nv">success</span><span class="o">=</span><span class="m">2</span> <span class="nv">default</span><span class="o">=</span>ignore<span class="o">]</span>	pam_faildelay.so <span class="nv">delay</span><span class="o">=</span><span class="m">3000000</span>
</span></span><span class="line"><span class="cl">auth	<span class="o">[</span><span class="nv">default</span><span class="o">=</span>ignore<span class="o">]</span>			pam_tally2.so <span class="nv">deny</span><span class="o">=</span><span class="m">5</span> <span class="nv">unlock_time</span><span class="o">=</span><span class="m">600</span>
</span></span><span class="line"><span class="cl">auth	required				pam_unix.so nullok
</span></span><span class="line"><span class="cl">...
</span></span></code></pre></div>
</details>


```bash
cat /etc/pam.d/login
```
- 预期现象：应显示本地登录相关 PAM 配置。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">session    optional   pam_keyinit.so force revoke
</span></span><span class="line"><span class="cl">auth       optional   pam_group.so
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">session    required   pam_env.so <span class="nv">readenv</span><span class="o">=</span><span class="m">1</span> <span class="nv">user_readenv</span><span class="o">=</span><span class="m">1</span>
</span></span><span class="line"><span class="cl">session    required   pam_limits.so
</span></span></code></pre></div>
</details>


```bash
cat /etc/ssh/sshd_config
```
- 预期现象：应能核查 root 远程登录、地址限制、超时等参数。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">PermitRootLogin no
</span></span><span class="line"><span class="cl">MaxAuthTries <span class="m">4</span>
</span></span><span class="line"><span class="cl">ClientAliveInterval <span class="m">300</span>
</span></span><span class="line"><span class="cl">ClientAliveCountMax <span class="m">2</span>
</span></span><span class="line"><span class="cl">AllowUsers appuser opsadmin
</span></span><span class="line"><span class="cl">...
</span></span></code></pre></div>
</details>


```bash
cat /etc/profile
```
- 预期现象：应能核查 TMOUT 等登录超时参数。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># ~/.profile: executed by Bourne-compatible login shells.</span>
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="o">[</span> <span class="s2">&#34;</span><span class="nv">$BASH</span><span class="s2">&#34;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="o">[</span> -f ~/.bashrc <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
</span></span><span class="line"><span class="cl">        . ~/.bashrc
</span></span><span class="line"><span class="cl">    <span class="k">fi</span>
</span></span><span class="line"><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="cl">mesg n 2&gt; /dev/null <span class="o">||</span> <span class="nb">true</span>
</span></span><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">TMOUT</span><span class="o">=</span><span class="m">600</span>
</span></span><span class="line"><span class="cl"><span class="nb">readonly</span> TMOUT
</span></span></code></pre></div>
</details>



## 远程连接协议与算法核查

```bash
cat /etc/ssh/sshd_config
```
- 预期现象：应能核查 root 远程登录、地址限制、超时以及算法配置项。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">PermitRootLogin no
</span></span><span class="line"><span class="cl">MaxAuthTries <span class="m">4</span>
</span></span><span class="line"><span class="cl">ClientAliveInterval <span class="m">300</span>
</span></span><span class="line"><span class="cl">ClientAliveCountMax <span class="m">2</span>
</span></span><span class="line"><span class="cl">AllowUsers appuser opsadmin
</span></span><span class="line"><span class="cl">...
</span></span></code></pre></div>
</details>


```bash
sshd -T | egrep 'ciphers|macs|kexalgorithms|hostkeyalgorithms|pubkeyacceptedalgorithms'
```
- 预期现象：应输出 SSH 服务端当前生效的算法配置。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
</span></span><span class="line"><span class="cl">macs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
</span></span><span class="line"><span class="cl">kexalgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group16-sha512
</span></span><span class="line"><span class="cl">hostkeyalgorithms rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
</span></span><span class="line"><span class="cl">pubkeyacceptedalgorithms rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
</span></span></code></pre></div>
</details>


```bash
ssh -Q cipher
```
- 预期现象：应列出本机 OpenSSH 支持的对称加密算法。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">aes128-cbc
</span></span><span class="line"><span class="cl">aes128-ctr
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">aes256-gcm@openssh.com
</span></span><span class="line"><span class="cl">chacha20-poly1305@openssh.com
</span></span></code></pre></div>
</details>


```bash
ssh -Q mac
```
- 预期现象：应列出本机 OpenSSH 支持的 MAC 算法。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hmac-sha1
</span></span><span class="line"><span class="cl">hmac-sha2-256
</span></span><span class="line"><span class="cl">hmac-sha2-512
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">hmac-sha2-256-etm@openssh.com
</span></span><span class="line"><span class="cl">hmac-sha2-512-etm@openssh.com
</span></span></code></pre></div>
</details>


```bash
ssh -Q kex
```
- 预期现象：应列出本机 OpenSSH 支持的密钥交换算法。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">diffie-hellman-group14-sha256
</span></span><span class="line"><span class="cl">diffie-hellman-group16-sha512
</span></span><span class="line"><span class="cl">diffie-hellman-group18-sha512
</span></span><span class="line"><span class="cl">curve25519-sha256
</span></span><span class="line"><span class="cl">curve25519-sha256@libssh.org
</span></span><span class="line"><span class="cl">sntrup761x25519-sha512@openssh.com
</span></span></code></pre></div>
</details>


```bash
ssh -Q key
```
- 预期现象：应列出本机 OpenSSH 支持的主机密钥/公钥算法。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ssh-ed25519
</span></span><span class="line"><span class="cl">ecdsa-sha2-nistp256
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">rsa-sha2-512
</span></span><span class="line"><span class="cl">sk-ssh-ed25519@openssh.com
</span></span></code></pre></div>
</details>


```bash
ssh -V
```
- 预期现象：应输出 OpenSSH 版本号。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">OpenSSH_8.9p1 Ubuntu-3ubuntu0.10, OpenSSL 3.0.2 <span class="m">15</span> Mar <span class="m">2022</span>
</span></span></code></pre></div>
</details>



## 安全审计核查

```bash
service rsyslog status
```
- 预期现象：应显示 rsyslog 状态。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">● rsyslog.service - System Logging Service
</span></span><span class="line"><span class="cl">     Loaded: loaded <span class="o">(</span>/lib/systemd/system/rsyslog.service<span class="p">;</span> enabled<span class="p">;</span> vendor preset: enabled<span class="o">)</span>
</span></span><span class="line"><span class="cl">     Active: active <span class="o">(</span>running<span class="o">)</span> since Mon 2026-08-24 08:30:05 CST<span class="p">;</span> 2h ago
</span></span><span class="line"><span class="cl">       Docs: man:rsyslogd<span class="o">(</span>8<span class="o">)</span>
</span></span><span class="line"><span class="cl">   Main PID: <span class="m">945</span> <span class="o">(</span>rsyslogd<span class="o">)</span>
</span></span></code></pre></div>
</details>


```bash
service auditd status
```
- 预期现象：应显示 auditd 状态；部分系统可能未安装该服务。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">/lib/systemd/system/auditd.service 不存在或未安装时：
</span></span><span class="line"><span class="cl">Unit auditd.service could not be found.
</span></span><span class="line"><span class="cl"><span class="o">(</span>安装 auditd 后<span class="o">)</span>
</span></span><span class="line"><span class="cl">● auditd.service - Security Auditing Service
</span></span><span class="line"><span class="cl">     Loaded: loaded <span class="o">(</span>/lib/systemd/system/auditd.service<span class="p">;</span> enabled<span class="p">;</span> vendor preset: enabled<span class="o">)</span>
</span></span><span class="line"><span class="cl">     Active: active <span class="o">(</span>running<span class="o">)</span> since Mon 2026-08-24 08:30:06 CST<span class="p">;</span> 2h ago
</span></span></code></pre></div>
</details>


```bash
auditctl -l
```
- 预期现象：启用审计规则时应逐条输出规则；未配置时可能为空。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">-w /etc/passwd -p wa -k identity
</span></span><span class="line"><span class="cl">-w /etc/shadow -p wa -k identity
</span></span><span class="line"><span class="cl">-a always,exit -F <span class="nv">arch</span><span class="o">=</span>b64 -S execve -k exec_monitor
</span></span></code></pre></div>
</details>


```bash
cat /etc/rsyslog.conf
```
- 预期现象：应显示日志规则和转发配置。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">/############ RULES <span class="c1">###########/</span>
</span></span><span class="line"><span class="cl">*.*<span class="p">;</span>auth,authpriv.none		-/var/log/syslog
</span></span><span class="line"><span class="cl">auth,authpriv.*<span class="p">;</span>			/var/log/auth.log
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl"><span class="c1"># 远程转发示例（如已配置）</span>
</span></span><span class="line"><span class="cl">*.* @@192.168.20.10:514
</span></span></code></pre></div>
</details>


```bash
cat /etc/rsyslog.d/50-default.conf
```
- 预期现象：该文件通常作为默认日志配置文件，内容中应包含常见 facility/priority 到日志文件的映射规则。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">auth,authpriv.*                 /var/log/auth.log
</span></span><span class="line"><span class="cl">*.*<span class="p">;</span>auth,authpriv.none          -/var/log/syslog
</span></span><span class="line"><span class="cl">cron.*                          /var/log/cron.log
</span></span><span class="line"><span class="cl">daemon.*                        -/var/log/daemon.log
</span></span><span class="line"><span class="cl">kern.*                          -/var/log/kern.log
</span></span><span class="line"><span class="cl">...
</span></span></code></pre></div>
</details>


```bash
cat /etc/logrotate.conf
```
- 预期现象：应显示日志轮转与保留配置。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">weekly
</span></span><span class="line"><span class="cl">rotate <span class="m">4</span>
</span></span><span class="line"><span class="cl">create
</span></span><span class="line"><span class="cl">include /etc/logrotate.d
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">/var/log/syslog
</span></span><span class="line"><span class="cl"><span class="o">{</span>
</span></span><span class="line"><span class="cl">	rotate <span class="m">7</span>
</span></span><span class="line"><span class="cl">	daily
</span></span><span class="line"><span class="cl">	missingok
</span></span><span class="line"><span class="cl">	notifempty
</span></span><span class="line"><span class="cl">	delaycompress
</span></span><span class="line"><span class="cl">	compress
</span></span><span class="line"><span class="cl">	postrotate
</span></span><span class="line"><span class="cl">		invoke-rc.d rsyslog rotate &gt; /dev/null
</span></span><span class="line"><span class="cl">	endscript
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span></code></pre></div>
</details>


```bash
ls -l /var/log/syslog
```
- 预期现象：应显示 syslog 文件权限和属主信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">-rw-r----- <span class="m">1</span> syslog adm <span class="m">1048576</span> Aug <span class="m">24</span> 10:20 /var/log/syslog
</span></span></code></pre></div>
</details>


```bash
tail -n 20 /var/log/syslog
```
- 预期现象：应输出最近 20 条 syslog 日志。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Aug <span class="m">24</span> 10:18:02 demo-web01 systemd<span class="o">[</span>1<span class="o">]</span>: Started Session <span class="m">342</span> of user appuser.
</span></span><span class="line"><span class="cl">Aug <span class="m">24</span> 10:18:35 demo-web01 CRON<span class="o">[</span>456700<span class="o">]</span>: <span class="o">(</span>root<span class="o">)</span> CMD <span class="o">(</span>/opt/scripts/log_clean.sh<span class="o">)</span>
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">Aug <span class="m">24</span> 10:22:41 demo-web01 systemd<span class="o">[</span>1<span class="o">]</span>: logrotate.service: Deactivated successfully.
</span></span></code></pre></div>
</details>


```bash
last
```
- 预期现象：应显示成功登录记录。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">opsadmin pts/0        203.0.113.50     Mon Aug <span class="m">24</span> 10:02   still logged in
</span></span><span class="line"><span class="cl">appuser  pts/1        192.168.10.5     Sun Aug <span class="m">23</span> 17:44 - 19:02  <span class="o">(</span>01:17<span class="o">)</span>
</span></span><span class="line"><span class="cl">reboot   system boot  5.15.0-91-generi Mon Aug <span class="m">24</span> 08:29 - 10:25  <span class="o">(</span>01:55<span class="o">)</span>
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">wtmp begins Tue Jan  <span class="m">6</span> 09:00:01 <span class="m">2026</span>
</span></span></code></pre></div>
</details>


```bash
lastb
```
- 预期现象：应显示失败登录记录；部分主机可能需要 root 权限。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">root     ssh:notty    203.0.113.77     Mon Aug <span class="m">24</span> 04:12 - 04:12  <span class="o">(</span>00:00<span class="o">)</span>
</span></span><span class="line"><span class="cl">admin    ssh:notty    203.0.113.77     Mon Aug <span class="m">24</span> 04:11 - 04:11  <span class="o">(</span>00:00<span class="o">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">btmp begins Fri Jul <span class="m">31</span> 00:01:02 <span class="m">2026</span>
</span></span></code></pre></div>
</details>



## 访问控制与服务核查

```bash
ls -l /etc/passwd
```
- 预期现象：应显示关键文件权限。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">-rw-r--r-- <span class="m">1</span> root root <span class="m">1024</span> Aug  <span class="m">3</span>  <span class="m">2025</span> /etc/passwd
</span></span></code></pre></div>
</details>


```bash
ls -l /etc/shadow
```
- 预期现象：应显示关键文件权限。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">-rw-r----- <span class="m">1</span> root shadow <span class="m">896</span> Aug  <span class="m">3</span>  <span class="m">2025</span> /etc/shadow
</span></span></code></pre></div>
</details>


```bash
ls -l /etc/group
```
- 预期现象：应显示关键文件权限。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">-rw-r--r-- <span class="m">1</span> root root <span class="m">512</span> Aug  <span class="m">3</span>  <span class="m">2025</span> /etc/group
</span></span></code></pre></div>
</details>


```bash
cat /etc/hosts.allow
```
- 预期现象：应显示允许地址规则；未配置时可能为空。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 示例：仅允许运维网段访问 sshd</span>
</span></span><span class="line"><span class="cl">sshd: 192.168.10.0/255.255.255.0
</span></span></code></pre></div>
</details>


```bash
cat /etc/hosts.deny
```
- 预期现象：应显示拒绝地址规则；未配置时可能为空。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sshd: ALL
</span></span></code></pre></div>
</details>


```bash
netstat -ntlp
```
- 预期现象：应显示监听端口与程序名。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="o">(</span>Not all processes could be identified, non-owned process info
</span></span><span class="line"><span class="cl"> will not be shown, you would have to be root to see it all.<span class="o">)</span>
</span></span><span class="line"><span class="cl">Active Internet connections <span class="o">(</span>only servers<span class="o">)</span>
</span></span><span class="line"><span class="cl">Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
</span></span><span class="line"><span class="cl">tcp        <span class="m">0</span>      <span class="m">0</span> 0.0.0.0:22              0.0.0.0:*               LISTEN      -
</span></span><span class="line"><span class="cl">tcp        <span class="m">0</span>      <span class="m">0</span> 127.0.0.1:3306          0.0.0.0:*               LISTEN      -
</span></span></code></pre></div>
</details>


```bash
service --status-all
```
- 预期现象：应显示全部服务状态，通常包含 +、-、? 等标记。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"> <span class="o">[</span> + <span class="o">]</span>  cron
</span></span><span class="line"><span class="cl"> <span class="o">[</span> - <span class="o">]</span>  open-iscsi
</span></span><span class="line"><span class="cl"> <span class="o">[</span> ? <span class="o">]</span>  alsa-utils
</span></span><span class="line"><span class="cl"> <span class="o">[</span> + <span class="o">]</span>  ssh
</span></span><span class="line"><span class="cl"> <span class="o">[</span> + <span class="o">]</span>  ufw
</span></span></code></pre></div>
</details>


```bash
ps aux | grep ssh
```
- 预期现象：启用 SSH 时通常应看到 ssh/sshd 相关进程。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">root         <span class="m">950</span>  0.0  0.1  <span class="m">15432</span>  <span class="m">8212</span> ?        Ss   08:30   0:00 sshd: /usr/sbin/sshd -D <span class="o">[</span>listener<span class="o">]</span> <span class="m">0</span> of 10-100 startups
</span></span><span class="line"><span class="cl">appuser   <span class="m">456791</span>  0.0  0.0   <span class="m">7368</span>  <span class="m">4812</span> ?        S    10:02   0:00 sshd: appuser@pts/0
</span></span><span class="line"><span class="cl">root     <span class="m">567890</span>  0.0  0.0   <span class="m">6472</span>  <span class="m">2200</span> pts/0    S+   10:05   0:00 grep --color<span class="o">=</span>auto ssh
</span></span></code></pre></div>
</details>


```bash
ps aux | grep telnet
```
- 预期现象：未启用 Telnet 时通常无有效结果。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">appuser  <span class="m">567890</span>  0.0  0.0   <span class="m">6472</span>  <span class="m">2100</span> pts/0    S+   10:06   0:00 grep --color<span class="o">=</span>auto telnet
</span></span></code></pre></div>
</details>


```bash
ps aux | grep tomcat
```
- 预期现象：运行 Tomcat 时应显示相关 Java 进程。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">tomcat   <span class="m">3105</span>  1.2 12.4 <span class="m">3562000</span> <span class="m">248968</span> ?      Sl   08:31   1:52 /usr/bin/java ... org.apache.catalina.startup.Bootstrap start
</span></span><span class="line"><span class="cl">appuser  <span class="m">567891</span>  0.0  0.0   <span class="m">6472</span>  <span class="m">2100</span> pts/0    S+   10:07   0:00 grep --color<span class="o">=</span>auto tomcat
</span></span></code></pre></div>
</details>


```bash
ps aux | grep nginx
```
- 预期现象：运行 Nginx 时应显示 nginx master/worker 进程。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">root      <span class="m">2205</span>  0.0  0.1  <span class="m">10244</span>  <span class="m">5120</span> ?        Ss   08:31   0:00 nginx: master process nginx -g daemon on<span class="p">;</span> master_process on<span class="p">;</span>
</span></span><span class="line"><span class="cl">www-data  <span class="m">2206</span>  0.1  0.2  <span class="m">12288</span>  <span class="m">8832</span> ?        S    08:31   0:03 nginx: worker process
</span></span><span class="line"><span class="cl">appuser   <span class="m">567892</span>  0.0  0.0   <span class="m">6472</span>  <span class="m">2100</span> pts/0    S+   10:08   0:00 grep --color<span class="o">=</span>auto nginx
</span></span></code></pre></div>
</details>


```bash
ufw status
```
- 预期现象：启用 UFW 时应显示 Status 以及允许/拒绝规则；未安装时可能提示命令不存在。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Status: active
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">To                         Action      From
</span></span><span class="line"><span class="cl">--                         ------      ----
</span></span><span class="line"><span class="cl">22/tcp                     LIMIT       Anywhere
</span></span><span class="line"><span class="cl">80/tcp                     ALLOW       Anywhere
</span></span><span class="line"><span class="cl">443/tcp                    ALLOW       Anywhere
</span></span></code></pre></div>
</details>



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

```bash
dpkg --list
```
- 预期现象：表头通常包含 Desired、Status、Name、Version、Architecture、Description。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nv">Desired</span><span class="o">=</span>Unknown/Install/Remove/Purge/Hold
</span></span><span class="line"><span class="cl"><span class="p">|</span> <span class="nv">Status</span><span class="o">=</span>Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
</span></span><span class="line"><span class="cl"><span class="p">|</span>/ Err?<span class="o">=(</span>none<span class="o">)</span>/Reinst-required <span class="o">(</span>Status,Err: <span class="nv">uppercase</span><span class="o">=</span>bad<span class="o">)</span>
</span></span><span class="line"><span class="cl"><span class="o">||</span>/
</span></span><span class="line"><span class="cl">ii  adduser                       3.118ubuntu5        all          add and remove users and groups
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">ii  openssh-server                1:8.9p1-3ubuntu0.10 amd64        secure shell <span class="o">(</span>SSH<span class="o">)</span> server
</span></span></code></pre></div>
</details>


```bash
dpkg -l | grep -i 'nginx\|apache\|tomcat\|redis-server\|mongod\|postgresql\|mysql\|mariadb\|memcached\|mongodb-server\|rabbitmq-server'
```
- 预期现象：安装对应组件时应输出软件包名和版本。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ii  nginx                         1.18.0-6ubuntu14.5  amd64        small, powerful, scalable web/proxy server
</span></span><span class="line"><span class="cl">ii  redis-server                  5:6.0.16-1ubuntu1.3 amd64        persistent key-value database with network interface
</span></span></code></pre></div>
</details>


```bash
apt list --installed
```
- 预期现象：应显示已安装软件包清单；输出通常较长。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Listing...
</span></span><span class="line"><span class="cl">adduser/jammy,now 3.118ubuntu5 all <span class="o">[</span>installed<span class="o">]</span>
</span></span><span class="line"><span class="cl">bash/jammy-updates,now 5.1-6ubuntu1.2 amd64 <span class="o">[</span>installed<span class="o">]</span>
</span></span><span class="line"><span class="cl">curl/jammy-updates,now 7.81.0-1ubuntu1.19 amd64 <span class="o">[</span>installed<span class="o">]</span>
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">zstd/jammy,now 1.4.8+dfsg-3build1 amd64 <span class="o">[</span>installed<span class="o">]</span>
</span></span></code></pre></div>
</details>


```bash
apt list --upgradable
```
- 预期现象：存在待更新补丁时应显示可升级软件包；无待升级时通常为空。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Listing...
</span></span><span class="line"><span class="cl">openssh-client/jammy-security,jammy-updates 1:8.9p1-3ubuntu0.11 amd64 <span class="o">[</span>upgradable from: 1:8.9p1-3ubuntu0.10<span class="o">]</span>
</span></span><span class="line"><span class="cl">openssh-server/jammy-security,jammy-updates 1:8.9p1-3ubuntu0.11 amd64 <span class="o">[</span>upgradable from: 1:8.9p1-3ubuntu0.10<span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="o">(</span>无待升级时仅输出 Listing...<span class="o">)</span>
</span></span></code></pre></div>
</details>



## 时钟同步与计划任务核查

```bash
timedatectl status
```
- 预期现象：应显示本地时间、时区、NTP 同步状态等信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">               Local time: Mon 2026-08-24 10:28:33 CST
</span></span><span class="line"><span class="cl">           Universal time: Mon 2026-08-24 02:28:33 UTC
</span></span><span class="line"><span class="cl">                 RTC time: Mon 2026-08-24 02:28:33
</span></span><span class="line"><span class="cl">                Time zone: Asia/Shanghai <span class="o">(</span>CST, +0800<span class="o">)</span>
</span></span><span class="line"><span class="cl">System clock synchronized: yes
</span></span><span class="line"><span class="cl">              NTP service: active
</span></span></code></pre></div>
</details>


```bash
crontab -l
```
- 预期现象：应显示当前用户计划任务；无任务时可能提示 no crontab。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">*/5 * * * * /usr/bin/curl -s http://192.168.10.30/healthcheck &gt; /dev/null
</span></span><span class="line"><span class="cl"><span class="m">0</span> <span class="m">2</span> * * * /opt/scripts/log_clean.sh &gt;&gt; /var/log/log_clean.log 2&gt;<span class="p">&amp;</span><span class="m">1</span>
</span></span></code></pre></div>
</details>


```bash
groups 用户名
```
- 预期现象：应显示指定用户所属组列表。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">appuser : appuser sudo docker
</span></span></code></pre></div>
</details>



## 入侵防范核查

```bash
grep -E '^(MaxAuthTries|LoginGraceTime|PermitRootLogin|AllowUsers|DenyUsers|AllowGroups|DenyGroups)' /etc/ssh/sshd_config
```
- 预期现象：应能看到 SSH 暴力破解防护与访问控制相关参数。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">PermitRootLogin no
</span></span><span class="line"><span class="cl">MaxAuthTries <span class="m">4</span>
</span></span><span class="line"><span class="cl">LoginGraceTime <span class="m">30</span>
</span></span><span class="line"><span class="cl">AllowUsers appuser opsadmin
</span></span></code></pre></div>
</details>


```bash
sshd -T | egrep 'maxauthtries|logingracetime|permitrootlogin|allowusers|denyusers|allowgroups|denygroups'
```
- 预期现象：应输出 SSH 服务端当前生效的对应参数值。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">allowgroups none
</span></span><span class="line"><span class="cl">allowusers appuser opsadmin
</span></span><span class="line"><span class="cl">denygroups none
</span></span><span class="line"><span class="cl">denyusers none
</span></span><span class="line"><span class="cl">logingracetime <span class="m">30</span>
</span></span><span class="line"><span class="cl">maxauthtries <span class="m">4</span>
</span></span><span class="line"><span class="cl">permitrootlogin no
</span></span></code></pre></div>
</details>


```bash
dpkg -l | egrep -i 'fail2ban|aide|ossec|wazuh|snort|suricata'
```
- 预期现象：若部署入侵防范/主机入侵检测软件，应出现对应包名；未部署则无输出。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ii  fail2ban                      0.11.2-6ubuntu0.1  all          ban hosts that cause multiple authentication errors
</span></span></code></pre></div>
</details>


```bash
systemctl status fail2ban
```
- 预期现象：安装并启用 fail2ban 时应显示 active/running；未安装时可能提示服务不存在。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">● fail2ban.service - Fail2Ban Service
</span></span><span class="line"><span class="cl">     Loaded: loaded <span class="o">(</span>/lib/systemd/system/fail2ban.service<span class="p">;</span> enabled<span class="p">;</span> vendor preset: enabled<span class="o">)</span>
</span></span><span class="line"><span class="cl">     Active: active <span class="o">(</span>running<span class="o">)</span> since Mon 2026-08-24 08:30:20 CST<span class="p">;</span> 2h ago
</span></span><span class="line"><span class="cl">   Main PID: <span class="m">1420</span> <span class="o">(</span>fail2ban-server<span class="o">)</span>
</span></span></code></pre></div>
</details>



## 安全基线与完整性核查

```bash
cat /etc/issue
```
- 预期现象：应显示登录前系统标识或告警提示（如已配置）。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Authorized users only. All activity may be monitored and reported.
</span></span><span class="line"><span class="cl">Ubuntu 22.04 LTS <span class="se">\n</span> <span class="se">\l</span>
</span></span></code></pre></div>
</details>


```bash
cat /etc/issue.net
```
- 预期现象：应显示远程登录告警提示（如已配置）。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Authorized access only. Unauthorized use is prohibited.
</span></span><span class="line"><span class="cl">Ubuntu 22.04 LTS
</span></span></code></pre></div>
</details>


```bash
cat /etc/motd
```
- 预期现象：应显示登录后提示或告警内容（如已配置）。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">*** 本系统仅限授权人员使用，操作行为将被审计记录。 ***
</span></span><span class="line"><span class="cl">*** For authorized personnel only. Activities are audited. ***
</span></span></code></pre></div>
</details>


```bash
awk -F: '($2=="") {print $1}' /etc/shadow
```
- 预期现象：若存在空口令账户应输出账号名；无空口令时无输出。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="o">(</span>无空口令账户时无输出；存在时应仅输出账号名，例如<span class="o">)</span>
</span></span><span class="line"><span class="cl">svcbackup
</span></span></code></pre></div>
</details>


```bash
debsums -s
```
- 预期现象：已安装 debsums 时会输出校验异常包；无异常时无输出。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="o">(</span>无异常时无输出；存在校验异常时应输出被修改的包，例如<span class="o">)</span>
</span></span><span class="line"><span class="cl">debsums: changed file /usr/sbin/sshd <span class="o">(</span>from openssh-server package<span class="o">)</span>
</span></span></code></pre></div>
</details>


```bash
aide --check
```
- 预期现象：已安装并初始化 AIDE 时应输出完整性检查结果；未安装时可能提示命令不存在。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">AIDE found differences between database and filesystem!!
</span></span><span class="line"><span class="cl">added: /root/.bash_history.new
</span></span><span class="line"><span class="cl">removed: /tmp/old.lock
</span></span><span class="line"><span class="cl">changed: /etc/passwd
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">File: /etc/passwd
</span></span><span class="line"><span class="cl"> Size: <span class="m">1024</span> -&gt; <span class="m">1032</span>
</span></span></code></pre></div>
</details>
