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

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

---

> 示例版本：macOS Ventura 13

> 说明：Apple 官方支持文档可直接支撑“远程登录”使用 SSH 或 SFTP；“软件更新”用于检查系统更新；macOS 内置应用防火墙支持 Block all incoming connections、自动允许签名软件和 stealth mode 等配置。

## 系统版本核查

```bash
sw_vers
```
- 预期现象：应显示 ProductName、ProductVersion、BuildVersion 等字段。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">ProductName:		macOS
</span></span><span class="line"><span class="cl">ProductVersion:		13.5.2
</span></span><span class="line"><span class="cl">BuildVersion:		22G91
</span></span></code></pre></div>
</details>


```bash
system_profiler SPSoftwareDataType
```
- 预期现象：应显示 System Version、Kernel Version、Boot Volume、Secure Virtual Memory 等软件信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Software:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    System Software Overview:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">      System Version: macOS 13.5.2 (22G91)
</span></span><span class="line"><span class="cl">      Kernel Version: Darwin 22.6.0
</span></span><span class="line"><span class="cl">      Boot Volume: Macintosh HD
</span></span><span class="line"><span class="cl">      Secure Virtual Memory: Enabled
</span></span></code></pre></div>
</details>


```bash
uname -a
```
- 预期现象：应显示 Darwin 内核版本、主机名、架构等信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Darwin demo-mac 22.6.0 Darwin Kernel Version 22.6.0: Wed Jul 26 21:31:31 PDT 2023; root:xnu-8796.141.3~1/RELEASE_X86_64 x86_64
</span></span></code></pre></div>
</details>



## 网络配置核查

```bash
ifconfig
```
- 预期现象：应显示网络接口、IPv4/IPv6、MAC 地址等信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">en0: flags=8863&lt;UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
</span></span><span class="line"><span class="cl">	ether a1:b2:c3:d4:e5:f6
</span></span><span class="line"><span class="cl">	inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
</span></span><span class="line"><span class="cl">	inet6 fe80::1234:5678:90ab:cdef%en0 prefixlen 64 secured scopeid 0x6
</span></span><span class="line"><span class="cl">	media: autoselect
</span></span><span class="line"><span class="cl">	status: active
</span></span></code></pre></div>
</details>


```bash
networksetup -listallnetworkservices
```
- 预期现象：应列出当前配置的网络服务名称。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">An asterisk (*) denotes that a network service is disabled.
</span></span><span class="line"><span class="cl">Wi-Fi
</span></span><span class="line"><span class="cl">Thunderbolt Ethernet
</span></span></code></pre></div>
</details>


```bash
scutil --dns
```
- 预期现象：应显示当前 DNS 解析器配置。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">DNS configuration
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">resolver #1
</span></span><span class="line"><span class="cl">  nameserver[0] : 192.168.1.1
</span></span><span class="line"><span class="cl">  nameserver[1] : 192.168.1.2
</span></span><span class="line"><span class="cl">  if_index : 6 (en0)
</span></span></code></pre></div>
</details>



## 账户与口令策略核查

```bash
dscl . list /Users
```
- 预期现象：应列出本地用户对象。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">daemon
</span></span><span class="line"><span class="cl">nobody
</span></span><span class="line"><span class="cl">root
</span></span><span class="line"><span class="cl">admin
</span></span><span class="line"><span class="cl">devuser
</span></span></code></pre></div>
</details>


```bash
dscl . -read /Users/root
```
- 预期现象：应显示 root 账户属性；若未启用 root，仍可用于核查账户对象信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">AppleMetaNodeLocation: /Local/Default
</span></span><span class="line"><span class="cl">GeneratedUID: FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000
</span></span><span class="line"><span class="cl">NFSHomeDirectory: /var/root
</span></span><span class="line"><span class="cl">RecordName: root
</span></span><span class="line"><span class="cl">UniqueID: 0
</span></span><span class="line"><span class="cl">UserShell: /bin/sh
</span></span></code></pre></div>
</details>


```bash
pwpolicy -getaccountpolicies
```
- 预期现象：已配置账户口令策略时应输出策略 XML/plist；未配置时可能为空。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Getting global account policies
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">+-------------------------------------------------------------------------------+
</span></span><span class="line"><span class="cl">policyCategoryPasswordContent:
</span></span><span class="line"><span class="cl">        policyIdentifier: maxFailedLoginAttempts
</span></span><span class="line"><span class="cl">        policyContent: policyAttributeCurrentFailedAttempts &lt; 5 ...
</span></span></code></pre></div>
</details>


```bash
sysadminctl -secureTokenStatus 用户名
```
- 预期现象：应显示指定用户是否具有 Secure Token。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Secure token is ENABLED for user devuser
</span></span></code></pre></div>
</details>


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


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">auth       optional       pam_kanji.so
</span></span><span class="line"><span class="cl">auth       optional       pam_cknso.so
</span></span><span class="line"><span class="cl">auth       required       pam_opendirectory.so use_first_pass
</span></span><span class="line"><span class="cl">account    required       pam_opendirectory.so
</span></span></code></pre></div>
</details>



## 远程接入服务核查

```bash
systemsetup -getremotelogin
```
- 预期现象：应显示 Remote Login: On 或 Off。Apple 官方说明远程登录使用 SSH 或 SFTP。


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


```bash
systemsetup -getremoteappleevents
```
- 预期现象：应显示 Remote Apple Events: On 或 Off。


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


```bash
lsof -iTCP -sTCP:LISTEN -n -P
```
- 预期现象：应显示当前监听端口及对应进程。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
</span></span><span class="line"><span class="cl">launchd     1 root    8u  IPv4 0xa1b2c3d4e5f6      0t0  TCP *:22 (LISTEN)
</span></span><span class="line"><span class="cl">rapportd  512 user    4u  IPv4 0xf6e5d4c3b2a1      0t0  TCP *:59241 (LISTEN)
</span></span></code></pre></div>
</details>


```bash
launchctl list | grep ssh
```
- 预期现象：启用 SSH 时通常可见 sshd 相关服务或进程标识。


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



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

```bash
cat /etc/ssh/sshd_config
```
- 预期现象：应显示 SSH 服务端配置，可核查认证、访问控制和算法参数。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">#Port 22
</span></span><span class="line"><span class="cl">#AddressFamily any
</span></span><span class="line"><span class="cl">#ListenAddress 0.0.0.0
</span></span><span class="line"><span class="cl">#PermitRootLogin prohibit-password
</span></span><span class="line"><span class="cl">#MaxAuthTries 6
</span></span><span class="line"><span class="cl">#PubkeyAuthentication yes
</span></span><span class="line"><span class="cl">Subsystem	sftp	internal-sftp
</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-text" data-lang="text"><span class="line"><span class="cl">ciphers chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes256-ctr
</span></span><span class="line"><span class="cl">macs umac-64-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
</span></span><span class="line"><span class="cl">kexalgorithms curve25519-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512
</span></span><span class="line"><span class="cl">hostkeyalgorithms ssh-ed25519,rsa-sha2-512,rsa-sha2-256
</span></span><span class="line"><span class="cl">pubkeyacceptedalgorithms ssh-ed25519,rsa-sha2-512,rsa-sha2-256
</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-text" data-lang="text"><span class="line"><span class="cl">chacha20-poly1305@openssh.com
</span></span><span class="line"><span class="cl">aes128-gcm@openssh.com
</span></span><span class="line"><span class="cl">aes256-gcm@openssh.com
</span></span><span class="line"><span class="cl">aes128-ctr
</span></span><span class="line"><span class="cl">aes256-ctr
</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-text" data-lang="text"><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><span class="line"><span class="cl">umac-64-etm@openssh.com
</span></span><span class="line"><span class="cl">umac-128-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-text" data-lang="text"><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">ecdh-sha2-nistp256
</span></span><span class="line"><span class="cl">diffie-hellman-group14-sha256
</span></span><span class="line"><span class="cl">diffie-hellman-group16-sha512
</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-text" data-lang="text"><span class="line"><span class="cl">ssh-ed25519
</span></span><span class="line"><span class="cl">ssh-ed25519-cert-v01@openssh.com
</span></span><span class="line"><span class="cl">rsa-sha2-512
</span></span><span class="line"><span class="cl">rsa-sha2-256
</span></span><span class="line"><span class="cl">ssh-rsa
</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-text" data-lang="text"><span class="line"><span class="cl">OpenSSH_9.0p1, LibreSSL 3.3.6
</span></span></code></pre></div>
</details>



## 安全审计核查

```bash
ls -l /var/audit
```
- 预期现象：启用 BSM 审计时应显示审计日志目录及文件。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">total 24
</span></span><span class="line"><span class="cl">drwx------  3 root  wheel     96 Aug 20 09:00 .
</span></span><span class="line"><span class="cl">drwxr-xr-x  6 root  wheel    192 Aug 20 09:00 ..
</span></span><span class="line"><span class="cl">-rw-r-----  1 root  wheel   8192 Aug 21 17:32 20260821093000.not_terminated.demo-mac
</span></span></code></pre></div>
</details>


```bash
praudit /var/audit/current
```
- 预期现象：当前审计日志文件存在时应输出可读审计记录；文件不存在时需结合现场确认审计状态。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">header,133,11,user authentication,0,Fri Aug 21 17:32:01 2026, + 120 msec
</span></span><span class="line"><span class="cl">subject,devuser,root,wheel,devuser,501,99,,0,0,192.168.1.10
</span></span><span class="line"><span class="cl">return,success,0
</span></span><span class="line"><span class="cl">trailer,133
</span></span></code></pre></div>
</details>


```bash
log show --last 1d
```
- 预期现象：应输出最近一天统一日志；输出通常较长。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Timestamp                       Thread     Type        Activity             PID
</span></span><span class="line"><span class="cl">2026-08-21 09:00:12.345001+0800 0x1a2b     Default     0x0                  111   launchd: Bootstrapping com.apple.sshd
</span></span><span class="line"><span class="cl">2026-08-21 09:00:13.456002+0800 0x3c4d     Default     0x0                  222   sshd: Server listening on 0.0.0.0 port 22.
</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-text" data-lang="text"><span class="line"><span class="cl">devuser   pts/1        192.168.1.55     Fri Aug 21 16:02   still logged in
</span></span><span class="line"><span class="cl">devuser   console      Fri Aug 21 09:00   still logged in
</span></span><span class="line"><span class="cl">reboot    ~            Fri Aug 21 08:58
</span></span><span class="line"><span class="cl">shutdown  ~            Thu Aug 20 19:30
</span></span></code></pre></div>
</details>



## 边界防护核查

```bash
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
```
- 预期现象：应显示应用防火墙开关状态。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Firewall is enabled. (State = 1)
</span></span></code></pre></div>
</details>


```bash
/usr/libexec/ApplicationFirewall/socketfilterfw --getblockall
```
- 预期现象：应显示是否启用 Block all incoming connections。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Block all incoming connections is disabled
</span></span></code></pre></div>
</details>


```bash
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
```
- 预期现象：应显示 stealth mode 是否启用。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Stealth mode enabled
</span></span></code></pre></div>
</details>


```bash
pfctl -s info
```
- 预期现象：启用 PF 时应显示包过滤器状态信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Status: Enabled for 5 days 03:12, Debug: Urgent
</span></span><span class="line"><span class="cl">State Table                          Total             Rate
</span></span><span class="line"><span class="cl">  current entries                        4
</span></span><span class="line"><span class="cl">Searches                         18234567         41.15/s
</span></span><span class="line"><span class="cl">Matches                             23451          0.05/s
</span></span><span class="line"><span class="cl">Invalid Packets                         0          0.00/s
</span></span></code></pre></div>
</details>


```bash
pfctl -sr
```
- 预期现象：存在 PF 规则时应输出规则集。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">scrub-anchor &#34;com.apple/*&#34; all fragment reassemble
</span></span><span class="line"><span class="cl">block drop in log proto tcp from any to any port = 23
</span></span><span class="line"><span class="cl">pass out on en0 all
</span></span></code></pre></div>
</details>



## 系统完整性与本地安全增强核查

```bash
csrutil status
```
- 预期现象：应显示 System Integrity Protection status: enabled 或 disabled。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">System Integrity Protection status: enabled.
</span></span></code></pre></div>
</details>


```bash
spctl --status
```
- 预期现象：应显示 assessments enabled 或 disabled，用于核查 Gatekeeper 状态。


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


```bash
fdesetup status
```
- 预期现象：应显示 FileVault 是否开启。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">FileVault is On.
</span></span></code></pre></div>
</details>



## 最小安装与补丁核查

```bash
softwareupdate --list
```
- 预期现象：应列出可用更新；若无更新，通常会提示未发现新软件。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Software Update found the following new or updated software:
</span></span><span class="line"><span class="cl">   * Label: macOS Ventura 13.6-22G120
</span></span><span class="line"><span class="cl">	Title: macOS Ventura 13.6, Size: 1832476KiB, Recommended: YES,
</span></span></code></pre></div>
</details>


```bash
softwareupdate --history
```
- 预期现象：应显示历史安装更新记录。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Display Name                                    Version     Date                Source
</span></span><span class="line"><span class="cl">macOS Ventura 13.5                              13.5        2026-07-28 10:12:34 Apple
</span></span><span class="line"><span class="cl">Safari                                          16.6        2026-07-28 10:05:01 Apple
</span></span><span class="line"><span class="cl">XProtectPlistDataUpdate                                     2026-08-18 04:30:00 Apple
</span></span></code></pre></div>
</details>


```bash
system_profiler SPApplicationsDataType
```
- 预期现象：应列出已安装应用信息；输出通常较长。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">    Terminal:
</span></span><span class="line"><span class="cl">      Version: 2.13
</span></span><span class="line"><span class="cl">      Obtained from: Identified Developer
</span></span><span class="line"><span class="cl">      Last Modified: 2026/8/1, 09:30
</span></span><span class="line"><span class="cl">      Kind: Intel
</span></span><span class="line"><span class="cl">      Signed by: Software Signing, Apple Code Signing Certification Authority...
</span></span></code></pre></div>
</details>



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

```bash
systemsetup -getusingnetworktime
```
- 预期现象：应显示是否使用网络时间同步。


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


```bash
systemsetup -getnetworktimeserver
```
- 预期现象：应显示当前网络时间服务器。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Network Time Server: time.internal.example.com
</span></span></code></pre></div>
</details>


```bash
systemsetup -gettimezone
```
- 预期现象：应显示当前时区。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Time Zone: Asia/Shanghai
</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-text" data-lang="text"><span class="line"><span class="cl">*/5 * * * * /usr/local/bin/healthcheck.sh &gt;&gt; ~/healthcheck.log 2&gt;&amp;1
</span></span></code></pre></div>
</details>


```bash
launchctl list
```
- 预期现象：应列出当前 launchd 管理的任务和服务；输出通常较长。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">PID	Status	Label
</span></span><span class="line"><span class="cl">-	0	com.apple.coreservices.uiagent
</span></span><span class="line"><span class="cl">512	0	com.apple.rapportd
</span></span><span class="line"><span class="cl">-	78	com.openssh.ssh-agent
</span></span></code></pre></div>
</details>



## 入侵防范核查

```bash
grep -E '^(PermitRootLogin|LoginGraceTime|MaxAuthTries|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-text" data-lang="text"><span class="line"><span class="cl">PermitRootLogin no
</span></span><span class="line"><span class="cl">LoginGraceTime 30
</span></span><span class="line"><span class="cl">MaxAuthTries 4
</span></span><span class="line"><span class="cl">AllowUsers devuser audituser
</span></span></code></pre></div>
</details>


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


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


```bash
log show --predicate 'eventMessage contains "Failed password"' --last 1d
```
- 预期现象：如有 SSH 失败登录事件，应在统一日志中出现匹配记录；无事件时可能为空。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">2026-08-21 14:22:31.102004+0800 0x5e6f Default 0x0 333 sshd: Failed password for invalid user admin from 203.0.113.77 port 51234 ssh2
</span></span><span class="line"><span class="cl">2026-08-21 14:22:38.210115+0800 0x5e70 Default 0x0 333 sshd: Failed password for invalid user admin from 203.0.113.77 port 51236 ssh2
</span></span></code></pre></div>
</details>



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

```bash
defaults read /Library/Preferences/com.apple.loginwindow LoginwindowText
```
- 预期现象：如配置了登录告警文本，应输出对应内容；未配置时可能报错或无输出。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">本系统仅限授权人员使用，操作将被审计。
</span></span></code></pre></div>
</details>


```bash
launchctl list | grep auditd
```
- 预期现象：启用审计时应显示 auditd 相关服务；未启用时可能无结果。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">245	0	com.apple.auditd
</span></span></code></pre></div>
</details>
