Cómo instalar el cortafuegos CSF en Debian 11
ConfigServer Firewall (CSF) es un Firewall para servidores Linux y sistemas BSD para controlar el tráfico entrante y saliente. Antes de entrar en detalles específicos sobre CSF, comprendamos qué es un firewall y cómo funciona.
Un firewall actúa como un escudo que protege el sistema de un ataque externo. Algunos de ellos son cortafuegos con estado, puertas de enlace a nivel de circuito, cortafuegos de filtrado UDP/ICMP o filtros de capa de aplicación.
El firewall debian 11 viene con un conjunto de reglas para filtrar el tráfico entrante y saliente. Y dependiendo de qué tipo de Firewall esté utilizando, decide si una IP puede acceder a la red o no. La lista de reglas se define para un sistema en particular y el firewall filtra el tráfico según las reglas.
ConfigServer Firewall (CSF) es uno de los firewalls de código abierto más utilizados en servidores Linux. CSF viene con una lista de funciones que se pueden usar para configurar las reglas. Por lo tanto, es muy potente y fácil de usar al mismo tiempo.
Requisitos previos
Para instalar y configurar CSF en Debian 11, debe tener:
- Un servidor que ejecute Debian 11 y su sistema deben estar conectados a Internet.
- Acceso raíz al servidor.
Actualización de su sistema
Antes de instalar el csf firewall, debe actualizar su sistema. Ejecute el siguiente comando para actualizar su sistema.
sudo apt update
Una vez que se complete la actualización, ejecute los siguientes comandos para instalar las dependencias requeridas.
sudo apt install libio-socket-inet6-perl libsocket6-perl -y
sudo apt install sendmail dnsutils unzip libio-socket-ssl-perl -y
sudo apt install libcrypt-ssleay-perl git perl iptables libnet-libidn-perl -y
En caso de que tenga una versión anterior de CSF instalada en su sistema, ejecute el siguiente comando para desinstalarlo primero. Como Debian 11 usa una nueva versión de Perl, la instalación de CSF puede causar conflictos con la instalación de CSF existente.
cd /etc/csf && sh uninstall.sh
Si está utilizando otro script de configuración de firewall debian 11 como UFW, debe desactivarlo antes de continuar.
sudo ufw disable
Instalación del cortafuegos CSF en Debian 11
Ahora que ha instalado todos los requisitos previos necesarios, descarguemos e instalemos el csf linux.
El repositorio de Debian 11 no contiene paquetes CSF. Por lo tanto, debe descargar la última versión del debian 11 firewall ConfigServer desde su sitio oficial.
Para hacer eso, emita el siguiente comando.
wget http://download.configserver.com/csf.tgz
Ahora ejecute el siguiente comando para extraer el archivo descargado.
sudo tar -xvzf csf.tgz
Una vez que haya extraído el archivo, instale CSF usando el siguiente comando.
cd csf && sh install.sh
Una vez completada la instalación, el cortafuegos debería estar instalado. Para iniciar el firewall CSF, ejecute el siguiente comando.
sudo systemctl start csf
Ejecute el siguiente comando para asegurarse de que todo esté bien.
perl /usr/local/csf/bin/csftest.pl
Obtendrá una salida como se muestra a continuación. Esta salida confirma que CSF está funcionando.
Para permitir que el firewall CSF se inicie en el arranque, ejecute el siguiente comando.
sudo systemctl enable csf
Puede verificar el estado de CSF usando el siguiente comando.
sudo systemctl status csf
Esta salida confirma que CSF está funcionando. Ahora vamos a configurar este firewall.
Salida de muestra:
Configuración del cortafuegos CSF en Debian 11
Una vez que haya instalado el firewall CSF, las reglas predeterminadas están activas y vienen con un archivo de configuración /etc/csf/csf.conf
Debe revisar este archivo de configuración para asegurarse de que esté configurado según sus necesidades. En este archivo, puede ver todas las reglas predeterminadas que están activas desde la perspectiva de su sistema. Echemos un vistazo más de cerca a algunos de ellos.
sudo nano /etc/csf/csf.conf
Cuanto menor sea el número de puertos abiertos, más seguro será el sistema. Pero siempre debe tener algunos puertos comunes abiertos. Puede ver todos los puertos que están abiertos de forma predeterminada en el archivo csf.conf como se muestra a continuación.
Como puede ver en el archivo de configuración, si desea permitir/bloquear cualquier puerto, debe agregar/eliminar el número de puerto en la lista respectivamente.
Por ejemplo, si desea bloquear el puerto 80, debe eliminarlo de la lista, como se muestra a continuación.
Si está utilizando IPv6, también debe actualizarlo en el archivo de configuración, ya que la mayoría de los ataques en la actualidad se realizan a través del protocolo IPv6. Debe configurar TCP6_IN, TCP6_OUT de manera similar a lo que hemos configurado anteriormente para los puertos IPv4.
Salida de muestra:
Ahora vamos a configurar los ajustes CONNLIMIT. CONNLIMIT es una función de seguridad en CSF que le permite limitar la cantidad de conexiones simultáneas que puede tener una conexión remota en un puerto específico. Esto ayuda a mitigar el riesgo de ataques DoS/DDoS.
Por ejemplo, si desea limitar cualquier IP con no más de 3 conexiones simultáneas, debe actualizarla como se muestra a continuación. Esta configuración permitiría solo 3 conexiones simultáneas en el puerto 22 y 3 conexiones simultáneas en el puerto 443.
A continuación, configuremos los ajustes de PORTFLOOD. Esta opción nos permite configurar el número máximo de solicitudes de conexión permitidas en un puerto dentro de un marco de tiempo determinado.
Por ejemplo, si desea bloquear cualquier IP si se establecen más de 3 conexiones en el puerto 443 utilizando el protocolo TCP en 60 segundos, debe actualizarlo como se muestra a continuación. El bloqueo se eliminará automáticamente una vez que haya transcurrido el período de tiempo de 60 segundos desde la última conexión.
La característica más básica de cualquier firewall es bloquear y permitir direcciones IP. Puede agregar la dirección IP que desea bloquear agregándola manualmente en el archivo csf.deny o puede agregar un rango completo de direcciones IP en el archivo csf.deny.
Por ejemplo, puede bloquear todo el rango de IP 192.168.1.0/24.
O
Puede bloquear una sola IP de 192.168.2.0 agregándola en el archivo csf.deny como se muestra a continuación.
Abra el archivo csf.deny con el siguiente comando.
sudo nano /etc/csf/csf.deny
Agregue las siguientes líneas al final del archivo. Una línea a la vez.
192.168.2.0 192.168.1.0/24
Salida de muestra:
Una vez que haya terminado, guarde y cierre el archivo presionando CTRL+X, Yy Ingresar.
Uno es opuesto al archivo csf.deny, el archivo csf.allow se usa para excluir una IP o un rango de IP de todos los filtros. Tenga en cuenta que incluso si ya agregó una IP al archivo csf.deny, la dirección IP bloqueada aún puede acceder a su servidor al agregarla en el archivo csf.allow.
sudo nano /etc/csf/csf.allow
CSF ofrece una amplia variedad de opciones para configurar su propio firewall, que está más allá del alcance de este tutorial. Puede consultar el ConfigServer documentación sobre los ajustes y cómo funcionan.
Una vez que termine de actualizar todas las configuraciones requeridas, guarde y cierre el archivo csf.conf presionando CTRL+X, Yy Ingresar.
CSF también ofrece una función para ignorar una dirección IP de cualquier filtro. A diferencia de permitir una dirección IP en el archivo csf.allow, no puede ignorar una dirección IP si figura en el archivo csf.deny.
sudo nano /etc/csf/csf.ignore
Ahora que ha configurado todas las configuraciones en el archivo csf.conf, es hora de actualizar el conjunto de reglas para aplicar los cambios.
Para hacer eso, ejecute el siguiente comando.
sudo csf -r
Una vez que se complete la ejecución del comando anterior, podrá ver un mensaje como se muestra en la siguiente captura de pantalla. Si no se muestran mensajes de error, ¡felicidades! La configuración del firewall de su servidor ahora está actualizada y lista para usar.
Conclusión
En este tutorial, ha aprendido a instalar ConfigServer Security & Firewall (CSF) en un servidor Debian 11. También aprendió a crear reglas de firewall, agregando direcciones IP a listas permitidas y bloqueadas utilizando archivos de configuración CSF. Un csf ejemplo de configuración podría ser la limitación de conexiones o la gestión de puertos específicos como se ha mencionado anteriormente.
Si encuentra algún problema, siempre puede consultar ConfigServer Firewall documentación para más información.