Cómo instalar ALMC SHIELD, paso a paso

Elige tu plataforma y sigue la guía con capturas reales. Tanto si es un servidor Linux como tu WordPress, PrestaShop o Magento, lo tendrás protegido en unos minutos.

Servidor Linux WordPress PrestaShop Magento 2

Agente para servidores Linux

Vigila fail2ban y comparte las IPs atacantes con la red. Se instala con un comando.

¿No has usado nunca una consola? Tranquilo. Son 4 pasos y te explicamos cada uno como si fuera la primera vez.

  1. Consigue tu «llave» (API key)

    Entra en tu panel de ALMC SHIELDAjustes. Verás un código que empieza por ab_live_…. Esa es tu API key: cópiala, la usarás en el paso 3. ¿Aún no tienes cuenta? Créala gratis aquí.

  2. Entra en tu servidor

    «Entrar en el servidor» significa abrir una ventana negra donde se escriben comandos. Tienes dos formas:

    • Si tu servidor tiene panel (aaPanel, Plesk, cPanel, ISPConfig…): busca el botón «Terminal» y ábrelo. Ya estás dentro.
    • Si no tienes panel: en tu ordenador abre una terminal y escribe ssh root@LA-IP-DE-TU-SERVIDOR (sustituye por la IP que te dio tu proveedor). Te pedirá la contraseña.
    En Windows usa PowerShell (ya viene incluido) o el programa gratuito PuTTY. En Mac/Linux, la app «Terminal».
  3. Pega este único comando

    Copia la línea de abajo, cambia ab_live_XXXXXXX por tu API key del paso 1, pégala en la ventana y pulsa Enter:

    curl -sSL https://almc.es/abuse-shield/install.sh | sudo bash -s -- --api-key=ab_live_XXXXXXX

    Eso es todo. El instalador hace el resto solo: detecta tu sistema, instala el agente, lo arranca y lo deja vigilando.

  4. Comprueba que funciona

    Escribe esto para ver si está en marcha (debe decir active (running)):

    systemctl status almc-shield

    O más fácil: vuelve a tu panel de ALMC SHIELD → sección Servidores. En menos de un minuto verás aparecer tu servidor en la lista. 🎉

    ¡Listo! Tu servidor ya comparte y recibe IPs atacantes de toda la red ALMC SHIELD.
Para usuarios avanzados
Requisitos y distribuciones soportadas
  • Linux con fail2ban ≥ 0.10 instalado y funcionando.
  • Python 3.8+ (sin dependencias compiladas).
  • systemd (bare-metal/VM) o Docker / Kubernetes.
  • Salida HTTPS al puerto 443 hacia almc.es. NO requiere puertos entrantes.
Debian
11+ (Bullseye, Bookworm)
Ubuntu
20.04+ (Focal, Jammy, Noble)
RHEL
8 / 9
Rocky / Alma
8 / 9
CentOS Stream
9
Alpine
3.18+
Configuración avanzada (config.ini)

El archivo /etc/almc-shield/config.ini permite ajustes finos:

[agent]
api_key = ab_live_XXXXXXX
api_url = https://almc.es/api/v1/abuse
hostname = web-01.example.com

[fail2ban]
log_path = /var/log/fail2ban.log
poll_seconds = 30
report_jails = sshd, nginx-botsearch, recidive
default_bantime = 3600

[blocklist]
download_enabled = true
refresh_seconds = 600
output_file = /etc/almc-shield/blocklist.txt
on_update_command = /usr/sbin/ipset restore -! < /etc/almc-shield/blocklist.txt

[network]
timeout_seconds = 30
retry_max = 5
proxy = 
SecciónClaveDefaultDescripción
fail2banpoll_seconds30Intervalo entre lecturas del log fail2ban.
fail2bandefault_bantime3600Bantime sugerido para reports sin valor explícito.
fail2banlog_path/var/log/fail2ban.logAuto-detect en Alpine.
blocklistrefresh_seconds600Mín. recomendado: 300.
blockliston_update_command(vacío)Comando tras actualizar blocklist (ej. ipset restore).
networkretry_max5Reintentos con backoff exponencial antes del circuit breaker.
Nota: El agente recarga la config en SIGHUP (systemctl reload almc-shield) sin perder la outbox de reports pendientes.
Docker / Kubernetes

El agente también se distribuye como imagen Docker:

# docker-compose.yml
services:
  almc-shield:
    image: ghcr.io/almc-security/almc-shield:1.0
    restart: unless-stopped
    network_mode: host
    volumes:
      - /var/log/fail2ban.log:/var/log/fail2ban.log:ro
      - /etc/almc-shield:/etc/almc-shield:ro
      - almc-shield-state:/var/lib/almc-shield
    environment:
      - ALMC_API_KEY=ab_live_XXXXXXX
volumes:
  almc-shield-state:
Atención: En Kubernetes, fail2ban suele correr en los nodos host (no en el pod del agente). El patrón recomendado es DaemonSet con hostPath del log de fail2ban.
Problemas frecuentes

Error auth_blocked

El servidor central rechazó la API key: tenant suspendido por billing, API key rotada/revocada (actualiza config.ini), o cuenta en quarantined (contacta soporte). Revisa /en/dash/abuse-shield.

Error tls_failures creciente

  • Reloj del sistema desfasado (timedatectl status).
  • Firewall outbound bloqueando 443 hacia almc.es.
  • Proxy corporativo sin configurar — establece proxy = http://....

El agente no detecta nuevos bans

  • Verifica que log_path apunta al log activo (Alpine: /var/log/fail2ban/fail2ban.log).
  • Permisos: setfacl -m u:almc-shield:r /var/log/fail2ban.log.
  • Los jails que monitorizas deben estar en report_jails.
Desinstalar

Eliminación limpia con un solo comando:

curl -sSL https://almc.es/abuse-shield/uninstall.sh | sudo bash

Detiene el servicio, borra /opt/almc-shield/, /etc/almc-shield/ y /var/lib/almc-shield/, y elimina el usuario. NO toca tu fail2ban ni tus reglas iptables/ipset.

API REST y privacidad
MétodoEndpointDescripciónAuth
POST/api/v1/abuse/reportEl agente reporta un banBearer
POST/api/v1/abuse/heartbeatKeepalive del servidorBearer
GET/api/v1/abuse/blocklistBlocklist del tenantBearer
GET/abuse/feed.txtFeed global público (texto)
GET/abuse/feed.jsonFeed global público (JSON)

El agente solo envía {ip baneada, jail, timestamp, hostname reportador}. NO enviamos logs raw, paths, contraseñas, payloads ni datos de tus usuarios. Base legal: interés legítimo (Art. 6.1.f RGPD). Detalle en Política de privacidad y DPA.

Plugin para WordPress

Se instala desde tu propio panel de WordPress. No hay que tocar el servidor.

Cinco pasos sencillos. Cada uno con su captura real para que no te pierdas.

  1. Crea tu cuenta gratis y copia tu API key

    Regístrate sin tarjeta en ALMC SHIELD. Una vez dentro, en Ajustes verás tu API key (empieza por ab_live_…). Cópiala: la pegarás en el paso 4.

    Formulario de registro gratuito de ALMC SHIELD
    Crear cuenta gratis en almc.es — sin tarjeta.
  2. Descarga el plugin

    Descarga el archivo .zip del plugin (es gratis y de código abierto). No descomprimas el zip, WordPress lo necesita tal cual.

    Descargar plugin WordPress

  3. Súbelo a WordPress y actívalo

    En tu panel de WordPress ve a Plugins → Añadir nuevo → Subir plugin, elige el zip que descargaste y pulsa Instalar ahora. Cuando termine, pulsa Activar.

    Pantalla Subir plugin de WordPress
    Plugins → Añadir nuevo → Subir plugin → elige el zip.
    ALMC Shield activo en la lista de plugins de WordPress
    Tras activarlo, «ALMC Shield» aparece en tu lista de plugins.
  4. Pega tu API key y conecta

    En el menú lateral entra en ALMC Shield, pega la API key del paso 1 en su casilla y pulsa Guardar / Probar conexión. En unos segundos sincroniza la lista de IPs.

    Pantalla de configuración de ALMC Shield en WordPress con la casilla de API key
    Ajustes de ALMC Shield: pega tu API key y guarda.
  5. Enciende el firewall (y no te dejes fuera)

    Activa el interruptor del firewall. Antes, añade tu propia IP al Allowlist para no bloquearte a ti mismo (de todas formas, el plugin nunca bloquea el panel de administración: es anti-lockout por diseño).

    Firewall de ALMC Shield activado en WordPress
    Firewall encendido y blocklist sincronizada.
    ¡Listo! Las IPs maliciosas reciben un 403 antes de cargar tu web. Sin frenar a tus visitantes reales.
Problemas frecuentes
  • «No conecta»: revisa que pegaste la API key completa (empieza por ab_live_) y que tu hosting permite salida HTTPS.
  • Me preocupa bloquearme: imposible bloquear el wp-admin; el plugin lo protege siempre y tu allowlist manda.
  • ¿Frena mi web? No. El bloqueo es una consulta local instantánea; la red se consulta en segundo plano.

Módulo para PrestaShop

Compatible con PrestaShop 1.7 y 8. Se instala desde el Gestor de módulos.

Cinco pasos con capturas reales del back office de PrestaShop.

  1. Crea tu cuenta gratis y copia tu API key

    Regístrate sin tarjeta en ALMC SHIELD y copia tu API key (ab_live_…) desde Ajustes.

    Formulario de registro gratuito de ALMC SHIELD
    Crear cuenta gratis en almc.es — sin tarjeta.
  2. Descarga el módulo

    Descarga el .zip del módulo. No lo descomprimas: PrestaShop lo sube tal cual.

    Descargar módulo PrestaShop

  3. Súbelo desde el Gestor de módulos

    En el back office ve a Módulos → Gestor de módulos y pulsa «Subir un módulo» (arriba a la derecha). Elige el zip y espera a que se instale.

    ALMC Shield en el Gestor de módulos de PrestaShop con el botón Configurar
    El módulo «ALMC Shield» instalado, con su botón «Configurar».
  4. Configura y pega tu API key

    Pulsa «Configurar» en el módulo, pega tu API key y guarda. El módulo sincroniza la lista de IPs al instante.

    Pantalla de configuración del módulo ALMC Shield en PrestaShop
    Configuración del módulo: pega la API key y guarda.
  5. Enciende el firewall

    Activa el firewall y añade tu IP al allowlist. El back office (/admin…) nunca se bloquea: anti-lockout por diseño.

    Firewall del módulo ALMC Shield activado en PrestaShop
    Firewall activo y reputación sincronizada.
    ¡Listo! Tu tienda bloquea bots y fuerza bruta antes de que toquen PrestaShop.
Instalación manual (por FTP)

Si prefieres FTP: descomprime el zip y copia la carpeta almcshield dentro de /modules de tu PrestaShop. Luego ve a Gestor de módulos, búscalo y pulsa Instalar.

Módulo para Magento 2

Para Magento 2 / Adobe Commerce. La instalación se hace por consola (como todos los módulos de Magento).

Magento instala sus módulos por línea de comandos. Son 3 órdenes; te las damos listas para copiar.

  1. Crea tu cuenta gratis y copia tu API key

    Regístrate sin tarjeta en ALMC SHIELD y copia tu API key (ab_live_…) desde Ajustes.

    Formulario de registro gratuito de ALMC SHIELD
    Crear cuenta gratis en almc.es — sin tarjeta.
  2. Copia el módulo a tu Magento

    Descarga el módulo y copia su contenido en app/code/Almc/Shield dentro de tu instalación de Magento (por FTP/SSH).

    Descargar módulo Magento 2

  3. Actívalo con 3 comandos

    Desde la carpeta raíz de Magento, en la consola del servidor, ejecuta:

    php bin/magento module:enable Almc_Shield
    php bin/magento setup:upgrade
    php bin/magento cache:flush
    Si tu tienda está en modo producción, añade php bin/magento setup:di:compile después de setup:upgrade.
  4. Configura y pega tu API key

    En el panel de Magento ve a Stores → Configuration → ALMC Shield, pega tu API key y guarda. Sincroniza la reputación de IPs al instante.

    Configuración de ALMC Shield en Stores Configuration de Magento
    Stores → Configuration → ALMC Shield: pega la API key.
  5. Enciende el firewall

    Activa el firewall y añade tu IP al allowlist. El área /admin de Magento nunca se bloquea: anti-lockout por diseño.

    Estado del firewall de ALMC Shield en Magento
    Firewall activo y reputación sincronizada.
    ¡Listo! Tu Magento bloquea IPs maliciosas en el hook más temprano, sin penalizar el rendimiento.
Notas para Magento
  • El módulo respeta el Full Page Cache: las páginas cacheadas no se ven afectadas y las rutas dinámicas siempre se filtran.
  • Si usas Varnish, el bloqueo sigue funcionando en el nivel de aplicación (fail-open ante cualquier error).