跳轉到內容

如何保護您的網路匿名性和隱私/TOR VPN

來自華夏公益教科書

TOR 只發布了有關 Linux 中 VPN 模式 的說明,該模式稱為透明代理,透過 TOR 透明地路由所有網路流量。

不建議使用 Vidalia,因為它預設情況下沒有足夠的系統許可權。首先使用多種特定於發行版的其中一種方法安裝 TOR。預設情況下,TOR 作為守護程式執行,並具有 root 許可權。

例如,在 Ubuntu 中,將以下行新增到 /etc/tor/torrc

VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
DNSPort 53

這將指示 TOR 在埠 9040 上轉發重定向的流量,並在埠 53 上轉發域名伺服器請求。如果 TOR 對 DNS 埠的許可權不足,它將失敗。您可以透過省略 DNSPort 行來使用任何現有的 DNS 伺服器,但這不如 TOR 安全。

要重定向所有應用程式的網路流量,可以使用 Linux 防火牆 iptables

sudo iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner bob -m tcp -j REDIRECT --to-ports 9040
sudo iptables -t nat -A OUTPUT -p udp -m owner --uid-owner bob -m udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t filter -A OUTPUT -p tcp -m owner --uid-owner bob -m tcp --dport 9040 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp -m owner --uid-owner bob -m udp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -m owner --uid-owner bob -j DROP

除非您的 Linux 發行版非常舊,否則這將起作用。只需要第一個命令來測試 VPN 功能,將所有網路流量重定向到埠 9040,TOR 在那裡監聽。重定向僅適用於名為 bob 的使用者。重定向後,您需要重新啟動 TOR

/etc/init.d/tor restart

然後您可以以 bob 的身份登入並啟動瀏覽器,例如,並在任何代理測試站點上檢查您的外部 IP。

使用者 bob 可以是您自己。在這種情況下,您需要將 iptables 重置為先前狀態,以便在不需要 TOR VPN 時使用。另一種方法是在需要 TOR VPN 時以不同的使用者身份登入,其中重定向被設定為“永久”的。

重定向 DNS 埠 53 是可選的,但更安全。即使您 ISP 的觀察者也不會知道您訪問了哪些網站。其他防火牆規則會阻止其他流量,以防止洩漏。

這些規則可以儲存在 shell 指令碼中,並在需要 TOR VPN 時執行。系統重啟後將應用預設防火牆規則。要設定始終開啟 TOR VPN 的使用者,請將上述指令碼複製到(對於 Ubuntu)

/etc/init.d/bobsvpn

為了進一步防止 DNS 洩漏,在 Ubuntu 中,您需要更改 /etc/resolvconf/run/resovl.conf 中的檔案內容為

nameserver 127.0.0.1

這將強制所有使用者使用 TOR 作為 DNS 伺服器。更改網路設定後,有時您需要重新整理網路介面

sudo ifdown -a
sudo ifup -a

當然,TOR DNS 會更慢,而且您不想在不使用 TOR 時保留原始的 resolv.conf 檔案。

無法直接撤消防火牆規則。為了避免系統重啟,您可以在使用 TOR 之前儲存防火牆狀態

sudo iptables-save > rulefile

並在使用 TOR 後恢復規則

sudo iptables-restore < rulefile

可以向無法成為超級使用者的人授予許可權,並向指令碼授予超級使用者許可權而不詢問密碼。您只能透過以下方式編輯配置檔案

sudo visudo

如果您犯了任何錯誤,您可能需要以 root 身份在恢復模式下重啟才能糾正它。可以將安全指令碼授予不需要 su 密碼的許可權,方法是在其中新增以下行

bob ALL = NOPASSWD:/home/bob/bin/scriptX, /usr/bin/scriptY
華夏公益教科書