Abusive HTTP Watch
Abusive HTTP Watch este un daemon Perl care urmărește un access log de server web, detectează sondele HTTP rău intenționate prin intermediul unui set curat de regex-uri și scrie IP-urile sursă suspecte într-un fișier blocklistă append-only. Acest fișier este apoi consumat de firewall (tabel pf, listă Require Apache, listă deny nginx etc.).
În această secțiune
- Quickstart — instalează daemonul, îndreaptă-l către un access log și vezi în câteva minute cum IP-urile ajung pe blocklistă.
- Configurare — referință completă de variabile de mediu, formatul fișierului de whitelist și modul în care firewallul consumă blocklista.
- Operare — manipularea rotației de log, evenimente syslog, lifecycle-ul daemonului sub
rc.d, troubleshooting pentru imagini de eroare cunoscute din producție.
Când ai nevoie de asta
Operați un server web (Apache, nginx, OpenLiteSpeed, oricare) și access log-ul este plin de sonde pe wp-login.php, .env, /etc/passwd, tokenuri de exploatare PHP și tentative de SQL injection. Vreți să blocați aceste IP-uri sursă la firewall înainte să consume bandwidth, CPU sau — mai rău — să găsească o vulnerabilitate reală.
Dacă asta e situația voastră, daemonul este exact pentru asta.
Precondiții
- Un sistem POSIX modern (OpenBSD, FreeBSD sau Linux).
- Perl 5 (daemonul folosește doar module din biblioteca standard).
- Un firewall care poate consuma o listă plată de IP-uri:
- OpenBSD
pfcu tabel<abusive> - Linux
nftablesset sauipset - Apache
mod_authz_hostcuRequire not ip ... - directive
denynginx
- OpenBSD
- Drepturi de scriere pe un director de runtime pentru fișierul de blocklistă.
Dacă toate astea există, Quickstart ia aproximativ zece minute de muncă.