分類: Linux

Squid 整合 Privoxy 與 Tor 架設匿名代理伺服器教學

這裡示範在 Ubuntu Linux 中安裝與整合 Squid、Privoxy 與 Tor,架設一個匿名的網頁代理伺服器。

Squid 是一套很普遍被使用的代理伺服器(proxy server),若想要讓 Squid 提供匿名上網的功能,可以在後端接上 Privoxy 與 Tor,透過洋蔥路由達到匿名上網的功能,以下是在一台 Ubuntu Linux 中安裝與整合 Squid、Privoxy 與 Tor 的步驟。


這是系統的架構圖:

Squid + Privoxy + Tor 系統架構

安裝 Tor 與 Privoxy 伺服器

請參考使用 Tor 與 Privoxy 架設匿名網頁代理伺服器的說明,將 Tor 與 Privoxy 伺服器架設起來,然後調整一下伺服器的設定,方便介接 Squid。

Tor 設定

Tor 一樣是使用預設的設定,所以不用特別更動,只要確認 Tor 服務有正常啟動即可。

service tor status

Privoxy 設定

設定與 Tor 整合的部分,讓所有的對外連線導向至 Tor 的連接埠,預設是本機的 9050

# 對外透過 Tor 連線
forward-socks5t   /               127.0.0.1:9050 .

傾聽的連接埠只需要開一個本機連接埠就夠了(保持預設狀態):

# 僅允許來自於本機的連線
listen-address  127.0.0.1:8118

設定好之後,重新啟動 Privoxy:

sudo service privoxy restart

安裝 Squid

使用 apt 安裝 Squid 伺服器:

sudo apt-get install squid

編輯 /etc/squid3/squid.conf 設定檔,調整一些設定。首先隱藏 Squid 的版本資訊:

# 在 HTTP 表頭與錯誤訊息頁面中隱藏 Squid 版本資訊
httpd_suppress_version_string on

刪除 X-Forwarded-For 這一個 HTTP 表頭欄位,讓使用者的 IP 位址不要暴露出去:

# 讓 HTTP 表頭的 X-Forwarded-For 不要顯示使用者的 IP 位址
forwarded_for delete

讓 FTP 的連線不要透過 Privoxy 與 Tor:

# 讓 FTP 直接連線
always_direct allow ftp

一般的連線全部都透過 Privoxy 與 Tor 匿名上網:

# 一般連線皆透過 Privoxy 與 Tor 上網
never_direct allow all

透過 cache_peer 連接至本機的 Privoxy:

# 連接至 Privoxy
cache_peer 127.0.0.1 parent 8118 7 no-query no-digest

設定允許使用 Squid 伺服器的的使用者來源:

# 設定允許的使用者來源
#http_access allow localhost
#http_access deny all
http_access allow all

測試

在瀏覽器中將代理伺服器設定為這裡的 Squid 伺服器。

Firefox 連覽器

開啟 Tor 的檢測網頁,測試看看瀏覽器是否真的有使用 Tor 上網:

Tor 檢測網頁

參考資料:squid-cache wikivpsgetHowtoForge

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: 資訊安全

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

3 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago