Abusive HTTP Watch
Το Abusive HTTP Watch είναι ένας Perl daemon που παρακολουθεί ένα
web access log, ανιχνεύει κακόβουλες HTTP probes μέσω ενός
επιμελημένου συνόλου regex tokens και γράφει τις παραβατικές IP
πηγής σε ένα append-only αρχείο blocklist. Αυτό το αρχείο
καταναλώνεται κατόπιν από το firewall (πίνακας pf, λίστα
Require Apache, λίστα deny nginx, κλπ.).
Σε αυτήν την ενότητα
- Quickstart — Εγκατάσταση του daemon, παρακολούθηση ενός access log, παρατήρηση IP που συσσωρεύονται στη blocklist μέσα σε λεπτά.
- Διαμόρφωση — Πλήρης αναφορά μεταβλητών περιβάλλοντος, μορφή αρχείου whitelist και πώς καταναλώνει το firewall layer τη blocklist.
- Λειτουργία — Χειρισμός log rotation, events
syslog, κύκλος ζωής daemon υπό
rc.d, troubleshooting κοινών ζητημάτων από την παραγωγή.
Πότε το χρειάζεσαι
Λειτουργείς έναν web server (Apache, nginx, OpenLiteSpeed, ό,τι
και να είναι) και το access log είναι γεμάτο probes προς
wp-login.php, .env, /etc/passwd, tokens εκμετάλλευσης PHP
και απόπειρες SQL-injection. Θέλεις αυτές οι IP πηγής να
μπλοκάρονται στο firewall προτού κοστίσουν εύρος ζώνης, CPU ή —
χειρότερα — εντοπίσουν μια πραγματική ευπάθεια.
Αν αυτή είναι η περίπτωσή σου, ο daemon είναι ακριβώς γι’ αυτό.
Προαπαιτούμενα
- Ένα σύγχρονο POSIX σύστημα (OpenBSD, FreeBSD ή Linux).
- Perl 5 (ο daemon χρησιμοποιεί μόνο modules της standard library).
- Ένα firewall ικανό να καταναλώσει μια επίπεδη λίστα IP:
- OpenBSD
pfμε πίνακα<abusive> - Linux
nftablesset ήipset - Apache
mod_authz_hostμεRequire not ip ... - Οδηγίες
denyτου nginx
- OpenBSD
- Δικαιώματα εγγραφής σε έναν κατάλογο runtime για το αρχείο blocklist.
Αν έχεις όλα τα παραπάνω, ο Quickstart είναι περίπου δέκα λεπτά δουλειάς.