zoukankan      html  css  js  c++  java
  • 揭露所谓的VOS防范,治标不治本

    市场上面,有太多的人装VOS收费,不管是VOS2009也好,VOS3000也好,各种各样的版本,都给出来了一个标志性语句“防掉线,防攻击”。可是事实上都是一个德性。普遍的作法无外乎下面几种:
    1、通过修改防火墙,添加一条转发规则,做一个重定向,在数据包进入到prerouting这张表时,就优先被处理了。
    -A PREROUTING -i eth0 -p tcp -m tcp --dport 1111 -j REDIRECT --to-ports 1202 把1111端口重定向到1202,客户端使用1111登陆。

    2、通过修改防火墙,添加一条NAT映射规则。
    iptables -t nat -I PREROUTING -p tcp --dport 1111  -j DNAT --to 1202
    iptables -t nat -I POSTROUTING -p tcp --dport 1111 -j MASQUERADE 把1111端口重定向到1202,客户端使用1111登陆。

    3、通过封锁ip,尽量的避免kunshi的ip段。
    -A INPUT -s 58.212.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP 
    -A INPUT -s 222.45.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP 
    -A INPUT -s 222.95.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP 
    -A INPUT -s 222.94.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 117.88.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 117.89.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 58.192.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 58.213.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 58.220.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 58.223.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 58.240.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 58.218.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 58.221.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 61.132.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 61.133.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 61.155.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 61.160.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 61.177.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 61.232.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 61.137.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 61.241.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 61.243.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 202.92.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 202.102.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 203.93.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 210.15.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 210.12.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 210.13.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 210.51.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 210.52.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 210.56.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 210.73.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 210.77.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.65.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.87.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.90.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.98.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.103.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.139.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.148.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.152.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.160.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 211.162.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 218.2.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 218.94.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 218.104.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 218.224.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 219.219.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 219.230.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 219.243.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 220.114.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 220.192.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 220.219.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 220.196.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 220.207.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 221.6.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 112.11.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 221.226.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 222.45.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 222.190.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 222.194.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP
    -A INPUT -s 121.229.0.0/255.255.0.0 -p tcp -m tcp --dport 1202 -j DROP

    4、通过杜绝所有,只允许特殊的ip段进入。例如只允许广东的运营商ip段访问服务器VOS登录port
    ip段不一一列举,百度一下 CNNIC 广东ip段就出来了。

    5、有一些直接通过,opt下面的port.txt文件来获取登录port,那这个是怎么做到的呢?原理性也是一样。这个涉及到nat功能,具体实现如下
       (1)、对 /etc/nat 文件进行配置,实现通过变量来调取
              etc/..info/opt/port.txt
                   portt=`cat /opt/port.txt`
        (2)、下面定义获取到的 值 的调用。直接做一个nat转换,跟 作法2   的情况一样,没什么区别,变了一种情况而已。
              iptables -t nat -I PREROUTING -p tcp --dport $portt -j DNAT --to :1202
                   iptables -t nat -I POSTROUTING -p tcp --dport $portt -j MASQUERADE
        (3)、有些人怕别人学会了,索性直接把nat这个文件给加密了,唯我独尊,呵呵。

    6、端口改好了,那么下面就来处理被攻击后的恢复。如何恢复呢?一般都是通过mbx脚本检测是否在线,论坛很多,自己下载

    7、有些人闲烦,直接我就不检测了,奶奶的,直接给你来一个每分钟启动一次mbx,让你得瑟。因为如果mbx没有掉线,启动mbx是不成功的,所以这种相对  作法6 来说,反而更好,更加有优势一些,作法6  需要执行很多东西,耗机器。命令如下: /etc/init.d/mbx2009d(3000d) start 

    说明:由于kunshi的文件里面有vosdb这个账户密码,为了避免攻击,只有修改登陆端口,但是请问修改端口有用吗?
          你修改了端口,kunshi一样会扫描到你的client---server之间的tcp连接port,再攻击你,那不是一样吗?尽管你上面有多么华丽的作法,挨打的现实躲避不了。只是还没扫描到你而已,不要以为自己抵抗力很好,其实你是幸运罢了。
        
    建议:1、直接修改VOS的配置文件,把默认1202端口给改成其他的,例如8888.   
             2、修改VOS的相关mysql连接文件,把vosdb账户密码切换成其他的,例如账户密码都是 voippub

    呵呵,这个建议有点难度,对他们以后破解vos加大了工程量,嘿嘿,要么就不搞,要么就搞完美一点。请注意,你在搞D版的同时,kunshi也在蠢蠢欲动,不是你一个人在前进,别人也在前进,有攻有守,在所难免。

    下面提供我自己研发的一个kunshi安全认证系统,给大家show一下,有兴趣的可以参考参考,需要装的可以联系俺。

    这个认证系统,里面包括上面所有作法,只有认证通过的客户,才能登录,而且端口也修改了。另外还需要一个授权问题,呵呵,有兴趣的可以去研究一下
    对了,把那个mbx监控也上传上来吧,别说我吝啬哦。密码我是的账户,记得。

    另外一个值得关注的问题,就是防火墙的 filter 表。很多客户装的服务器里面都有做,但是都存在一个问题
    1、默认允许所有 filter 数据,INPUT  FORWARD OUTPUT 再通过下面定义的 RH-Firewall-1-INPUT 来调用。但是仔细一看,你会发现,下面的 RH-Firewall-1-INPUT 其实都是没有被调用。不生效的,原因是为什么呢?我把代码贴上来给大家看一下。

    *filter
    :INPUT ACCEPT [4406:386891]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [3715:704539]
    :RH-Firewall-1-INPUT - [0:0]
    -A RH-Firewall-1-INPUT -i lo -j ACCEPT 
    -A RH-Firewall-1-INPUT -i eth1 -j ACCEPT 
    -A RH-Firewall-1-INPUT -i eth0 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT 
    -A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT 
    -A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2022 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2233 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3389 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 50:50000 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 50:50000 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 51 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 52 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 54 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 55 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 56 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 57 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 58 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 59 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 81 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 82 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 83 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 84 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 85 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 86 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 87 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 88 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 89 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1720 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1719 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2720 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2719 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3720 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3719 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5060 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5061 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 6060 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 6061 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5070 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5071 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8088 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1701 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1702 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 47 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1200 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1300 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1800 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3600 -j ACCEPT 
    -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1202 -j LOG --log-level 7 
    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 
    COMMIT

    不仔细看永远不会发现问题的所在,既然是通过 RH-Firewall-1-INPUT 来,那你怎么没有调用 RH-Firewall-1-INPUT,也许这下子有人来问我了,下面不是调用了吗?呵呵,The answer is no. 不信你自己添加几个规则,封一些端口试试,看看还能不能telnet进去。少了一条命令,百度一下自己去找原因,我不多说。

    另外一个,一开始,就来了下面这两句,这样岂不是把所有数据包都给放开了吗?那下面的规则岂不是没用了。写iptables,从来都不会去傻帽的加上这两句。
    -A RH-Firewall-1-INPUT -i eth1 -j ACCEPT 
    -A RH-Firewall-1-INPUT -i eth0 -j ACCEPT 

    2、voip行业越来越乱,产品越来越多,不同厂家,设备不同,遵守的协议也不同,自定义化端口,很难去制定一张完美的iptables,有谁能实现?轻者通话经常出现短秒,重则直接假通,不计费,没声音。这些我都有试过。

    刚有人问我,这个/etc/nat要怎么实现?我上面已经说了,关键的东西要你自己去google,自己去研究,这样才有效果,不过可以再稍微透露一点,把它加入系统让他启动就行了,怎么加入?看下面的代码
    # Source function library.
    . /etc/init.d/functions
        /etc/nat
    . /etc/sysconfig/crond

    中间那个就是了,其他的,好自为之,自己去百度,嗟来之食不行的,要自个下苦力才好。祝你们好运
    租服务器记得M我。。。

    文章转载于网络,如有侵权,请原创留言;内容如有不妥,请各位园友提宝贵意见或建议。所有文章均处于编辑状态。。。。。。百度贴吧:流水小桥吧 如有问题,请点击页面左上角“给我写信”发邮件留言!
  • 相关阅读:
    Vue和React组件diff更新影响范围对比
    ES6中import和CommonJS中require的区别
    MutationObserver监听DOM变化
    Mint UI中文官网
    为什么在浏览器不支持H265视频播放
    Google谷歌官网首页涂鸦记录
    windows键盘输入无效,键盘灯亮,打字不出字
    javascript实现跨域的方法汇总
    javascript中setInterval的用法
    浅谈Javascript数组的使用
  • 原文地址:https://www.cnblogs.com/flyoung/p/4976615.html
Copyright © 2011-2022 走看看