当前位置: 首页 > news >正文

macOS安全隐私最佳实践分析

1. 引言

随着数字世界的不断扩展,个人和组织面临的安全与隐私威胁也日益增加。作为专业的安全合规与隐私保护研究团队,Kaamel 对 macOS 系统的安全隐私现状进行了全面分析,并提出了一系列最佳实践建议,旨在帮助用户更好地保护自己的数字资产和个人隐私。

尽管 macOS 被广泛认为是一个相对安全的操作系统,但没有任何系统是完全不可攻破的。随着攻击手段的不断演进,用户需要采取积极主动的安全措施来保障自己的数字安全。本报告基于最新的安全研究和实践经验,提供了全面而实用的安全加固建议。

关于本指南

本指南适合各类 macOS 用户,包括个人用户、企业用户和安全专业人员。指南中的建议可根据实际需求和威胁模型进行调整和实施。无论您是普通用户还是安全专家,都能从中找到有价值的信息和最佳实践。

macOS 的安全基础架构强大,但系统的安全性最终取决于用户的安全意识和实践。通过学习和应用本指南中的最佳实践,用户可以显著提高其 macOS 系统的安全性和隐私保护水平。

2. 威胁建模

威胁建模是安全策略制定的基础,它帮助用户识别潜在威胁并制定相应的防护措施。不同用户面临的威胁各不相同,因此威胁模型也应当个性化定制。

2.1 识别资产

首先需要确定哪些资产需要保护。这可能包括:

  • 个人身份信息 (PII)
  • 财务数据和证书
  • 知识产权和敏感文档
  • 通信记录和内容
  • 访问凭证(密码、密钥等)

根据重要性,可将资产分为公开、敏感和机密三个级别,并针对不同级别制定不同的保护策略。

2.2 识别威胁主体

了解潜在的攻击者及其动机:

威胁主体可能的动机常见攻击手段
网络犯罪分子经济利益钓鱼攻击、勒索软件、恶意软件
数据收集企业用户数据营销遥测和行为数据收集
恶意内部人员窃取机密、破坏滥用访问权限
国家级攻击者定向监控高级持续性威胁(APT)、零日漏洞
普通窃贼获取设备或数据以转售物理盗窃

2.3 评估风险和制定防御策略

根据威胁主体的能力和您的防御需求,可以制定相应的防御策略。以下是一个示例风险评估表:

威胁可能性影响缓解措施
恶意软件感染中到高启用网关守护、使用可信来源应用、定期系统更新
设备被盗启用 FileVault 加密、设置固件密码、启用查找我的Mac
数据泄露限制应用权限、加密敏感数据、谨慎共享信息
钓鱼攻击安全意识培训、使用密码管理器、启用双因素验证
网络窃听中到高使用VPN、加密通信、避免不安全的Wi-Fi

威胁模型不是一成不变的

您的威胁模型应随着个人情况、职业变化和技术环境的演变而更新。建议定期(如每年)重新评估您的威胁模型,并相应调整安全措施。

3. 硬件安全

macOS 在 Apple 硬件上运行时提供最佳的安全保障。Apple Silicon 芯片相比 Intel 处理器提供了更强的硬件级安全保障。

3.1 硬件选择建议

  • 选择搭载 Apple Silicon 芯片的 Mac,它集成了 Secure Enclave 安全隔区,提供硬件级加密和密钥管理
  • 确保使用支持最新 macOS 版本的设备,过旧的设备可能无法获得安全更新
  • 选择适当的存储容量,以避免因空间不足而无法安装系统更新
  • 考虑隐私屏幕(Privacy Screen)等物理防护配件,防止视觉窥探

3.2 物理安全措施

即使是最安全的系统,也可能因物理访问被攻破。以下是保护设备物理安全的建议:

  • 在公共场所使用时,始终保持对设备的监视
  • 使用安全锁(Kensington 锁)固定设备,尤其是在公共或共享工作空间
  • 考虑使用防篡改标签或封条,以便检测设备是否被未授权开启
  • 当设备未使用时,将其存放在安全的位置
  • 使用 BusKill 或类似设备,在设备被物理分离时自动锁定或关机

Apple Silicon 安全优势

Apple Silicon 芯片集成了 Secure Enclave 安全隔区,该组件独立运行安全固件,负责管理密钥材料、生物识别数据和加密操作。即使操作系统被攻破,存储在 Secure Enclave 中的敏感数据也能保持安全。

3.3 外设安全

外接设备可能成为攻击载体,需要谨慎处理:

  • 优先使用 Apple 官方外设,它们会随系统自动更新固件
  • 对于蓝牙设备,使用支持 BLE Privacy 的产品,能够随机化蓝牙硬件地址以防止跟踪
  • 谨慎使用无线键盘和鼠标,它们可能被远程窃听
  • 警惕未知的 USB 设备,它们可能包含恶意软件或执行恶意操作(如 BadUSB 攻击)

# 查看已连接的 USB 设备
system_profiler SPUSBDataType

4. 系统安全

macOS 内置了多层安全机制,正确配置这些功能对于系统安全至关重要。

4.1 系统完整性保护 (SIP)

系统完整性保护是 macOS 的核心安全功能,它限制了 root 用户的权限,防止恶意软件修改系统文件。

推荐配置

确保 SIP 始终处于启用状态,可通过以下命令检查:

csrutil status

应返回:System Integrity Protection status: enabled.

风险警告

禁用 SIP 会显著降低系统安全性,使攻击者能够修改系统文件,注入恶意代码,甚至获得持久性访问权限。除非绝对必要,否则不应禁用 SIP。

4.2 网关守护 (Gatekeeper)

网关守护确保只有受信任的软件才能在 macOS 上运行。它检查应用程序是否来自可识别的开发者,以及是否经过 Apple 公证。

# 检查网关守护状态
spctl --status

建议将网关守护设置为最严格的安全级别,只允许运行从 App Store 下载的应用程序或经过 Apple 公证的应用程序。

4.3 锁定模式 (Lockdown Mode)

锁定模式是 macOS Ventura 及更高版本提供的高级安全特性,专为面临高级威胁的用户设计。它通过限制潜在的攻击面,显著提高了系统安全性。

锁定模式限制

启用锁定模式后,某些功能将被禁用或受限,包括:

  • 网页浏览中的某些复杂技术
  • 某些共享服务功能
  • 有线连接
  • 配置描述文件
  • 部分 FaceTime 功能

仅在面临高级定向威胁时才建议启用此模式。

4.4 自动更新

保持系统和应用程序的最新状态是安全的基本要求。macOS 提供了自动更新功能,可以确保系统及时获得安全补丁。

推荐设置:

  • 启用"自动检查更新"
  • 启用"自动下载新更新"
  • 启用"安装 macOS 更新"
  • 启用"自动安装应用程序更新"

# 检查软件更新设置
defaults read /Library/Preferences/com.apple.SoftwareUpdate

4.5 XProtect 与 恶意软件移除工具 (MRT)

macOS 内置了 XProtect(防病毒机制)和恶意软件移除工具,它们会自动更新并在后台运行,无需用户干预。

这些工具的优点:

  • 静默运行,不影响系统性能
  • 自动更新签名以检测新的恶意软件
  • 能够移除已知的恶意软件
  • 与系统深度集成,难以被恶意软件绕过

# 查看 XProtect 最后更新时间
ls -la /Library/Apple/System/Library/CoreServices/XProtect*

5. FileVault 磁盘加密

FileVault 提供全盘加密功能,可保护存储在 Mac 上的所有数据。当设备被盗或丢失时,FileVault 可以防止未授权用户访问您的数据。

5.1 FileVault 优势

  • 使用 AES-XTS 强加密算法
  • 保护所有用户数据,防止未授权访问
  • 对于 Apple Silicon Mac,默认启用并集成到安全启动中
  • 对性能影响极小(尤其是在 Apple Silicon 上)
  • 与系统休眠无缝集成,确保即使在休眠状态下数据也受保护

5.2 启用 FileVault

通过以下步骤启用 FileVault:

  1. 打开系统偏好设置
  2. 选择"隐私与安全性"
  3. 点击"FileVault"
  4. 点击"开启 FileVault"

或使用命令行:

sudo fdesetup enable

5.3 恢复密钥管理

启用 FileVault 时,系统会生成恢复密钥。管理此密钥有几种方式:

iCloud 存储(便捷但隐私性较低)

允许通过 Apple ID 重置密码,但可能降低安全性,因为 Apple 可理论上访问恢复密钥。

本地保存(推荐)

将恢复密钥写下并存储在安全的物理位置,如保险箱。提供最高安全性,但需妥善保管。

机构恢复密钥

企业环境中,可使用机构恢复密钥,允许 IT 管理员帮助用户恢复数据。

恢复密钥重要性

丢失恢复密钥可能导致永久性数据丢失。请妥善保管恢复密钥,并考虑创建多个副本存储在不同的安全位置。

5.4 验证 FileVault 状态

# 检查 FileVault 状态
sudo fdesetup status

# 查看加密进度(如正在加密)
diskutil apfs list | grep -A 15 "FileVault"

5.5 外部驱动器加密

对于外部驱动器和备份,也应考虑启用加密:

  • 使用 Disk Utility 创建加密的 APFS 或 Mac OS Extended (Journaled, Encrypted) 卷
  • 对 Time Machine 备份启用加密
  • 考虑使用 VeraCrypt 等第三方工具创建加密容器,尤其是需要跨平台使用时

6. 用户账户安全

适当的用户账户配置是系统安全的关键要素。macOS 支持多种用户类型和认证方式,正确配置这些选项可以显著提高系统安全性。

6.1 账户类型和权限分离

macOS 中主要有三种账户类型:

管理员账户

具有系统管理权限,可以安装软件和更改系统设置。

标准账户(推荐日常使用)

权限受限,无法修改系统关键部分,为日常使用提供更好的安全性。

访客账户

临时账户,会话结束后自动清除所有数据和设置。

最佳实践:使用标准账户进行日常活动,仅在需要时使用管理员账户进行系统更改。这种权限分离可以大幅降低恶意软件的影响范围。

# 将管理员账户降级为标准账户
sudo dscl . -delete /Groups/admin GroupMembership 用户名

6.2 认证与密码策略

强大的认证机制是账户安全的基石:

  • 使用强密码保护所有账户,推荐使用随机生成的长密码
  • 考虑使用密码管理器存储和生成密码
  • 对 Apple ID 启用双重认证
  • 定期更改密码,特别是有安全顾虑时
  • 为敏感操作设置不同的密码(如 FileVault、钥匙串)

6.3 自动登录和休眠设置

禁用自动登录

自动登录会绕过登录屏幕,允许任何人在重启后访问您的数据。应禁用此功能:

sudo defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser 0

配置屏幕锁定策略

设置屏幕保护程序密码和快速锁定时间:

# 启用屏幕保护密码
defaults write com.apple.screensaver askForPassword -int 1

# 设置密码延迟为0(立即要求)
defaults write com.apple.screensaver askForPasswordDelay -int 0

6.4 钥匙串安全

macOS 钥匙串用于安全存储密码和证书,应正确配置以确保最大安全性:

  • 为登录钥匙串使用不同于登录密码的密码
  • 定期审核存储在钥匙串中的凭证
  • 移除未使用的或过时的凭证
  • 考虑创建单独的钥匙串来存储高度敏感的凭证

Apple Silicon 安全认证

在 Apple Silicon Mac 上,用户认证数据(如 Touch ID 指纹)存储在 Secure Enclave 中,而不是主处理器可访问的内存中,这提供了额外的安全层。考虑使用 Touch ID 进行快速认证,同时保留强密码作为基础保护。

7. 网络安全

网络连接是最常见的攻击入口之一。配置强大的网络安全措施可以帮助保护您的数据在传输过程中的安全。

7.1 防火墙配置

macOS 包含多层防火墙保护:

应用层防火墙

控制应用程序的入站连接,可在系统偏好设置中启用。建议配置:

  • 启用防火墙
  • 启用隐身模式(不响应ICMP请求)
  • 使用"只允许必要的应用程序"模式
  • 阻止所有入站连接(如不需要提供服务)
PF(包过滤)防火墙

macOS包含强大的底层防火墙PF,可通过命令行进行高级配置:

# 启用PF防火墙
sudo pfctl -e

# 加载规则文件
sudo pfctl -f /etc/pf.conf

对于需要更强大网络保护的用户,可以考虑使用第三方防火墙工具如 Little Snitch、Lulu 或 Radio Silence,这些工具可以控制出站连接并提供更精细的规则配置。

7.2 DNS 安全

DNS 解析是网络安全的重要组成部分,可配置更安全的 DNS 选项:

  • 使用加密 DNS(DoH 或 DoT)提供商,如 Cloudflare (1.1.1.1)、Quad9 (9.9.9.9) 或 NextDNS
  • macOS 支持 DoH/DoT 配置文件,可从这些提供商的网站下载
  • 考虑使用 DNSCrypt 或本地 DNS 代理以增强隐私
  • 阻止已知广告和恶意软件域名,可以通过 hosts 文件或 DNS 层面实现

# 配置 DNS 设置示例
networksetup -setdnsservers Wi-Fi 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001

7.3 VPN 使用

VPN 可以加密网络流量,保护数据在不安全网络上的传输:

VPN 协议选择
  • 优先选择 WireGuard、IKEv2 或 OpenVPN
  • 避免使用老旧的 PPTP 协议(不安全)
  • 确保 VPN 提供商不记录活动日志
  • 考虑使用支持多跳或无日志的 VPN 服务
VPN 使用场景
  • 使用公共 Wi-Fi 时
  • 需要保护隐私或规避地理限制时
  • 远程访问公司网络
  • 在严格审查的网络环境中通信

VPN 限制

VPN 不是隐私的万能解决方案,它只加密 ISP 与 VPN 服务器之间的流量。流量离开 VPN 服务器后将不再受保护。此外,VPN 提供商可以看到您的流量,所以选择值得信任的提供商非常重要。

7.4 Wi-Fi 安全

无线网络连接需要特别注意:

  • 避免使用公共、不加密的 Wi-Fi 网络
  • 使用随机 MAC 地址功能减少跨网络跟踪
  • 禁用自动加入不常用的网络
  • 避免使用隐藏的 SSID 网络(反而可能导致更多隐私问题)
  • 不需要时关闭 Wi-Fi,减少攻击面

# 启用 Wi-Fi 接口的私有地址
sudo defaults write /Library/Preferences/com.apple.wifi.known-networks.plist "Private Wi-Fi Address" -bool true

7.5 蓝牙安全

蓝牙设备可能成为攻击向量,应注意:

  • 不需要时关闭蓝牙
  • 避免在公共场所配对设备
  • 定期清理已配对设备列表,移除不再使用的设备
  • 使用最新固件的蓝牙设备,以获取安全更新

8. 应用程序安全

应用程序是系统安全的关键组成部分,不安全的应用可能导致系统受损。macOS 提供了多层应用安全机制。

8.1 安全的应用来源

应根据信任级别选择应用来源:

最安全:Mac App Store

应用经过 Apple 审核,运行在沙盒中,由 Apple 签名和公证

较安全:经过公证的应用

直接从开发者网站下载,经过 Apple 公证但不一定在沙盒中运行

风险较高:未经公证的应用

需要通过右键点击并选择"打开"才能绕过 Gatekeeper,存在潜在安全风险

开发者身份验证

在从非 App Store 来源安装应用时,始终验证开发者身份和应用签名。可以通过以下命令检查应用签名:

codesign -dv --verbose=4 /Applications/应用名称.app

8.2 应用沙盒 (App Sandbox)

应用沙盒是 macOS 的关键安全功能,限制应用访问系统资源的能力:

  • App Store 应用必须运行在沙盒中,限制其访问文件系统和系统功能
  • 沙盒应用需要明确请求权限才能访问用户数据
  • 沙盒提供额外的安全层,即使应用被入侵,其影响也会被限制

检查应用是否使用沙盒:

codesign -d --entitlements :- /Applications/应用名称.app

8.3 权限管理

macOS 使用精细的权限模型控制应用访问敏感数据和功能:

  • 定期审核应用权限(在系统设置 > 隐私与安全性中)
  • 仅授予应用绝对必要的权限
  • 监控并限制对敏感数据(如联系人、日历、照片)的访问
  • 在不使用时撤销应用的位置权限
  • 限制后台应用访问麦克风和摄像头的能力

8.4 恶意软件防护

虽然 macOS 内置了基本保护,但可以采取其他措施防御恶意软件:

预防措施
  • 使用 XProtect(macOS 内置防病毒)
  • 安装前使用 VirusTotal 检查可疑应用
  • 避免使用破解软件或来自不明来源的应用
  • 定期检查启动项和运行中的进程
  • 谨慎对待要求管理员权限的应用
运行时监控
  • 考虑使用检测异常行为的安全工具(如 BlockBlock,监控持久化尝试)
  • 监控网络连接(如使用 Little Snitch)
  • 定期检查系统扩展和登录项
  • 监控系统日志中的异常活动

8.5 软件更新

保持应用程序更新是维护系统安全的重要一环:

  • 开启 App Store 应用自动更新
  • 使用应用内更新功能或包管理器(如 Homebrew)更新非 App Store 应用
  • 优先选择提供自动更新的应用
  • 删除不再使用的应用,减少攻击面
  • 关注安全公告,及时应用关键安全更新

Homebrew 安全提示

使用 Homebrew 安装软件时,可以采用以下安全措施:

  • 使用 brew doctor 检查安装问题
  • 安装前查看公式内容 brew cat 包名
  • 设置环境变量 HOMEBREW_NO_INSECURE_REDIRECT=1 避免不安全重定向
  • 考虑使用 brew analytics off 禁用分析数据收集

9. 浏览器安全

浏览器是与互联网交互的主要工具,也是最常见的攻击向量之一。强化浏览器安全对保护个人数据和系统安全至关重要。

9.1 浏览器选择与配置

macOS 上常用的浏览器各有优缺点:

浏览器优势局限性安全特性
Safari系统集成、能效优化、隐私保护扩展生态有限智能跟踪预防、私密浏览、锁定模式兼容
Firefox开源、强大的隐私功能、丰富扩展资源消耗相对较高增强型跟踪保护、容器标签、指纹防护
Chrome广泛兼容性、性能优秀、强大的开发工具隐私问题、资源密集沙盒架构、站点隔离、安全浏览
Brave内置广告和跟踪器拦截、隐私导向兼容性问题Tor集成、指纹防护、脚本拦截
Tor Browser最高隐私保护、网络匿名性性能降低、部分网站兼容性问题洋葱路由、NoScript、严格的隐私设置

推荐策略:为不同用途使用不同浏览器,例如:

  • Safari 用于一般浏览和 Apple 生态系统集成
  • Firefox 或 Brave 用于需要更高隐私的活动
  • Tor Browser 用于最高级别的匿名要求

9.2 浏览器扩展和设置

以下扩展和设置可提升浏览安全性:

推荐扩展
  • uBlock Origin (Firefox) / AdGuard (Safari) - 拦截广告和跟踪器
  • Privacy Badger - 学习识别和阻止跟踪器
  • HTTPS Everywhere - 强制使用加密连接
  • Bitwarden/1Password - 密码管理
  • ClearURLs - 移除追踪参数
  • Decentraleyes - 本地提供CDN资源
安全设置
  • 禁用第三方 cookies
  • 启用"请勿跟踪"
  • 禁用位置权限和通知
  • 限制JavaScript执行(如使用NoScript)
  • 阻止自动播放媒体
  • 配置内容拦截器

9.3 指纹识别与跟踪防护

现代浏览器可以通过多种方式被跟踪,即使不使用cookies:

  • Canvas 指纹 - 基于渲染图形的独特特征
  • WebRTC - 可能泄露真实IP地址
  • 字体和插件指纹
  • 时序攻击
  • 超级cookie和浏览器存储

防御措施:

  • 使用浏览器的抗指纹功能(如Firefox的增强型跟踪保护)
  • Safari在锁定模式下禁用许多能被用于指纹识别的API
  • 定期清除浏览数据
  • 使用多个浏览器配置文件分隔活动
  • 考虑使用Firefox的Multi-Account Containers分隔不同服务

浏览器扩展风险

浏览器扩展可能拥有广泛的权限,可访问敏感数据。仅安装必要的扩展,优先选择开源、信誉良好的开发者提供的扩展。定期审核已安装扩展及其权限。

9.4 安全浏览习惯

技术措施需要配合良好的浏览习惯:

  • 警惕钓鱼网站和社会工程学攻击
  • 检查网址,确保使用HTTPS连接
  • 不要在不可信网站输入敏感信息
  • 定期清理下载历史和缓存
  • 使用单独的私密浏览窗口访问敏感网站
  • 避免从不可信来源下载和运行软件
  • 对重要账户使用不同的强密码

10. 隐私保护

隐私保护不仅关乎个人数据安全,也是数字时代个人自由的基础。macOS 提供了多种保护隐私的功能和选项。

10.1 系统隐私设置

macOS 提供集中的隐私控制面板,可优化以下设置:

定位服务
  • 禁用不需要的应用位置访问
  • 关闭位置相关系统服务
  • 禁用"显著位置"功能
  • 定期检查并清除位置历史
分析与改进
  • 关闭"分享 Mac 分析"
  • 禁用"改进 Siri 和听写功能"
  • 禁用崩溃报告自动提交
  • 限制应用分析数据收集

命令行配置示例:

# 禁用诊断和使用数据
defaults write com.apple.security.analytics Opt-Out -bool true
defaults write com.apple.applicationaccess allowDiagnosticSubmission -bool false

10.2 应用权限和数据访问

对应用权限进行精细控制:

  • 定期审核应用权限,撤销不必要的访问
  • 使用"仅在使用应用时"选项限制持续访问
  • 监控对敏感资源(相机、麦克风、通讯录等)的访问
  • 审查第三方扩展和服务的权限
  • 注意检查"全盘访问"权限,此权限应严格限制

隐私指示器

macOS 使用指示器显示应用何时访问相机(绿点)或麦克风(橙点)。这些指示器显示在菜单栏中,帮助用户意识到敏感硬件何时被使用。定期查看隐私报告可发现异常访问模式。

10.3 Siri 和 Spotlight

语音助手和搜索功能可能收集大量数据:

  • 考虑禁用 Siri,或至少禁用"嘿 Siri"选项
  • 关闭 Siri 建议和学习功能
  • 限制 Spotlight 搜索范围和网络功能
  • 禁用 Spotlight 建议和位置信息

# 禁用 Spotlight 互联网搜索结果
defaults write com.apple.spotlight DisableSpotlightInternetResults -bool true

10.4 iCloud 和 Apple ID

Apple 服务在便捷性和隐私之间需要平衡:

  • 选择性启用 iCloud 服务,只同步必要数据
  • 启用 iCloud 高级数据保护以端到端加密更多数据类别
  • 了解哪些数据默认未加密(如 iCloud 邮件)
  • 考虑本地备份而非 iCloud 备份
  • 审核第三方应用对 iCloud 数据的访问
  • 开启双重认证保护 Apple ID

10.5 元数据和痕迹

系统和应用会产生各种元数据,可能泄露使用习惯:

  • 定期清理 QuickLook 缓存(可能存储加密卷的文件预览)
  • 管理下载文件的元数据属性(xattr)
  • 清理最近使用的项目列表
  • 处理文档版本历史
  • 留意第三方应用生成的日志和缓存文件

# 清理 QuickLook 缓存
qlmanage -r cache

# 清除文件元数据示例
xattr -c 文件路径

11. 备份与恢复

有效的备份策略是数据安全的最后一道防线。当所有防护措施失效时,可靠的备份可以帮助您恢复重要数据。

11.1 备份策略

遵循 3-2-1 备份原则:

3-2-1 备份原则: 保留至少 3 份数据副本,存储在 2 种不同介质上,并将 1 份副本保存在异地。

本地备份选项
  • Time Machine - macOS 内置备份工具,简单易用
  • 克隆备份 - 使用 Carbon Copy Cloner 或 SuperDuper! 创建可启动副本
  • 手动备份 - 将重要文件复制到外部存储设备
  • 加密卷备份 - 使用 Disk Utility 创建加密备份卷
远程备份选项
  • iCloud - 便捷但空间有限,适合关键文档
  • 加密云存储 - Tresorit、Sync.com 等提供端到端加密
  • 自托管解决方案 - NextCloud、ownCloud 等
  • 专业备份服务 - Backblaze、Arq + 云存储等

11.2 Time Machine 安全配置

Time Machine 是 macOS 的内置备份工具,需要安全配置:

  • 始终对 Time Machine 备份启用加密
  • 使用与登录密码不同的强密码
  • 考虑排除敏感或临时文件夹(如下载文件夹)
  • 定期验证备份可恢复性
  • 使用多个轮换的备份目标
  • 将备份驱动器物理安全存放

# 查看 Time Machine 排除项
sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'"

# 添加排除项
sudo tmutil addexclusion /path/to/exclude

11.3 备份加密

备份数据必须加密,尤其是存储在离线或云端位置时:

  • 使用 FileVault 或磁盘工具加密整个备份卷
  • 手动备份时,考虑使用加密存档(如加密 ZIP 或 DMG)
  • 云备份前在本地加密数据,而不是依赖服务提供商加密
  • 安全存储加密密钥和恢复密钥
  • 考虑使用 GPG 等工具对关键文件进行额外加密

# 创建加密 DMG 文件
hdiutil create -encryption -stdinpass -srcfolder /path/to/files -volname "Backup" backup.dmg

密码管理

备份加密密码丢失可能导致永久性数据丢失。确保安全存储备份密码,并考虑使用密码管理器或安全物理存储方式(如保险箱)保存纸质副本。

11.4 恢复计划

事先准备恢复计划,不要等到数据丢失时才临时应对:

  • 创建可启动的恢复媒介(U盘或外部驱动器)
  • 定期测试恢复过程,确保备份可用
  • 记录重要配置和设置以便快速重建系统
  • 保存必要软件的安装文件或购买记录
  • 建立明确的灾难恢复流程,包括责任和步骤
  • 考虑敏感数据永久删除的场景和工具

# 创建启动盘
sudo /Applications/Install\ macOS\ [版本].app/Contents/Resources/createinstallmedia --volume /Volumes/[U盘名称]

12. 结论

本报告全面分析了 macOS 系统的安全与隐私风险,并提供了实用的最佳实践建议。主要发现和建议总结如下:

12.1 关键发现

  • 虽然 macOS 整体安全性较高,但仍存在多种潜在风险和攻击向量
  • 系统默认配置通常优先考虑便捷性而非最佳安全性
  • 用户行为和配置选择对系统整体安全性有重大影响
  • 硬件、系统、应用和网络层面都需要综合考虑安全措施
  • 无完美解决方案,安全与隐私保护需要根据个人威胁模型定制

12.2 核心安全原则

最小权限原则

只授予应用和服务执行任务所需的最小权限

纵深防御

在多个层面实施安全措施,不依赖单一保护机制

持续改进

定期更新系统和安全措施,关注新的威胁和解决方案

12.3 优先级建议

如果您只能实施有限的安全措施,请优先考虑:

  1. 保持系统和应用程序及时更新
  2. 启用 FileVault 全盘加密
  3. 使用强密码和多因素认证
  4. 采用标准用户账户进行日常使用
  5. 建立加密备份策略
  6. 谨慎管理应用权限
  7. 在公共网络使用 VPN
  8. 安装软件时仅使用可信来源
  9. 使用隐私保护浏览器扩展
  10. 定期审核隐私设置和权限

12.4 未来发展

macOS 安全与隐私领域正在不断发展:

  • Apple 持续强化 macOS 安全架构,特别是 Apple Silicon 平台
  • 锁定模式等高级安全功能将继续发展和完善
  • 对抗新兴威胁如量子计算对加密的影响
  • 隐私法规发展推动更强的用户数据保护
  • 更强大的系统完整性和软件认证机制

最终建议

安全和隐私保护是一个持续过程,而非一次性任务。创建适合您具体情况的威胁模型,实施相应的安全措施,并随着威胁环境和个人需求的变化定期更新您的安全策略。通过平衡安全性、隐私和可用性,您可以在享受 macOS 便捷功能的同时保护自己的数字资产和个人隐私。

相关文章:

macOS安全隐私最佳实践分析

1. 引言 随着数字世界的不断扩展,个人和组织面临的安全与隐私威胁也日益增加。作为专业的安全合规与隐私保护研究团队,Kaamel 对 macOS 系统的安全隐私现状进行了全面分析,并提出了一系列最佳实践建议,旨在帮助用户更好地保护自己…...

WeakSet:JavaScript 中容易被忽视的“弱集合”

目录 WeakSet 详解 基本概念 创建 WeakSet WeakSet 的主要方法 WeakSet 的特性 WeakSet 的使用场景 1. 避免内存泄漏(DOM 元素管理) 2. 临时缓存系统 3. 私有属性模拟 4. 防止循环引用 与其他数据结构的对比 1. WeakSet 没有实例属性 2. We…...

Discuz!+DeepSeek:传统论坛的智能化蜕变之路

在数字化浪潮中,社区论坛作为互联网早期的产物,面临着功能单一、用户体验滞后的发展瓶颈。虎跃办公(https://www.huyueapp.com)通过Discuz!搭建的网址导航网站,在集成DeepSeek的AI能力后,成功实现了从工具导…...

vs2017中,将CMake构建目录设置在项目目录下

修改CMake构建目录位置 在Visual Studio 2017中,可以通过以下方法将CMake构建目录设置在项目目录下: 修改CMakeSettings.json文件‌: 在VS中生成CMakeSettings.json文件(通过点击编译平台按钮如x64-Debug或x64-Release&#xf…...

跨平台.NET 版本 使用率排名

截至2025年4月,跨平台.NET版本的安装使用率排名主要基于版本支持状态、性能优化和企业迁移趋势。以下是结合微软官方政策、行业动态及开发者行为分析的综合结论: 1. .NET 8 (LTS) 占据主导地位 支持周期:作为2023年11月发布的长期支持&…...

基于无障碍跳过广告-基于节点跳过广告

2025-04-22 一些广告的关闭是叉图标,获取到的信息也没什么特征,这种广告怎么跳过 用autojs无障碍的节点定位ui控件位置,点击...

STM32提高篇: WIFI通讯

STM32提高篇: WIFI通讯 一.WIFI通讯介绍1.WiFi的频段5G和2.4G2.WiFi的信道二.ESP32固件烧录及驱动1.一个AT指令响应的完成2.测试其他指令三.Wifi功能初始化和TCP通讯四.volatile关键字一.WIFI通讯介绍 Wi-Fi,又称“无线网路”,是Wi-Fi联盟的商标,一个基于IEEE 802.11标准的…...

资本怪兽贝莱德投资数据分析报告-独家

贝莱德概述 贝莱德集团是全球最大的资产管理公司,其管理的资产规模达到了11.6万亿美元(约合人民币84.18万亿元),这个数字相当于中国2024年GDP的62%。贝莱德通过收购李嘉诚旗下的43个全球港口资产,将在全球运营约100个港口。此外,…...

操作系统-用户级-内核级线程

一、先明确几个基本概念: 用户级线程(ULT): 完全由用户空间的线程库(如 pthread 或 green threads)管理。 操作系统内核对此一无所知。 切换线程时,不需要进入内核,效率高&#xf…...

【深度学习】LoRA:低秩适应性微调技术详解

LoRA:低秩适应性微调技术详解 文章目录 LoRA:低秩适应性微调技术详解1. 引言2. LoRA原理解析2.1 核心思想2.2 数学表达 3. LoRA实现细节3.1 适用层选择3.2 缩放因子3.3 初始化策略 4. 代码实现示例5. LoRA在实际应用中的优势5.1 内存效率5.2 训练速度5.3…...

研发效率破局之道阅读总结(3)工程优化

研发效率破局之道阅读总结(3)工程优化 Author: Once Day Date: 2025年4月22日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 程序的艺术_Once-Day…...

树莓派超全系列教程文档--(40)树莓派config.txt旧版GPIO控制、超频及条件过滤器

树莓派config.txt旧版GPIO控制、超频及条件过滤器 传统GPIO控制enable_jtag_gpio 传统超频选项超频never_over_voltagedisable_auto_turbo 遗留条件过滤器The [HDMI:*] 过滤器 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 传统GPIO控制 &…...

网络基础概念(下)

网络基础概念(上)https://blog.csdn.net/Small_entreprene/article/details/147261091?sharetypeblogdetail&sharerId147261091&sharereferPC&sharesourceSmall_entreprene&sharefrommp_from_link 网络传输的基本流程 局域网网络传输流…...

DES、3DES、SM4 加密算法简介

1. DES(Data Encryption Standard) 设计时间:1975 年(IBM 开发,1977 年被 NIST 采纳为美国联邦标准)。 密钥长度:64 位(实际有效 56 位 8 位校验)。 分组长度&#xf…...

如何在 Ansys Icepak AEDT 中设置多个流程以加快仿真速度?

您将学习如何进行正确的设置,以通过增加进程数量来加快仿真速度。 Ansys Icepak AEDT 需要与 Icepak Classic 不同的设置。 要设置要在 Ansys Icepak AEDT 中使用的进程数,您需要按照以下步骤作: 首先,转到“工具 - >选项 - …...

【MCP Node.js SDK 全栈进阶指南】初级篇(2):MCP基础服务器开发

引言 在上一篇文章中,我们详细介绍了MCP开发环境的搭建。本文作为MCP TypeScript-SDK系列的第二篇,将深入探讨MCP基础服务器开发的核心内容,包括服务器创建与生命周期管理、McpServer与Server的区别与选择、各种配置选项的详解,以及基本启动与调试技巧。通过本文学习,你将…...

客户端 AI 与服务器端 AI 的深度比较及实践建议?

1. 性能与延迟 ​​客户端AI(In-Browser AI)​​: // 使用TensorFlow.js在浏览器中进行图像分类 const model await tf.loadLayersModel(local-model/model.json);// 实时摄像头处理 const video document.getElementById(webcam); const…...

【(保姆级教程)Ubuntu24.10下部署Dify】

目录 一、下载Ubuntu二、安装Ubuntu三、在 Ubuntu 上安装 Docker Engine1、设置Docker的apt仓库2、安装 Docker 包 四、在 Ubuntu 上安装 Docker Desktop1、先决条件2、下载最新 DEB 包3、安装软件包4、启动 Docker Desktop5、检查版本 五、克隆 Dify 代码仓库六、启动 Dify1、…...

计算机组成原理---总线系统的详细概述

1.数据传输的两个方式 串行传输和并行传输:串行传输和并行传输 串行:适合的就是传输的距离比较远,这个对应的成本也是比较低的; 并行:传输的效率很高,因为分成了不同的线路,这个适合的就是短距离…...

C++静态与动态联编区别解析

在 C++ 中,静态联编(Static Binding)和动态联编(Dynamic Binding)是两种不同的函数调用绑定机制,核心区别在于确定函数调用的时机和多态性的支持。以下是详细解释: 1. 静态联编(Static Binding) 定义:在编译阶段确定函数调用与具体实现的关系。特点: 由编译器直接确…...

Linux 一些常用的命令记录

常见命令如下 查询内容 find / -name 例如:查找 libstdc.so* find / -name "libstdc.so*" 查询运行环境:/lib64/libstdc.so.6 内容是可以修改为其他的 strings /lib64/libstdc.so.6 | grep CXXABI创建软连接(创建超链接&…...

面试题-链表(1)

1.移除链表元素: 203. 移除链表元素 - 力扣(LeetCode) 删除一个链表中的相同元素。 我这里用的方法只需要将链表遍历一次,就可以删除所有节点。 前后指针法: public ListNode removeElements(ListNode head, int val) { //先判…...

【云馨AI-大模型】Dify 1.2.0:极速集成 SearXNG,畅享智能联网搜索新境界,一键脚本轻松部署SearXNG

SearXNG部署目录创建一键脚本SearXNG访问 Dify SearXNG插件安装SearXNG 插件安装进行授权工作流中进行验证工作流测试 SearXNG部署 目录创建 mkdir -p /data/yunxinai && cd /data/yunxinai 一键脚本 git clone https://gitcode.com/yunxinai/rag-sh.git 一键执行脚…...

Python 设计模式:访问者模式

1. 什么是访问者模式? 访问者模式是一种行为设计模式,它允许你在不改变对象结构的前提下,定义新的操作。通过将操作封装在访问者对象中,访问者模式使得你可以在不修改元素类的情况下,向元素类添加新的功能。 访问者模…...

dify工作流之text-2-e-sql,大模型写sql并执行

市面上有太多的text-to-sql工具,但是我这次突发灵感,为什么不做一个可以执行sql得text2sql呢。 dify的安装我不再赘述,我采用的是win10本地docker部署的方式。 mysql的安装也不再介绍,如有需要还请移步其他博主。 1.dify创建工…...

Neo4j 可观测性最佳实践

Neo4j 介绍 Neo4j 是一款领先的图数据库管理系统,采用图数据模型来表示和存储数据。它以节点、关系和属性的形式组织数据,节点代表实体,关系表示节点间的连接,属性则为节点和关系附加信息。Neo4j 使用 Cypher 查询语言&#xff0…...

【随手记】jupyter notebook绘制交互式图像

在 Jupyter Notebook 中 魔法命令特点%matplotlib notebook图形是交互式的,可缩放、旋转(适合 3D 图)%matplotlib inline图像静态显示,简单快速,适用于大多数2D图绘制 在 %matplotlib notebook 的 3D 图中&#xff0c…...

[大模型]AI Agent入门01——AI Agent概念梳理

什么是 Agent(智能体) 定义 Agent 是并能够感知环境,同时可以自主采取行动以实现特定目标的实体。 Agent(代理)是计算机科学中的一个概念,​​指一种置于某种环境中,能够感知环境中的信息并自…...

【锂电池剩余寿命预测】BiLSTM双向长短期记忆神经网络锂电池剩余寿命预测(Matlab源码)

目录 效果一览程序获取程序内容代码分享研究内容BiLSTM双向长短期记忆神经网络锂电池剩余寿命预测摘要关键词1. 引言1.1 研究背景1.2 研究现状与问题1.3 研究目的与意义2. 文献综述2.1 锂电池剩余寿命预测理论基础2.2 传统预测方法概述2.3 基于深度学习的预测方法进展3. BiLSTM…...

基于机器学习的房租影响因素分析系统

基于机器学习的房租影响因素分析系统 【包含内容】 【一】项目提供完整源代码及详细注释 【二】系统设计思路与实现说明 【三】数据可视化及预测分析的完整流程文档 【技术栈】 ①:系统环境:Python 3.8, Django 4.2 ②:开发环境&#…...

【c++深入系列】:万字string详解(附有sso优化版本的string模拟实现源码)

🔥 本文专栏:c 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录: 当你想放弃时,想想为什么当初坚持走到了这里 ★★★ 本文前置知识: 类和对象(上) 类和对…...

黑马点评redis改 part 4

Redis消息队列实现异步秒杀 一些额外话语:过来人提醒下,不要用stream,可以跳过不看,用专业的消息队列中间件,同时准备好消息队列的八股,否则简陋的stream很容易被问死。 异步持久化还存在消息丢失、消息重复…...

【Python Web开发】01-Socket网络编程01

文章目录 1.套接字(Socket)1.1 概念1.2 类型1.3 使用步骤 Python 的网络编程主要用于让不同的计算机或者程序之间进行数据交换和通信,就好像人与人之间打电话、发消息一样。 下面从几个关键方面通俗易懂地介绍一下: 1.套接字(Socket) 在 Python 网络编…...

『不废话』之Python管理工具uv快速入门

在『不废话』之大模型推理超参数解释『不废话』之动手学MCP 中提到了uv,很多朋友都说没用过,咨询有什么优势? 通常Python新手都会使用conda、miniconda来管理Python环境,稍微高阶水平的会使用pyenv、poetry、virtualenv等工具来管…...

2025年中国高端家电品牌市场分析:海尔Haier、美的Midea、格力GREE三大本土品牌合计占据70%市场份额

一、市场现状:需求升级与结构性增长并存 2024年,中国高端家电市场在复杂的经济环境中展现出“逆势增长”的韧性。尽管全球经济增速放缓,国内家电零售额同比微降0.4%至6957亿元,但高端家电却成为拉动市场的重要引擎。这一现象的背…...

【漫话机器学习系列】217.监督式深度学习的核心法则(Supervised Deep Learning Rule Of Thumb)

监督式深度学习的核心法则:你需要多少数据? 原图作者:Chris Albon 在进行深度学习项目时,我们常常面临一个核心问题:我到底需要多少训练数据?这是许多初学者甚至资深工程师都会困惑的问题。图中给出了一个非…...

OpenCV --- 图像预处理(六)

OpenCV — 图像预处理(六) 文章目录 OpenCV --- 图像预处理(六)十四,图像边缘检测14.1 高斯滤波14.2 计算图像的梯度与方向14.3 非极大值抑制14.4 双阈值筛选14.5 API和使用 十五,绘制图像轮廓15.1 什么是轮…...

WebRTC服务器Coturn服务器的管理平台功能

1、概述 开源的webrtc服务器提供管理平台功能,用户可以通过web页面进行访问配置coturn服务器,主要包括管理平台功能和telnet的管理功能,coturn相当于telnet服务器,可能通过配置来开启这两个功能,方便查看coturn服务器…...

华为网路设备学习-19 路由策略

一、 二、 注意: 当该节点匹配模式为permit下时,参考if else 当该节点匹配模式为deny下时: 1、该节点中的apply子语句不会执行。 2、如果满足所有判断(if-match)条件时,拒绝该节点并跳出(即不…...

理解RAG第六部分:有效的检索优化

在RAG系统中,识别相关上下文的检索器组件的性能与语言模型在生成有效响应方面的性能同样重要,甚至更为重要。因此,一些改进RAG系统的努力将重点放在优化检索过程上。 从检索方面提高RAG系统性能的一些常见方法。通过实施高级检索技术&#x…...

DOCA介绍

本文分为两个部分: DOCA及BlueField介绍如何运行DOCA应用,这里以DNS_Filter为例子做大致介绍。 DOCA及BlueField介绍: 现代企业数据中心是软件定义的、完全可编程的基础设施,旨在服务于跨云、核心和边缘环境的高度分布式应用工作…...

Hadoop----高可用搭建

目录标题 **什么是高可用?****⭐搭建的步骤**一.jdk**安装配置**- **要点**: 二.zookeeper**集群配置**- **要点** 三.Hadoop高可用的搭建- **要点**①环境变量的配置②配置文件的修改 ③内容分发④集群任务的初次启动 什么是高可用? 通过冗余设计 自动…...

2023蓝帽杯初赛内存取证-1

获取关于内存镜像文件的基本信息: vol.py -f memdump.mem imageinfo 得知Image local date and time : 2023-06-21 01:02:27 0800 Image local date and time是本地时区(中国——东八区) 答案:2023-06-21 01:02:27...

算法之回溯法

回溯法 回溯法定义与概念核心思想回溯法的一般框架伪代码表示C语言实现框架 回溯法的优化技巧剪枝策略实现剪枝的C语言示例记忆化搜索 案例分析N皇后问题子集和问题全排列问题寻路问题 回溯法的可视化理解决策树状态空间树回溯过程 回溯法与其他算法的比较回溯法与动态规划的区…...

Linux 内核中 cgroup(控制组) 作用是什么?

cgroup(Control Groups) 是 Linux 内核提供的一种机制,用于对 进程(或线程)组 进行资源限制、优先级分配、统计监控和任务控制。通过将进程分组管理,可以实现对 CPU、内存、磁盘 I/O、网络等系统资源的精细…...

Relay IR的核心数据结构

在 Apache TVM 的 Relay IR 中,基础节点(Var、Const、Call、Function 和 Expr)是构建计算图的核心数据结构。以下是对它们的详细解析,包括定义、作用、内部组成及相互关系: 1. Expr(表达式基类)…...

【MCP Node.js SDK 全栈进阶指南】初级篇(4):MCP工具开发基础

在MCP(模型上下文协议)的生态系统中,工具(Tools)是一种强大的扩展机制,允许AI模型执行各种操作并获取结果。本文将深入探讨MCP TypeScript-SDK中的工具开发基础,包括工具定义与参数验证、Zod模式详解与高级用法、异步工具处理与错误管理以及工具调用与结果格式化。通过学…...

3Blue1Brown/videos - 数学视频生成代码库

本文翻译整理自:https://github.com/3b1b/videos 文章目录 一、关于本项目相关链接资源关键功能特性 二、注意事项三、工作流1、核心原理2、Sublime 专用配置 四、快捷键功能说明 一、关于本项目 本项目包含用于生成 3Blue1Brown 数学解说视频的代码。 相关链接资源…...

vue3 + element-plus中el-drawer抽屉滚动条回到顶部

el-drawer抽屉滚动条回到顶部 <script setup lang"ts" name"PerformanceLogQuery"> import { ref, nextTick } from "vue"; ...... // 详情 import { performanceLogQueryByIdService } from "/api/performanceLog"; const onD…...

【inlining failed in call to always_inline ‘_mm_aesenclast_si128’】

gcc编译错误&#xff1a;inlining failed in call to always_inline ‘_mm_aesenclast_si128’: target specific option mismatch 消除方法&#xff1a; 假如是GCC&#xff0c;则CFLAGS添加如下编译选项&#xff1a;-maes 假如是cmake&#xff0c;参加如下脚本&#xff1a; …...