목차
본문으로 바로가기

[Wail2Ban] 윈도우 환경에서의 자동화된 RDP 보안

category OS/Windows 2025. 5. 19. 22:51

1. 개요

Wail2Ban은 Windows 환경에서의 Fail2Ban 유사 보안 스크립트로, RDP(원격 데스크톱) 접속 실패 로그를 기반으로 자동으로 IP를 차단하여 brute-force 공격을 방어합니다. 이는 이벤트 로그(Event ID 4625)를 활용하여 비정상 로그인 시도를 탐지하고 Windows Firewall을 통해 IP 차단을 수행합니다.


2. 핵심 개념 정리

항목 설명
대상 플랫폼 Windows (RDP 로그 기반)
핵심 기능 RDP 로그인 실패 감지 후 IP 차단
감시 로그 Event ID 4625 (보안 로그), 18456 (MSSQL 로그)
차단 방식 PowerShell 스크립트로 Windows 방화벽 IP 차단
차단 조건 특정 시간 내 지정 횟수 이상 실패 시 차단
스케줄 방식 작업 스케줄러(Task Scheduler) 등록을 통해 주기 실행

3. 설치 및 구성 방법

전제조건

  • Event ID 4625가 로깅되어야 IP 추적 가능

  • 필요 시 다음 문서를 참고해 로깅 활성화 설정

  • NLA (Network Level Authentication) 해제 필요 (IP 로깅 목적)

  • 필요 시 레지스트리에서 SecurityLayer=0으로 변경


파일 구성 (설치 후 구성 예시)

  • wail2ban.ps1 : 핵심 스크립트 파일
  • wail2ban_config.ini : 설정 파일 (이벤트 감지 및 화이트리스트 등)
  • wail2ban_log.log : 차단된 IP 로그 기록
  • start wail2ban onstartup.xml : 작업 스케줄러 등록용 XML

설치 및 실행 절차

  1. GitHub에서 클론 또는 ZIP 다운로드: Wail2ban GitHub
  2. 권장 경로: C:\scripts\wail2ban
  3. XML 작업 등록 파일 경로 수정 필요 시: start wail2ban onstartup.xml

작업 스케줄러 등록

  • 작업 가져오기 → XML 등록 → 부팅 시 자동 실행 설정

4. 설정 예시 및 의미 분석

wail2ban_config.ini

[Security]
4625=RDP Logins

[Application]
18456=MSSQL Logins

[Whitelist]
12.34.56.78 = My Machine
11.22.33.0/24 = My Company
  • 4625, 18456: 로그인 실패 이벤트 감지용
  • Whitelist: 차단 예외 IP 및 대역

wail2ban.ps1

$CHECK_WINDOW = 120           # 검사 주기: 120초
$CHECK_COUNT  = 5             # 2분 동안 5회 실패 시 차단
$MAX_BANDURATION = 7776000    # 3개월 차단 유지 (초 기준)

5. 실무 적용 시나리오 및 계획

적용 대상

환경 이유
윈도우 서버 RDP 운영 환경 외부 공격 대상이 되기 쉬움
MSSQL 로그인 보호 필요 시 DB 보안 강화 목적

실행 계획

  1. 서버 보안 감사 로그 정책 점검 및 활성화
  2. Wail2Ban 구성 요소 배치 및 설치
  3. XML 작업 등록 → 자동화 실행 보장
  4. 테스트 로그인 시도로 차단 확인
  5. 화이트리스트 등록 및 조정
  6. 로그 모니터링 및 유지관리 자동화

6. 분석 및 비교

비교 항목 Fail2Ban (Linux) Wail2Ban (Windows)
대상 플랫폼 Linux Windows
스크립트 언어 Python PowerShell
로그 감시 방식 Regex 기반 log 감시 Windows Event ID 기반 감시
설치 방식 패키지 설치 GitHub 수동 설치
차단 방식 iptables 등 방화벽 Windows Firewall

7. 참고 링크


8. 최종 점검 체크리스트

점검 항목 완료 여부
Windows 이벤트 로그 설정 완료 [ ]
NLA 비활성화 확인 [ ]
스크립트 배치 및 경로 설정 완료 [ ]
작업 스케줄러 등록 완료 [ ]
테스트 로그인 차단 확인 [ ]
화이트리스트 적용 및 예외 처리 확인 [ ]
차단된 IP 복구 절차 문서화 [ ]
관리자 알림 기능 설정 (옵션) [ ]