mod_evasive maneuvers module for Apache to provide evasive action in the event of an HTTP DoS or DDoS attack or brute force attack. It is also designed to be a detection and network management tool, and can be easily configured to talk to ipchains, firewalls, routers, and etcetera. mod_evasive presently reports abuses via email and syslog facilities. Detection is performed by creating an internal dynamic hash table of IP Addresses and URIs, and denying any single IP address from any of the following: * Requesting the same page more than a few times per second * Making more than 50 concurrent requests on the same child per second * Making any requests while temporarily blacklisted (on a block list) Add the following line to your /etc/httpd/httpd.conf file: Include /etc/httpd/extra/mod_evasive.conf You can test mod_evasive by modifyng the test.pl file in /usr/doc/mod_evasive-$VERSION/test/*/test.pl so that tests are performed against port 80 and not port 1980. Just replace PeerAddr => "127.0.0.1:1980" with PeerAddr => "127.0.0.1:80" and then enter the following command: /usr/doc/mod_evasive-$VERSION/test/00_regular_config/test.sh which should output some "HTTP/1.1 200 OK" lines; then "HTTP/1.1 403 Forbidden". You can find other tests in the /usr/doc/mod_evasive-$VERSION/test/ dir. mod_evasive is fully tweakable through the Apache configuration file, see the README.md file in the package's documentation directory.