Instalar y configurar ConfigServer Security & Firewall (CSF) en Linux


Si observa las ofertas de trabajo relacionadas con TI en cualquier lugar, notará una demanda constante de profesionales de la seguridad. Esto no solo significa que la ciberseguridad es un campo de estudio interesante, sino también muy lucrativo.

Con eso en mente, en este artículo explicaremos cómo instalar y configurar ConfigServer Security & Firewall (también conocido como CSF para abreviar), una suite de seguridad completa para Linux, y compartiremos un par de casos de uso típicos. A continuación, podrá utilizar CSF como un cortafuegos y un sistema de detección de fallos de intrusión/inicio de sesión para reforzar los servidores de los que es responsable.

Sin más preámbulos, comencemos.

Instalación y configuración de CSF en Linux

Para comenzar, tenga en cuenta que Perl y libwww son un requisito previo para instalar CSF en cualquiera de las distribuciones compatibles (RHEL y CentOS, openSUSE, Debian y Ubuntu). Dado que debería estar disponible de forma predeterminada, no se requiere ninguna acción de su parte a menos que uno de los siguientes pasos devuelva un error fatal (en ese caso, use el sistema de administración de paquetes para instalar las dependencias que faltan).

# yum install perl-libwww-perl
# apt install libwww-perl
# cd /usr/src
# wget https://download.configserver.com/csf.tgz
# tar xzf csf.tgz
# cd csf

Esta parte del proceso verificará que todas las dependencias estén instaladas, creará las estructuras de directorio y los archivos necesarios para la interfaz web, detectará los puertos abiertos actualmente y le recordará que reinicie los demonios csf y lfd después de que haya terminado con la configuración inicial.

# sh install.sh
# perl /usr/local/csf/bin/csftest.pl

El resultado esperado del comando anterior es el siguiente:

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server

Desactive firewalld si se está ejecutando y configure CSF.

# systemctl stop firewalld
# systemctl disable firewalld

Cambie TESTING u003d "1" a TESTING u003d "0" (de lo contrario, el demonio lfd no se iniciará) y enumere los puertos entrantes y salientes permitidos como una lista separada por comas (TCP_IN y TCP_OUT, respectivamente) en /etc/csf/csf.conf como se muestra en el siguiente resultado:

# Testing flag - enables a CRON job that clears iptables incase of
# configuration problems when you start csf. This should be enabled until you
# are sure that the firewall works - i.e. incase you get locked out of your
# server! Then do remember to set it to 0 and restart csf when you're sure
# everything is OK. Stopping csf will remove the line from /etc/crontab
#
# lfd will not start while this is enabled
TESTING = "0"

# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"

Una vez que esté satisfecho con la configuración, guarde los cambios y vuelva a la línea de comandos.

# systemctl restart {csf,lfd}
# systemctl enable {csf,lfd}
# systemctl is-active {csf,lfd}
# csf -v

En este punto, estamos listos para comenzar a configurar el firewall y las reglas de detección de intrusos como se explica a continuación.

Configuración de reglas de detección de intrusiones y CSF

En primer lugar, querrá inspeccionar las reglas de firewall actuales de la siguiente manera:

# csf -l

También puede detenerlos o recargarlos con:

# csf -f
# csf -r

respectivamente. Asegúrese de memorizar estas opciones; las necesitará sobre la marcha, especialmente para comprobarlas después de realizar cambios y reiniciar csf y lfd.

Para permitir conexiones entrantes desde 192.168.0.10.

# csf -a 192.168.0.10

Del mismo modo, puede denegar las conexiones que se originan en 192.168.0.11.

# csf -d 192.168.0.11

Puede eliminar cada una de las reglas anteriores si lo desea.

# csf -ar 192.168.0.10
# csf -dr 192.168.0.11

Observe cómo el uso de -ar o -dr anterior elimina las reglas de permitir y denegar asociadas con una dirección IP determinada.

Dependiendo del uso previsto de su servidor, es posible que desee limitar las conexiones entrantes a un número seguro por puerto. Para hacerlo, abra /etc/csf/csf.conf y busque CONNLIMIT. Puede especificar varios puertos; pares de conexiones separados por comas. Por ejemplo,

CONNLIMIT = "22;2,80;10"

solo permitirá 2 y 10 conexiones entrantes desde la misma fuente a los puertos TCP 22 y 80, respectivamente.

Hay varios tipos de alerta que puede elegir. Busque la configuración de EMAIL_ALERT en /etc/csf/csf.conf y asegúrese de que estén configurados en "1" para recibir la alerta asociada. Por ejemplo,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

hará que se envíe una alerta a la dirección especificada en LF_ALERT_TO cada vez que alguien inicie sesión con éxito a través de SSH o cambie a otra cuenta usando el comando su.

Opciones de configuración y uso de CSF

Las siguientes opciones se utilizan para modificar y controlar la configuración de CSF. Todos los archivos de configuración de csf se encuentran en el directorio/etc/csf. Si modifica alguno de los siguientes archivos, deberá reiniciar el demonio csf para realizar cambios.

  • csf.conf: el archivo de configuración principal para controlar CSF.
  • csf.allow: la lista de direcciones IP y CIDR permitidas en el firewall.
  • csf.deny: la lista de direcciones IP y CIDR denegadas en el firewall.
  • csf.ignore: la lista de direcciones IP y CIDR ignoradas en el firewall.
  • csf. * ignore: la lista de varios archivos ignorados de usuarios, IP.

Quitar CSF Firewall

Si desea eliminar el firewall CSF por completo, simplemente ejecute el siguiente script ubicado en el directorio /etc/csf/uninstall.sh.

# /etc/csf/uninstall.sh

El comando anterior borrará el firewall CSF por completo con todos los archivos y carpetas.

En este artículo hemos explicado cómo instalar, configurar y usar CSF como un firewall y un sistema de detección de intrusos. Tenga en cuenta que se describen más funciones en csf.conf.

Por ejemplo, si está en el negocio de alojamiento web, puede integrar CSF con soluciones de gestión como Webmin.

¿Tiene alguna pregunta o comentario sobre este artículo? No dude en enviarnos un mensaje utilizando el formulario a continuación. ¡Esperamos con interés escuchar de usted!