InfraFenceInfraFence

Live Security Operations

Empezar

Qué hace el instalador

Cada paso del install.sh de InfraFence, la revisión previa de solo lectura que ejecuta antes de cambiar nada y el dry run que muestra el plan sin tocar el servidor.

Última actualización:

InfraFence está hecho para servidores en producción: el instalador revisa el servidor en solo lectura antes de cambiar nada, y deja en paz lo que no puede cambiar de forma segura.

Los pasos

  1. Token y root. Sin --token en un servidor que aún no está registrado, se detiene con Install token is required; el dry run no necesita token. Debe ejecutarse como root.
  2. Sistema. Solo Linux; detecta el sistema de init (systemd, upstart o sysvinit) y la arquitectura (amd64 o arm64).
  3. Certificados. En los sistemas de la familia RHEL, o cuando curl no puede verificar la descarga, añade el certificado ISRG Root X1 (Let's Encrypt) a un bundle propio, /etc/infrafence/ca-bundle.pem, y en los sistemas de la familia RHEL también a los certificados del sistema. El certificado va dentro del instalador y nunca se descarga; donde hay openssl, antes se comprueba con su huella SHA-256 fijada.
  4. Dependencias. Si faltan curl, iptables o ca-certificates, los instala con apt-get, dnf o yum; en los sistemas rpm instala iptables como iptables-nft donde existe ese paquete, para que sus reglas usen el mismo backend que firewalld y nftables. Si hay otra operación de paquetes en curso, espera hasta 5 minutos (Another package operation is running — waiting for it to finish...). Nunca ejecuta dpkg --configure -a ni repara paquetes rotos por su cuenta.
  5. Descarga. El binario del agente para la arquitectura se descarga de la última release de GitHub (github.com y release-assets.githubusercontent.com, la única fuente de descarga) y se comprueba con su checksum SHA-256 publicado. El checksum es obligatorio: si no se puede descargar o no coincide, no se instala nada. --skip-checksum instala sin él y es inseguro.
  6. Revisión de solo lectura. Ejecuta infrafence-agent preflight antes de instalar nada (más abajo).
  7. ipset. Se instala solo si falta, si no se ha rechazado con --no-ipset y si la revisión dice que es seguro: hay un gestor de paquetes disponible y no hay ninguna operación de paquetes en curso.
  8. Instalación. El binario va a /usr/local/bin/infrafence-agent; el servicio se crea, se habilita y se inicia.
  9. Registro. El agente se registra con tu token y guarda su propio token en /etc/infrafence/config.json. El token de instalación no se conserva.
  10. Comprobación del arranque. Verifica que el servicio está en marcha e indica dónde leer los registros.

La descarga, el registro y el arranque del servicio comunican su resultado al panel (solo con los primeros caracteres del token), así que una instalación fallida se puede rastrear.

La revisión de solo lectura (preflight)

infrafence-agent preflight analiza el servidor y no cambia nada. El instalador la ejecuta antes de instalar, el agente la ejecuta en cada arranque y luego una vez al día, y tú puedes ejecutarla cuando quieras:

bash
sudo infrafence-agent preflight
sudo infrafence-agent preflight --json

La salida empieza con InfraFence preflight (read-only — nothing was changed) y sigue con una línea por hallazgo con su nivel: ok, info, warn o block. Sin --json, el código de salida es 2 cuando un hallazgo es block y 0 en otro caso.

Revisa:

  • Firewall: si iptables está instalado y se puede usar, y su backend; si ipset está presente; otros gestores de firewall y herramientas de seguridad (ufw, firewalld, CSF, fail2ban, CrowdSec, netfilter-persistent, Docker, Kubernetes).
  • Servidores web: nginx, Apache (apache2 o httpd), Caddy y LiteSpeed.
  • Quién gestiona la configuración: paneles de hosting y herramientas de gestión de la configuración (Ansible, Puppet, Chef, Salt). Cuando hay uno, InfraFence nunca edita la configuración del servidor web.
  • Paquetes: el gestor de paquetes y cualquier operación de paquetes en curso.
  • Recursos: espacio libre en / (avisa por debajo de 200 MB), memoria disponible (avisa por debajo de 128 MB), el modo de SELinux.

El resultado también llega al panel: la pestaña Host del servidor lo muestra en Compatibilidad del servidor.

El dry run

bash
curl -fsSL https://github.com/infrafence/infrafence-agent/releases/latest/download/install.sh | sudo bash -s -- --dry-run

No necesita token, y en los sistemas de la familia RHEL tampoco cambia nada: el paso de los certificados vale solo para esa ejecución. Descarga el agente, ejecuta la revisión de solo lectura y muestra Dry run — nothing was installed or changed. seguido de lo que haría una ejecución real: instalar el binario y el servicio, instalar ipset o no, crear las cadenas de firewall INFRAFENCE (a las que se salta desde INPUT, y desde DOCKER-USER si Docker está presente) y registrarse. Los cambios en la configuración del servidor web y el bloqueo entrante de las listas de inteligencia de amenazas siguen desactivados hasta que los actives en el panel.

Lo que nunca hace

  • Nunca modifica tus reglas de firewall existentes: todo vive en las cadenas propias del agente.
  • Nunca termina configuraciones a medias de otros paquetes (dpkg --configure -a), lo que podría reiniciar servicios.
  • Nunca edita una configuración que pertenece a un panel de hosting, a LiteSpeed o a una herramienta de gestión de la configuración.