윈도우 원격데스크탑 RDP
물론 원격 접속시 방화벽 정책으로 특정 아이피만 접근하는게 기본 룰이지만
아이피를 ANY 열어두고 사용해야 할 일이 있다면 외부에 노출되기 쉽다
무작위 대입으로 서버에 접근할수 있을 수 있는데 이것을 막기 위한 방법이다
보통 리눅스에서는 fail2ban 서비스를 이용하는데 윈도우에서는 ipban를 이용하는게 좋다.
( ipban는 github에서 주기적으로 업데이트를 진행하고 있다 )
현재 테스트 한 버전은 ipban 1.6.1 버전을 이용 ( 다운로드 할 필요가 없다 powershell 을 이용할것이다)
ipban powershell을 이용하여 자동 설치 powershell을 이용하여 아래 내용을 복사해서 실행하면 됨
보통은 windows powershell ise 를 이용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
## Windows RDP 대입 공격 차단 서비스 (IPBAN) ### 폴더생성 mkdir C:\script\IPBan ### 정책변경 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ###다운로드 Invoke-WebRequest ('https://github.com/DigitalRuby/IPBan/releases/download/1.6.1/IPBan-Windows-x64_1_6_1.zip') -OutFile ('C:\script\IPBan\IPBan-Windows-x64_1_6_1.zip') ### 압축해제 cd C:\script\IPBan Expand-Archive .\IPBan-Windows-x64_1_6_1.zip ### 감사정책 추가 auditpol.exe /set /category:"{69979849-797A-11D9-BED3-505054503030}" /success:enable /failure:enable auditpol.exe /set /category:"{69979850-797A-11D9-BED3-505054503030}" /success:enable /failure:enable ### 서비스 등록 sc.exe create IPBAN type= own start= delayed-auto binPath= C:\script\IPBan\IPBan-Windows-x64_1_6_1\DigitalRuby.IPBan.exe DisplayName= IPBAN #### 설명 sc.exe description IPBAN "Automatically builds firewall rules for abusive login attempts: https://github.com/DigitalRuby/IPBan" sc.exe failure IPBAN reset= 9999 actions= "restart/60000/restart/60000/restart/60000" #### 서비스 시작 sc.exe start IPBAN pause |
실행 을 하고 나면 작업관리자에 프로세서가 실행된것을 확인 할 수 있다
고급 방화벽에도 인바운드 규칙에 IPBan 규칙이 들어간것을 확인 할 수 있다 (초기)
이벤트 뷰어 로그를 기반으로 5회 이상 접속 실패시 IPBan_Block_0 에 의해 차단이 된다
다른 원격에서 무작위로 해당 서버로 접근하게 되면 해당 아이피가 룰 셋에 적용된것을 확인 할수 있다
만약 5회 이상을 변경하고 싶다면 해당 폴더의 ipban.config 파일을 메모장으로 열어
add key=”FailedLoginAttemptsBeforeBan” value=”5″ 해당 부분을 변경하면 된다
만약 서비스를 중지하거나 삭제하고 싶으면 서비스 메뉴에서 중지를 한 후 삭제하면 된다
삭제는 다음과 같이