Wail2ban?
wail2ban이란 windows 서버로 원격접속(RDP)에 대하여 패스워드 무차별 대입공격을 방어하기 위한 자동 보안설정 스크립트 입니다.
wail2ban은 windows 내부 보안감사 로그에 RDP 접속 실패에 포함된 접속자 IP를 감지하여 5회 이상 접속 실패 시 Windows firewall 설정을 통하여
5분동안 접속을 차단을 하며, 이후 동일 IP로 5회 이상 접속 실패 시 25분, 125분으로 차단 시간이 점점 늘어납니다.
설치 방법
https://github.com/glasnt/wail2ban/
위 URL로 접속하여 다운로드 가능합니다.
상단에 clone or download를 클릭하면 파일 다운로드가 가능합니다.
다운로드한 파일을 압축을 해제하여 C:/scripts/wail2ban 폴더로 옮겨줍니다. (scripts, wail2ban 폴더는 생성하면 됩니다.)
파일을 이동하였으면 작업 스케쥴러를 실행합니다.
작업 스케줄러 라이브러리를 클릭 후 오른쪽에 작업 가져오기를 클릭합니다. 그리고 다운받은 파일 중 start wail2ban onstartup.xml를 선택합니다.
스케줄러에 정상적으로 등록이 된 점 확인 가능합니다. 이제 정상적으로 작동하는지 테스트를 해보겠습니다. (리부팅을 진행하거나 마우스 우클릭을 통하여 시작할 수 있습니다.)
앞서 다운받은 파일안에 start_wail2ban.bat 파일을 cmd 창에서 실행해 봅니다.
실행 결과 해당 오류가 나올 수 있는데 이럴 경우 파워셸에서 권한이 없어 발생하는 문제이므로 다음과 같은 명령어를 통해 해결할 수 있습니다.
먼저 파워셸을 실행시킵니다.
다음 명령어를 입력합니다.
> Get-ExecutionPolicy
Restricted 라는 결과 값이 나옵니다. 현재 설정된 파워셸의 실행권한이 제한되었다는 뜻입니다.
* 정책에는 다음과 같은 설정을 할 수 있습니다.
Restricted(제한된): 파워쉘의 실행 권한 정책 기본 옵션(기본적으로 적용되어 있음), 명령어 하나씩 실행 가능. .ps1 스크립트 파일을 로드하여 실행할 수 없습니다.
AllSigned: 오직 신뢰된 배포자에 의해 서명된 스크립트만 실행할 수 있습니다.
RemoteSigned: 로컬 컴퓨터에서 본인이 생성한 스크립트만 실행 가능, 인터넷에서 다운로드받은 스크립트는 신뢰된 배포자에 의해 서명된 것만 실행할 수 있습니다.
Unrestricted(무제한): 제한없이 모든 스크립트를 실행할 수 있습니다.
ByPass: 어떤 것도 차단하지 않고 경고없이 실행할 수 있습니다.
Undefined: 정책 적용 안함, 기본 실행 권한 정책 적용됩니다.(Restricted)
> Set-ExecutionPolicy Unrestricted
> Get-ExecutionPolicy
정책을 변경 후 다시 확인해봅니다. 정상적으로 바뀐것을 확인 할 수 있습니다.
이제 다시 start_wail2ban.bat 파일을 실행해보겠습니다.
정상적으로 실행 되는 점 확인하였고, 접근하는 ip를 확인 할 수 있습니다.
제가 테스트한 서버로 223.99.193.154라는 저도 알 수 없는 ip가 접근을 시도하였고, 1차 차단이 된 것을 확인 할 수 있습니다.
또한 차단됨과 동시에 인바운드 규칙에 자동으로 추가되는 점을 확인 할 수 있습니다.