인터넷을 보다가 신기한 프로그램이 있어서 하나 가져와봤다.
https://github.com/shizunge/endlessh-go
endlessh 라는 프로그램인데, ssh 트랩을 만드는 것 같아 보였다.
해당 앱의 기능은 endlessh를 켜 둔 pc에 외부에서 ssh 접속을 시도하려고 하면, 무한대기하는 앱이다. 그래서 이 앱은 왜 만들어졌을까? 바로 임의로 ssh 공격을 하는 공격자들에게 소소하게 한방 먹이기 위함이라 한다.
아무튼 동작 구조를 보니까 endlessh 프로그램이 있고, 공격자들의 현황을 파악하기 위해서 prometheus로 메트릭을 뽑아서 grafana로 시각화 하는 과정까지 있는 것 같다. 그래서 집에서 간단하게 만들어 보았다.
서버는 라즈베리파이3 b+, 라즈비안 환경에서 실행했다.
먼저 라즈베리파이에 docker와 docker-compose를 설치했다. 설치는 다음 자료들을 참고했다.
https://docs.docker.com/engine/install/raspberry-pi-os/
설치한 이후 github project의 /examples/docker-simple 폴더에 있는 docker-compose 파일을 통해 실행시켜 보았다. 여기서 미리 설정해야 되는 곳이 있는데 GF_SECURITY_ADMIN_USER, GF_SECURITY_ADMIN_PASSWORD를 자신만의 아이디와 비밀번호로 변경해야 한다. 그리고 공식 grafana 도커 이미지는 글 작성 시점에 라즈베리파이를 지원하지 않았다. 이유를 찾아보니 go 컴파일러의 ARM 관련 버그가 있어서 지금은 배포를 중단한다는 내용이였다.
그래서 grafana를 이전 버전으로 사용하기 위해서 해당 버전의 도커 이미지를 사용하기로 했다.
이렇게 프로그램을 설정한 이후, 외부에서 22번 포트로 접속하면 내부의 2222번 포트로 트래픽을 보낼 수 있게 포트포워딩 설정을 하면 트랩이 완성된다. 트랩을 만들고 하루 뒤에 얼마나 많은 공격이 왔는지 확인해 보았다.
많이도 왔다...심지어 지금도 접속중이다.
'잡다한 이야기' 카테고리의 다른 글
2022년 연말 개발 회고록 (2) | 2022.12.31 |
---|---|
대학생은 무슨 노트북을 사용해야 할까? (0) | 2022.11.19 |
정신이 아득해진다 (0) | 2022.10.04 |
토스 코딩테스트 2022 next 후기 (0) | 2022.08.15 |
2021년 연말 개발 회고록 (0) | 2021.12.26 |