Detecter les bots

Kévin Lion
Kévin LionCEO à In Media Veritas
Détecter les bots
(Et s’en débarrasser…)

Kevin Lion - http://www.inmediaveritas.com
Qu’est-ce qu’un bot ?
● “Robot” parcourant le Web
● Plusieurs buts :
○ Indexer/Scraper le web (GoogleBot)
○ Attaque distribuée (Botnet)
○ Spammer (Spambot)
○ Autres (Site de rencontre, triche, etc.)
Détecter un scraper
● But du bot : récupérer du contenu de
façon plus ou moins légale
● Méthode du bot : parcourir toutes les
pages du site web
● Repérer un bot :
○ Headers (UA, Accept-Language)
○ Charge les fichiers externes ?
○ Navigateur (JS ? Lang ? Screen ?)
○ Comportement ?
Se débarrasser d’un scraper
●
●
●
●

Pas d’UA ? Ou UA étrange ?
Il ne charge pas l’image “test_bot.png” ?
JS non activé ? Langue non française ?
Il parcourt plus de 10 pages par minutes
? Il charge les pages dans un ordre
étrange ?

-> Vous le bannissez (iptables, coté serveur,
trou noir, etc.)
Détecter un DDoS
● But du bot : faire tomber un site via un
DDoS (Distributed Denial-of-Service)
● Méthode du bot : charger une page
lourde de très nombreuses fois
● Repérer un bot :
○ La même IP charge la même page
plusieurs fois
○ Les IPs sont russes ou chinoises
○ Les connections restent ouvertes
Se débarrasser d’un DDoS
● Luter contre le pic de trafic :
○ Redirection vers un trou noir
○ Mettre en place un CDN
● Luter contre la charge serveur :
○ Vérifier son code (!)
○ Installer et configurer Iptables
○ Limiter les connections SYN et UDP
Détecter un spammer
● But du bot : publier des messages sur
votre site/forum/blog
● Méthode du bot : remplit les formulaires
de publication et les soumets
● Repérer un bot :
○ Les messages contiennent des
urls et des mots clés étranges
○ Il n’a pas de referrer
Se débarrasser d’un spammer
● Mettre en place un CAPTCHA intelligent
○ Qui ne puisse pas être envoyé sur les
decaptcher (deathbycaptcha.com)
○ En français, afin que les boites
offshores ne puisse pas le décoder
● Mettre tous ces liens en nofollow
● Utiliser un service externe qui filtre pour
vous (Akismet, Mollom, Defensio)
Autres solutions diverses
● Comportement du bot :
○ 0 seconde par page
○ Pas de referrer
○ 1 connexion par jour depuis 30 jours..
● Vérifier l’IP (get_hostname)
● Vérifier tous les points par subnet
● Project HoneyPot
Questions ?
kevin.lion@inmediaveritas.com
http://www.inmediaveritas.com
@inmediaveritas
1 sur 11

Contenu connexe

Detecter les bots

  • 1. Détecter les bots (Et s’en débarrasser…) Kevin Lion - http://www.inmediaveritas.com
  • 2. Qu’est-ce qu’un bot ? ● “Robot” parcourant le Web ● Plusieurs buts : ○ Indexer/Scraper le web (GoogleBot) ○ Attaque distribuée (Botnet) ○ Spammer (Spambot) ○ Autres (Site de rencontre, triche, etc.)
  • 3. Détecter un scraper ● But du bot : récupérer du contenu de façon plus ou moins légale ● Méthode du bot : parcourir toutes les pages du site web ● Repérer un bot : ○ Headers (UA, Accept-Language) ○ Charge les fichiers externes ? ○ Navigateur (JS ? Lang ? Screen ?) ○ Comportement ?
  • 4. Se débarrasser d’un scraper ● ● ● ● Pas d’UA ? Ou UA étrange ? Il ne charge pas l’image “test_bot.png” ? JS non activé ? Langue non française ? Il parcourt plus de 10 pages par minutes ? Il charge les pages dans un ordre étrange ? -> Vous le bannissez (iptables, coté serveur, trou noir, etc.)
  • 5. Détecter un DDoS ● But du bot : faire tomber un site via un DDoS (Distributed Denial-of-Service) ● Méthode du bot : charger une page lourde de très nombreuses fois ● Repérer un bot : ○ La même IP charge la même page plusieurs fois ○ Les IPs sont russes ou chinoises ○ Les connections restent ouvertes
  • 6. Se débarrasser d’un DDoS ● Luter contre le pic de trafic : ○ Redirection vers un trou noir ○ Mettre en place un CDN ● Luter contre la charge serveur : ○ Vérifier son code (!) ○ Installer et configurer Iptables ○ Limiter les connections SYN et UDP
  • 7. Détecter un spammer ● But du bot : publier des messages sur votre site/forum/blog ● Méthode du bot : remplit les formulaires de publication et les soumets ● Repérer un bot : ○ Les messages contiennent des urls et des mots clés étranges ○ Il n’a pas de referrer
  • 8. Se débarrasser d’un spammer ● Mettre en place un CAPTCHA intelligent ○ Qui ne puisse pas être envoyé sur les decaptcher (deathbycaptcha.com) ○ En français, afin que les boites offshores ne puisse pas le décoder ● Mettre tous ces liens en nofollow ● Utiliser un service externe qui filtre pour vous (Akismet, Mollom, Defensio)
  • 9. Autres solutions diverses ● Comportement du bot : ○ 0 seconde par page ○ Pas de referrer ○ 1 connexion par jour depuis 30 jours.. ● Vérifier l’IP (get_hostname) ● Vérifier tous les points par subnet ● Project HoneyPot