Instalar y configurar CrowdSec en Ubuntu para un servidor LiteSpeed, Apache o Nginx

Instalar y configurar CrowdSec en Ubuntu para un servidor LiteSpeed, Apache o Nginx

Se acabaron los cortafuegos pasivos. Con CrowdSec, la defensa se hace colectiva. Cada servidor protegido enriquece una red global de IPs maliciosas, compartida en tiempo real entre todos los participantes. Si utiliza Ubuntu con Apache, Nginx o LiteSpeed, esta guía le mostrará cómo unirse a este ecosistema: instalación, configuración de registros, activación de protecciones específicas para su pila y producción segura.

Instalación y configuración de CrowdSec en Ubuntu

CrowdSec es un moderno sistema colaborativo de detección de intrusos diseñado para proteger los servidores Linux contra los ataques más comunes: fuerza bruta, escaneos, inyecciones y otros. Funcionando como un agente, analiza los registros del sistema en tiempo real y alimenta una base de datos compartida de direcciones IP maliciosas. He aquí cómo instalar CrowdSec correctamente en un servidor Ubuntu.

Incorporación del repositorio oficial de CrowdSec APT

Comience por instalar el repositorio oficial de CrowdSec APT utilizando el script automatizado :

curl -s https://install.crowdsec.net | sudo sh

Este script configura el repositorio seguro packagecloud de CrowdSec e instala las dependencias necesarias.

Instalación del motor CrowdSec

Una vez instalado el repositorio, actualiza la lista de paquetes e instala el motor principal:

sudo apt update
sudo apt install crowdsec -y

Este paquete instala el motor de análisis del comportamiento, los archivos de configuración por defecto y la herramienta de línea de comandos cscli.

Activar e iniciar el servicio CrowdSec

Para iniciar CrowdSec inmediatamente y asegurarse de que se reinicia cada vez que reinicie, utilice :

sudo systemctl enable --now crowdsec

Configuración específica de OpenLiteSpeed

Por defecto, CrowdSec gestiona automáticamente los registros de los servidores Apache y Nginx gracias a la detección integrada mediante systemd y las rutas estándar. En cambio, OpenLiteSpeed, LiteSpeed enterprise y paneles de alojamiento como CyberPanel requieren una configuración manual para que CrowdSec pueda supervisar correctamente los archivos de registro.

Instalación de la colección CrowdSec LiteSpeed

Empieza instalando la colección oficial de CrowdSec dedicada a OpenLiteSpeed. Incluye un analizador sintáctico adaptado al formato de registro de LiteSpeed, así como escenarios de detección compatibles:

sudo cscli collections install crowdsecurity/litespeed

Adición manual de registros Litespeed para la supervisión en el archivo de configuración

A diferencia de Apache y Nginx, las rutas de registro de OpenLiteSpeed no están estandarizadas y varían en función de la instalación. Por lo tanto, CrowdSec no las detecta automáticamente.

Comience por editar el archivo de adquisición de CrowdSec

sudo nano /etc/crowdsec/acquis.yaml

Estos bloques permiten a CrowdSec supervisar tanto los registros del sistema OpenLiteSpeed como los registros de vhost gestionados por CyberPanel.

Añade los siguientes bloques al final del archivo

Para Open LiteSpeed o LiteSpeed Enterprise :

#Archivo de adquisición generado - personalizado (servicio: OpenLiteSpeed)
filenames:
  - /usr/local/lsws/logs/*.log
  - /usr/local/lsws/admin/logs/*.log
labels:
  type: litespeed
---

Para CyberPanel :

#Archivo de adquisición generado - personalizado (servicio: CyberPanel)
filenames:
- /home/*/logs/*.log
- /home/*/logs/*.error_log
- /home/*/logs/*.access_log
labels:
type: litespeed
---

Una vez guardados los cambios, vuelva a cargar CrowdSec para que tenga en cuenta los nuevos archivos:

sudo systemctl reload crowdsec

Puede comprobar que los registros se tienen en cuenta con :

sudo cscli metrics

En la sección «Parser Metrics» debería aparecer el parser crowdsecurity/litespeed-logs o child-crowdsecurity/litespeed-logs.

Instalar el firewall bouncer de CrowdSec

El firewall bouncer es el ladrillo que aplica las decisiones de CrowdSec directamente a nivel de la red. Bloquea en tiempo real las direcciones IP consideradas maliciosas.

Dependiendo de la versión de su núcleo Linux, Ubuntu puede utilizar :

  • iptables: sistema clásico, aún mayoritario en Ubuntu 20.04/22.04.
  • nftables: sistema nativo más moderno en kernels recientes.

Para comprobar lo que está utilizando :

sudo iptables -V

Si la versión muestra nf_tables, probablemente esté en nftables.

Luego instale el bouncer correspondiente, para iptables :

sudo apt install crowdsec-firewall-bouncer-iptables -y

Para nftables :

sudo apt install crowdsec-firewall-bouncer-nftables -y

Una vez instalado el bouncer, activa su servicio:

sudo systemctl enable --now crowdsec-firewall-bouncer

Generación de la clave API del gorila

CrowdSec utiliza API Keys para asegurar la comunicación entre el motor de detección y sus bouncers. Cree una clave dedicada al firewall bouncer:

sudo cscli bouncers add crowdsec-firewall

El sistema le proporcionará una clave única (que deberá copiar cuidadosamente). Se guardará en :
/etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml

Activación de los escenarios recomendados para WordPress

Para proteger áreas sensibles como wp-login.php o xmlrpc.php, CrowdSec ofrece escenarios adecuados:

sudo cscli collections install crowdsecurity/wordpress
sudo cscli scenarios install crowdsecurity/http-bf-wordpress_bf
sudo cscli scenarios install crowdsecurity/http-bf-wordpress_bf_xmlrpc

Recuerde instalar el escenario modsecurity si está utilizando un ModSecurity WAF con OpenLiteSpeed :

cscli scenarios install crowdsecurity/modsecurity

Y he aquí una selección de escenarios para bloquear los ataques clásicos (fuerza bruta, escaneos, rastreadores maliciosos, inyecciones, etc.):

sudo cscli scenarios install crowdsecurity/ssh-bf
sudo cscli scenarios install crowdsecurity/http-probing
sudo cscli scenarios install crowdsecurity/http-sqli-probing
sudo cscli scenarios install crowdsecurity/http-xss-probing
sudo cscli scenarios install crowdsecurity/http-path-traversal-probing
sudo cscli scenarios install crowdsecurity/http-bad-user-agent
sudo cscli scenarios install crowdsecurity/http-sensitive-files
sudo cscli scenarios install crowdsecurity/http-crawl-non_statics

Después de cada adición o modificación de un escenario, reinicie CrowdSec limpiamente:

sudo systemctl reload crowdsec

A continuación, puede comprobar su activación con :

sudo cscli scenarios list

Conexión a CrowdSec Central (portal en línea)

Una vez que su servidor está protegido por CrowdSec, puede centralizar el seguimiento de sus incidentes de seguridad a través del portal web CrowdSec Console. Este cuadro de mandos en línea le ofrece una visión en tiempo real de los ataques detectados, las decisiones tomadas por sus porteros y la salud de sus agentes.

Empiece por crear una cuenta en https://app.crowdsec.net

Una vez registrado, acceda al panel de control para generar una clave de inscripción.

Vincular el agente local a su cuenta

En el servidor Ubuntu donde está instalado CrowdSec, ejecute el siguiente comando, sustituyendo <clave suministrada> por la clave de emparejamiento generada:

Vinculación del agente local con su cuenta CrowdSec

Aparecerá un mensaje de confirmación en el terminal. A continuación, vuelva al sitio web app.crowdsec.net para validar el emparejamiento del nuevo agente. Este paso vincula el agente CrowdSec local a su panel personal.

Una vez completado el enlace, su servidor aparecerá en la interfaz de la Consola. A continuación, tendrá acceso a :

  • Un historial detallado de los ataques detectados
  • Decisiones aplicadas (prohibiciones, alertas, etc.)
  • Estadísticas sobre IP prohibidas o compartidas en la base de datos colaborativa
Su servidor en la interfaz de la Consola CrowdSec

CrowdSec Console se convierte en un verdadero centro de control de la seguridad de la red, incluso si gestiona varias máquinas.

Compruebe que el bouncer está conectado a CrowdSec

Una vez instalado su bouncer (cortafuegos, proxy, etc.), es esencial comprobar que el enlace entre el motor CrowdSec y el bouncer funciona correctamente. Esto garantiza que las decisiones (prohibiciones, retos, etc.) se transmitan y apliquen correctamente.

Ejecute el siguiente comando:

sudo cscli bouncers list

Ejemplo de resultado esperado:

NAME                 IP          VALID  LAST API PULL
crowdsec-firewall 127.0.0.1 ✔️ 2s ago

Con un bouncer bien conectado, su servidor aplica en tiempo real las decisiones de seguridad tomadas por CrowdSec, ya sean locales o de la red comunitaria.

Buenas prácticas y seguridad adicional

Para garantizar una protección duradera y reactiva, CrowdSec no debe instalarse de forma estática. He aquí algunas buenas prácticas a adoptar a largo plazo para proteger su servidor y garantizar el buen funcionamiento de su sistema de defensa.

Mantener actualizado el centro CrowdSec

Los escenarios de detección se actualizan periódicamente para mantenerse al día de las nuevas amenazas. Para mantenerse al día, ejecute periódicamente el siguiente comando:

sudo cscli hub update && \
sudo cscli scenarios upgrade --all && \
sudo cscli parsers upgrade --all && \
sudo cscli postoverflows upgrade --all && \
sudo cscli collections upgrade --all && \
sudo systemctl reload crowdsec

Esto le permite recuperar las últimas definiciones de escenarios, analizadores sintácticos, enriquecimientos y colecciones, al tiempo que recarga CrowdSec limpiamente.

Añadir IPs de confianza a la lista blanca

Si algunas direcciones IP deben estar completamente exentas de bloqueo (servidores internos, balanceador de carga, IP fija personal…), añádelas manualmente en :

nano /etc/crowdsec/whitelists.yaml

Este archivo se puede utilizar para filtrar por dirección, subred o User-Agent, y evita falsos positivos en fuentes de confianza.

No modifique los archivos .yaml originales

CrowdSec actualiza automáticamente sus archivos cuando se actualiza. Para preservar sus personalizaciones, nunca modifique archivos como crowdsec-firewall-bouncer.yaml directamente. En su lugar, utilice variantes .local, por ejemplo :

/etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml.local

Esto le permitesobrescribir ciertas opciones sin romper futuras actualizaciones.

Supervisar los registros con regularidad

Consulte :

/var/log/crowdsec.log
/var/log/crowdsec-firewall-bouncer.log

Además de los lanzamientos de :

sudo cscli metrics

Esto le ayudará a detectar rápidamente cualquier error de análisis sintáctico o escenario ineficaz.

¿Le ha sido útil este artículo?

¡Este artículo ha gustado a 2 personas! ¿Y a usted?

Sobre el autor

Adrien Piron

Soy Adrien, apasionado por la tecnologa y especializado en asistencia técnica para particulares. Mi objetivo es hacer que la tecnologa sea accesible para todos.

× zoom plus modale
Scroll al inicio