当前位置:操作系统 > Unix/Linux >>

在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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,