在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
inte易做图ce 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 1998 in normal mode
然后退出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
by Sinbad
Jun 4, 2001
http://sinbad.dhs.org
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。
下载:
http://matrix.tesi.dsi.unimi.it/pub/securitytools/socks5-v1.0r11.tar.gz
解压后进入目录:
./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
inte易做图ce - - A.B.C.D
第一行auth,u表示采用/user/password方式认证;
第二行permit,表示允许sinbad用户使用本代理;
第三行inte易做图ce,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/6Q00R0A0
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/6Q00R0A0AQ.html
http://www.zzzyk.com/engineer/bye2000/doc/socks.htm