Lunes, 25 Noviembre 2024

Cómo instalar Config Server Firewall (CSF) en Debian 11

CSF, también conocido como "Config Server Firewall", es un firewall gratuito y avanzado para sistemas Linux. Viene con algunas funciones de seguridad avanzadas, como intrusiones, inundaciones y detecciones de inicio de sesión. Está diseñado para defenderse de muchos ataques, como análisis de puertos, inundaciones SYN y ataques de fuerza bruta de inicio de sesión. También proporciona integración para cPanel, DirectAdmin y Webmin.

Prerrequisitos

  • Un servidor que ejecuta Debian 11.

  • Se configura una contraseña de root en el servidor.

Empezando

Antes de comenzar, se recomienda actualizar los paquetes de su sistema a la versión actualizada. Puedes hacerlo usando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, instale otras dependencias requeridas usando el siguiente comando:

apt-get install sendmail dnsutils unzip libio-socket-ssl-perl libcrypt-ssleay-perl git perl iptables libnet-libidn-perl libio-socket-inet6-perl libsocket6-perl -y

Instalar CSF en Debian 11

De forma predeterminada, el paquete CSF no se incluye en el repositorio predeterminado de Debian 11. Deberá descargarlo de su sitio web oficial.

Puede descargar la última versión de CSF con el siguiente comando:

wget http://download.configserver.com/csf.tgz

Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:

tar -xvzf csf.tgz

A continuación, cambie el directorio a CSF y ejecute el script install.sh para instalar CSF en su servidor.

cd csf
bash install.sh

Una vez que se haya instalado CSF, debería obtener el siguiente resultado:

Don't forget to:
1. Configure the following options in the csf configuration to suite your server: TCP_*, UDP_*
2. Restart csf and lfd
3. Set TESTING to 0 once you're happy with the firewall, lfd will not run until you do so

Adding current SSH session IP address to the csf whitelist in csf.allow:
*WARNING* URLGET set to use LWP but perl module is not installed, fallback to using CURL/WGET
Adding 106.222.22.32 to csf.allow only while in TESTING mode (not iptables ACCEPT)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
'lfd.service' -> '/usr/lib/systemd/system/lfd.service'
'csf.service' -> '/usr/lib/systemd/system/csf.service'
Created symlink /etc/systemd/system/multi-user.target.wants/csf.service → /lib/systemd/system/csf.service.
Created symlink /etc/systemd/system/multi-user.target.wants/lfd.service → /lib/systemd/system/lfd.service.
Failed to disable unit: Unit file firewalld.service does not exist.
Failed to stop firewalld.service: Unit firewalld.service not loaded.
Unit firewalld.service does not exist, proceeding anyway.
Created symlink /etc/systemd/system/firewalld.service → /dev/null.
'/etc/csf/csfwebmin.tgz' -> '/usr/local/csf/csfwebmin.tgz'

Installation Completed

Después de la instalación, verifique los módulos iptables requeridos para CSF usando el siguiente comando:

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

Si todo está bien, debería obtener el siguiente resultado:

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

Configurar CSF

A continuación, deberá configurar CSF según sus requisitos. Puede configurarlo editando el archivo /etc/csf/csf.conf.

nano /etc/csf/csf.conf

Primero, busque la línea TESTING = "1" y cambie el valor a "0" para habilitar el CSF:

TESTING = "0"

A continuación, busque la línea RESTRICT_SYSLOG = "0" y cambie el valor a 3 para establecer el acceso a los archivos syslog/rsyslog solo para los miembros del RESTRICT_SYSLOG_GROUP:

RESTRICT_SYSLOG = "3"

Agregue los puertos abiertos TCP entrantes requeridos en la siguiente línea:

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

Agregue sus puertos TCP salientes requeridos en la siguiente línea:

#Permitir puertos TCP salientes 
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"

Agregue los puertos abiertos UDP entrantes requeridos en la siguiente línea:

#Permitir puertos UDP entrantes 
UDP_IN = "20,21,53,80,443"

Agregue sus puertos UDP salientes requeridos en la siguiente línea:

#Permitir puertos UDP salientes 
UDP_OUT = "20,21,53,113,123"

Guarde y cierre el archivo, luego vuelva a cargar el firewall CSF para aplicar los cambios:

csf -r

Comandos básicos de CSF

Para detener el firewall CSF, ejecute el siguiente comando:

csf -s

Para limpiar el firewall CSF, ejecute el siguiente comando:

csf -f

Para enumerar todas las reglas de IPTABLES agregadas por CSF, ejecute el siguiente comando:

csf -l

Para iniciar el CSF y permitir que se inicie al reiniciar el sistema, ejecute el siguiente comando:

systemctl start csf
systemctl enable csf

Para verificar el estado del firewall CSF, ejecute el siguiente comando:

systemctl status csf

Debería obtener el siguiente resultado:

? csf.service - ConfigServer Firewall & Security - csf
     Loaded: loaded (/lib/systemd/system/csf.service; enabled; vendor preset: enabled)
     Active: active (exited) since Sat 2021-09-18 15:42:04 UTC; 11s ago
    Process: 8022 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS)
   Main PID: 8022 (code=exited, status=0/SUCCESS)
        CPU: 705ms

Sep 18 15:42:04 debian11 csf[8022]: ACCEPT  all opt    in * out lo  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: LOGDROPOUT  all opt    in * out !lo  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: LOGDROPIN  all opt    in !lo out *  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: csf: FASTSTART loading DNS (IPv4)
Sep 18 15:42:04 debian11 csf[8022]: csf: FASTSTART loading DNS (IPv6)
Sep 18 15:42:04 debian11 csf[8022]: LOCALOUTPUT  all opt -- in * out !lo  0.0.0.0/0  -> 0.0.0.0/0
Sep 18 15:42:04 debian11 csf[8022]: LOCALINPUT  all opt -- in !lo out *  0.0.0.0/0  -> 0.0.0.0/0
Sep 18 15:42:04 debian11 csf[8022]: LOCALOUTPUT  all opt    in * out !lo  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: LOCALINPUT  all opt    in !lo out *  ::/0  -> ::/0
Sep 18 15:42:04 debian11 systemd[1]: Finished ConfigServer Firewall & Security - csf.

Para permitir un host específico por dirección IP, ejecute el siguiente comando:

csf -a 192.168.100.10

Para denegar un host específico por dirección IP, ejecute el siguiente comando:

csf -d 192.168.100.11

Para eliminar la IP de la lista de permitidos, ejecute el siguiente comando:

csf -ar 192.168.100.10

Para eliminar la IP de la lista de denegación, ejecute el siguiente comando:

csf -dr 192.168.100.11

Puede agregar direcciones IP confiables editando el archivo /etc/csf/csf.allow:

nano /etc/csf/csf.allow

Agregue sus direcciones IP de confianza:

192.168.100.10

Puede agregar direcciones IP que no sean de confianza editando el archivo /etc/csf/csf.deny:

nano /etc/csf/csf.deny

Agregue sus direcciones IP que no son de confianza:

192.168.100.11

 

Fuente: https://www.howtoforge.com/how-to-install-config-server-firewall-csf-on-debian-11/

NOCPERU - DATA CENTER, es el primer data center corporativo dedicado a empresas, un sistema robusto y estable desarrollado con conectividad de fibra óptica y operado por los más altos estándares internacionales.

Contáctenos

Trujillo, La Libertad, Perú
01 641 1239
044 64 3108
01 305-749-5753
+51 902 524 298