Crea y administra dashboards de Grafana y alertas preconfiguradas para servicios e infraestructura habituales, sin tener que escribir consultas a mano.
shizunge/endlessh-go
Implementación en Go de la tarpit SSH endlessh, que exporta métricas de Prometheus e incluye un dashboard de Grafana con estadísticas de los atacantes.
- Estrellas
- 1,455
- Forks
- 55
- Issues abiertos
- 18
- Último commit
- hace 8 días
¿Qué es?
endlessh-go es un port a Go de endlessh, una tarpit que acepta conexiones SSH y envía líneas del banner lentamente para mantener conectados el mayor tiempo posible a los bots que realizan ataques de fuerza bruta. En lugar de limitarse a escribir registros de texto como la versión original en C, expone métricas estructuradas de Prometheus sobre el número de conexiones, los bytes enviados y el tiempo que los atacantes permanecen atrapados.
El servidor puede resolver opcionalmente la IP de cada atacante en un geohash mediante ip-api o una base de datos MaxMind sin conexión, y añadir el país, la ubicación y el geohash como etiquetas. Un dashboard de Grafana (también disponible en grafana.com con el ID 15156) muestra estas métricas en el intervalo de tiempo seleccionado y enlaza las direcciones IP con consultas en ARIN.
El proyecto se ejecuta como binario independiente o contenedor Docker, escucha en el puerto 2222 de forma predeterminada, admite varios puertos y cabeceras del protocolo PROXY, e incluye un endpoint HTTP opcional para comprobar el estado. Se indica que, con las métricas habilitadas, consume aproximadamente 10 MB más de memoria que la implementación en C.
Funciones clave
- 01Exporta el número de conexiones, los bytes enviados y el tiempo que los atacantes permanecen atrapados como métricas de Prometheus.
- 02Resuelve las IP de los atacantes para obtener el país, la ubicación y el geohash mediante ip-api o una base de datos MaxMind.
- 03Incluye un dashboard de Grafana para visualizar las fuentes de los ataques a lo largo del tiempo.
- 04Admite varios puertos de escucha, la selección de IPv4/IPv6 y cabeceras del protocolo PROXY.
- 05Ofrece un endpoint HTTP opcional para comprobar el estado y una imagen Docker con HEALTHCHECK integrado.
Casos de uso
- Supervisar el tráfico de ataques de fuerza bruta SSH que recibe un servidor público y ver de dónde procede.
- Incorporar estadísticas de los atacantes a una infraestructura existente de Prometheus y Grafana.
- Atrapar escáneres SSH automatizados para hacerles perder el tiempo y mantener sshd en otro puerto para los usuarios legítimos.
Inicio rápido
- 1
Clona el repositorio y compílalo desde el código fuente
go build . - 2
Ejecuta el servidor
./endlessh-go & - 3
Conéctate para probar el tarpit (el cliente debería quedarse bloqueado)
ssh -p 2222 localhost
Antes de usarlo
- La activación de las consultas GeoIP mediante ip-api puede estar sujeta a límites de solicitudes y restricciones de uso comercial.
- Usa unos 10 MB más de memoria que la implementación original en C.
- Está publicado bajo la licencia GPL-3.0, una licencia copyleft.
Temas
Preguntas frecuentes
- ¿Qué es endlessh-go?
- Implementación en Go de la tarpit SSH endlessh, que exporta métricas de Prometheus e incluye un dashboard de Grafana con estadísticas de los atacantes. endlessh-go es un port a Go de endlessh, una tarpit que acepta conexiones SSH y envía líneas del banner lentamente para mantener conectados el mayor tiempo posible a los bots que realizan ataques de fuerza bruta. En lugar de limitarse a escribir registros de texto como la versión original en C, expone métricas estructuradas de Prometheus sobre el número de conexiones, los bytes enviados y el tiempo que los atacantes permanecen atrapados.
- ¿endlessh-go es gratuito? ¿Qué licencia tiene?
- endlessh-go es open source bajo la licencia GPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿endlessh-go sigue mantenido?
- Mantenimiento activo. El último commit de endlessh-go fue el 13 oct 2026.
- ¿Para qué puedo usar endlessh-go?
- Supervisar el tráfico de ataques de fuerza bruta SSH que recibe un servidor público y ver de dónde procede. Incorporar estadísticas de los atacantes a una infraestructura existente de Prometheus y Grafana. Atrapar escáneres SSH automatizados para hacerles perder el tiempo y mantener sshd en otro puerto para los usuarios legítimos.
- ¿Cómo se instala endlessh-go?
- Clona el repositorio y compílalo desde el código fuente: go build . Ejecuta el servidor: ./endlessh-go & Conéctate para probar el tarpit (el cliente debería quedarse bloqueado): ssh -p 2222 localhost
- ¿Dónde consigo endlessh-go?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/shizunge/endlessh-go
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Software autohospedado que ejecuta pruebas de velocidad de Internet programadas y conserva los resultados durante el periodo configurable que elijas.
Conjunto de dashboards personalizados de Grafana para visualizar datos de TeslaMate sobre viajes, carga, eficiencia, estado de la batería y kilometraje.
Una app para macOS que guarda claves SSH en el Secure Enclave para impedir que se exporten, con acceso protegido por Touch ID o Apple Watch.
Alertas autohospedadas para métricas, logs y fuentes de datos SQL, con enrutamiento de notificaciones y un agente de IA y servidor MCP integrados.
Herramienta de línea de comandos para supervisar la disponibilidad de sitios web, los tiempos de respuesta y el vencimiento de certificados SSL, con alertas mediante notificaciones de escritorio y webhooks.