Proteger su servidor Linux con un firewall es crucial para mantener su servidor y su red seguros. Pero, ¿cómo se configura un cortafuegos? Considere instalar Config Server Firewall (firewall CSF) si está buscando una forma confiable y eficiente de proteger su servidor Linux.
El firewall CSF es una opción rica en funciones para servidores Linux. Y en este tutorial, aprenderá cómo instalar y configurar el firewall CSF y verá cómo funciona de primera mano.
¡Siga leyendo y evite que las entidades maliciosas ingresen a su servidor!
Requisitos
Para seguir los ejemplos de este tutorial, asegúrese de contar con lo siguiente:
- Una máquina con Linux:esta demostración usa Ubuntu 20.04, pero cualquier distribución de Linux funcionará.
- privilegios sudo o acceso a la cuenta raíz.
Instalación del cortafuegos CSF
Antes de configurar el cortafuegos CSF, primero debe instalarlo en el servidor. Pero antes de hacerlo, asegúrese de detener y deshabilitar cualquier otro firewall en su servidor.
Tener dos cortafuegos funcionando impone un riesgo de seguridad. ¿Por qué? Si ambos cortafuegos están bloqueando algo, no sabrá cuál lo está haciendo. Además, los cortafuegos no son compatibles de forma predeterminada y pueden hacer que su servidor se bloquee si tiene más de uno.
1. Ejecute los siguientes comandos para deshabilitar los firewalls predeterminados que pueda tener en su servidor.
# Stop the firewalld firewall
sudo systemctl stop firewalld
# Disable the firewalld firewall
sudo systemctl disable firewalld
# Disable the UFW firewall
sudo ufw disable
2. A continuación, ejecute el apt update
Comando a continuación para actualizar el índice de paquetes disponibles.
Cuando ejecuta este comando, su computadora local puede conectarse a Internet y descargar un mensaje de actualización para cada nuevo repositorio o archivo definido en /etc/apt/sources.list expediente.
sudo apt update -y
El siguiente resultado muestra la actualización de los archivos del paquete local, lo que proporciona comentarios en tiempo real sobre el progreso.
El paquete CSF no está disponible actualmente en los repositorios de Ubuntu, por lo que debe descargar el paquete manualmente (paso tres).
3. Ejecute el wget
comando a continuación para descargar el csf.tgz
paquete a su directorio actual.
El csf.tgz
El paquete es el paquete principal de CSF. Este paquete contiene todas las reglas y modificaciones necesarias para asegurar su servidor.
sudo wget http://download.configserver.com/csf.tgz
4. Ahora, ejecuta el tar
Comando a continuación para extraer el paquete CSF descargado. Cuando se complete el comando, tendrá un nuevo directorio llamado csf que contiene todos los archivos de configuración del cortafuegos CSF
- Las siguientes banderas le dicen al
tar
Comportamiento del comando al extraer: - El
x
bandera le dice atar
para extraer los archivos. - El
z
bandera le dice atar
para usar GZIP para descomprimir los archivos especificados. GZIP es un programa de compresión de archivos que utiliza la codificación Lempel-Ziv (LZ77) para comprimir archivos. - El
f
bandera le dice atar
qué archivo(s) extraer.
sudo tar -xzf csf.tgz
5. Ejecute el ls
comando a continuación para comprobar si el csf el directorio existe.
ls -la
Verá todos los archivos y directorios en su directorio de inicio, incluido el csf directorio, como se muestra a continuación. Si no ve el csf directorio, vuelva a ejecutar el sudo tar -xzf csf.tgz
comando.
6. A continuación, ejecute los siguientes comandos para pasar al csf
directorio y ejecute el script de shell (install.sh
) para instalar CSF en su servidor. Siga las indicaciones e ingrese 'Y' cuando sea necesario durante la instalación.
cd csf
sudo sh install.sh
El script de shell creará un script de inicio de CSF para el demonio de CSF y agregará archivos de configuración a los directorios apropiados, como /etc/csf/ , /etc/logrotate.d/ , y así. De esta manera, no tiene que preocuparse por crear todos los archivos y directorios de configuración usted mismo.
7. Ejecute el siguiente comando para comprobar si ha instalado correctamente el cortafuegos CSF. Este comando verifica e imprime la versión instalada del firewall CSF en su servidor. sudo csf -v
sudo csf -v
Si el cortafuegos CSF está instalado correctamente, verá el número de versión del cortafuegos CSF, como se muestra a continuación. En esta demostración, la versión instalada es v14.5 (genérica) , pero el tuyo puede ser diferente.
Por ahora, puede ignorar el modo PRUEBA habilitado mensaje de advertencia. Más adelante aprenderá a desactivar el modo de prueba.
8. Finalmente, ejecuta el perl
comando a continuación para verificar todos los módulos CSF (/usr/local/csf/bin/csftest.pl
).
El csftest.pl
El archivo es uno de los scripts de Perl con el paquete CSF. Este script de Perl le permite probar sus módulos de firewall CSF para asegurarse de que funcionan correctamente antes de habilitarlos.
perl /usr/local/csf/bin/csftest.pl
Si los módulos de su cortafuegos funcionan correctamente, verá un OK estado, como se muestra en la siguiente captura de pantalla. Comprobación de todos los módulos CSF
Configuración del cortafuegos CSF
Ahora que tiene CSF instalado, puede configurarlo para que funcione con su sistema modificando el /etc/csf/csf.conf archivo de configuración para el cortafuegos CSF. Este archivo contiene varios parámetros/directivas para elegir para seguridad, registro y protección.
De acuerdo con los requisitos del sistema, cambie estos parámetros. Pero no los cambie a menos que sepa lo que está haciendo. Cambiar este archivo por cualquier medio puede hacer que su firewall no funcione o incluso destruir la seguridad de su servidor si se hace incorrectamente.
Aunque los comentarios en el archivo de configuración son mínimos, comprender la estructura del archivo y la idea detrás de estas directivas si es nuevo en la configuración de CSF resulta útil. Y cuando esté lo suficientemente seguro, vaya a crear configuraciones más complejas.
1. Abra el /etc/csf/csf.conf archivo en su editor preferido, luego cambie el PRUEBA valor de directiva a 0 en lugar de 1 , Como se muestra abajo. Las PRUEBAS directiva se utiliza con fines de prueba.
Recuerde que necesita acceso sudo para modificar los archivos de configuración.
Si establece la PRUEBA valor de directiva a 1 , su servidor no aplicará las reglas del cortafuegos. Pero si está ejecutando un servicio de producción activo que necesita protección como SSH (por ejemplo), cambie el PRUEBA valor de directiva a 0 . Si lo hace, le permite habilitar la protección sin interrumpir el servicio.
2. Luego, defina puertos TCP y UDP adicionales para su firewall CSF usando TCP_IN , TCP_SALIDA , UDP_IN y UDP_OUT directivas.
La lista predeterminada de puertos se muestra a continuación, generada durante la instalación. La lista incluye todos los TCP de uso común y UDP puertos
Tenga en cuenta que cuantos menos puertos abra, su sistema será más seguro. Pero no puede cerrar todos los puertos ya que su servidor/servicio interactúa con los usuarios a través de los puertos 80 y 443 para tráfico HTTP/HTTPS, 53 para DNS, 22 para inicio de sesión SSH, etc.
No elimine la lista de puertos predeterminados a menos que sepa lo que está haciendo o tenga una razón específica para eliminar la lista.
3. Cambia el ICMP_IN directiva a 1 para permitir el ping entrante a su servidor para que pueda usarlo para probar si su servidor funciona y está en línea.
Defina la acción elegida que toma CSF, así como cuántos intentos se permiten antes de que el firewall tome acción, con lo siguiente y guarde los cambios:
CSF puede monitorear los registros en busca de intentos fallidos de inicio de sesión a intervalos regulares y detectar la mayoría de los intentos de acceso ilícitos. Esta función es útil para proteger sus servicios contra ataques de fuerza bruta al bloquear la IP de origen después de una cierta cantidad de intentos fallidos de inicio de sesión.
- Cambiar el CONNLIMIT valor de la directiva a 22;3;80;50 . La directiva CONNLIMIT le permite especificar el número de conexiones simultáneas permitidas al servidor en un puerto específico.
Los 22;3;80;500 el valor permite 50 conexiones simultáneas en el puerto 80 (http) y otras tres conexiones simultáneas en el puerto 22 (ssh).
- Cambiar el PORTFLOOD valor de la directiva a 22;tcp;3;3600 . La directiva PORTFLOOD limita el número de conexiones por dirección IP por intervalo de tiempo.
A continuación, el 22;tcp;3;3600 El valor limita la IP durante una hora (3600 segundos) si se han establecido más de tres conexiones en el puerto 22 utilizando el protocolo TCP. Después del último intento de inicio de sesión, CSF liberará la IP bloqueada una vez que haya transcurrido el período de tiempo de 3600 segundos.
- A continuación, establezca DENY_IP_LIMIT valor de la directiva a 10 . Esta directiva controla cuántas direcciones IP bloqueadas CSF mantiene en su memoria. Una vez alcanzado el límite (10), se rotará la IP. A continuación, se eliminarán las entradas más antiguas, mientras que las más nuevas se insertarán junto con el recuento.
Guarde los cambios y salga del editor una vez que esté satisfecho con la configuración.
Mantener demasiados bloques de IP incorrectas puede ralentizar potencialmente su servidor. Por lo tanto, es posible que desee mantener el DENY_IP_LIMIT número en un número manejable.
5. Ahora, ejecute el siguiente comando para recargar la configuración de su firewall CSF y aplicar los cambios.
csf -r
6. Por último, ejecute el siguiente comando para confirmar que el firewall CSF se está ejecutando.
sudo systemctl status csf
Si la configuración funciona correctamente, verá un activo estado. Este estado indica que el cortafuegos cargó sus nuevas reglas y luego salió . Este comportamiento es típico de los servicios one-shot.
En este punto, ha configurado su firewall CSF para bloquear una cantidad limitada de direcciones IP.
Bloquear y permitir direcciones IP usando CSF Firewall
Ahora que ha configurado el archivo de configuración CSF, el siguiente paso para proteger su servidor es bloquear o permitir una dirección IP.
Deberá modificar los tres archivos de configuración a continuación:
- /etc/csf/csf.allow
- /etc/csf/csf.deny
- /etc/csf/csf.ignore
La forma más común de proteger su servidor es bloqueando las direcciones IP, así que comience modificando el /etc/csf/csf.deny archivo de configuración.
1. Para bloquear una dirección IP, abra /etc/csf/csf.deny archivo en su editor preferido e ingrese las direcciones IP (una por línea) para bloquear, como se muestra a continuación. Después de agregar las direcciones IP, guarde los cambios y cierre el editor.
En este punto, CSF bloqueará todo el tráfico de la dirección IP que agregó.
Agregue solo direcciones IP y no nombres de dominio, ya que se ignorarán todas las entradas de nombres de dominio.
2. A continuación, abra el /etc/csf/csf.allow archivo para permitir que las direcciones IP se excluyan de todas las reglas de su cortafuegos. Agregue las direcciones IP (una por línea), como se muestra a continuación, para excluirlas de las reglas de su firewall, luego guarde los cambios y cierre el editor.
La captura de pantalla a continuación es una dirección IP local que esta demostración usa para SSH en el servidor para actualizar CSF.
3. Finalmente, abra el /etc/csf/csf.ignore archivo y agregue direcciones IP (una por línea) para permitir en sus reglas de firewall. A diferencia de csf.allow archivo, direcciones IP en csf.ignore omitirá las reglas del cortafuegos, pero se bloqueará si aparece en csf.deny expediente.
Conclusión
En este artículo, aprendió cómo instalar y configurar el firewall CSF en una máquina con Ubuntu. Además, se refirió a la protección de su servidor bloqueando, permitiendo e ignorando direcciones IP en su firewall.
En este punto, ya tiene un buen conocimiento de cómo asegurar su servidor limitando las direcciones IP permitidas para conectarse a su servidor. ¿Por qué no configurar su firewall CSF para proteger su panel CSF WHM/cPanel con este nuevo conocimiento?