我正在尝试设置几个“防白痴”浏览器沙箱,每个沙箱都允许一个用户登录到一个银行网站,但什么也不做。这是供家庭使用的。目的是用户不会意外浏览到该 firefox 会话中的其他站点,下载的任何内容都保持安全(加密),并且 firefox 本身的问题不会破坏此安全设置。
我决定使用 --private-cache --private=secure-homedir (已加密)围绕firefox尝试firejail,并使用带有附加规则的uMatrix firefox扩展:
* * doc inherit (blocks all direct 1st party sites)
mybank.com * * allow
这很好用。然而,在某一时刻,我不小心损坏了一部分 Firefox 配置文件,结果是即使 uMatrix 被破坏,firefox 仍然可以工作 - 允许 firefox 会话在任何地方浏览。不是建立信任的活动。
所以,我宁愿使用 firejail 的 --netfilter=iptablesfile,args... 来做 uMatrix 所做的事情,只是以一种更安全的方式。我最初将 iptables 文件配置为只允许出站 HTTPS 流量,并且只允许 mybank.com,允许 DNS 和相关的、已建立的其他流量。这可能会失败,因为 mybank.com 的网站使用 3rd 方网站(其中一些显然甚至不是 HTTPS)做“推荐人”的事情,没有它自己的网站就不是很有用。如何设置一个 iptables 文件以允许仅来自 mybank.com 的“引荐”流量?
我还尝试使用带有隐藏 --host-rules 选项的 chromium:
chromium --host-rules="MAP * ~NOTFOUND, EXCLUDE mybank.com, EXCLUDE *.mybank.com"
同样,这非常有效。但是,铬不像火狐那样火狱。最重要的是,--host-rules 选项没有记录,并且(像其他未记录的开关一样)可能会消失,并且当给定它不理解的命令行选项时,chromium 运行得很好(!)。这甚至比我原来的 firefox/uMatrix 设置更不安全。
我对任何人都可以提出的更多故障安全替代方案持开放态度......