Protege tu servidor contra ataques DDoS, DoS, Flood y bruteforce

En esta entrada veremos como instalar CSF Firewall en nuestro cloud server. De esta forma, podemos tener un control de las ips que se bannean, podemos bannear a mano así como también se bannearan automáticamente dependiendo la configuración que tengamos en nuestro firewall.

Lo bueno de este Firewall es que no solo bloquea DDoS, DoS y Flood, sino que también detecta bruteforce en el SSH y FTP y previene ese tipo de ataques.

http://rhuangonzaga.com.br/blog/wp-content/uploads/2013/08/317x127xCSF.png.pagespeed.ic.8bP8CwKGtD.jpg

CSF Firewall corre en las siguientes distros de Linux:

RedHat v7.3, v8.0, v9.0
RedHat Enterprise v3, v4, v5, v6(32/64 bit)
Debian v3.1, v4, v5, v6
CentOS v3, v4, v5, v6 (32/64 bit)
CouldLinux (based on CentOS/RHEL)
Fedora Core v1 to v16(32/64 bit)
Ubuntu v6.06 LTS, v8.10, v9.10, v10.04 LTS, v10.10
Mandriva 2009, 2010
Gentoo *Slackware v12.2
openSUSE v10, v11

Y en los siguientes entornos virtuales:

Virtuozzo
OpenVZ
VMware
UML
Xen
MS Virtual Server
VirtualBox

Instalación

Descargamos el Firewall:

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

Descomprimimos:

tar -xzf csf.tgz

Finalmente lo instalamos:

cd csf
sh install.sh

Como CSF funciona en conjunto con IPTABLES, es necesario checkear los módulos instalados en el servidor ejecutando el siguiente comando

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

Si no arroja ningun error fatal, podemos seguir sin problemas.

Configuración

Editamos el archivo de configuración de la siguiente forma

nano /etc/csf/csf.conf

Ahora haremos incapié en la siguiente parte de los puertos:

# 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"

Obviamente que no tienen porque aparecer tal cual mi caso. Yo coloqué los puertos default.

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.

Una vez que terminamos de configurar esto, y siempre que toquemos algo en las configuraciones del CSF, es necesario reiniciar. Para ello ejecutamos el siguiente comando:

csf -r

Para bloquear una ip o un rango de IPs, debemos configurar el csf.deny

nano /etc/csf/csf.deny

Y ahí podemos añadir todas las ips que deseemos bannear, así como tambien veremos ahí las que bannea de forma automática.

Por otro lado tambien podemos poner IPs en un whitelist para que no las bannee. Para ello modificamos el csf.allow

nano /etc/csf/csf.allow

Recuerden que siempre que hagamos modificaciones, debemos reiniciar el CSF

csf -r

Esperamos que les sea de utilidad y cualquier consulta pueden escribirnos.

Leave a Comment