Создаёт панели Grafana и настраивает готовые оповещения для распространённых сервисов и инфраструктуры — без ручного написания запросов.
shizunge/endlessh-go
Реализация SSH-ловушки endlessh на Go с экспортом метрик Prometheus и дашбордом Grafana для статистики атакующих.
- Звёзды
- 1,455
- Форки
- 55
- Открытые issues
- 18
- Последний коммит
- 8 дней назад
Что это?
endlessh-go — порт endlessh на Go, SSH-ловушки, которая принимает подключения и медленно отправляет строки баннера, чтобы боты для перебора паролей оставались подключёнными как можно дольше. В отличие от оригинальной версии на C, которая записывает только текстовые логи, проект предоставляет структурированные метрики Prometheus: число подключений, объём отправленных данных и время, проведённое в ловушке.
При необходимости сервер определяет геохеш для каждого IP-адреса атакующего с помощью ip-api или офлайн-базы MaxMind и добавляет страну, местоположение и геохеш в качестве меток. Дашборд Grafana (также доступен на grafana.com под ID 15156) показывает эти метрики за выбранный период; IP-адреса ведут на страницы поиска ARIN.
Проект запускается как отдельный бинарный файл или контейнер Docker, по умолчанию слушает порт 2222, поддерживает несколько портов и заголовки протокола PROXY, а также включает необязательный HTTP-эндпоинт проверки работоспособности. Указано, что при включённых метриках он потребляет примерно на 10 МБ больше памяти, чем реализация на C.
Ключевые возможности
- 01Экспортирует метрики Prometheus: число подключений, объём отправленных данных и время, проведённое в ловушке.
- 02Определяет страну, местоположение и геохеш для IP-адресов атакующих с помощью ip-api или базы MaxMind.
- 03Включает дашборд Grafana для визуализации источников атак во времени.
- 04Поддерживает несколько портов для прослушивания, выбор IPv4/IPv6 и заголовки протокола PROXY.
- 05Предоставляет необязательный HTTP-эндпоинт проверки работоспособности и образ Docker со встроенным HEALTHCHECK.
Сценарии использования
- Мониторинг SSH-трафика с перебором паролей, поступающего на публичный сервер, и определение его источников.
- Передача статистики атакующих в существующий стек Prometheus и Grafana.
- Перехват автоматизированных SSH-сканеров, чтобы они тратили время впустую, пока настоящий sshd работает на другом порту.
Быстрый старт
- 1
Клонируйте репозиторий и соберите проект из исходного кода
go build . - 2
Запустите сервер
./endlessh-go & - 3
Подключитесь, чтобы проверить tarpit (клиент должен зависнуть)
ssh -p 2222 localhost
Что важно знать
- При включении GeoIP-поиска через ip-api могут действовать ограничения на частоту запросов и коммерческое использование.
- Использует примерно на 10 МБ больше памяти, чем исходная реализация на C.
- Распространяется по лицензии GPL-3.0 — лицензии с авторским левом.
Темы
Частые вопросы
- Что такое endlessh-go?
- Реализация SSH-ловушки endlessh на Go с экспортом метрик Prometheus и дашбордом Grafana для статистики атакующих. endlessh-go — порт endlessh на Go, SSH-ловушки, которая принимает подключения и медленно отправляет строки баннера, чтобы боты для перебора паролей оставались подключёнными как можно дольше. В отличие от оригинальной версии на C, которая записывает только текстовые логи, проект предоставляет структурированные метрики Prometheus: число подключений, объём отправленных данных и время, проведённое в ловушке.
- endlessh-go можно использовать бесплатно? Какая у него лицензия?
- endlessh-go распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- endlessh-go всё ещё поддерживается?
- Активно поддерживается. Последний коммит в endlessh-go — 13 окт. 2026 г..
- Для чего можно использовать endlessh-go?
- Мониторинг SSH-трафика с перебором паролей, поступающего на публичный сервер, и определение его источников. Передача статистики атакующих в существующий стек Prometheus и Grafana. Перехват автоматизированных SSH-сканеров, чтобы они тратили время впустую, пока настоящий sshd работает на другом порту.
- Как установить endlessh-go?
- Клонируйте репозиторий и соберите проект из исходного кода: go build . Запустите сервер: ./endlessh-go & Подключитесь, чтобы проверить tarpit (клиент должен зависнуть): ssh -p 2222 localhost
- Где скачать endlessh-go?
- Исходный код и инструкции по установке — на GitHub: https://github.com/shizunge/endlessh-go
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Самостоятельно размещаемое ПО, которое запускает тесты скорости интернета по расписанию и хранит результаты в течение заданного срока.
Набор пользовательских дашбордов Grafana для визуализации данных TeslaMate о поездках, зарядке, эффективности, состоянии батареи и пробеге.
Приложение для macOS, которое хранит SSH-ключи в Secure Enclave, не позволяя экспортировать закрытые ключи, и защищает доступ с помощью Touch ID или Apple Watch.
Самостоятельно размещаемая система оповещений для метрик, логов и SQL-источников с маршрутизацией уведомлений, встроенным AI-агентом и MCP-сервером.
CLI-инструмент для мониторинга доступности сайтов, времени ответа и срока действия SSL-сертификатов с оповещениями через уведомления на рабочем столе и вебхуки.