Je hebt een klacht over de onderstaande posting:
een optie die goed werkt is een dynamische ipset blacklist. je laat via cron elke 5 in de apache logs de ip nrs van de top 10 requesters in een ipset voor /24 te plaatsen (met een timeout) en een block op die ipset in je iptables (DROP en geen REJECT). voorbeeldje, blacklist top 10 ips die meer dan 64 requests gedaan hebben in de laatste log en verdwijnen van de list na 28800 seconden als ze uiteraard niet meer in de top 10 zitten. gebruik een apache log rotate oid om elke dag met nieuwe stats te starten. ------------------------------------- #!/bin/bash /usr/sbin/ipset -exist create blacklist hash:ip family inet hashsize 4096 maxelem 65536 netmask 24 timeout 28800 grep eenstringdieikzoekenwaarikopfilter /var/log/httpd/*-access_log | grep -oE '([0-9]?*\.){3}([0-9]?*)' | sort | uniq -c | sort -rn > /tmp/ipsetlist for i in `head -n 10 /tmp/ipsetlist | awk '{if ($1 > 64) { print $2 }}'` do /usr/sbin/ipset -exist add blacklist $i done /usr/sbin/ipset save blacklist > ...
Beschrijf je klacht (Optioneel):