- Full Spanish interface (all UI text, popups, charts, tables) - Dark and light mode support - Disclaimer banner: no data logged, public European service - Footer: Servicio ofrecido por Cloud Host (cloudhost.es) - Docker: single container (Redis + DataServer + AttackMapServer) - Remote T-Pot support via ELASTICSEARCH_URL env var (direct or SSH tunnel) - Based on telekom-security/t-pot-attack-map (Apache 2.0) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Mapa de Ataques honeypot.es
Visualización pública en tiempo real de ataques detectados por T-Pot, con interfaz completamente en español. Servicio ofrecido por Cloud Host.
Características
- Mapa mundial de ataques en tiempo real (D3.js + Leaflet)
- Interfaz completamente en español
- Modo oscuro y claro con un clic
- Tablas en vivo: IPs más activas, países atacantes, feed de ataques
- Panel de control con gráficos (distribución, timeline, protocolos, honeypot, mapa de calor)
- Sin registro de datos personales — servicio público europeo
- Pie de página con enlace a cloudhost.es
- Contenedor Docker autónomo (Redis interno + DataServer + AttackMapServer)
Requisitos
- Docker + Docker Compose
- Acceso a la instancia Elasticsearch del T-Pot remoto (puerto
64298por defecto)
Instalación rápida
# 1. Copiar y editar la configuración
cp .env.example .env
nano .env # Ajustar ELASTICSEARCH_URL
# 2. Construir y levantar
docker compose up -d --build
# 3. Abrir en el navegador
# http://tu-servidor:8080
Conexión al T-Pot remoto
Opción A — Conexión directa (si el ES del T-Pot es accesible en red)
ELASTICSEARCH_URL=http://tu-tpot-host:64298
Opción B — Túnel SSH (recomendado)
En tu servidor host, crea el túnel antes de levantar Docker:
ssh -N -L 64298:localhost:9200 usuario@tu-tpot-host -i ~/.ssh/id_ed25519
Luego en .env:
ELASTICSEARCH_URL=http://host.docker.internal:64298
El docker-compose.yml ya incluye extra_hosts: host.docker.internal:host-gateway para que el contenedor alcance tu host.
Opción C — Túnel SSH persistente con systemd
Crea /etc/systemd/system/tpot-tunnel.service:
[Unit]
Description=Túnel SSH hacia T-Pot Elasticsearch
After=network.target
[Service]
ExecStart=/usr/bin/ssh -N -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes \
-L 64298:localhost:9200 usuario@tu-tpot-host -i /root/.ssh/id_ed25519
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
systemctl enable --now tpot-tunnel
Variables de entorno
| Variable | Default | Descripción |
|---|---|---|
ELASTICSEARCH_URL |
http://localhost:9200 |
URL del Elasticsearch del T-Pot |
WEB_PORT |
8080 |
Puerto donde se expone la web |
TPOT_ATTACKMAP_TEXT |
ENABLED |
Mostrar log de ataques en consola |
Arquitectura
Elasticsearch (T-Pot remoto)
→ DataServer.py (sondeo cada 0.5s)
→ Redis (interno al contenedor)
→ AttackMapServer.py (WebSocket, puerto 8080)
→ Navegador (Leaflet + D3 + Chart.js)
Créditos
Basado en t-pot-attack-map de Telekom Security (Deutsche Telekom Security GmbH), licencia Apache 2.0.
Description
Languages
JavaScript
58.7%
CSS
25.5%
HTML
10%
Python
5.6%
Dockerfile
0.2%