Fail2ban is used to prevent various types of DoS attacks. In combination with iptables it will ban the IP addresses which is found to be suspicious by the fail2ban filters. Banning will be done if there are very significant number of authentication failures or 400 errors or 500 errors. This article will guide you on how to make your Apache web server much more secure. Fail2ban also prevents attacks other than Apache related. For eg: ssh, vsftpd, proftpd etc.