Qué lee el agente, y qué envía
Última actualización:
Un agente de seguridad se ejecuta como root en tus servidores, así que debes saber exactamente qué hace con ese acceso. Esta página detalla qué lee el agente InfraFence, qué cambia, qué envía al panel y qué ocurre cuando el panel no responde o lo rechaza.
No tienes que creernos sin más: el código del agente es público en GitHub y cada versión se puede comprobar con su firma.
Por qué necesita root
El agente gestiona el firewall (iptables e ipset), lee los logs y el estado de red del sistema y aplica las correcciones que pides. Todo eso requiere root. Es un único binario Go estático, sin dependencias, que se ejecuta como un servicio que puedes detener en cualquier momento.
Sus reglas de firewall están en cadenas propias, llamadas INFRAFENCE. Nunca modifica tus reglas y nunca añade una regla de accept propia: las únicas reglas de accept son las que creas tú desde el panel. Cuando otra herramienta recarga el firewall (csf -r, una recarga de ufw o firewalld, iptables-restore), el agente vuelve a poner sus cadenas.
Qué lee, y por qué
| Qué | Por qué |
|---|---|
El log de autenticación SSH (journal de systemd, /var/log/auth.log o /var/log/secure) | Fuerza bruta SSH y riesgo de las sesiones |
| Los logs de acceso del servidor web y el audit log de ModSecurity | Firewall web y bots |
| Los logs de correo, base de datos y FTP | Fuerza bruta en esos servicios |
Los paquetes DNS (puerto UDP 53, solo lectura) y las tablas de conexiones en /proc | Amenazas salientes y DNS, escaneos de puertos |
Los archivos de los sitios, incluidos .env y los archivos de configuración | Escaneo de malware y comprobaciones de frameworks |
Entradas, opciones y usuarios de WordPress, con las credenciales de wp-config.php | Escaneo de la base de datos de WordPress |
| Los procesos en ejecución | Crypto miners y reverse shells |
| Los archivos del sistema vigilados (cuentas, sudoers, claves SSH, cron, unidades de systemd) | Integridad de archivos |
| Los paquetes instalados y sus versiones | Vulnerabilidades (CVE) |
| El socket de Docker, en solo lectura, cuando Docker está presente | Logs y puertos de los contenedores |
Leer un archivo no es enviarlo. Todo lo de esta tabla se analiza en el servidor; la siguiente sección detalla lo que sale de él.
Qué cambia
- Sus propias cadenas de firewall e ipsets: baneos, la lista de permitidos, bloqueos por país, puertos cerrados.
- Solo si activas Permitir cambios en la configuración del servidor web: sus reglas de ModSecurity y el bloqueo de user agents en nginx o Apache. Nunca modifica una configuración que gestiona un panel de hosting.
- Solo cuando lo pides tú, AutoMode o el modo emergencia: correcciones de hardening, puertos cerrados, bloqueos de salida, parches virtuales, actualizaciones de seguridad y archivos en cuarentena.
Cada cambio se comprueba después y se deshace si SSH o un sitio web deja de responder. El modo monitor detecta todo y no bloquea nada, y un solo comando desinstala el agente y todo lo que añadió.
Qué envía al panel
Todo llega al panel por HTTPS:
- un heartbeat periódico: versión del agente, dirección, métricas del sistema (CPU, memoria, disco, carga, red), servicios y puertos a la escucha, el servidor web y los dominios que sirve, los contadores del firewall;
- los eventos de seguridad: la dirección del atacante, el tipo y la hora del ataque, y los detalles necesarios para entenderlo: en un ataque web, la única línea de log que lo disparó; en un malware, la ruta del archivo y el texto encontrado;
- la lista de paquetes instalados, para la comprobación de vulnerabilidades;
- el hash SHA-256 de los archivos PHP analizados, para buscarlos entre el malware conocido.
Los logs y los archivos completos nunca salen del servidor. No hay telemetría y no se comparte nada con terceros, con una excepción: las funciones de IA. Cuando pides un análisis con IA, usas el asistente o preparas un informe, y mientras AutoMode o el modo emergencia están activos, los eventos necesarios se envían a Anthropic para generar la respuesta. El panel te lo indica antes de que envíes nada. El análisis instantáneo, en todos los planes, no envía nada a ningún sitio.
Tokens, contraseñas y autenticación en dos pasos
- El token de instalación es de un solo uso y válido durante una hora.
- El token propio del agente se guarda en
/etc/infrafence/config.json, legible solo por root. El panel guarda solo su hash, así que una copia de la base de datos del panel no contiene ningún token de agente utilizable. - Los cambios hechos en el panel llegan al agente por un canal que solo le dice que se sincronice. Después el agente descarga su configuración por HTTPS con su propio token: un mensaje en ese canal nunca se trata como una instrucción.
- Las contraseñas se guardan solo como hash. Las contraseñas nuevas se comprueban contra filtraciones conocidas (Have I Been Pwned) y de tu navegador solo salen los 5 primeros caracteres de su hash SHA-1.
- La autenticación en dos pasos (TOTP) está disponible para todos los usuarios. Una vez activada, es la propia base de datos la que niega los datos de la organización a una sesión que no ha superado el paso del código. Aprobar una acción de AutoMode requiere una sesión con 2FA.
Versiones firmadas, y cómo comprobarlas
Cada versión la compila GitHub Actions a partir del repositorio público, se firma con Cosign y se publica con build provenance. El agente instala una actualización solo desde las releases oficiales de GitHub, y solo si su checksum y su firma se verifican con la clave pública integrada en el agente.
Para comprobar tú mismo el binario de tu servidor, compara su checksum con el de la release:
curl -sL https://github.com/infrafence/infrafence-agent/releases/latest/download/checksums.txt
sha256sum /usr/local/bin/infrafence-agentVerifica su firma Cosign:
cosign verify-blob \
--key https://raw.githubusercontent.com/infrafence/infrafence-agent/main/cosign.pub \
--signature https://github.com/infrafence/infrafence-agent/releases/latest/download/infrafence-agent-linux-amd64.sig \
/usr/local/bin/infrafence-agentY su build provenance, con la GitHub CLI:
gh attestation verify infrafence-agent-linux-amd64 --repo infrafence/infrafence-agentPara una versión anterior, sustituye latest/download por download/v<versión>. La imagen de contenedor y el chart de Helm también están firmados: consulta SECURITY.md (en inglés).
Código en GitHub, con licencia BSL 1.1
El agente es source-available con la Business Source License 1.1: puedes leer y auditar cada línea antes de instalarlo. El uso en producción es gratuito en cualquier número de servidores, incluidos los de tus clientes, siempre que no lo uses para ofrecer un producto competidor. Cuatro años después de publicarse cada versión, esa versión pasa a estar disponible con la licencia Apache 2.0.
El sitio y el panel
- Solo HTTPS, con HSTS durante dos años en infrafence.com y en todos sus subdominios.
- Una Content Security Policy estricta: scripts solo desde nuestro propio dominio, cada uno con un nonce distinto en cada petición, y ningún otro sitio puede mostrarlos dentro de un frame.
- Fuentes servidas desde nuestro propio dominio. Las cookies de analítica o publicidad solo se activan si las aceptas en el banner de cookies; sin consentimiento no hay ninguna.
Dónde están los datos
El panel y su base de datos funcionan en servidores de Contabo GmbH en Alemania, en la Unión Europea. Stripe, para los pagos, y el proveedor de IA, cuando usas las funciones de IA, pueden tratar datos fuera de la UE con las Cláusulas Contractuales Tipo de la Comisión Europea o una decisión de adecuación. Nunca vendemos ni alquilamos datos personales.
La Privacy Policy (en inglés) detalla cada destinatario y cuánto tiempo se conserva cada tipo de dato.
Cuando el panel no responde
El agente nunca necesita el panel para proteger el servidor: la detección, los baneos y los bloqueos funcionan todos en el servidor. Los errores de red, los timeouts, los fallos de DNS y los errores del servidor nunca se tratan como un rechazo, así que la protección sigue activa mientras dure la interrupción. Los baneos, la lista de permitidos, los bloqueos por país y los puertos cerrados siguen en vigor, los ataques nuevos se siguen bloqueando y los eventos esperan en cola hasta que el panel vuelve a responder.
Un rechazo es otra cosa: el panel rechaza un agente cuyo token se ha revocado, cuya organización está suspendida o que supera el límite de servidores de su plan, por ejemplo tras una cancelación o una factura impagada.
- Durante las primeras 24 horas la protección local sigue en vigor y el agente vuelve a preguntar.
- Tras 24 horas de rechazo sin una sola respuesta correcta, el agente desactiva su protección de forma limpia: retira sus cadenas de firewall e ipsets y sus reglas del servidor web, detiene su vigilancia de malware, y la detección continúa solo en modo monitor. Las reglas de otras herramientas nunca se tocan.
- Donde el sistema lo permite, un aviso al iniciar sesión indica que InfraFence ya no protege el servidor.
- El agente sigue preguntando cada 30 minutos. Con la primera respuesta correcta, la protección se reactiva y el aviso se retira.
Los propietarios de la cuenta reciben un email 12 horas antes de la desactivación, en el momento de la desactivación y cuando se restablece el acceso.
Informar de una vulnerabilidad
Escribe a info@infrafence.com, el contacto de nuestro security.txt. Por favor, no abras una issue pública en GitHub. Si puedes, incluye los pasos para reproducirla. Respondemos en un plazo de 48 horas y, con tu permiso, te mencionamos en las notas de la versión. La política completa está en SECURITY.md (en inglés).
Pruébalo gratis en 1 servidor
Starter protege por completo un servidor, gratis y sin tarjeta de crédito.
- 01
Crea una cuenta gratuita y abre Servidores › Añadir servidor para obtener el token de instalación. Es válido durante una hora.
Crear el token - 02
Después ejecuta esto como root en el servidor:
curl -fsSL https://github.com/infrafence/infrafence-agent/releases/latest/download/install.sh | sudo bash -s -- --token <TOKEN>
