Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| pratique:informatique:fight_bot [27/08/2026 12:48] – créée Zatalyz | pratique:informatique:fight_bot [28/08/2026 11:24] (Version actuelle) – [SYN Flood] Zatalyz | ||
|---|---|---|---|
| Ligne 12: | Ligne 12: | ||
| * Monitoring ? | * Monitoring ? | ||
| * Goaccess ? ça permettrait de voir ce qui circule, mais faut que je trouve comment le paramétrer. | * Goaccess ? ça permettrait de voir ce qui circule, mais faut que je trouve comment le paramétrer. | ||
| + | |||
| + | ==== Goaccess ==== | ||
| + | |||
| + | Dans les dépôts debian. Doc sur [[https:// | ||
| + | |||
| + | Il faut les logs personnalisés apache. | ||
| + | <code bash / | ||
| + | LogFormat "%h ☆ %v ☆ %t ☆ Code %>s ☆ %O o ☆ \" | ||
| + | CustomLog ${APACHE_LOG_DIR}/ | ||
| + | |||
| + | Puis modifier la config de goaccess. | ||
| + | <code bash / | ||
| + | # Format de l' | ||
| + | datetime-format %d/ | ||
| + | # Notre regex transcrite en langage goaccess | ||
| + | log-format %h ☆ %v ☆ [%x] ☆ Code %>s ☆ %O o ☆ \" | ||
| + | </ | ||
| + | * '' | ||
| + | |||
| ===== Méthodes de combat ===== | ===== Méthodes de combat ===== | ||
| Ligne 54: | Ligne 73: | ||
| Un blocage géographique peut dépanner temporairement mais n'est pas une solution à long terme. Pulkomandy indique que ces bots "ont tendance à utiliser des user agents ne correspondant pas à la toute dernière version", | Un blocage géographique peut dépanner temporairement mais n'est pas une solution à long terme. Pulkomandy indique que ces bots "ont tendance à utiliser des user agents ne correspondant pas à la toute dernière version", | ||
| + | ==== SYN Flood ==== | ||
| + | Ce n'est pas exactement ça, mais ça en fait partie. | ||
| + | |||
| + | La problématique : des milliers d'ip faisant chacune 1 requête. Fail2ban/ | ||
| + | |||
| + | * Rustine 1 : limiter le nombre de connexions pour apache (rate limite etc) ; mais cela rendra le web lent/ | ||
| + | * Rustine 2 : gestion du SYN flood via nftables et / | ||
| + | * À tester : Filtrage par ASN(([[https:// | ||
| + | |||
| + | === Lutte via ASN === | ||
| + | <WRAP center round todo 60%> | ||
| + | Notes en brouillon. | ||
| + | </ | ||
| + | |||
| + | Trouver l'ASN lié à une ip : | ||
| + | whois -h whois.radb.net 192.*.*.* | ||
| + | |||
| + | Une fois qu'on a le nom du fournisseur de datacenter qui merdouille, on peut pister son infra avec https:// | ||
| + | |||
| + | Un outil pour réduire les plages d'ip : [[https:// | ||
| + | cat badip_vrac.txt| aggregate -q > badip_concat.txt | ||
| + | |||
| + | - On va commencer par extraire toutes les ip incriminées d'un log (script bash => on garde *toutes* les ips mais on les trie par occurence (celles qui ont fait une seule demande, celles qui en on fait 100). | ||
| + | - On regroupe un peu avec aggregate déjà ? | ||
| + | - On fait une requête whois au radb et on note les ASN ? (sort|uniq là aussi) | ||
| + | - On récupère les CIDR des ASN. '' | ||
| + | - On envoie cette liste à nftables. | ||
| {{tag> | {{tag> | ||