i strongly recommend to install it with webmin , i cannot work without it , and you will be more than happy
it also allow to forbiden country , which is very usefull 

  • This suite of scripts provides:
  • Straight-forward SPI iptables firewall script
  • Daemon process that checks for login authentication failures for:
  • Courier imap, Dovecot, uw-imap, Kerio
  • openSSH
  • cPanel, WHM, Webmail (cPanel servers only)
  • Pure-ftpd, vsftpd, Proftpd
  • Password protected web pages (htpasswd)
  • Mod_security failures (v1 and v2)
  • Suhosin failures
  • Exim SMTP AUTH
  • Custom login failures with separate log file and regular expression matching
  • POP3/IMAP login tracking to enforce logins per hour
  • SSH login notification
  • SU login notification
  • Excessive connection blocking
  • UI Integration for cPanel, DirectAdmin and Webmin
  • Easy upgrade between versions from within cPanel/WHM, DirectAdmin or Webmin
  • Easy upgrade between versions from shell
  • Pre-configured to work on a cPanel server with all the standard cPanel ports open
  • Pre-configured to work on a DirectAdmin server with all the standard DirectAdmin ports open
  • Auto-configures the SSH port if it's non-standard on installation
  • Block traffic on unused server IP addresses - helps reduce the risk to your server
  • Alert when end-user scripts sending excessive emails per hour - for identifying spamming scripts
  • Suspicious process reporting - reports potential exploits running on the server
  • Excessive user processes reporting
  • Excessive user process usage reporting and optional termination
  • Suspicious file reporting - reports potential exploit files in /tmp and similar directories
  • Directory and file watching - reports if a watched directory or a file changes
  • Block traffic on a variety of Block Lists including DShield Block List and Spamhaus DROP List
  • BOGON packet protection
  • Pre-configured settings for Low, Medium or High firewall security (cPanel servers only)
  • Works with multiple ethernet devices
  • Server Security Check - Performs a basic security and settings check on the server (via cPanel/DirectAdmin/Webmin UI)
  • Allow Dynamic DNS IP addresses - always allow your IP address even if it changes whenever you connect to the internet
  • Alert sent if server load average remains high for a specified length of time
  • mod_security log reporting (if installed)
  • Email relay tracking - tracks all email sent through the server and issues alerts for excessive usage (cPanel servers only)
  • IDS (Intrusion Detection System) - the last line of detection alerts you to changes to system and application binaries
  • SYN Flood protection
  • Ping of death protection
  • Port Scan tracking and blocking
  • Permanent and Temporary (with TTL) IP blocking
  • Exploit checks
  • Account modification tracking - sends alerts if an account entry is modified, e.g. if the password is changed or the login shell
  • Shared syslog aware
  • Messenger Service - Allows you to redirect connection requests from blocked IP addresses to preconfigured text and html pages to inform the visitor that they have been blocked in the firewall. This can be particularly useful for those with a large
  • user base and help process support requests more efficiently
  • Country Code blocking - Allows you to deny or allow access by ISO Country Code
  • Port Flooding Detection - Per IP, per Port connection flooding detection and mitigation to help block DOS attacks
  • DirectAdmin UI integration
  • Updated Webmin UI integration
  • WHM root access notification (cPanel servers only)
  • lfd Clustering - allows IP address blocks to be automatically propagated around a group of servers running lfd. It allows allows cluster-wide allows, removals and configuration changes
  • Quick start csf - deferred startup by lfd for servers with large block and/or allow lists
  • Distributed Login Failure Attack detection
  • Temporary IP allows (with TTL)
  • IPv6 Support with ip6tables
  • Integrated UI - no need for a separate Control Panel or Apache to use the csf configuration
  • Integrated support for cse within the Integrated UI
  • cPanel Reseller access to per reseller configurable options Unblock, Deny, Allow and Search IP address blocks
  • System Statistics - Basic graphs showing the performance of the server, e.g. Load Averages, CPU Usage, Memory Usage, etc
  • ipset support for large IP lists
  • ...lots more!

    Installation is quite straightforward:

    you need to install fail2ban (no need to configure anything)
yum install fail2ban

here we install CSF Firewall

cd /usr/src
rm -fv csf.tgz
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

now run this command to see if all good with iptables

perl /etc/csf/csftest.pl

as it CSF is very tricky to setup (/etc/csf/csf.conf) so its time to install webmin

wget http://prdownloads.sourceforge.net/webadmin/webmin-1.850-1.noarch.rpm

then install optional dependencies with :

yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty perl-Encode-Detect

and then run the command :

rpm -U webmin-1.850-1.noarch.rpm

you can login to webmin , update any package they will propose

http://yourserver:10000/

then its time to install the module CSF for webmin (very cool)

Webmin > Webmin Configuration > Webmin Modules >
From local file > /etc/csf/csfwebmin.tgz > Install Module

now you have CSF/WEBMIN/FAIL2BAN installed and you need to go into configuration TAB and check about setting (be carrefull with the setting)

we start CSF

service csf start

you can make a security scan , it will tell you what to do for increase security (check the panel)

now you have a powerfull firewall that will reject DDOS/SQL injection & all the shit with the help of fail2ban/iptables , all is automatic

do never use iptables command , use CSF directly into webmin

edit: you can install mode suhosin for better security

yum install php-suhosin

Create /etc/php.d/suhosin.ini

 

echo 'extension=suhosin.so' > /etc/php.d/suhosin.ini

restart httpd

service httpd restart

now verify if its installed 

php -v

you should see
 

with Suhosin v0.9.38, Copyright (c) 2007-2015, by SektionEins GmbH​