Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Hoe Baidu spider effectief blokkeren

Pagina: 1
Acties:

Vraag


  • orf
  • Registratie: Augustus 2005
  • Laatst online: 00:51
Ik heb twee websites waar 95% van het verkeer komt van een Baidu spider. In de access-logs zie ik 2-3 requests per seconde, waarbij het verkeer afkomstig is van Baidu.

In de robots.txt staat het volgende:

code:
1
2
User-agent: Baiduspider
Disallow: /


In de .htaccess wordt Baidu op User Agent geblokkeerd:

code:
1
2
RewriteCond %{HTTP_USER_AGENT} ^Baiduspider.* [NC]
RewriteRule .* - [F]


En we blokkeren op IP niveau:
code:
1
2
3
4
5
order allow,deny
allow from all

# Block access to Baiduspider
deny from 180.76.15.0/24 180.76.5.0/24 180.76.6.0/24 123.125.71.0/24 220.181.108.0/24


Toch zie ik nog steeds erg veel requests voorbij komen die herleidbaar zijn naar Baidu.

Bijvoorbeeld:

code:
1
[2016-07-25 12:18:47] [web04] [client 202.46.51.164] "GET /path/naar/pagina HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36"


Op geen enkele manier is te zien dat het hier om Baidu gaat, behalve als ik kijk naar IP-gegevens:

ip202.46.51.164
asorgnameBeijing Baidu Netcom Science and Technology Co., Ltd.
orgnameShenZhen Sunrise Technology Co.,Ltd.


Natuurlijk kan ik ook dit IP weer toevoegen aan het lijstje met denies, maar ik zie erg veel verschillende IP-adressen, die ik alleen na een handmatige check identificeer als Baidu.

Ze lijken de robots.txt te negeren, ook al lees ik in documentatie dat ze dat niet zouden doen. Volgens hun eigen documentatie zou een Baidu spider zich moeten identificeren als Baiduspider, maar ook dat doen ze niet (getuige de entry in het access-log).

Het spideren zelf blijkt ook niet lekker te gaan. We meten het gebruik va resources op ons hostingplatform (memory en processor) en Baidu is bij deze twee kleine websites verantwoordelijk voor een gigantische hoeveelheid gebruik.

Heeft iemand een goed idee om deze spider helemaal te blokkeren? Het liefst op een manier die weinig resources gebuikt.

Beste antwoord (via orf op 25-07-2016 16:42)


  • DJMaze
  • Registratie: Juni 2002
  • Niet online
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<IfModule mod_setenvif.c>
    # Block bad things
    BrowserMatchNoCase "baidu" banned
    BrowserMatchNoCase "Java/" banned
    BrowserMatchNoCase "Synapse/" banned
    BrowserMatchNoCase "webcollage" banned
    BrowserMatchNoCase "WebWasher" banned
    BrowserMatchNoCase "ZmEu" banned
    BrowserMatchNoCase "omgili" banned
    BrowserMatchNoCase wsr-agent banned
    BrowserMatchNoCase woobot banned
    BrowserMatchNoCase CuteFTP banned
    BrowserMatchNoCase WinHTTP banned
    BrowserMatchNoCase Stratagems banned

    # deny security
    deny from env=banned
</IfModule>


En hier de IP ranges: http://ipinfo.io/AS55967
orf schreef op maandag 25 juli 2016 @ 12:28:
In de access-logs zie ik 2-3 requests per seconde, waarbij het verkeer afkomstig is van Baidu.
Dat kan je beveiligen met flood protection.

[ Voor 21% gewijzigd door DJMaze op 25-07-2016 13:43 ]

Maak je niet druk, dat doet de compressor maar

Alle reacties


  • Razr
  • Registratie: September 2005
  • Niet online
Je zou misschien in je firewall complete ranges van o.a. China kunnen blokkeren? Er bestaan lijsten die dit vrij makkelijk maken.

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 00:51
Als laatste oplossing kan dat eventueel. Ik kan niet goed inschatten hoeveel legitiem verkeer er uit China (of Azië) komt.

Omdat we een shared omgeving hebben, is het lastig om dit globaal te doen. We hebben websites die zich juist op Azië richten.

Acties:
  • Beste antwoord

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<IfModule mod_setenvif.c>
    # Block bad things
    BrowserMatchNoCase "baidu" banned
    BrowserMatchNoCase "Java/" banned
    BrowserMatchNoCase "Synapse/" banned
    BrowserMatchNoCase "webcollage" banned
    BrowserMatchNoCase "WebWasher" banned
    BrowserMatchNoCase "ZmEu" banned
    BrowserMatchNoCase "omgili" banned
    BrowserMatchNoCase wsr-agent banned
    BrowserMatchNoCase woobot banned
    BrowserMatchNoCase CuteFTP banned
    BrowserMatchNoCase WinHTTP banned
    BrowserMatchNoCase Stratagems banned

    # deny security
    deny from env=banned
</IfModule>


En hier de IP ranges: http://ipinfo.io/AS55967
orf schreef op maandag 25 juli 2016 @ 12:28:
In de access-logs zie ik 2-3 requests per seconde, waarbij het verkeer afkomstig is van Baidu.
Dat kan je beveiligen met flood protection.

[ Voor 21% gewijzigd door DJMaze op 25-07-2016 13:43 ]

Maak je niet druk, dat doet de compressor maar


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Op https://ftp.apnic.net/apnic/whois/apnic.db.inetnum.gz kun je een lijst met whois-gegevens van apnic downloaden. Daarin kun je alle ranges van Baidu vinden.

De ranges kun je het beste nullrouten. Dat is efficiënter dan .htaccess of iptables. Toevoegen gaat met:
code:
1
route add -net 1.1.1.1 netmask 255.255.255.255 reject

Weghalen gaat met hetzelfde commando, waarbij je 'add' door 'del' vervangt.

[ Voor 44% gewijzigd door GlowMouse op 25-07-2016 13:51 ]


  • orf
  • Registratie: Augustus 2005
  • Laatst online: 00:51
DJMaze schreef op maandag 25 juli 2016 @ 13:36:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<IfModule mod_setenvif.c>
    # Block bad things
    BrowserMatchNoCase "baidu" banned
    BrowserMatchNoCase "Java/" banned
    BrowserMatchNoCase "Synapse/" banned
    BrowserMatchNoCase "webcollage" banned
    BrowserMatchNoCase "WebWasher" banned
    BrowserMatchNoCase "ZmEu" banned
    BrowserMatchNoCase "omgili" banned
    BrowserMatchNoCase wsr-agent banned
    BrowserMatchNoCase woobot banned
    BrowserMatchNoCase CuteFTP banned
    BrowserMatchNoCase WinHTTP banned
    BrowserMatchNoCase Stratagems banned

    # deny security
    deny from env=banned
</IfModule>


En hier de IP ranges: http://ipinfo.io/AS55967

[...]

Dat kan je beveiligen met flood protection.
De IP-ranges zijn erg handig. Bedankt daarvoor. Eerdere IP-lijsten die ik tegenkwam waren onvolledig. Die kwamen niet direct bij de bron vandaan.

Ik ga deze IP-ranges toevoegen.
GlowMouse schreef op maandag 25 juli 2016 @ 13:45:
Op https://ftp.apnic.net/apnic/whois/apnic.db.inetnum.gz kun je een lijst met whois-gegevens van apnic downloaden. Daarin kun je alle ranges van Baidu vinden.

De ranges kun je het beste nullrouten. Dat is efficiënter dan .htaccess of iptables. Toevoegen gaat met:
code:
1
route add -net 1.1.1.1 netmask 255.255.255.255 reject

Weghalen gaat met hetzelfde commando, waarbij je 'add' door 'del' vervangt.
Ik twijfel nog om dit op server-niveau toe te passen omdat het een shared omgeving is. Er zijn websites die ongetwijfeld profijt hebben van indexering van Baidu. Voor nu ga ik het op user-niveau toepassen.
Pagina: 1