본문 바로가기

OS-서버/윈도우

윈도우 IIS ACL 설정

반응형

웹 서버 또는 ftp를 운영할 때 불순한 트래픽을 보내는 특정한 사용자를
서버에 접근하지 못하도록 차단하는 기술이 ACL이다.


웹 서버에서 ACL(Access Control List) 기능을 사용하려면
서버 관리자 > 역할 및 기능 추가 > 역할 서비스 IP 및 도메인 제한을 체크하고 설치한다.
FTP ACL은 설치할 때 기본 옵션만 체크해도 같이 설치된다.


VMware에 윈도 서버로 ACL을 실습할 때 제대로 동작 되는지 확인하고 싶다면
같은 망에 있는 상대가 내 웹 서버로 접근해봐야 한다.
집에 여러 대의 컴퓨터가 있다면 각 PC에 VMware로 윈서버를 깔아보자.
이때 각 PC의 VMware 게스트OS는 서로 다른 네트워크라서
ip가 같더라도 충돌이 일어나지 않는다.
그런데 ACL을 테스트하려면 상대 IP로 접속을 해야 하는데 
통신망이 다르므로 서로의 번지수를 찾지 못하게 된다.
이런 경우 VMware에서 포트 포워딩을 해주면 이 문제가 해결된다.
이게 가능한 이유는 VMware가 NAT 기능을 지원하여 1:1 주소 변환이 되기 때문이다.
해당 기능은 상대방이 내가 설정한 ip:(포트 번호)로 접속하면 게스트OS로 포워딩(전달)해준다.

대표적으로 포트 번호는 8080을 많이 쓰고, 아래처럼 말 그대로 1:1 주소 대응 방식이라고 보면 된다.
A 호스트의 ip = 192.168.0.10:8080 -> A 게스트OS ip = 192.168.111.10:80
B 호스트의 ip = 192.168.0.20:8080 -> B 게스트OS ip = 192.168.111.10:80
A게스트와 B게스트는 IP 대역이 동일해도 서로의 입장에서 아예 존재 자체가 다른 망이다. 
즉, 서로 통신이 불가한 상태인데 포트 포워딩을 해줌으로써
B 호스트 또는 B 게스트 A호스트 ip:포트를 입력하고 들어가면 NAT에 의해서
  A 게스트 OS의 IP로 접근할 수 있게 되어 정상적으로 트래픽을 주고받을 수 있다.


NAT을 설정하는 방법은 VMware Workstation > Virtual Network Editor >
  우측하단 - change Settings >  VMnet8 NAT Settings >
  host port, 가상 머신 ip와 포트 설정
호스트의 비어있는 포트를 선택한다.
웹 서버로 돌아가고 있는 가상 머신의 IP와 포트를 입력하고 확인한다.

이 부분은 VMware로 ACL을 테스트할 때 꼭 설정해줘야 하는 부분이므로 자세하게 짚고 넘어갔다.

모든 설정이 완료됐다면 이제 IIS에서 ACL을 설정할 차례다.
ACL에는 화이트 리스트 기반 블랙 리스트 기반이 있다.
화이트리스트 접근 가능한 ip를 설정하는 것,
블랙 리스트 접근하지 못하게 막을 ip를 말한다.
웹은 모든 ip를 허용해놓고 차근차근 유해한 ip들을 차단해나가는 블랙리스트 방식을 사용한다.

차단하고 싶은 IP를 등록하려면
IP 주소 및 도메인 제한에 들어가서 우측 메뉴에 기능 설정 편집에 들어간다.

지정되지 않은 클라이언트에 대한 액세스를 허용(블랙리스트)으로 설정 해준다.
그 이유는 웹 서버에는 인터넷으로부터 많은 사용자들이 접속하고 어떤 사용자가
나쁜 사용자인지 처음에는 모른다. 따라서 악의적인 행동을 하는 사용자는 
그때마다 블랙을 걸어주는 방식을 사용한다.
작업 창에 거부 항목 추가를 눌러서 서버 접속을 차단할 ip를 설정 하여 넣어준다.

실제 테스트할 때는 호스트 OS 및 게스트OS의 방화벽에 막혀서 안되는 경우가 있는데
방화벽 인바운드 규칙에서 8080포트에 대한 특정 ip 접속 시도를 거부해주는 정책을 짜면 된다.

그래도 안되면 방화벽을 일시적으로 끄고 해보자.



반응형