I just got tired of looking at lot of these messages in my Apache log (or similar ones in ssh log)
[error] [client xx.121.146.224] File does not exist: /var/www/sharedip/ads [error] [client xx.121.146.224] File does not exist: /var/www/sharedip/thisdoesnotexistahaha.php [error] [client xx.121.146.224] File does not exist: /var/www/sharedip/drupal [error] [client xx.121.146.224] File does not exist: /var/www/sharedip/adserver [error] [client xx.121.146.224] File does not exist: /var/www/sharedip/adxmlrpc.php [error] [client xx.121.146.224] File does not exist: /var/www/sharedip/xmlrpc.php
These robots are constantly trying to exploit vunerabilities. I want to stop them.
There are couple of solutions, but after researching, I concluded that for me the best one is Fail2Ban (compared to DenyHosts or BlockHosts), specially because it can analyze log files for Apache, SSH, FTP and Postfix (and I have it in repository). BTW, there was some vulnerabilities with it, in the past.
All the configuration is done in /etc/fail2ban/jail.conf.