ss5 socks server教程(一):rpm安装包的制作 今晚你回家吃饭吗?
一月 11

如果你只是要搞个自己玩的socks服务器,ss5的配置还是相对简单的:简单到甚至完全不修改配置,直接一个service ss5 start,你就得到了一个可以用的socks服务器。

只是如果你敢把这样不经过配置的socks服务器挂到网络上的话,估计不出2个小时,就会有一票的人扫描到你的socks服务。考虑到socks服务可以直接代理外网的用户到内部网络的访问,这可不仅仅是被占用带宽的问题,直接的,你的网络就门洞大开了,安全有问题、后果很严重。

那么,先总结一下我的需求吧:

  • 所有登陆到Ss5服务的用户需要通过身份验证
  • 一部分用户允许其通过Ss5访问的资源不受限制
  • 另外一部分的合法用户用户限制每用户可使用的带宽

这个要求应该算是普遍的要求了,那么,根据这部分需求,我们来修改一下ss5的配置,按照之前文章编译出来的Ss5的rpm安装之后,Ss5的配置文件主要都放在/etc/opt/ss5目录底下,我们这个简单配置只需要修改这个目录之下的相关文件即可。

  • 所有登陆到Ss5服务的用户需要通过身份验证:
    1. 因为socks v4协议不支持用户认证,所以,首先我们得取消ss5的Socks v4协议支持。Ss5目前还不支持在配置文件内直接取消对Socks V4协议的支持,所以我们只好直接把Ss5的Socks V4模块干掉,这样,Ss5服务启动之后就只有支持Socks V5协议了:
      1. mv /usr/lib/ss5/mod_socks4.so /usr/lib/ss5/mod_socks4.so.bk
    2. 配置Ss5服务要求连接用户必须通过身份验证:
      修改/etc/opt/ss5/ss5.conf,把其中的

      1. auth    0.0.0.0/0               -               -

      修改为

      1. auth    0.0.0.0/0               -               u
    3. 创建用户(这里只讲解基本的用户管理):
      修改/etc/opt/ss5/ss5.passwd,增添用户及明文密码,每行一个用户,格式如下:

      1. 用户名 密码
    4. 创建用户分组,以方便给不同的用户分配不同的访问权限:
      在/etc/opt/ss5目录中创建以用户分组名命名的文件,然后在相应的组用户文件中添加相应的用户。
      以我的需求来说,我需要创建两组用户:

      • 不受限制用户组:ulimit
      • 受限制用户组:limit

      那么我就在/etc/opt/ss5目录里面创建ulimit和limit这两个文件,然后在这两个文件中分别填入/etc/opt/ss5/ss5.passwd中已添加的用户,格式依旧是每行一个用户(不需要填写用户密码)。请注意!/etc/opt/ss5目录下的这些文件必须能被Ss5服务的执行用户有读取权限(Ss5服务的默认执行用户是nobody)。

  • 设置不同用户组的访问控制:
    修改/etc/opt/ss5/ss5.conf,除掉这行:

    1. permit -        0.0.0.0/0       -       0.0.0.0/0       -       -       -       -       -

    添加:

    1. permit u        0.0.0.0/0       -       0.0.0.0/0       -       -       ulimit  -       -
    2. permit u        0.0.0.0/0       -       0.0.0.0/0       -       -       limit 64000 -

Leave a Reply