代理伺服器架設與維護
在FreeBSD下Socks5代理伺服器的安裝
socks5代理軟體是NEC公司製作的軟體。它實際上是一個商業版軟體。但是根據它的license檔所述,在非商業用途上使用這個軟體是免費的。在RFC-1928對socks5如何運行做了詳細的描述。這個標準就是NEC公司的“Ying-Da Lee”和HP及IBM公司制定的。在相應的測試中,NEC公司的這個socks5代理軟體的性能是較好的。雖然它有一些安全上的漏洞,但是使用freebsd的ports方式安裝,將會自動對源代碼打修正檔,修正安全隱患。
在/usr/ports/net/socks5下執行make;make install就能安裝好該程式。相應的檔將被安裝在下列目錄:
socks5可執行檔被放在/usr/local/bin
socks5.conf文件被放在/usr/local/etc下
bugtraq上曾經提到socks5的密碼驗證部分有安全隱患,因此沒有使用該功能。
Socks5代理的配置
Socks5代理的配置檔是socks5.conf,內容如下:
set
SOCKS5_MAXCHILD 8000
permit - -
192.168. - (1024,65535) -
permit - -
202.112.64.0/255.255.240.0 - (1024,65535) -
permit - -
211.71.80.0/255.255.240.0 - (1024,65535) ?C
在linux下配置socks5代理
簡介:
在linux下有各種各樣的代理程式可用,像最常用的Squid,是http/https代理,也能代理ftp請求,但它實際上 是個HTTP代理程式,不是ftp代理,但它能處理ftp代理請求,就像流覽器處理ftp請求一樣的方法工作,有些 程式只能設置成使用socks代理,像CuteFTP;還有像Wu-FTP只能設置成使用ftp代理(這裏的ftp代理是標準的 ftp代理,不是Squid所支援的那種方式);ICQ 2000能同時接受https代理和Socks代理;NetVampire能接受標準 的HTTP(GET/POST)代理(被Squid支援),和HTTP(CONNECT)代理(也被Squid支援)。
為了使用Cute-FTP,除了IP偽裝的方法外,就要使用Socks代理,現在讓我們來看看配置Socks5的過程:
1. 下載文件
從www.socks.nec.com下載最新版的socks5原始檔案到/tmp目錄下。
socks5-v1.0r11.tgz
2. 在防火牆上編譯並安裝(該防火牆應直接連至internet,是安裝了兩塊網卡的雙宿主機,假設內部網段為 192.168.0.0/24)
cd /tmp
tar -xvfz socks5-v1.0r11.tgz
cd /tmp/socks5-v1.0r11
./configure --with-threads
make
make install
3. 配置檔
/etc/socks5.conf
# /etc/socks5.conf
set SOCKS5_MAXCHILD 3
set SOCKS5_NOIDENT
set SOCKS5_TIMEOUT 5
interface 192.168.0. - eth1
auth 192.168.0. - u
permit u - 192.168.0. - - - jephe
permit u - 192.168.0. - - - jack
deny - - - - - - -
4. 配置檔/etc/socks5.passwd
# /etc/socks5.passwd
jephe password_of_jephe_is_here
jack password_of_jephe_is_here
5.開始測試
/usr/local/bin/socks5 -f -s
如果出現下面的資訊表示測試成功。
18210: Socks5 starting at Mon Dec 14 18:23:45
然後退出socks5,開始正式運行它在背景模式:
6. 正式運行
/usr/local/bin/socks5 -t -s 2> /var/log/socks5
7. 最後,加到/etc/rc.d/rc.local
echo "/usr/local/bin/socks5 -t -s 2> /var/log/socks5" >>
/etc/rc.d/rc.local
END.
通過SOCKS5上OICQ隱藏真實IP
1. 為什麼要隱藏IP
眾所周知,現在有很多工具或者修正檔都可以查到OICQ線上用戶的IP位址,再結合追捕還能知
道該IP所在的地理位置、主機資訊等等。我們主要關心的是自己真實IP地址一旦暴露,他人
就可以利用系統的漏洞,來攻擊我們的機器。
1.1 公司專線
公司裏面的專線用戶,本機一般都是用的內部IP位址,以192.168開頭,通過閘道/代理服務
器上網。這種情況下,阻止外部攻擊的任務就交給閘道了,個人機器相對比較安全。
1.2 家庭撥號
家庭用戶一旦通過PPP接入Internet,登上OICQ,如果本機設置的不夠安全,就很容易受到惡
意用戶的攻擊。如果能夠隱藏真實IP,就可以在上OICQ的同時,保證本機的安全。
2. 如何隱藏IP
本文所講的辦法是通過socks5代理來隱藏IP位元元元址。socks5支援UDP協定的proxy,這點正是OI
CQ所需要的(目前最新版本的OICQ支援HTTP代理,好像僅對付費員開放)。關於socks5協議
與應用層代理、NAT的區別,請參考其他文章,本文主要給出實踐的內容。
2.1 安裝socks5
我們用一台Red Hat
linux機器來作為socks5
server,它具有Internet
IP,為A.B.C.D。
下載:
socks5-v1.0r11.tgz
解壓後進入目錄:
./configure --with-threads
make
make install
啟動和停止的命令:
/usr/local/bin/socks5
/usr/local/bin/stopsocks
如果要開機啟動,請修改/etc/rc.d/rc.local。
2.2 配置socks5
策略:
* 允許Internet上任何機器的訪問
* 通過user/password來驗證
# vi /etc/socks5.conf
auth - - u
permit u - - - - - sinbad
interface - - A.B.C.D
第一行auth,u表示採用/user/password方式認證;
第二行permit,表示允許sinbad用戶使用本代理;
第三行interface,A.B.C.D是伺服器的外部IP,用實際的取代之。
# vi /etc/socks5.passwd
sinbad sinbad
這是密碼檔,每行一個用戶,用戶名和密碼用空格隔開。
本例中用戶sinbad的密碼是sinbad。
關於各個配置項的解釋請man
socks5.conf。
2.3 用戶端配置
用戶端是你安裝了OICQ的機器,要能夠直接訪問到socks5伺服器。
啟動OICQ,主功能表-〉系統參數-〉網路設置,選中“使用PROXY SOCKET5防火牆”,輸入服務
器的IP(A.B.C.D)、埠(默認1080埠)、用戶名(sinbad)和密碼(sinbad),測試成
功後重新啟動OICQ,請別人幫你看一下,IP應該為為A.B.C.D,這樣就達到隱藏自己真實IP的
目的了!
3. 安全問題
假設我們的伺服器以前做過安全配置、打過修正檔,是比較安全的。現在增加了一個socks5 p
roxy服務,就要注意了。
3.1 採用最新的版本
本文中提到的是v1.0r11版本,我也不確定是否為最新,在http://www.socks.nec.com上沒找
到最新的版本號。有個遠程溢出exploit(http://www.securiteam.com/exploits/6Q00R
AQ.html),對此版本不起作用。而且我們配置的user/password方式認證,這個exploit在不
知道用戶名和密碼的情況下是無法成功的。
3.2 制定訪問控制策略
如果只有很少人使用這個代理,那麼可以加上IP限制。比如我在家通過95963上網,就修改/
etc/socks5.conf中的permit行,加上211.100.這個網段的訪問權。
4. 參考資料
http://www.socks.nec.com/
http://www.securiteam.com/exploits/6Q00R
http://www.linuxaid.com.cn/engineer/bye2000/doc/socks.htm
在solaris9上配置socks5代理
首先下載編譯器gcc-2.95.3-pkg.zip(www.sunfreeware.com),解壓後得到安裝套件SFWgcc(這個編譯器是要SFW支持)的。安裝這個包:
#pkgadd –d SFWgcc
默認的安裝目錄是/opt/sfw,為正確使用這個編譯器而設置環境變數:
#PATH=/opt/sfw/bin:/usr/local/bin:/usr/ccs/bin:/usr/bin:/usr/ucb:/etc:.
#export
下載socks5安裝套件,只要下載在linux下能用的安裝套件即可,。將socks5安裝套件socks5-v1.0r11.tar.gz以bin方式上傳到RH9/solaris9伺服器上。
解壓縮套裝軟體
#gunzip socks5-v1.0r11.tar.gz
#tar xvf socks5-v1.0r11.tar
開始編譯
#cd socks5-v1.0r11
#./configure --with-threads
說明:可以根據需要參考readme來作配置,也可在安裝後進行配置(推薦這樣就可以了,搞了幾個別的配置出錯了,怕怕啊)
#make
#make install
建立/etc/socks5.conf(許多檔都自己建吧,裝完後我是沒有看到自動生成的),需要達到的目的:在局域網段(192.168.0)內提供代理服務,要求提供用戶名和密碼。要使用用戶驗證,首先要建立/etc/socks5.pwsswd文件。內容為:
# vi /etc/socks5.passwd
userA passwdA
userA代表用戶名。passwdA代表用戶userA的密碼
留言列表