SuperAPI AI 工具集

macos-security-baseline

安全与审计

查看项目

更新于 10-16 09:49

技能介绍

用途:为承载 SSH 密钥、云会话与源码的开发者 Mac 加固基础安全,完成三项配置——FileVault、应用防火墙、sudo 的 Touch ID,且全程不削弱 macOS 防护。

主要能力与用法:

  1. FileVault:先用 fdesetup status 只读检查;若关闭,由用户自行在“系统设置 → 隐私与安全性 → FileVault”开启,选择 iCloud 托管或个人恢复密钥;恢复密钥须立即存入密码管理器,不得出现在会话中。不要执行 sudo fdesetup enable。加密显示“进行中”即视为完成。
  2. 应用防火墙:只读检查状态与策略,命令为 /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate 与 --getblockall;可在系统设置启用,或经同意执行 sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on。若“阻止所有传入”已开启,属于既有策略,应报告并保持。
  3. sudo Touch ID:仅编辑 /etc/pam.d/sudo_local(macOS Sonoma+,更新后不会被覆盖),绝不编辑 /etc/pam.d/sudo。先判断三种情况:已启用则不动;文件存在但未启用 pam_tid,则先按时间戳备份,再锚定 ^#auth 取消注释或追加该行;无文件则由模板生成。可用 sudo -k && sudo true 在新终端验证。

限制与注意:涉及 sudo 的命令须逐条征得同意;PAM 改动会影响 sudo 本身,须先备份并保留一个可用的 root 终端,验证后再关闭旧终端。绝不自动化削弱安全(Gatekeeper 例外、关闭防火墙、改 SIP),遇到此类要求应拒绝并说明。不适用于系统更新、SSH 密钥、Gatekeeper 拦截、Finder/Dock 调整等场景。iTerm2 需将“Allow sessions to survive logging out and back in”设为 No;tmux 中需第三方 pam_reattach;SSH 会话或 su shell 中 Touch ID 不可用,密码回退即可。验证脚本:sh "${CLAUDE_SKILL_DIR}/scripts/check.sh"。