IT1004

서버를 열어두면 바로 시작되는 공격들

개발 실무 IT1004

서버를 인터넷에 열면 몇 분 안에 스캔이 시작됩니다. 유명하지 않아도 상관없습니다. 자동으로 돌아다니는 봇이기 때문입니다.

실제로 들어오는 요청들

이 요청들은 하루에도 수천 건 들어옵니다. 대부분 404로 끝나지만, 하나라도 열려 있으면 그 즉시 문제가 됩니다.

요청노리는 것
/.env환경변수 파일에 든 키·비밀번호
/.git/HEAD, /.git/config소스코드와 커밋 이력
/.aws/credentials클라우드 접근 키
/wp-login.php워드프레스 관리자 로그인
/phpmyadminDB 관리 도구

최소한 이것만은

  1. 웹 루트에 설정 파일을 두지 않기.env는 반드시 밖에
  2. 저장소 디렉터리 노출 차단.git이 웹에서 보이면 소스가 통째로 털립니다
  3. SSH 비밀번호 로그인 끄기 — 키 인증만
  4. 관리자 경로 제한 — IP 제한이나 추가 인증
  5. 기본 페이지 노출 금지 — 설정 안 된 도메인이 기본 화면을 보여주면 표적이 됩니다

키가 노출됐을 때

가장 중요한 것은 속도입니다. 노출을 인지하는 즉시 해당 키를 폐기하고 재발급해야 합니다.

저장소 이력에 한 번 올라간 키는 커밋을 지워도 남아 있을 수 있습니다. 무조건 재발급이 원칙입니다.

공개 저장소를 스캔해 키를 찾는 봇이 상시 돌고 있습니다. 올린 지 몇 분 만에 악용된 사례가 많습니다.

쓰지 않는 도메인도 정리하세요

도메인이 서버를 가리키는데 설정이 없으면 기본 페이지가 노출됩니다. 이건 “여기 관리 안 되는 서버가 있다”는 신호가 됩니다.

쓰지 않는 도메인은 리다이렉트를 걸거나 DNS를 내려두는 편이 안전합니다.

공개 저장소에 키를 올렸을 때 실제로 일어나는 일

공개 저장소를 실시간으로 스캔하는 봇이 상시 돌고 있습니다. 커밋 후 수 분 내에 키가 사용되는 사례가 보고되어 왔습니다.

특히 클라우드 키가 노출되면 암호화폐 채굴에 쓰이는 경우가 많고, 요금이 순식간에 불어납니다.

  1. 노출을 인지하면 즉시 키를 폐기합니다
  2. 새 키를 발급하고 권한을 최소화합니다
  3. 클라우드라면 사용 내역을 확인합니다
  4. 커밋 이력에서 제거하되, 이미 노출된 키는 반드시 폐기합니다
커밋을 지웠으니 괜찮다고 생각하면 안 됩니다. 이미 복제된 뒤일 수 있습니다. 폐기가 유일한 해결입니다.

SSH 설정 최소 기준

항목권장 설정이유
비밀번호 로그인비활성화무차별 대입 차단
root 직접 로그인비활성화표적이 명확해짐
키 인증사용사실상 표준
포트변경(선택)자동 스캔 감소
접속 IP 제한가능하면 적용가장 확실

포트 변경은 보안 그 자체는 아니지만 로그를 깨끗하게 유지하는 데 도움이 됩니다.

웹 루트에 있으면 안 되는 것

백업 파일을 웹 루트에 두는 실수가 특히 흔합니다. .bak이나 .old 확장자는 스캔 봇이 반드시 시도합니다.

업로드 기능이 있다면

  1. 확장자 화이트리스트 — 허용할 것만 명시
  2. 실행 권한 제거 — 업로드 디렉터리에서 스크립트 실행 차단
  3. 파일명 변경 — 원본 이름을 그대로 쓰지 않기
  4. 용량 제한
  5. 웹 루트 밖에 저장하고 프로그램을 통해 제공
업로드 취약점은 서버 장악으로 이어질 수 있는 가장 위험한 유형입니다. 이미지 업로드 기능 하나가 전체를 뚫는 통로가 됩니다.

관리자 페이지는 특별 취급

가장 많이 공격받는 곳입니다. /admin, /wp-admin 같은 예측 가능한 경로는 하루에도 수백 번 시도됩니다.

정기적으로 확인할 목록

주기확인
매주비정상 로그인 시도, 에러 급증
매월보안 업데이트 적용, 불필요한 계정·포트
분기키·비밀번호 교체, 권한 점검
연간전체 구성 재검토

자주 묻는 질문

IP 차단을 걸어야 하나요?
스캔은 IP를 계속 바꾸므로 차단만으로는 한계가 있습니다. 열려 있으면 안 되는 것을 닫는 것이 우선입니다.
WAF를 써야 하나요?
있으면 좋지만, 기본 위생이 먼저입니다. 열려 있으면 안 되는 것을 닫는 것이 우선입니다.
공격을 당했는지 어떻게 아나요?
비정상적인 트래픽, 알 수 없는 프로세스, 예상 밖의 파일 변경이 신호입니다. 파일 변경 감지를 걸어두면 도움이 됩니다.

같이 보면 좋은 글

개발 실무 전체 글

개발 실무 목록 보기 →