V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
AlanZhang
V2EX  ›  问与答

怎样阻止别人疯狂爬行网站,如下 log,该怎么做,求大神支招

  •  
  •   AlanZhang · 2014-11-24 21:03:50 +08:00 · 4794 次点击
    这是一个创建于 3412 天前的主题,其中的信息可能已经有所发展或是发生改变。
    static-189-206-125-34.alestra.net.mx - - [24/Nov/2014:12:57:51 +0000] "GET /directory/application/2436/era-solar?utm_source=ENF&utm_medium=Craft-Lights-%28Ornamental-Figures%29&utm_content=2436&utm_campaign=profiles_application HTTP/1.1" 200 31266 "-" "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt; DTS Agent"
    static-189-206-125-34.alestra.net.mx - - [24/Nov/2014:12:57:51 +0000] "GET /directory/installer/24675/dalian-new-extension-energy-engineering HTTP/1.1" 200 31904 "-" "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt; DTS Agent"
    194.219.156.42 - - [24/Nov/2014:12:57:52 +0000] "GET /directory/installer/47239/influx-renewables?utm_source=ENF&utm_medium=United+Kingdom&utm_content=47239&utm_campaign=profiles_installer HTTP/1.1" 200 5943 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MASM; .NET4.0C; .NET4.0E; InfoPath.3; ms-office)"
    第 1 条附言  ·  2014-11-24 23:02:34 +08:00
    非常感谢各位,最终在Linode的帮助下ban掉它了:
    iptables -I INPUT 1 -s 189.206.125.34 -j REJECT --reject-with icmp-host-unreachable

    不知道他们怎么获取static-189-206-125-34.alestra.net.mx的ip的,如果提供了,再append到这里。
    第 2 条附言  ·  2014-11-24 23:04:24 +08:00
    原来 static-189-206-125-34.alestra.net.mx 中的数字是IP!
    29 条回复    2014-11-25 23:19:10 +08:00
    AlanZhang
        1
    AlanZhang  
    OP
       2014-11-24 21:09:46 +08:00
    这个域名static-189-206-125-34.alestra.net.mx在疯狂的爬行网站(导致不停宕机),怎么阻止它
    AlanZhang
        2
    AlanZhang  
    OP
       2014-11-24 21:16:20 +08:00
    尼玛,还有个贱域名疯狂爬行: host-2.airlink.hu
    Radeon
        3
    Radeon  
       2014-11-24 21:17:24 +08:00
    iptables加一条DROP掉就行了
    AlanZhang
        4
    AlanZhang  
    OP
       2014-11-24 21:24:56 +08:00
    @Radeon 求具体命令,多谢了。
    abelyao
        5
    abelyao  
       2014-11-24 21:27:34 +08:00
    @AlanZhang 话说这个域名怎么拼起来好像一个手机号码… 18920612534… 虽然我觉得应该是个 IP 地址比较准确……
    Radeon
        6
    Radeon  
       2014-11-24 21:31:22 +08:00
    http://www.cyberciti.biz/faq/how-do-i-block-an-ip-on-my-linux-server/

    建议block IP而不是域名。这样节省反向域名查询的成本
    em70
        7
    em70  
       2014-11-24 21:35:22 +08:00
    写个脚本用这个awk命令
    awk '{print $1 }' /var/log/httpd/access_log.20141124 |sort |uniq -c|sort -nr|head -n 100

    每一个小时检查一下,把访问量最高的IP列出来,超过一定量就自动封掉
    AlanZhang
        8
    AlanZhang  
    OP
       2014-11-24 21:35:29 +08:00
    @Radeon 多谢,我已经block了那两个IP,但是基本等于无效。
    Radeon
        9
    Radeon  
       2014-11-24 21:37:02 +08:00
    @AlanZhang 又有新的IP冒出来?
    AlanZhang
        10
    AlanZhang  
    OP
       2014-11-24 21:41:41 +08:00
    @Radeon 关键是这个static-189-206-125-34.alestra.net.mx查不到IP啊。
    AlanZhang
        11
    AlanZhang  
    OP
       2014-11-24 21:42:16 +08:00
    @em70 脚步非常好,第一是 32132 static-189-206-125-34.alestra.net.mx, 这个要怎么封?
    em70
        12
    em70  
       2014-11-24 21:46:04 +08:00
    @AlanZhang ping一下看看IP多少,我这边测试ping不通,你那能解析出来域名,肯定能ping吧
    lmaq
        13
    lmaq  
       2014-11-24 21:47:55 +08:00
    你的日志竟然没有来路IP = =;
    Radeon
        14
    Radeon  
       2014-11-24 21:48:17 +08:00
    关掉apache的DNS lookup。再说ping一下不就查到ip了?
    AlanZhang
        15
    AlanZhang  
    OP
       2014-11-24 22:10:20 +08:00
    @lmaq
    @Radeon 求助啊,该死的static-189-206-125-34.alestra.net.mx还在无限增长,却查不到IP!
    em70
        16
    em70  
       2014-11-24 22:11:14 +08:00 via Android
    @AlanZhang ping了没有
    ETiV
        17
    ETiV  
       2014-11-24 22:13:05 +08:00 via iPhone
    这种都是反着读的,34.125.206.189

    DROP这个试试
    AlanZhang
        18
    AlanZhang  
    OP
       2014-11-24 22:29:37 +08:00
    @ETiV 多谢。 我试了,apache死了重启了,带回看效果。 请问反着读是什么意思?这IP怎么得到的?
    AlanZhang
        19
    AlanZhang  
    OP
       2014-11-24 22:36:31 +08:00
    @Radeon apache的DNS lookup已经关掉了,不过,static-189-206-125-34.alestra.net.mx这个地址是ping不到的
    Radeon
        20
    Radeon  
       2014-11-24 22:41:51 +08:00
    ~$ ping static-189-206-125-34.alestra.net.mx
    PING static-189-206-125-34.alestra.net.mx (202.102.110.203): 56 data bytes

    这个202.102.110.203 DROP一下
    AlanZhang
        21
    AlanZhang  
    OP
       2014-11-24 22:59:23 +08:00
    @Radeon 多谢。奇怪呢,我本地,美国服务器ping都是Unknown host
    orzfly
        22
    orzfly  
       2014-11-24 23:05:06 +08:00
    $ nslookup 189.206.125.34
    Non-authoritative answer:
    34.125.206.189.in-addr.arpa name = static-189-206-125-34.alestra.net.mx.

    这域名里不是写了 IP 了么……可以查一下 rDNS 来确认一下嘛……
    所以把 189.206.125.34 DROP 掉吧。

    至于 @Radeon 说的,大概是他的 DNS 劫持 NXDOMAIN 到了 202.102.110.203……
    msg7086
        23
    msg7086  
       2014-11-24 23:09:59 +08:00 via iPhone
    这后知后觉的…

    另外建议limit-req配合fail2ban

    你这全手动,封到哪年去
    Radeon
        24
    Radeon  
       2014-11-24 23:13:09 +08:00
    @orzfly 对... 我的电信DNS劫持了NXDOMAIN,我才想起来
    Starduster
        25
    Starduster  
       2014-11-25 00:41:03 +08:00 via iPhone
    用limit_req,大概就是检查出远超出平均水平连接数的连接然后ban掉它,一般我发现了这种访问我直接在iptables里drop所有它的所有入站数据
    liuchen9586
        26
    liuchen9586  
       2014-11-25 00:59:49 +08:00 via Android
    收藏了,的确挺有用
    tywtyw2002
        27
    tywtyw2002  
       2014-11-25 08:21:09 +08:00
    直接ban c段。
    AlanZhang
        28
    AlanZhang  
    OP
       2014-11-25 08:57:45 +08:00
    @msg7086 limit-req在apache下怎么弄? 另外我用了http://deflate.medialayer.com/,但是它只能ban 纯ip,不能ban域名类的。我的服务器apache access_log 上很多不现实ip,只显示域名。fail2ban能解决这个问题吗?
    msg7086
        29
    msg7086  
       2014-11-25 23:19:10 +08:00 via iPhone
    @AlanZhang apache我不清楚,你可以找找类似的插件。

    反向解析应该有地方可以关掉的。你找下文档
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2804 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:50 · PVG 19:50 · LAX 04:50 · JFK 07:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.