X

Cómo instalar y configurar CSF firewall

Hace pocos días les comentábamos cuáles eran algunos de los mejores firewalls para Linux, y el día de hoy vamos a ver una pequeña guía básica de configuración para uno de los más populares: CSF Firewall.

El software que veremos es el famoso ConfigServer Security & Firewall, mejor conocido por sus siglas CSF.
CSF, como ya les habíamos comentado, es uno de los proyectos de Configserver.com. Más que un firewall, es en realidad una pequeña suite de seguridad, pero nosotros vamos a enfocarnos en el cortafuegos en sí. CSF nos brinda muchísimas opciones para configurar, pero nos concentraremos solo en unas pocas.

Como siempre, trabajaremos en un servidor CentOS, aunque la instalación es muy genérica para muchas distros Linux, así que si usas Ubuntu u otra diferente, probablemente no tendrás problemas al seguir esta guía.

 

Cómo instalar CSF firewall

Primero que nada es necesario instalar CSF, en caso de que no lo hayas instalado aún. Su instalación es muy sencilla.

Descargamos la herramienta:

wget http://www.configserver.com/free/csf.tgz

Descomprimimos:

tar -xzf csf.tgz

Instalamos:

cd csf
sh install.sh

Dado que CSF funciona con iptables, lo ideal es chequear los módulos que hay instalados en el servidor:

perl /usr/local/csf/bin/csftest.pl

Mientras el script no arroje ningún error FATAL no habrá inconvenientes.

Cómo configurar CSF firewall

Como decíamos, vamos a ver una configuración básica para el cortafuegos, enfocándonos principalmente en dos cosas: los puertos y las listas de bloqueos.

Configuración de puertos

Editamos el archivo de configuración:

pico -w /etc/csf/csf.conf

Debemos enfocarnos en las siguientes líneas:

# Allow incoming TCP ports
TCP_IN = "20,21,80,443,XXXX"

# Allow outgoing TCP ports
TCP_OUT = "20,21,25,80,443"

# Allow incoming UDP ports
UDP_IN = "20,21"

# Allow outgoing UDP ports
# To allow outgoing traceroute add 33434:33523 to this list
UDP_OUT = "20,21"

Este es un ejemplo de configuración para puertos básicos. ¿Qué puertos son estos?

20 y 21: FTP.
80: puerto del servidor web.
443: puerto de HTTPS.
25: puerto de SMTP.
XXXX: este es el puerto de SSH. El estándar es el 22, pero es muy vulnerado, así que lo ideal es usar uno distinto. Ejemplos: 547, 1016, etc.

Los puertos que debes abrir (como los del recuadro anterior) o cerrar dependen de las necesidades de tus sitios o configuraciones de tu servidor.

Una vez terminas de cerrar/abrir puertos, guardas los cambios y reinicias el firewall:

csf -r

Listas de bloqueos y RBLs

Quizá te estés preguntando lo siguiente: ¿qué es «RBL»? Las RBLs (Realtime Blackhole List) son listas donde se encuentran aquellas IPs que son detectadas como una posible amenaza de spam o que directamente fueron detectadas enviando spam. Existen varias RBLs y algunas pueden ser utilizadas por CSF para bloquear IPs.

Utilizando las listas de Spamhaus nuestro servidor estará bastante protegido ante el spam, pero además podemos añadir la lista de DShield, que en realidad no es una RBL, ya que se encarga de registrar IPs y redes que lanzan ataques. Estas configuraciones se realizan en unos pocos pasos.

Editamos el archivo de listas de bloqueo:

pico -w /etc/csf/csf.blocklists

Debemos prestar atención a las siguientes líneas:

# Spamhaus Don't Route Or Peer List (DROP)
# Details: http://www.spamhaus.org/drop/
SPAMDROP|86400|0|http://www.spamhaus.org/drop/drop.lasso

# Spamhaus Extended DROP List (EDROP)
# Details: http://www.spamhaus.org/drop/
SPAMEDROP|86400|0|http://www.spamhaus.org/drop/edrop.lasso

# DShield.org Recommended Block List
# Details: http://dshield.org
DSHIELD|86400|0|http://feeds.dshield.org/block.txt

Las líneas no comentadas, es decir, aquellas que no llevan numeral (#) al principio, son las de RBLs (en el caso de Spamhaus) o de una lista de IPs atacantes (en el caso de DShield). Si están comentadas, debemos quitar el numeral para activarlas. NO se debe quitar el numeral a líneas de instrucciones o de indicaciones pues se provocarían fallos en la configuración.
En ese mismo archivo podemos encontrar algunas otras listas, pero en general no necesitaremos activar más, con Spamhaus y DShield debería ser suficiente.
Una vez terminamos de editar, guardamos los cambios.
Reiniciamos CSF:

csf -r

Como comentario final, en el archivo de configuración de CSF veremos que entre las primeras líneas una dice «TESTING = X». Si esta línea tiene el valor «1», debemos cambiarlo a «0» para que el cortafuegos no se desactive automáticamente. TESTING es una variable que se usa únicamente cuando estamos haciendo pruebas, pero mientras no la usemos lo ideal es dejarla en 0.

Recuerda siempre que para tomar cualquier cambio realizado en el firewall debemos reiniciarlo:

csf -r

Conclusión

Como hemos visto la instalación y configuración de CSF Firewall es bastante práctica y sencilla. En este post igualmente hemos hecho una configuración básica, hay muchas otras opciones que deberías explorar. Si te interesa conocer este software más a fondo, te sugerimos revisar su amplia documentación, a la cual podrás acceder haciendo click en este enlace.

Artículos relacionados