免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3297 | 回复: 1
打印 上一主题 下一主题

[安装配置] socks5代理的安装与配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-30 19:47 |只看该作者 |倒序浏览
socks5代理的安装与配置
jetsun@gmail.com,2004/09/30
-------------------------------------------------------------------------
如何让socks代理将日志写到一个单独的日志文件中
OS:IBM AIX 5.1
软件:socks5-v1.0r11
①、编译时加参数LOG_LOCAL2,使socks服务器在通过syslogd写日志时使用local2做为facility,LOG_LOCAL0到LOG_LOCAL7之间任意一个都可以使用,但不要和其它软件使用的相同就行。
configure --with-syslog-facility=LOG_LOCAL2 --with-threads=no
网上有些文章中说修改acconfig.sys中,将#undef SYSLOG_FAC改为#define SYSLOG_FAC LOG_LOCAL2,但我在aix上没有试成功。
②、修改/etc/syslog.conf,修改完后需要重新启动syslogd
local2.debug /var/log/socks5 这样就将debug用及更高级别的信息都写到了日志文件中。


注:socks5服务器的调试方法:
# /usr/local/bin/socks5 -f -s -d
-f表示在前台运行,不以daemon形式,-s表示将错误信息显示到控制台,而不是写到日志中,-d表示显示详细的调试信息
syslogd的调试方法,可以看到详细的信息,这样就知道syslog.conf是否配置地正确。
/usr/sbin/syslogd -d

-------------------------------------------------------------------------
如何设置socks代理的用户认证方案
方案一:
这是最基本的方法,使用/etc/socks5.passwd
文件里面的username与passwd以明文的形式存放,每行一个用户名,及对应的密码,以空格分隔。用户名与密码与unix系统中的用户名与密码无关。
方案二:
使用unix系统的用户名及密码
configure时加上参数--with-shadow-passwd就可以了。这种方法的缺点是,在使用socks时,系统的用户名和密码将以明文形式在网上传输,不利用整个unix系统的安全。
方案三:
修改socks5-v1.0r11的源程序,使它支持加密后的密码文件。这样,/etc/socks5.passwd中的密码就可以以密文形式存放
将lib\upwd.c的第236行
  1. if (strcmp(tmppasswd, passwd) != 0) {
复制代码
修改为
  1. if (strcmp(tmppasswd, crypt(passwd, tmppasswd)) != 0) {
复制代码

    这样socks5服务器在比较密码时就将用户提供的密码加密后与文件中以密文形式存放的进行比较了。方案三的目的是为了使socks5的用户密码在socks5.passwd中不以明文形式存放,增强点安全,但在socks认证过程中在网上传输时仍以明文形式。(这个方法参考自http://archive.socks.permeo.com/mail/socks5/msg01474.html)
    DES加密形式密码的产生方法,可以使用apache中的htpasswd这个程序生成。也可以自己编程用函数crypt生成
char*crypt(constchar*key,constchar*salt);
key是使用者的密码。salt是两个字,每个字可从[a-zA-Z0-9./]中选出来。加密后的密码的前两个字符就是所用的salt。(关于crypt,见http://www.linuxeden.com/edu/doctext.php?docid=840)

修改lib/upwd.c,
将219行由
  1. while ((*tmppasswd != '\n') && !isspace((unsigned char)*tmppasswd)) tmppasswd++;
复制代码

改为
  1. while ((*tmppasswd != '\n') && !(isspace((unsigned char)*tmppasswd)||(*tmppasswd==':'))) tmppasswd++;
复制代码

将229行由
  1. while ((*tmppasswd != '\n') && isspace((unsigned char)*tmppasswd)) tmppasswd++;
复制代码

改为
  1. while ((*tmppasswd != '\n') && isspace((unsigned char)*tmppasswd)||(*tmppasswd==':')) tmppasswd++;
复制代码

这样socks5服务器就支持htpasswd产生的密码文件了,(每行格式为username:password)。使它支持这种文件格式的好处就是可以使socks5和squid共用一个密码文件,并且可以再安装一个chpasswd-1.9.1,可以允许用户从web网页直接修改squid(htpasswd)的用户名和密码

-------------------------------------------------------------------------------------------
chpasswd-1.9.1(web cgi的htpasswd密码修改程序)安装方法
修改configure和language.h,使它支持Chinese.h(汉化自English.h)
编译时
./configure --enable-language=Chinese --enable-cgidir=/usr/local/apache/cgi-bin

安装完后,再配置
/usr/local/etc/chpasswd/chpasswd.conf
修改下面两行
password_file /usr/freeware/squid/etc/passwd
enable_log /usr/local/etc/chpasswd/chpasswd.log

设置一下cgi-bin/chpasswd.cgi及下面文件的用户和权限,保证可以执行,并且不影响系统安全
chown nobody.nobody passwd
chown nobody.nobody chpasswd.log
chmod 644 passwd
chmod 644 chpasswd.log

论坛徽章:
0
2 [报告]
发表于 2008-04-23 10:01 |只看该作者
这软件下载不到了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP