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