How to Configure Your Firewall for cPanel Services in WHM
cPanel & WHM installs and manages many different services on your system. Most of these services require an external connection in order to function properly. Because of this, your firewall must allow cPanel & WHM to open the ports on which these services run. This document lists the ports that cPanel & WHM uses, and which services use each of these ports, to allow you to better configure your firewall.
- We strongly recommend that you only open ports for services that you use.
- So that you do not lock yourself out of your server, make certain to include a way to log back in to your server when you work with firewall rules. Always maintain console access to your server.
We strongly recommend that you use the SSL version of each service whenever possible.
- The use of non-SSL services could allow attackers to intercept sensitive information (for example, login credentials).
- Ensure that valid SSL certificates exist for your services in WHM’s Manage Service SSL Certificates interface (Home >> Service Configuration >> Manage Service SSL Certificates).
|FTP||We recommend that you use SFTP via SSH, because it is more secure than FTP.|
|SMTP||cPanel & WHM only uses this port if you specify it in WHM’s Service Manager interface (Home >> Service Configuration >> Service Manager).|
|cPanel & WHM only uses this port if you run a public DNS server.|
|WHM’s Manage AutoSSL feature (Home >> SSL/TLS >> Manage AutoSSL) requires outbound access to the |
|Razor||Razor is a collaborative spam-tracking database.|
|WebDAV||cPanel’s Web Disk interface (Home >> Files >> Web Disk) uses this port.|
|WebDAV SSL||cPanel’s Web Disk interface (Home >> Files >> Web Disk) uses this port.|
|CalDAV and CardDAV||cPanel’sinterface (Home >> Email >> Calendars and Contacts) uses this port.|
|CalDAV and CardDAV (SSL)||cPanel’sinterface (Home >> Email >> Calendars and Contacts) uses this port.|
You must open this port in order to contact the cPanel license servers.
|MySQL®||MySQL uses this port for remote database connections.|
The following examples illustrate how to add rules with CSF, APF, and the
- We do not recommend that you use these examples. Instead, make certain that your firewall rules match the way in which you use cPanel & WHM’s services.
- CentOS 7, CloudLinux™ 7, and Red Hat® Enterprise Linux (RHEL) 7 servers have additional requirements.
ConfigServer provides the free WHM plugin CSF, which allows you to modify your
iptables rules within WHM. It is a stateful packet inspection (SPI) firewall, login, and intrusion detection mechanism, and general security application for Linux servers.
To install CSF, run the following commands as the
wget https://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf & ./install.cpanel.sh
To configure CSF, use WHM’s ConfigServer & Firewall interface (Home >> Plugins >> ConfigServer & Firewall).
APF acts as a frontend for the
iptables application, and allows you to open or close ports without the use of the
The following example includes two rules to add to the
/etc/apf/conf.apf file to allow HTTP and HTTPS access to your system:
# Common ingress (inbound) TCP ports IG_TCP_CPORTS="80,443″# Common egress (outbound) TCP ports EG_TCP_CPORTS="80″
While CSF and APF are easy to use, the
iptables application offers more customization options for your packet filtering rules. The
iptables application requires that you understand the TCP/IP stack.
The following example includes
iptables rules for HTTP traffic on port
This example assumes that you have a DMZ set up on
192.168.1.1 and a broadcast IP address of
$IPTABLES -A FORWARD -p TCP -i 18.104.22.168 -o eth0 -d 192.168.1.1 -dport 80 -j allowed $IPTABLES -A FORWARD -p ICMP -i 22.214.171.124 -o eth0 -d 192.168.1.1 -j icmp_packets
CentOS 7, CloudLinux 7, and RHEL 7 firewall management
Servers that run the CentOS 7, CloudLinux 7, and RHEL 7 operating systems require that you use the
- While you can use the
iptablescommand for temporary firewall rules, we recommend that you only use the
firewallutilities on CentOS 7, CloudLinux 7, and RHEL 7 servers.
cPanel & WHM version 11.50 and later also includes the
cpanel service, which manages all of the rules in the
/etc/firewalld/services/cpanel.xml file. This allows TCP access for the server’s ports.
To add these rules automatically, perform the following steps:
- Run the
yum install firewalldcommand to ensure that your system has
- Run the
systemctl start firewalld.servicecommand to start the
- Run the /