AlanZhang
V2EX  ›  问与答

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

  •  
  •   AlanZhang · Nov 24, 2014 · 6141 views
    This topic created in 4361 days ago, the information mentioned may be changed or developed.
    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)"
    Supplement 1  ·  Nov 24, 2014
    非常感谢各位,最终在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到这里。
    Supplement 2  ·  Nov 24, 2014
    原来 static-189-206-125-34.alestra.net.mx 中的数字是IP!
    29 replies  •  2014-11-25 23:19:10 +08:00
    AlanZhang
    AlanZhang
    OP
    Nov 24, 2014
    1
    这个域名static-189-206-125-34.alestra.net.mx在疯狂的爬行网站(导致不停宕机),怎么阻止它
    AlanZhang
    AlanZhang
    OP
    Nov 24, 2014
    2
    尼玛,还有个贱域名疯狂爬行: host-2.airlink.hu
    Radeon
    Radeon
    Nov 24, 2014
    3
    iptables加一条DROP掉就行了
    AlanZhang
    AlanZhang
    OP
    Nov 24, 2014
    4
    @Radeon 求具体命令,多谢了。
    abelyao
    abelyao
    Nov 24, 2014
    5
    @AlanZhang 话说这个域名怎么拼起来好像一个手机号码… 18920612534… 虽然我觉得应该是个 IP 地址比较准确……
    Radeon
    Radeon
    Nov 24, 2014
    6
    http://www.cyberciti.biz/faq/how-do-i-block-an-ip-on-my-linux-server/

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

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

    DROP这个试试
    AlanZhang
    AlanZhang
    OP
    Nov 24, 2014
    18
    @ETiV 多谢。 我试了,apache死了重启了,带回看效果。 请问反着读是什么意思?这IP怎么得到的?
    AlanZhang
    AlanZhang
    OP
    Nov 24, 2014
    19
    @Radeon apache的DNS lookup已经关掉了,不过,static-189-206-125-34.alestra.net.mx这个地址是ping不到的
    Radeon
    Radeon
    Nov 24, 2014
    20
    ~$ 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
    AlanZhang
    OP
    Nov 24, 2014
    21
    @Radeon 多谢。奇怪呢,我本地,美国服务器ping都是Unknown host
    orzfly
    orzfly
    Nov 24, 2014
    22
    $ 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
    msg7086
    Nov 24, 2014 via iPhone
    23
    这后知后觉的…

    另外建议limit-req配合fail2ban

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

    反向解析应该有地方可以关掉的。你找下文档
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1369 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 22:26 · PVG 06:26 · LAX 14:26 · JFK 17:26
    ♥ Do have faith in what you're doing.