Eu acredito que você está perdendo a parte do firewall. Se você está usando o iptables você deve definir o seguinte DOSSystemCommand :
"sudo /root/scripts/ban_ip.sh %s":
não se esqueça de adicionar seu usuário do apache a sudoers e permitir acesso ao script e ao comando 'iptables' e 'at'.
Conteúdo de script :
#!/bin/sh
IP=$1
IPTABLES=/sbin/iptables
$IPTABLES -A banned -s $IP -p TCP --dport 80 -j DROP
echo "$IPTABLES -D banned -s $IP -p TCP --dport 80 -j DROP" | at now + 2 hours
sudoers :
www-data ALL=(ALL) NOPASSWD: /sbin/iptables *, /usr/bin/at *, /root/scripts/ban_ip.sh
aplausos!