서비스와 인프라의 Grafana 대시보드와 사전 구성된 알림을 만들고 관리해 쿼리를 직접 작성하지 않도록 합니다.
shizunge/endlessh-go
Prometheus 메트릭과 공격자 통계용 Grafana 대시보드를 제공하는 endlessh의 Go 구현체입니다.
- 스타
- 1,455
- 포크
- 55
- 열린 이슈
- 18
- 마지막 커밋
- 8일 전
어떤 프로젝트인가요?
endlessh-go는 SSH 연결을 받아 배너 줄을 천천히 전송해 무차별 대입 공격 봇이 최대한 오래 연결된 상태로 머물게 하는 타르핏 endlessh의 Go 포트입니다. 기존 C 버전처럼 텍스트 로그만 기록하는 대신 연결 수, 전송 바이트, 봇을 붙잡아 둔 시간을 포함한 구조화된 Prometheus 메트릭을 노출합니다.
서버는 선택적으로 ip-api 또는 오프라인 MaxMind 데이터베이스를 사용해 공격자 IP를 geohash로 변환하고, 국가, 위치, geohash를 레이블로 추가할 수 있습니다. Grafana 대시보드( grafana.com에서도 ID 15156으로 제공)는 선택한 기간의 메트릭을 시각화하며, IP 주소를 클릭하면 ARIN 조회 페이지로 이동합니다.
이 프로젝트는 독립 실행형 바이너리나 Docker 컨테이너로 실행되며, 기본적으로 2222 포트에서 수신 대기합니다. 여러 포트와 PROXY protocol 헤더를 지원하고, 선택적으로 HTTP healthcheck 엔드포인트를 제공합니다. 메트릭을 활성화하면 C 구현보다 메모리를 약 10MB 더 사용한다고 안내되어 있습니다.
핵심 기능
- 01연결 수, 전송 바이트, 봇을 붙잡아 둔 시간을 Prometheus 메트릭으로 내보냅니다.
- 02ip-api 또는 MaxMind 데이터베이스를 사용해 공격자 IP의 국가, 위치, geohash를 확인합니다.
- 03시간에 따른 공격 출처를 시각화하는 Grafana 대시보드를 제공합니다.
- 04여러 수신 포트, IPv4/IPv6 선택, PROXY protocol 헤더를 지원합니다.
- 05선택적 HTTP healthcheck 엔드포인트와 내장 HEALTHCHECK가 포함된 Docker 이미지를 제공합니다.
활용 사례
- 공개 서버에 유입되는 SSH 무차별 대입 공격 트래픽을 모니터링하고 공격 출처를 확인합니다.
- 공격자 통계를 기존 Prometheus 및 Grafana 스택으로 전달합니다.
- 실제 sshd를 다른 포트에서 운영하면서 자동화된 SSH 스캐너를 붙잡아 시간을 낭비하게 합니다.
빠른 시작
- 1
저장소를 클론하고 소스에서 빌드합니다
go build . - 2
서버를 실행합니다
./endlessh-go & - 3
연결하여 tarpit을 테스트합니다(클라이언트가 멈춰야 합니다)
ssh -p 2222 localhost
사용 전 알아둘 점
- ip-api를 통해 GeoIP 조회를 활성화하면 요청 제한 및 상업적 이용 제한이 적용될 수 있습니다.
- 원래 C 구현보다 메모리를 약 10MB 더 사용합니다.
- 카피레프트 라이선스인 GPL-3.0으로 제공됩니다.
토픽
자주 묻는 질문
- endlessh-go은(는) 무엇인가요?
- Prometheus 메트릭과 공격자 통계용 Grafana 대시보드를 제공하는 endlessh의 Go 구현체입니다. endlessh-go는 SSH 연결을 받아 배너 줄을 천천히 전송해 무차별 대입 공격 봇이 최대한 오래 연결된 상태로 머물게 하는 타르핏 endlessh의 Go 포트입니다. 기존 C 버전처럼 텍스트 로그만 기록하는 대신 연결 수, 전송 바이트, 봇을 붙잡아 둔 시간을 포함한 구조화된 Prometheus 메트릭을 노출합니다.
- endlessh-go은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- endlessh-go은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- endlessh-go은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. endlessh-go의 마지막 커밋은 2026년 10월 13일입니다.
- endlessh-go은(는) 어디에 사용할 수 있나요?
- 공개 서버에 유입되는 SSH 무차별 대입 공격 트래픽을 모니터링하고 공격 출처를 확인합니다. 공격자 통계를 기존 Prometheus 및 Grafana 스택으로 전달합니다. 실제 sshd를 다른 포트에서 운영하면서 자동화된 SSH 스캐너를 붙잡아 시간을 낭비하게 합니다.
- endlessh-go는 어떻게 설치하나요?
- 저장소를 클론하고 소스에서 빌드합니다: go build . 서버를 실행합니다: ./endlessh-go & 연결하여 tarpit을 테스트합니다(클라이언트가 멈춰야 합니다): ssh -p 2222 localhost
- endlessh-go은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/shizunge/endlessh-go
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
예약된 인터넷 속도 테스트를 실행하고, 설정한 보관 기간 동안 결과를 저장하는 셀프 호스팅 소프트웨어입니다.
TeslaMate 데이터를 바탕으로 주행, 충전, 효율, 배터리 상태와 주행 거리를 시각화하는 맞춤형 Grafana 대시보드 모음
SSH 개인 키를 Secure Enclave에 저장해 내보낼 수 없도록 하고, Touch ID 또는 Apple Watch로 접근을 제어하는 macOS 앱입니다.
메트릭, 로그, SQL 데이터 소스를 위한 셀프 호스팅 알림 시스템으로, 알림 라우팅과 내장 AI 에이전트 및 MCP 서버를 제공합니다.
데스크톱 알림과 웹훅으로 알림을 보내는 웹사이트 가동률·응답 시간·SSL 인증서 만료 모니터링 CLI 도구입니다.