Como instalar APF para cPanel

Estoy configurando un nuevo servidor para mudar los sitios web que estoy hospedando y quise aprovechar para documentar como instalar APF (Advanced Policy Firewall) en un servidor con cPanel (Prácticamente es lo mismo si tiene cPanel o no, sólo configuraremos distintos puertos).

Debes entrar como root a la consola y de preferencia moverte a un directorio temporal

1) Descarga los archivos de APF

# wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz

2) Extrae el contenido del tar.gz y te diriges al directorio (varia según la versión)

# tar -zxf apf-current.tar.gz
# cd apf-9.7-2

3) Debes correr el instalador dentro de dicha carpeta

# ./install.sh

4) Ahora debemos editar los puertos en el archivo de configuración

# nano -w  /etc/apf/conf.apf

Los puertos entrantes deben quedar de la siguiente manera para un servidor con cPanel

# Common ingress (inbound) TCP ports
IG_TCP_CPORTS=" 20,21,22,25,26,53,80,110,143,443,465,993,995,2082,2083,2086,2087,2095,2096,3306,6666"

# Common ingress (inbound) UDP ports
IG_UDP_CPORTS="21,53,465,873"

# Common ICMP (inbound) types
# 'internals/icmp.types' for type definition; 'all' is wildcard for any
IG_ICMP_TYPES="3,5,11,0,30,8"

Y los salientes de la siguiente manera

# Common egress (outbound) TCP ports
EG_TCP_CPORTS="21,22,25,26,37,43,53,80,110,113,443,465,873,2089,3306"

# Common egress (outbound) UDP ports
EG_UDP_CPORTS="20,21,53,465,873"

# Common ICMP (outbound) types
# 'internals/icmp.types' for type definition; 'all' is wildcard for any
EG_ICMP_TYPES="all"

Para que APF monitoree los puertos salientes es necesario buscar

EGF="0"

y sustituirlo por

EGF="1"

5) Guardamos y cerramos nuestro archivo (CTRL+X) e iniciamos APF

# /usr/local/sbin/apf -s

6) Prueba que todo funcione (SSH, webmail, cPanel, WHM, etc.), si todo funciona correctamente volvemos a editar el archivo de configuración

# nano -w  /etc/apf/conf.apf

Buscamos y cambiamos

DEVEL_MODE="0"

por

DEVEL_MODE="1"

7) Guardas, cierras y reinicias APF

/usr/local/sbin/apf -r

¡Listo! APF está corriendo y monitoreando tu servidor