macOS防火墙仅拦截入站连接,不控制出站流量;需按系统版本路径启用,并手动配置未签名应用的入站权限,合理使用高级选项及终端命令管理规则。

macOS 自带防火墙只管“别人连你”,不管“你连别人”——它专用于拦截外部设备对 Mac 的入站连接,比如远程访问、文件共享请求或端口扫描,但不会阻止软件自己往外发数据。配置关键不是“打开就行”,而是开对位置、设对规则、避开默认陷阱。
找到并启用防火墙
路径取决于系统版本,别找错入口:
- Ventura(13.x)及更新系统:苹果菜单 →「系统设置」→ 左侧边栏「网络」→ 向下滚动点「防火墙」→ 点左下角锁图标,输管理员密码 → 点「打开防火墙」
- Monterey(12.x)及更早系统:苹果菜单 →「系统偏好设置」→「安全性与隐私」→ 切换到「防火墙」标签页 → 点锁解锁 → 点「打开防火墙」
添加或限制特定应用的入站权限
默认开启后,系统会自动放行已签名软件(如 Chrome、Zoom)和内建服务(如 AirDrop、文件共享),但未签名或开发中的程序仍会被拦。你需要手动干预:
- 点「防火墙选项…」→ 点「+」号 → 在访达中选 .app 包本体(例如
/Applications/WeChat.app),不能选别名或快捷方式 - 在列表中选中该应用 → 右侧下拉菜单设为「允许传入连接」或「阻止传入连接」
- 若某软件反复弹出“是否允许接收连接”,说明它签名无效或未公证,此时务必手动添加并明确选择策略
用好三个关键高级选项
这些勾选项直接影响防护效果和日常使用体验:
- 阻止所有传入连接:启用后,除极少数系统底层服务(如 mDNSResponder)外,一切外部连接都被拒。普通用户不建议开启,否则 AirDrop、屏幕共享、远程桌面都会失效
- 自动允许已下载的签名软件接收传入连接:默认开启,Apple 公证或可信 CA 签名的应用可免审通过,省去手动添加步骤,推荐保持启用
- 启用隐身模式:Mac 不再响应 ping、端口扫描等探测包,对外“不可见”,但不影响你主动上网、收邮件等出站行为
终端命令补位管理(进阶)
图形界面做不到的,终端能补上:
- 查看当前状态:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate - 强制阻止某个应用入站:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/WeChat.app --block - 列出所有已注册规则:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps
不复杂但容易忽略:防火墙开启后,状态栏不会自动显示提示,需靠终端命令或返回设置页确认是否真在运行;每装一个新网络服务类软件(比如本地开发服务器、远程控制工具),都应回到「防火墙选项」检查它是否已被自动放行或需要手动加白。


















