我想在 Linux 计算机 (Debian 10) 上阻止 Tor 浏览器。
更具体地说:我想阻止本地用户在这台机器上启动 Tor 浏览器。
系统上有一个用户帐户,并且该用户没有 root 访问权限(只有我有)。
不可能只卸载 Tor 浏览器,因为用户可以下载版本并运行它(即使没有 root 访问权限)。
我想实现这一目标的原因是:我在那台计算机上使用 dnsmasq 仅允许白名单域名。但使用 Tor 可以规避这一点。
我尝试以 root 身份运行此脚本:
#!/usr/bin/bash
while true; do
for i in "[T|t]or [B|b]rowser" "[F|f]irefox"; do
pkill -f "$i"
done
sleep 5
done
但这并不可靠。用户只需更改一些二进制文件名称,Tor 就会启动。
互联网搜索表明可以使用 nftables 来阻止 Tor,但没有大量可用材料,我不知道这是否真的可行。
答案1
我认为这不能可靠地实现,如果您正在与黑名单。我的意思是,例如,在您当前的设置中,这个人甚至不需要 Tor 浏览器。他们不妨通过更改设置来使用普通的旧版 Firefox基于 HTTPS 的 DNS。那么,你要做什么?阻止到目标端口 443 的 TCP 连接?如果您以某种方式仅阻止知名 DNS over HTTPS 提供商的域,那么您只是在驱使他们使用模糊且可能可疑的提供商,这些提供商将记录所有内容(至少可以这么说)。不建议。
但是,如果您正在使用精心设计的域列表并希望允许浏览这些域,并且仅那些域,那么以下是一个可能的解决方案:
- 安装sniproxy在网络中的计算机上(可以是虚拟机)
- 对于 sniproxy 配置,请使用您允许的域填充表格
- 让 sniproxy 在 LAN 上监听端口 80 和 443
- 将 DNS 配置为针对所有允许的域指向运行 sniproxy 的计算机的 IP 地址,针对其余域配置 0.0.0.0(或 localhost)
- 使用 iptables/nftables,阻止从目标计算机到目标端口 443 的任何 TCP 连接,除了与运行 sniproxy 的计算机的连接
我想,类似的事情也可以通过乌贼。