利用开源 Sandboxie-Plus 为 Windows 桌面程序创建隔离沙箱环境 守护隐私 保持系统干净整洁

利用开源 Sandboxie-Plus 为 Windows 桌面程序创建隔离沙箱环境 守护隐私 保持系统干净整洁

Sandboxie-Plus 是什么

官网:https://sandboxie-plus.com/
GitHub:https://github.com/sandboxie-plus

Sandboxie 是一款最早发布于 2004 年的老牌 Windows 沙盒软件,它可以创建一个隔离环境,在其中安装、运行程序而不影响沙盒外的文件。2020 年起,Sandboxie 转交开源社区维护。

Sandboxie-Plus 是开源社区基于 Sandboxie 开发的增强版本,拥有基于 Qt 的现代 UI 和开源后添加的所有新功能。Sandboxie-Plus 可以创建多个沙盒,可以为每个沙盒提供快照管理器、精细的文件系统控制、权限控制和网络访问控制。可以对沙盒内程序限制网络访问、限制资源访问(文件、注册表等)、限制提权、阻止访问剪贴板等。

Sandboxie-Plus 的第一个 1.0 稳定版发布于 2021 年 12 月 25 日,目前还在积极开发中。经笔者测试,目前的最新版 1.0.7 在 Windows 10 和 Windows 11 下都能正常使用,在 GitHub 上反馈的问题基本都能得到响应和修复。得益于热心的贡献者,UI 上的大部分元素都有中文翻译。

快速入门

Sandboxie-Plus (非便携模式) 默认将沙盘配置文件存放在 C:\Windows\Sandboxie.ini,备份此文件即可备份所有沙盘的配置。沙盘文件目录在 C:\Sandbox\[当前用户名]\[沙盘名] 中,在此路径下双击打开任何软件都将强制在沙盘中打开。沙盘中程序创建、修改的注册表位于 HKEY_USERS\Sandbox_[当前用户名]_[沙盘名] 中。当然,这些路径都可以在「设置-高级选项」中修改。

安装完成后还可以可选的在文件资源管理器右键菜单中添加「在沙盘中运行」项,方便使用。注意,这个文件必须要在你选择的沙盘中可读取,否则沙盘会报错。

在沙盘中运行程序与直接运行几乎没有区别,默认情况下在标题会有 [#] 标记,以及在鼠标移到标题时显示黄色边框,这些外观样式都可以在对应沙盘选项中修改。

⚠️警告:不要认为隔离是100%的,即使虚拟机都存在被逃逸的可能,追求完美请使用物理方法隔离,不要尝试在沙盘中测试病毒!

沙盒模板简单介绍

部分功能需要捐赠,详见下方「捐赠获得支持者凭证(Supporter Certificate)」

Sandboxie-Plus 默认的 DefaultBox 即为标准隔离沙盒。这个沙盒模板默认不限制对所有文件的读取,但沙盒内程序无法写入、修改、删除沙盒外的文件、注册表。在沙盒内创建的文件会被重定向到该沙盒目录中,修改文件会在沙盒目录中创建一个副本进行修改,删除文件会在沙盒目录中建立一个对应的0字节文件。

安全防护加固型沙盒是在标准隔离沙盒的基础上,加上勾选「常规选项-管理员权限-撤销管理员和 Power Users 用户组的权限」的沙盒类型。建议至少选择这一等级沙盒使用,如有需要还可以勾选「使应用程序认为自己已被提权运行」。

在安全防护加固型沙盒中尝试以管理员权限运行cmd.exe

数据保护型沙盒是在标准隔离沙盒的基础上,加上勾选「资源访问-资源访问权限策略-隐私模式,阻止对通用系统目录之外的所有文件位置和注册表的访问」的沙盒类型。

数据保护加固型沙盒即为安全防护加固型沙盒+数据保护型沙盒

数据保护型应用隔间应用隔间(无隔离防护)分别是在数据保护型沙盒标准隔离沙盒的基础上,加上勾选「高级选项-隔离-禁用安全隔离」的沙盒类型。这两个沙盒类型提高了兼容性,但请仅在不以安全为目的的场景使用。

实践建议

2022/02/21 更新: 修复隐私模式下安装程序无法选择安装位置,浏览文件夹框空白的问题

在隐私模式下,有一定概率遇到安装程序无法选择安装路径,浏览文件夹提示框完全空白的情况。这是因为用户文件夹被屏蔽,程序无法找到当前用户文件夹导致的,解决方法如下。

  • 在对应沙盒文件夹内 (C:\Sandbox\[当前用户名]\[沙盒名]\) 建立「user」文件夹。(即该目录下有文件夹 drive 和 user)
  • 在 user 文件夹内再建立一个「current」文件夹。
  • 继续在 current 文件夹内建立「Desktop」文件夹和「Documents」文件夹。
  • 重新打开安装程序,问题应该已经解决。

在沙盒中临时安装使用软件 维持系统干净整洁

偶尔需要用一次两次的软件你会选择直接安装在系统上吗?使用完毕之后你会立刻卸载还是由着它白白浪费硬盘空间呢?卸载之后你是否担心在系统各个角落还存在垃圾文件或垃圾注册表项呢?如果你有这些担心,那么这种用法就非常适合你了。

建议将默认沙盒设置为使用安全防护加固型,偶尔临时要用的软件可以使用这个沙盒安装、运行。需要安装的软件直接右键安装包-在沙盘中运行,就可以直接安装进沙盘中了。

使用完毕后可以直接在沙盒管理器中选择这个沙盒「右键-删除内容」一键清空,不会在系统留下任何垃圾文件、垃圾注册表项,非常适合轻度洁癖的 Windows 用户。

你还可以考虑通过以下操作增强安全性:

  • 「常规选项-访问限制-阻止访问剪贴板
  • 「常规选项-管理员权限-使应用程序认为自己已被提权运行(允许安全地运行安装程序)」(如果运行安装包报错请求的操作需要提升,则需要勾选此项)
  • 「高级选项-隐藏进程-不允许沙盒内的进程查看其他沙盒里运行的进程」
  • 在资源访问中将存放重要文件的目录访问权设置为封禁

在沙盒中安装使用流氓软件 阻止隐私被窃取

如果需要临时使用你不信任的软件怎么办?

建议建立一个使用数据保护加固型沙盒模板的沙盒,该模板默认打开隐私模式,沙盘进程将只能读取 C:\Windows\*、C:\Program Files\* 和注册表 HKLM 的部分内容,你可以通过在沙盘内打开文件资源管理器查看这个沙盘中能访问的文件。

注意,这个沙盘模板默认仍然允许访问 C:\Program Files 和 C:\Program Files (x86),你可以进一步在资源访问中配置:

  • 所有程序——仅沙盒内——C:\Program Files\*
  • 所有程序——仅沙盒内——C:\Program Files (x86)\*

「仅沙盒内」权限与上面提到的「封禁」权限的区别是,封禁会令沙盒内进程无法读写这个路径,而仅沙盒内让沙盘内进程仅可读写沙盘内这个路径的文件。即,沙盘内软件可以看到一个空的 Program Files 目录,并且可以安装软件进这个目录中,这样既保护了隐私,也不会影响沙盘内软件的安装。

你还可以考虑通过以下操作增强安全性:

  • 「常规选项-访问限制-阻止访问剪贴板
  • 「常规选项-管理员权限-使应用程序认为自己已被提权运行(允许安全地运行安装程序)」(如果运行安装包报错请求的操作需要提升,则需要勾选此项)
  • 「高级选项-隐藏进程-不允许沙盒内的进程查看其他沙盒里运行的进程」
  • 不需要联网请选择「联网限制-程序限制-不在列表中的程序的网络访问权限:阻止访问」将联网限制切换为白名单模式

注意:因为隐私模式屏蔽了大部分目录的访问权限,如果尝试用该沙盒打开存放在无访问权限目录的程序会报错,你可以临时创建一个空文件夹设置访问权限为「开放」在这之中运行。

QQ和微信怎么办?

众所周知,有一些软件是我们不愿意安装却又不得不装的,某些软件扫描浏览器历史记录的新闻还历历在目,因为使用频率高,虚拟机等解决方案都非常不便,而沙盒就是一个平衡了便利性和安全性的解决方案。

经笔者测试,最新版 PC 微信可以直接在沙盒中打开安装包安装到沙盒环境下,大部分功能包括聊天、朋友圈、查看公众号文章都可以正常使用,但在严格限制之下小程序可能无法运行。

而 QQ 众所周知会安装驱动,还有臭名昭著的 QQProtect.exe。沙盒内无法安装驱动,安装程序若尝试安装驱动会直接失败。笔者实测发现最新版 PC QQ 直接安装会因为无法安装 QQProtect 而安装失败,但通过以下步骤可以绕过:

  1. (2022/02/21 更新: 开始安装前建议参照上面的「修复隐私模式下安装程序无法选择安装位置,浏览文件夹框空白的问题」小节创建 Desktop 和 Documents 文件夹)
  2. 启动隐私模式的沙盒需要在当前用户的「文档」目录创建一个文件夹供存放消息记录等数据,例如 C:\Users\[当前用户名]\Documents\Tencent
  3. 在沙盒的资源访问规则设置中将上面的路径配置为「完全开放」权限。
  4. 在沙盒的资源访问规则再添加一条:程序:QQProtect.exe 访问:封禁 路径:*
  5. 第一次在沙盒中打开 PC QQ 安装包可能会提示安装路径无效,也无法手动输入、选择路径,关掉安装程序,在沙盒管理器中选择终止所有程序,不要清空该沙盒,重新再打开安装包即可获得正确默认安装路径。
  6. 点击立即安装,安装程序会报错无法正常安装而终止。
  7. 通过虚拟机安装或其他方法找到安装好的 QQProtect 目录 C:\Program Files (x86)\Common Files\Tencent\QQProtect
  8. 终止沙盒内所有程序后,放到该沙盒目录中对应位置 C:\Sandbox\[当前用户名]\[沙盒名]\drive\C\Program Files (x86)\Common Files\Tencent\QQProtect
  9. 重新启动安装包,即可安装成功。
  10. 注意!此时沙盒会不断报错 QQProtect.exe 初始化失败,QQProtect 进程并不会被运行起来,但 QQ 仍然能正常启动。
  11. 如果 QQ 没有将个人文件夹存放到第一条创建的路径,登录 QQ 后在设置里修改个人文件夹保存位置为自定义,选择正确位置即可。
  12. 还可以在 QQ 启动后在沙盒管理器中右键 QQ.exe 选择创建快捷方式方便使用。

隐私模式可能会导致沙盒内弹出回收站已损坏的提示,按是无视即可。还可以在沙盒选项的停止行为中将 QQ.exe 添加为引导进程,这样退出 QQ 后沙盒会自动终止该沙盒内所有进程。如果有多开需求,需要选中「沙盒选项-高级选项-隐藏进程-不允许沙盒内的进程查看其他沙盒里运行的进程」。这类需要长期使用的沙盒你还可以勾选「常规选项-文件选项-保护此沙盒免受删除或清空」以防止误操作。

根据笔者一段时间的测试,QQ 在运行过程中沙盒偶尔会弹出通信失败的错误,似乎并没有什么影响,可以直接关闭这种类型通知。另外,QQ 在沙盒内运行时间超过 24 小时后还有一定概率报内存不足闪退,微信也有小概率报环境异常自动退出登录,但问题并不频繁,影响不大,重新打开即可。因不能保证 QQ 和微信升级后还能在沙盒中正常使用,建议关闭自动升级,升级之前建议先备份当前版本。

如果你在 QQ 或微信经常需要接收或发送文件,为方便使用建议将个人数据文件夹存放到沙盒之外,也方便备份聊天记录等,笔者的配置如下图。

将所有不信任的软件都丢进沙盒 打造安全堡垒

对于高度洁癖用户,可以选择将所有你不信任的软件都放入一个单独的沙盒中,不需要网络的程序直接禁止联网,不需要访问其他文件的程序打开隐私模式,利用 Sandboxie-Plus 提供的各项自定义配置功能提高对软件的控制能力,想卸载时还可以一键清空零残留,维护操作系统长治久安。

捐赠获得支持者凭证(Supporter Certificate)

Sandboxie-Plus 的隐私模式需要激活支持者凭证才能使用,虽然你也可以通过手动配置资源访问权限规则获得类似的效果或者自行从源代码编译,但曾只有 3 人捐助的 Log4j 前车之鉴在前,白嫖开源项目后果严重,为支持 Sandboxie-Plus 的长期维护开发工作,建议所有有能力的用户通过以下说明支持开发者,获得 Supporter Certificate。

根据开发者在 GitHub 上的说明,直接购买证书可以立即获得可用证书,最低价格为 €10,支持 PayPal 付款,关于有效期可以参照不同证书种类说明,在 Patreon 成为长期赞助人需要联系开发者手动发送证书,为项目做出贡献(如翻译、更新文档、编写指南)也可以获得证书。就普通用户而言直接购买 €10 的证书是最方便快捷的选择,付款完成后可以立刻收到凭证,不限制激活设备数、有效期至少 1 年以上,笔者购买的也是这一证书类型。

联系我们

联系电话

4000-640-466

联系邮箱

service@f-li.cn

办公地址

上海黄浦区外滩源1号

谢谢,您的信息已成功发送。
请填写信息。