Búsqueda de sitios web

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


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

Teniendo esto en cuenta, en este artículo explicaremos cómo instalar y configurar ConfigServer Security & Firewall (también conocido como CSF para abreviar), una completa suite de seguridad para Linux y comparta un par de casos de uso típicos. Luego podrá utilizar CSF como firewall y sistema de detección de intrusiones/fallos de 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

Paso 1: descargar CSF

cd /usr/src
wget https://download.configserver.com/csf.tgz

Paso 2: extraiga el archivo tar CSF

tar xzf csf.tgz
cd csf

Paso 3: ejecute el script de instalación de CSF

Esta parte del proceso comprobará que todas las dependencias estén instaladas, creará las estructuras de directorios y los archivos necesarios para la interfaz web, detectará los puertos actualmente abiertos y le recordará que reinicie csf y lfd<. demonios una vez 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

Paso 4: deshabilite el firewall y configure CSF

Deshabilite firewalld si está ejecutando y configure CSF.

systemctl stop firewalld
systemctl disable firewalld

Cambie TESTING="1" a TESTING="0" (de lo contrario, el demonio lfd no podrá iniciarse) y enumere las entradas y salidas permitidas. puertos 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 regrese a la línea de comando.

Paso 5: reiniciar y probar el CSF

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 intrusiones como se explica a continuación.

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

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

csf -l

También puedes detenerlos o recargarlos con:

csf -f
csf -r

respectivamente. Asegúrese de memorizar estas opciones; las necesitará a medida que avance, especialmente para comprobarlas después de realizar cambios y reiniciar csf y lfd.

Ejemplo 1: permitir y prohibir direcciones IP

Para permitir conexiones entrantes desde 192.168.0.10.

csf -a 192.168.0.10

Del mismo modo, puedes denegar conexiones que se originen en 192.168.0.11.

csf -d 192.168.0.11

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

csf -ar 192.168.0.10
csf -dr 192.168.0.11

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

Ejemplo 2: limitar las conexiones entrantes por origen

Dependiendo del uso previsto de su servidor, es posible que desee limitar las conexiones entrantes a un número seguro según el 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.

Ejemplo 3: envío de alertas por correo electrónico

Hay varios tipos de alertas que puede elegir. Busque la configuración de EMAIL_ALERT en /etc/csf/csf.conf y asegúrese de que esté configurada 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 exitosamente 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 cualquiera 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.

Eliminar el cortafuegos CSF

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

/etc/csf/uninstall.sh

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

Resumen

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

Por ejemplo, si estás en el negocio del alojamiento web, puedes integrar CSF con soluciones de gestión como Cpanel, WHM o el conocido Webmin.

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