Endlessh-go: a Golang SSH tarpit that traps bots/scanners

The endlessh-go project is a golang implementation of endlessh that exports Prometheus metrics and visualizes them on a Grafana dashboard. The goal is to block brute force SSH attacks and waste attackers’ time. The implementation captures geolocations and statistics of attack sources. With a focus on efficiency and avoiding extra layers in the setup, endlessh-go is designed to seamlessly export metrics and create a dashboard for visualizing them. The solution offers additional features like translating IP to Geohash, exporting Prometheus metrics, and using more memory. Users can set up endlessh-go by cloning the repo or using a Docker image. The server can be configured to show logs like the C implementation or to route logs to different destinations using CLI arguments. Metrics exported by endlessh-go include client connection counts, bytes sent to clients, trap times for clients, and more, with options to enable or disable specific metrics through CLI arguments. The project also offers the ability to store attacker geolocations as labels and utilize service from ip-api or an offline GeoIP database from MaxMind. The Grafana dashboard included in the project requires Grafana 8.2 and visualizes data for a selected time range. Users can import the dashboard from Graf

https://github.com/shizunge/endlessh-go

To top