본문 바로가기
  • 배움에는 끝이 없다.
Security/OS Security

[OS Security] Windows wail2ban

by 줘패자 2023. 3. 14.

오늘은 wail2ban 을 한번 알아보겠습니다.

 

1.Wail2ban이란?

윈도우 장비에서 무작위 대입 공격 방지를 위한 스크립트라고 보시면 됩니다.

미리 정해놓은 임계치 이상의 RDP 접근이 시도될 경우 윈도우 방화벽에서 접근 IP를 차단해주는 스크립트입니다.

리눅스 fail2ban 같은..?

 

2. 공식 사이트

https://github.com/glasnt/wail2ban

 

GitHub - glasnt/wail2ban: fail2ban, for windows.

fail2ban, for windows. . Contribute to glasnt/wail2ban development by creating an account on GitHub.

github.com

※ 해당 글은 zip 파일 다운로드 받았을 때 적용 기준으로 작성했습니다.

3. 구성

압축 해제하면 아래와 같이 파일 확인이 가능합니다.

 

 

 

 

 

 

 

 

 

 

[주요 파일]

1) wail2ban_log.log  :  차단 IP 로그가 해당 파일에 쌓임

 

2) wail2ban.ps1  : 차단 메인 스크립트  , 해당 파일에서 차단 정책을 수정할 수 있음.

    $CHECK_WINDOW = 120 # We check the most recent X seconds of log. Default: 120
    $CHECK_COUNT = 5 # Ban after this many failures in search period. Default: 5
    $MAX_BANDURATION = 7776000 # 3 Months in seconds

 

3) wail2ban_config.ini : 차단 정책                          

   [Security]
   4625=RDP Logins
   [Application]
   18456=MSSQL Logins

 

[전제조건]

기본적으로 이벤트뷰어에서 Event ID 4625 를 참고하고 스크립트가 동작하기 때문에 접속 시도 클라이언트IP 가 로깅되어야하며 일부 로깅되지 않는 서버들은  아래 내용을 참고하여 노출되게 설정 후 스크립트를 설치해야 함.

 

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732713(v=ws.11)?redirectedfrom=MSDN

 

Configure Network Level Authentication for Remote Desktop Services Connections

Table of contents Configure Network Level Authentication for Remote Desktop Services Connections Article 11/17/2009 3 minutes to read In this article --> Applies To: Windows Server 2008 R2 Network Level Authentication is an authentication method that can b

learn.microsoft.com

[내용 정리]

스크립트 설치 전에 Windows RDP 인증방식에서 “Allow connections only from computers running RDP with NLA(Network Level Authentication)” 를 해제합니다. NLA 옵션을 해제하는 이유는 이벤트뷰어의 보안감사 로그에서 접속자 IP 가 로깅이 되게 하기 위해서입니다. 하위 버전의 원격데스크탑 클라이언트에서는 호환성을 위하여 NLA 를 해제하는 경우가 있으며, 해제 시에는 운영체제 레벨에서 원격데스크탑에 대한 인증을 시작하므로 원격데스크탑 접속에 대한 부하가 높아짐으로 DDoS 공격 발생시 부하가 올라갈 수가 있음으로 참고하셔서 옵션 설정 필요시 기본값으로 설정을 바꾸시기 바랍니다.

 

TIP )

Windows RDP 인증방식 변경후에도 로깅이 되지 않는다면 아래 레지스트리에서 SecurityLayer 를 0 으로 변경하면 로깅이 되는 경우가 있음. 

 

3. 설치 방법

1. 압축을 해제 후 C:/scripts/wail2ban 폴더로 이동 (scripts, wail2ban 폴더는 생성)

2. 작업 스케쥴러 실행 후 라이브러리 클릭하여 작업 가져오기 이용하여 start wail2ban onstartup.xml 선택

3. 작업 스케줄러에 SYSTEM 권한으로 생성이 되기 때문에 로그온 권한을 administrator 로 변경하고 패스워드로 인증 1회

4. 정상적으로 인증 후 스케줄 등록되었다면 해당 스케줄 실행 (기본적으로 실행되어 있지 않음)

5. 정상 작동 테스트

더보기

cd c:\

> cd scripts

> cd wail2ban

> start_wail2ban.bat

 

 

 

 

 

테스트 후 아래와 같이 윈도우 방화벽에 IP 차단 이력 확인이 가능합니다.

 

 

 

 

 

추가 필요한 부분 있다면 코멘트 부탁드립니다~~!

댓글