피드로 돌아가기
Hardening a Linux Server in the Real World: Firewall, SSH, Fail2Ban, Nginx, Docker, .env Protection, and Bot Forensics
Dev.toDev.to
Security

다층 방어 체계 구축을 통한 자동화 봇 공격 및 시크릿 노출 원천 차단

Hardening a Linux Server in the Real World: Firewall, SSH, Fail2Ban, Nginx, Docker, .env Protection, and Bot Forensics

amir2026년 5월 20일17intermediate

Context

공격자가 /.env, /.git/config 등 예측 가능한 경로를 통해 시크릿 파일을 탈취하려는 자동화된 프로빙 패턴의 지속적 유입 발생. 단일 보안 도구만으로는 정교한 봇의 탐색과 예기치 못한 설정 실수로 인한 데이터 노출 위험을 완전히 제어하기 어려운 구조적 한계 존재.

Technical Solution

  • Non-root User 생성 및 SSH Key-only 인증 도입을 통한 계정 탈취 및 권한 상승 경로 차단
  • SSH 포트 변경(22 -> 2222)과 특정 IP 기반 UFW 화이트리스트 설정을 통한 자동화된 스캔 트래픽의 노이즈 제거
  • Fail2Ban의 행위 기반 차단과 Nginx Deny Rule을 결합하여 애플리케이션 도달 전 단계에서 공격 IP를 필터링하는 계층적 방어 구조 설계
  • Secrets를 Web Root 외부에 격리하고 적절한 Permission 설정을 적용하여 파일 시스템 레벨의 노출 가능성 제거
  • Go 기반의 WatchTower-Sentinel 도구를 통한 Nginx 로그 실시간 분석 및 CPU/RAM 압력 모니터링으로 이상 징후 탐지 자동화

1. Root 로그인 및 Password 인증 완전 비활성화 여부 검토

2. SSH 포트 변경 후 UFW에서 특정 IP 대역으로만 접근을 제한하는 화이트리스트 적용

3. .env 등 환경 설정 파일을 Web Root 외부로 이동하고 파일 권한(600 등) 최적화

4. Fail2Ban을 통한 반복적 프로빙 IP 자동 차단 메커니즘 구축

5. Nginx access log를 분석하여 공격 패턴을 식별하고 이를 WAF/Firewall 규칙에 반영하는 피드백 루프 형성

원문 읽기