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 detecciones de intrusión, inundación e inicio de sesión. Está diseñado para defenderse contra muchos ataques, como escaneos de puertos, inundaciones SYN y ataques de fuerza bruta de inicio de sesión. También proporciona integración para cPanel, DirectAdmin y Webmin.
Este tutorial explicará la instalación de CSF, la configuración básica y los comandos esenciales para CSF en Debian 11.
Requisitos
- Un servidor que ejecuta Debian 11.
- Se configura una contraseña raíz en el servidor.
Cómo empezar
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 está incluido 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 install.sh script para instalar CSF en su servidor.
cd csf
bash install.sh
Una vez que se haya instalado el CSF, debería obtener el siguiente resultado:
No olvides:1. Configure las siguientes opciones en la configuración csf para adaptarse a su servidor:TCP_*, UDP_*2. Reinicie csf y lfd3. Establezca PRUEBA en 0 una vez que esté satisfecho con el firewall, lfd no se ejecutará hasta que lo haga. Agregue la dirección IP de la sesión SSH actual a la lista blanca de csf en csf.allow:* ADVERTENCIA * URLGET configurado para usar LWP pero el módulo perl no está instalado, recurra al uso de CURL/WGETAagregando 106.222.22.32 a csf.allow solo mientras está en modo PRUEBA (no iptables ACCEPT)*ADVERTENCIA* El modo PRUEBA está habilitado; no olvide deshabilitarlo en la configuración 'lfd.service' -> '/usr /lib/systemd/system/lfd.service''csf.service' -> '/usr/lib/systemd/system/csf.service'Creado enlace simbólico /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 disabled unit :El archivo de la unidad firewalld.service no existe. No se pudo detener el firewalld.service:la unidad firewalld.service no está cargada. La unidad firewalld.service no existe, continúa de todos modos. /null.'/etc /csf/csfwebmin.tgz' -> '/usr/local/csf/csfwebmin.tgz'Instalación completada
Después de la instalación, verifique los módulos de 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:
Probando ip_tables/iptable_filter...OKTesting ipt_LOG...OKTesting ipt_multiport/xt_multiport...OKTesting ipt_REJECT...OKTesting ipt_state/xt_state...OKTesting ipt_limit/xt_limit...OKTesting ipt_recent...OKTesting xt_connlimit.. .OKTesting propietario_ipt/propietario_xt...OKTesting iptable_nat/ipt_REDIRECT...OKTesting iptable_nat/ipt_DNAT...OKRESULTADO:csf debería funcionar en este servidor
Configurar CSF
A continuación, deberá configurar CSF según sus requisitos. Puede configurarlo editando /etc/csf/csf.conf archivo.
nano /etc/csf/csf.conf
Primero, busque la línea TESTING ="1" y cambie el valor a "0" para habilitar el CSF:
PRUEBA ="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 sus 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 salientesTCP_OUT ="20,21,22,25,53,80,110,113,443,587,993,995"
Agregue sus puertos abiertos UDP entrantes requeridos en la siguiente línea:
# Permitir puertos UDP entrantesUDP_IN ="20,21,53,80,443"
Agregue sus puertos UDP salientes requeridos en la siguiente línea:
# Permitir puertos UDP salientesUDP_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 cortafuegos de CSF, ejecute el siguiente comando:
csf-s
Para vaciar 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 iniciar csf
systemctl habilitar csf
Para comprobar el estado del cortafuegos CSF, ejecute el siguiente comando:
systemctl estado csf
Deberías obtener el siguiente resultado:
? csf.service - ConfigServer Firewall y seguridad - csf Cargado:cargado (/lib/systemd/system/csf.service; habilitado; valor predeterminado del proveedor:habilitado) Activo:activo (salido) desde el sábado 2021-09-18 15:42:04 UTC; Hace 11 s Proceso:8022 ExecStart=/usr/sbin/csf --initup (código=salido, estado=0/ÉXITO) PID principal:8022 (código=salido, estado=0/ÉXITO) CPU:705msSep 18 15:42:04 debian11 csf[8022]:ACCEPT all opt in * out lo ::/0 -> ::/0Sep 18 15:42:04 debian11 csf[8022]:LOGDROPOUT all opt in * out !lo ::/0 -> ::/018 de septiembre 15:42:04 debian11 csf[8022]:LOGDROPIN all opt in !lo out * ::/0 -> ::/018 de septiembre 15:42:04 debian11 csf[8022]:csf:FASTSTART loading DNS (IPv4) 18 de septiembre 15:42:04 debian11 csf[8022]:csf:FASTSTART cargando DNS (IPv6) 18 de septiembre 15:42:04 debian11 csf[8022]:LOCALOUTPUT all opt -- in * out !lo 0.0. 0.0/0 -> 0.0.0.0/018 de septiembre 15:42:04 debian11 csf[8022]:LOCALINPUT all opt -- in !lo out * 0.0.0.0/0 -> 0.0.0.0/018 de septiembre 15:42:04 debian11 csf[8022]:LOCALOUTPUT todos optan por entrar * salir !lo ::/0 -> ::/018 de septiembre 15:42:04 debian11 csf[8022]:LOCALINPUT todos optan por entrar !lo salir * ::/0 -> ::/018 de septiembre 15:42:04 debian11 systemd[1]:Firewall y seguridad de ConfigServer finalizados - csf.Para permitir un host específico por dirección IP, ejecute el siguiente comando:
csf-a 192.168.100.10Para denegar un host específico por dirección IP, ejecute el siguiente comando:
csf-d 192.168.100.11Para eliminar una IP de la lista de permitidos, ejecute el siguiente comando:
csf-ar 192.168.100.10Para eliminar una IP de la lista de denegación, ejecute el siguiente comando:
csf-dr 192.168.100.11Puede agregar direcciones IP de confianza editando /etc/csf/csf.allow archivo:
nano /etc/csf/csf.allowAgregue sus direcciones IP de confianza:
192.168.100.10Puede agregar direcciones IP que no sean de confianza editando /etc/csf/csf.deny archivo:
nano /etc/csf/csf.denyAgregue sus direcciones IP que no sean de confianza:
192.168.100.11Conclusión
En la guía anterior, explicamos cómo instalar el firewall CSF en Debian 11. También le mostramos algunos comandos básicos de CSF para administrar su tráfico. Para obtener más información, visite la documentación de CSF.