DocumentaciónDespliegue

    08

    Despliegue de Honeypot

    Despliegue del agente Honeypot

    El paquete flowpro-honeypot instala un agente en un servidor que ejecuta la plataforma honeypot T-Pot. El agente lee eventos del Elasticsearch local de T-Pot, los normaliza y los expone a través de una API REST (HTTPS, puerto 41874). FlowPro NG consulta periódicamente al agente y muestra los datos en el módulo Honeypot.

    Módulo Honeypot
    1

    Requisitos del servidor

    SO: Ubuntu 24.04 LTS

    RAM: mínimo 8 GB (recomendado 16 GB+)

    Disco: mínimo 40 GB

    Acceso: root

    2

    Instalación de T-Pot

    El servidor de destino debe tener T-Pot instalado (versión 24.04+). Si aún no está instalado:

    bash
    # T-Pot Standard installation (recommended)
    # On a clean Ubuntu 24.04+ server
    git clone https://github.com/telekom-security/tpotce
    cd tpotce
    sudo ./install.sh --type=standard
    T-Pot Standard despliega ~39 contenedores honeypot (Cowrie, Dionaea, Heralding, Mailoney y más). La instalación tarda ~10 minutos. El servidor se reinicia después de la instalación.
    1

    Instalación del paquete

    En el servidor T-Pot, instale el paquete desde el repositorio APT de FlowPro:

    bash
    curl -fsSL https://repo.net-service.io/flowpro/install.sh | bash
    apt update
    apt install -y flowpro-honeypot
    El script de post-instalación crea automáticamente un venv de Python, instala dependencias, genera un certificado TLS (RSA-4096, 10 años) y una clave API aleatoria. La clave API se muestra al final de la instalación — guárdela.
    2

    Configuración

    Edite el archivo de configuración — lo más importante, establezca allowed_ips con la dirección IP de su servidor FlowPro NG:

    bash
    nano /etc/flowpro-honeypot/config.yaml
    yaml
    server:
      port: 41874
      tls:
        cert: /opt/flowpro-honeypot/certs/server.crt
        key: /opt/flowpro-honeypot/certs/server.key
    
    # API key — generated automatically during installation
    api_key: "a1b2c3d4..."
    
    # IP addresses allowed to connect (FlowPro NG server)
    allowed_ips:
      - "<YOUR_FLOWPRO_IP>"
    
    elasticsearch:
      url: "http://127.0.0.1:64298"
      index_pattern: "logstash-*"
      poll_interval: 30
    
    buffer:
      path: /opt/flowpro-honeypot/data/buffer.db
      max_events: 500000
    El parámetro allowed_ips es crítico para la seguridad. Permita únicamente la dirección IP del servidor FlowPro NG. Sin restricciones, cualquiera puede acceder a la API.
    3

    Configuración del firewall

    Permita el puerto 41874 solo desde la dirección IP del servidor FlowPro NG:

    bash
    # Allow API port from FlowPro NG server only
    ufw allow from <FLOWPRO_IP> to any port 41874 proto tcp
    
    # Verify
    ufw status | grep 41874
    4

    Verificación

    bash
    # Service status
    systemctl status flowpro-honeypot
    
    # Health check
    curl -sk https://127.0.0.1:41874/api/v1/health
    
    # Logs
    journalctl -u flowpro-honeypot -n 30 --no-pager
    El endpoint de salud devuelve el estado del agente, la conexión a T-Pot ES y el conteo de eventos. Si el estado es "ok", el agente es funcional.