오라클 클라우드 무료 티어로 서버를 하나 띄웠다. 처음엔 WireGuard VPN만 올려두고 아무것도 안 했다. 그런데 SSH 로그를 열어봤더니 이미 난리가 나 있었다.
May 11 23:26:00 sshd: Connection closed by authenticating user root 158.180.74.12 [preauth]
May 11 23:27:17 sshd: Connection reset by authenticating user root 2.57.122.196 [preauth]
May 11 23:28:13 sshd: Disconnected from authenticating user root 176.65.132.50 [preauth]
May 11 23:31:19 sshd: Connection reset by authenticating user root 2.57.122.194 [preauth]공개 IP가 할당된 순간부터 전 세계 봇들이 이미 두드리고 있었던 거다. 내가 서버를 켠 게 아니라 IP가 생긴 것만으로 표적이 된 셈이다.
왜 이런 일이 생기나?
인터넷에는 24시간 돌아가는 자동화 스캐너들이 있다. 이 봇들은 전 세계 IP 대역을 순서대로 훑으면서 열린 포트를 찾고, SSH 같은 서비스가 뜨면 자동으로 로그인을 시도한다.
주로 시도하는 계정은 root, admin, ubuntu, test 같은 기본 계정들이다. 비밀번호도 123456, password, admin 같은 걸 리스트로 돌린다. 이걸 브루트포스 공격이라고 한다.
로그에서 [preauth]가 붙어있는 건 인증 단계조차 넘지 못했다는 뜻이다. 즉, 시도는 했지만 전부 실패한 거다.
오라클 클라우드 기본 설정은 꽤 튼튼하다
다행히 오라클 클라우드 인스턴스는 기본적으로:
- SSH 비밀번호 로그인이 비활성화되어 있다
- 키 파일(pem)이 없으면 접속이 불가능하다
- root 직접 로그인도 막혀있다
그래서 봇들이 아무리 두드려도 키 없이는 들어올 수 없다. 하지만 그렇다고 마냥 방치하는 건 찜찜하다. 로그가 쌓이고, 서버 리소스도 조금씩 낭비된다.
Fail2ban으로 자동 차단하기
Fail2ban은 로그를 실시간으로 감시하다가 일정 횟수 이상 실패한 IP를 자동으로 차단해주는 도구다.
설치는 간단하다:
`sudo apt install fail2ban -y
sudo systemctl enable fail2ban --now`
설치 후 차단된 IP 목록 확인:
`sudo fail2ban-client status sshd`
이런 식으로 출력된다:
`Status for the jail: sshd
|- Currently failed: 3
|- Total failed: 47
`- Banned IP list: 2.57.122.189 45.148.10.121 ...`아까 로그에서 계속 보이던 2.57.122.xxx 같은 봇들이 여기 들어오게 된다.
더 나아가서 — SSH 포트 바꾸기
봇들은 대부분 기본 포트인 22번만 스캔한다. SSH 포트를 22가 아닌 다른 번호로 바꾸는 것만으로도 봇 트래픽의 99%가 사라진다.
`sudo nano /etc/ssh/sshd_config
# Port 22 → Port 2222`
단, 포트를 바꾸면 오라클 콘솔의 Security List에서도 새 포트를 열어줘야 한다.
정리
공개 IP를 가진 서버는 켜는 순간부터 공격 대상이 된다. 이건 특별한 일이 아니라 인터넷에서 서버를 운영한다는 게 원래 그런 거다.
중요한 건:
- SSH 키 인증만 허용 — 비밀번호 로그인은 비활성화
- Fail2ban 설치 — 반복 시도 IP 자동 차단
- 포트 변경 (선택) — 봇 트래픽 대부분 차단
이 세 가지만 해도 웬만한 자동화 공격은 다 막힌다. 로그를 보면서 봇들이 튕겨나가는 걸 확인하는 것도 나름 재미있는 경험이었다.
'Study > Infra' 카테고리의 다른 글
| 오라클 클라우드 Always Free 정책 변경 - ARM 인스턴스 4 OCPU/24GB → 2 OCPU/12GB로 축소하기 (0) | 2026.06.14 |
|---|---|
| 오라클 클라우드 VPN 서버 구축 (WireGuard VPN) (0) | 2026.05.26 |