요즈음은 "아무나 얻어걸려라"라는 의도로 클라우드 상에 잘 알려진 IP 대역을 무작위로 헤짚고 다니는 brute force 공격이 대중화된 덕분에, 가끔식 보안 감사 로그를 보면 놀라운 장면을 많이 봅니다.
물론 아이디와 비밀 번호를 고유하고 강력하게 설정해두었다면 큰 문제가 되지는 않겠지만, 그렇다고해서 이런 무작위 대입 공격을 굳이 허용해줄 이유는 없을겁니다.
Windows의 경우 RDP나 WinRM이 집중 공격 대상이 되는 편인데, IPBan을 설치하면 일정 횟수 이상 로그인 실패가 감지될 경우 Windows 방화벽에 IPBan 전용 인바운드 정책을 추가하여 차단 대상 IP 주소에 자동으로 등록해주는 방식으로 무작위 대입 공격을 시도하는 공격자 IP를 막을 수 있습니다.
관리자 권한으로 로그인한 상태에서 아래 PowerShell 명령어를 시작하면 곧바로 시스템 보호를 시작할 수 있습니다.
닷넷데브 포럼 서버에도 fail2ban을 설치하고 활성화한지 하루도 채 안지났지만 역시 엄청난 수의 차단 내역이 등록된 것을 볼 수 있었습니다.
최근 개인 정보 유출로 큰 손해를 입는 기업들의 사례를 보면 결코 남의 일이 아닙니다. 아이디와 비밀 번호를 강하게 설정해야 할 이유가 바로 여기에 있고, 더 나아가서는 공격 시도로 취할 수 있는 이익 대비 투자 비용의 비율을 엄청나게 높이는 이런 장치가 보안을 유지하기 위해 꼭 필요한 수단이라 생각하여 공유해봅니다.
이 방법도 정말 좋죠! 여기서 좀 더 나아가서, SPoF (Single Point of Failure)에 대한 걱정이 있긴 합니다만 RDP over SSH를 위해 리눅스 서버를 추가로 구성하지 않고 Windows 서비스 만으로도 구현할 수 있고, 예전에 시험 삼아 구축해본 적이 있습니다.
Windows 10 / Windows Server 2019 이후부터는 OpenSSH가 Microsoft에서 직접 빌드하여 OS 이미지에 직접 탑재되기 시작해서 지금은 정식으로 사용가능한 컴포넌트로 자리잡은지 어느덧 3~4년 이상 지났기 때문에, 최신 버전의 Windows를 사용 중이라면 아래 방법으로도 SSH 서버 구축이 Windows에서 네이티브하게 지원됩니다.