Instalar y configurar ConfigServer Security & amp; Cortafuegos (CSF) en Linux


Si observa anuncios de trabajo relacionados 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.

Teniendo esto en cuenta, en este artículo explicaremos cómo instalar y configurar ConfigServer Security & amp; Firewall (también conocido como CSF para abreviar), una suite de seguridad completa para Linux, y comparte un par de casos de uso típicos. Luego podrá usar CSF como un cortafuegos y un sistema de detección de fallas de ingreso/intrusión para fortalecer 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 es un requisito previo para instalar CSF en cualquiera de las distribuciones compatibles ( RHEL y CentOS , openSUSE , Debian y Ubuntu ). Como 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 faltantes).

# 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 csf y lfd daemons después de que hayas terminado con la configuración inicial.

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

La salida esperada del comando anterior es la 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 está ejecutando y configure CSF.

# systemctl stop firewalld
# systemctl disable firewalld

Cambie TESTING = 1 a TESTING = 0 (de lo contrario, el daemon lfd no se iniciará) y enumere los puertos entrantes y salientes permitidos como una coma -la lista separada ( TCP_IN y TCP_OUT , respectivamente) en /etc/csf/csf.conf como se muestra en la siguiente salida:

# 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 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 las reglas de detección de intrusos y firewall como se explica a continuación.

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

En primer lugar, querrá inspeccionar las reglas actuales del firewall 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 avanza, especialmente para verificarlas después de hacer 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 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 existentes de permiso y denegación 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 en una base de puerto. Para hacerlo, abra /etc/csf/csf.conf y busque CONNLIMIT . Puede especificar múltiples puertos; Parejas de conexiones separadas por comas. Por ejemplo,

CONNLIMIT = "22;2,80;10"

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

Hay varios tipos de alertas que puede elegir. Busque las configuraciones de EMAIL_ALERT en /etc/csf/csf.conf y asegúrese de que estén configuradas 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 correctamente a través de SSH o cambie a otra cuenta con el comando su .

Opciones de configuración de CSF y uso

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 los cambios.

  • csf.conf : The main configuration file for controlling CSF.
  • csf.allow : The list of allowed IP’s and CIDR addresses on the firewall.
  • csf.deny : The list of denied IP’s and CIDR addresses on the firewall.
  • csf.ignore : The list of ignored IP’s and CIDR addresses on the firewall.
  • csf.*ignore : The list of various ignore files of users, IP’s.

Eliminar CSF Firewall

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

# /etc/csf/uninstall.sh

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

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

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

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