当前位置:Linux教程 - 代理服务 - 代理服务 - 在linux下配置socks5代理

代理服务 - 在linux下配置socks5代理

在linux下配置socks5代理
2004-04-23 15:18 pm
来自:Linux文档
现载:Www.8s8s.coM
地址:无名

简介:

在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 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
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/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.linuxaid.com.cn/engineer/bye2000/doc/socks.htm