번역 : 문일준 (security@ntfaq.co.kr)
ISA 서버는 SecureNAT, Web Proxy 그리고 Firewall 등 3가지 클라이언트 유형을 지원한다. ISA 는 Windows 2000과 연동되므로 여러분은 내부 및 외부 DNS 서버 모두 지원해야 한다. 즉, ISA 는 모든 이름에 대한 이름 풀이를 위해 DNS를 사용한다.
참고 : 아래에 나오는 모든 그림들은 ISA Management 콘솔의 Advanced 모드를 사용하여 볼 수 있다.
- 정의(definitions)
• 자동감지(Auto-detection) - Internet Explorer( 5.0 이상) 브라우저가 ISA 서버와 적절히 연동하도록 브라우저를 구성하는 ISA(WPAD) 기능을 말한다.
• DNS - Domain Name Services, 컴퓨터에서 동작하는 서비스로 이름 풀이 쿼리에 응답할 수 있다. 응답은 그 서버에 얼마나 많은 설정이 구성되어 있느냐에 달려 있다.
• FQDN - Fully Qualified Domain Name, 이름과 관련된 도메인 구조에 의해 논리적인 연결를 알려주는 컴퓨터 이름. 예를 들면, www.microsoft.com 은 “www"는 호스트이름, ”microsoft"는 도메인, “com"은 상위 도메인이다. 이들 이름들은 서로 "."으로 구분되고 보통 ”dotted decimal"이라고 한다.
• GUID - Globally Unique IDentifier, 고유함을 보장하는 아주 큰 숫자. ISA는 구성의 다양한 면들을 식별하기 위해 GUID를 사용한다.
• LAT host - LAT에 정의된 서브넷에서 동작하는 컴퓨터. 이 호스트를 통과하는 모든 트래픽은 ISA를 통해 NAT(네트워크 주소 변환)이 된다.
• NetBIOS name - unqualified name 참고.
• 레코드(record) - 호스트, 메일 서버 또는 다른 영역과 같은 단일 요소를 표현하는 DNS 영역내의 엔트리.
• Secondary protocol - ISA 서버를 통한 초기(주:primary) 연결이 아닌 연결을 사용하는 애플리케이션이 사용하는 프로토콜으로 ISA 서버를 통한 초기(주:primary) 연결이외의 연결을 사용한다.
• TTL(Time To Live) - 요청자의 이름케쉬에서 개싱되지 전에 얼마나 오랬동안 보관할지를 나타내는 시간
• Unqualified name -형식이 아닌 호스트 이름. 보통 NetBIOS, WINS 이름이라고 알려져 있다.
• WINS - Windows Internet Name Services, DNS와 비슷한 이름 풀이 서비스로 NetBIOS(unqualified)이름만을 처리한다.
• WPAD - Windows Proxy Auto Detection, IE 5.0 또는 그 이상에서 지원되는 ISA의 기능, 적절히 구성될 때 IE가 자동적으로 구성할 수 있게 해준다.
- ISA 동작 모드(ISA Operation Modes)
• Cache - caching 서비스가 설치되고 운영될 때 동작하는 모드로 선택사항이다. 이는 단일 NIC를 가진 ISA에서도 사용할 수 있는 모드이다. Web Proxy 클라이언트만이 이 모드를 지원하고 SecureNAT 과 Firewall 클라이언트를 인식하려면 ISA에 LAT을 설정해야 한다. H.323 GateKeeper 서비스르 지원하지 못한다.
• Firewall - Web Cache 서비스 없이 Firewall 과 Web Proxy 서비스의 조합이다. ISA의 주된 기능은 이 모드에서 사용할 수 있드며 모든 클라이언트 유형들이 지원된다. ISA는 이 모드로 동작하기 위해 적어도 2개의 NIC가 필요하다 : 하나는 외부, 하나는 내부(LAT).
• Integrated - Web Proxy, Firewall, Web caching을 완벽히 제공하는 모드이다. Firewall 모드와의 가장 큰 차이점은 Web Caching 서비스의 유무이다.
• SecureNAT - 인터넷 통신의 수단으로 네트워크를 통해 ISA로 전송되는 기본 라우트를 가진 호스트. 단순 네트워크( 라우터가 없음)에서는 이 클라이언트가 기본 게이트웨이로 ISA 주 내부 IP를 가진다. 복잡한(라우팅이 되는) 네트워크에서는 까다롭다.
• Firewall - ISA Firewall 클라이언트 소프트웨어가 설치되어 활성화되고 애플리케이션이 사용하는 LAT 호스트.
• Web Proxy - 인터넷에 도달하기 위해 ISA 아웃바운드 web listeners IP와 포트로 프록시 요청을 사용하는 LAT 호스트상의 애플리케이션( IE 또는 다른 웹에서 사용할 수 있는 애플리케이션)
- ISA Server 구성
ISA 클라이언트의 기능은 ISA 서버 자체의 구성에 크게 의존한다. 만약 ISA가 인터넷 상의 호스트이름 풀이나 도달하기 어렵다면 클라이언트도 그러할 것이다. ISA를 설치하고 구성하는 종종 ISA Server를 테스트해야 한다. 그런 식으로 여러분이 마지막에 수행항 동작으로 발생할 수 있는 결과를 알 수 있다.
• Outgoing Web Requests Listener - ISA 서버를 web proxy로 동작시키기 위해서는 Web proxy service(w2proxy)가 실행되고 Outbound Web Requests Listerner가 구성되고 활성화되어야 한다. 이 설치를 보고 변경하려면 ISA Management 콘솔을 열고 Servers and Arrays,을 확장하고 을 오른클릭하고 Properties를 선택한다. Outgoing Web Requests 탭을 클릭하고 다음과 같이 구성한다.
기본적으로 ISA는 운영모드(Firewall, Integrated, Cache)에 관계없이 모든 ISA 내부 IP(로컬 IP인 127.0.0.1도 포함됨)의 8080 포트에서 proxy service를 활성화한다. ISA Auto Discovery 기능이 모든 ISA 서버 내부 IP의 80번 포트에서 동작하기 때문에 이 포트가 사용된다. Outgoing Web Request Listener를 비활성화하려면 Configure listeners individually per All IP Addresses 를 선택하고 청취한 아무 IP도 선택하지 않으면 된다.
• Auto Discovery listener - 한 서버에 IIS와 ISA를 운영하려는 사람에게 아픔을 주는 부분 중 하나이다. 두 애플리케이션이나 서비스는 같은 TCP/IP 리소스를 점유할 수 없다. 또한 WPAD 기능에도 또한 영향을 미친다. Auto Discovery를 클릭하면 다음과 같이 기본적인 설정내용들을 볼 수 있다.
Auto Discovery 가 필요없거나 원하지 않는다면 Publish automatic discovery information을 체크하지 않으면 된다. 그러면 내부 IP들상의 80 포트를 자유로이 사용할 수 있다. ISA 는 오직 한 NIC를 사용하여 web proxy 서버로 동작한다. 단일 NIC 동작을 지원하는 ISA 동작모드는 캐시 모드 이다.
• Site and Content Rules - Web Proxy 서비스를 통해 전송되는 HTTP와 FTP 컨텐트를 제어한다. 기본적으로 모든 요청을 허용하는 “Allow rule"을 생성한다. 여기에서 허용, 차단과 같은 모든 유형을 관리할 수 있지만, ISA와 충돌되는 규칙을 생성할 수도 있어 주의해야 한다.
• 프로토콜 규칙 - 이는 ISA가 염두에 두고 있는 다양한 제어 분야 중에 하나이지만 쉽게 간과되기도 한다. 최소한으로 여러분은 LAT 호스트들이 웹 액세스를 가능하게 하도록 HTTP 와 HTTPS를 허용해야 한다. 더 많은 프로토콜들이 있지만, 웹을 브라우즈하지는 못한다. LAT 호스트들이 사용하기 위해 설정해 놓은 많은 프로토콜 규칙들을 볼 수 있다. 몇몇은 사용자 정의(custom)로 지정한 것이다.
• IP Routing - 모든 SecureNAT 클라이언트가 방해받지 않고 전송되는지 확인해야한다( 물론 주어진 규칙셋에 따라). ISA 는 기본적으로 비활성화되어 있는 “Enable IP Routing)이라는 설정을 가지고 있다. 활성화될 때, 이 설정은 LAT에서 Internet으로 ICMP(pings) 트래픽의 전송을 허용한다. ISA Management 콘솔을 열어 Packet Filtering으로 이동하여 오른클릭하고 등록정보를 선택하면 다음과 같은 화면을 볼 수 있다.
이 설정을 활성화하면 ISA는 트래픽을 통과시키기 위해 “kernel mode data pumping"을 사용한다. 이에 대한 정보는 Q297347(http://support.microsoft.com/support/kb/articles/Q279/3/47.ASP)을 참고한다.
• HTTP Redirector - 웹 서비스에 대한 Firewall 및 SecureNAT을 제어할 때 볼 수 있다. ISA Management 콘솔을 열고, Servers and Arrays, Extensions, Application Filters를 확장한다. HTTP Redirector Filter를 오른클릭하고 Properties를 선택한다. Options 탭을 선택하면 다음과 같은 화면을 볼 수 있다.
여기에서 SecureNAT과 Firewall 클라이언트의 웹 요청이 어떻게 다뤄질지를 결정한다. 만약 모든 사용자가 web proxy 서비스를 사용하도록 강제하려면 Redirect to local Web Proxy service를 선택한다. 또한 이 옵션은 반응이 없는 Web Proxy 서비스를 우회하는 기능도 제공한다. SecureNAT과 Firewall 클라이언트가 여전히 인터넷에 액세스할 수 있지만 Web Proxy 필터링을 우회하여 통과할 수 있게 해주는데 잇점이 있다.
Send to requested Web Server는 항상 SecureNAT과 Firewall 웹 요청을 Web proxy 서비스를 우회하게 해준다. 이는 Firewall 및 SecureNAT 클라이언트들이 브라우저 proxy 설정의 사용을 미연에 방지할 때 사용한다.
Reject HTTP requests from firewall and SecureNAT clients 는 사용자들에게 Web proxy 설정을 시행하게 해준다. 브라우저 설정, 웹 도 없다.
• LDT(Local Domain Table) - 이는 IE와 Firewall 클라이언트에게 모두 중요한 정보이다. 여기에 등록되는 모든 도메인은 두가지 원인이 된다.
1) 만약 쿼리할 DNS 서버가 있다면, Web Proxy 와 Firewall 클라이언트는 도메인 이름(관련된 ISA 서비스를 통하지 않고)을 자체 이름풀이한다.
2) Web Proxy 클라이언트는 ISA proxy 서비스를 무시하고 그 도메인에 있는 서버에 직접 요청한다.
• 이름풀이(Name Resolution) - ISA 서버의 적절한 IP 설정은 아주 중요하다. 적어도 여러분은 Web Proxy 및 Firewall 클라이언트를 대신하여 외부 FQDN을 풀이할 수 있는 ISA용 DNS 서버를 제공해야 하고 내부 네트워크를 위한 내부 DNS 서버 또한 제공해야 한다. ISA는 W2K 서버에 상주하고 W2K는 다른 이름풀이 방식보다 DNS를 선호한다. WINS 나 NetBIOS 브로드캐스트 이름풀이에 의존하면 나중에 간헐적으로 문제가 발생할 소지가 있다.
ISA는 DNS Lookup 패킷필터를 생성하여 자체 DNS 조회를 제공한다. 이 옵션이 활성화되어 있는지 확인한다. 아니면 외부 이름들을 제대로 풀이하지 못할 수도 있다.
• Web Proxy 와 Firewall DNS 캐시 - Web Proxy 및 Firewall 서비스는 ISA IP 구성에서 DNS 설정에 전적으로 의존하는 아주 기본적인 DNS "서비스“를 제공한다. ISA IP 구성에서 정의된 DNS 서버들을 사용하여 Web 및 Firewall 클라이언트들에게 FQDN 요청을 이름풀이한다. ISA 서버가 빠르고 적절하게 이름풀이하는지 확인한다. 실제 흥미로운 점은 DNS 서버에서 수신한 DNS 레코드의 TTL은 무시된다는 점이다. 기본적으로 Web Proxy 및 Firewall DNS 캐시가 보유하는 모든 레코드들은 실제 레코드의 TTL에 관계없이 6시간짜리 TTL이다. 말할 필요도 없이 이것은 여러분이 수행할 수도 있는 DNS 관련 테스트 뿐만 아니라 클라이언트 이름 풀이를 엉망으로 만들 수도 있다.
이를 어떻게 해결할까 ? 각 Array의 각 서비스에 대한 레지스트리에 DNS 캐시의 크기 와 기본 TTL 시간을 지정하는 두가지 엔트리가 있다.
• Web Proxy:
HKLMSOFTWAREMicrosoftFpcArrays{Array GUID}ArrayPolicyWebProxy
"msFPCDnsCacheSize"=dword:00000bb8
"msFPCDnsCacheTtl"=dword:00005460
• Firewall:
HKLMSOFTWAREMicrosoftFpcArrays{Array GUID}ArrayPolicyProxy-WSP
"msFPCDnsCacheSize"=dword:00000bb8
"msFPCDnsCacheTtl"=dword:00005460
주의 : Enterprise Array에서 액티브 디렉터리 사용자 및 컴퓨터의 고급 보기 모드를 사용해야 하며 System, Microsoft, FPC, Array, {Array GUID}, Array Policy 순으로 내려간다.
표시된 값들은 모두 16진수로 윈도즈 계산기를 “공학”모드로 변경해 진수변환을 할 수 있다. 이는 Web 및 Firewall 클라이언트의 이름풀이에 효과적인 방법이긴 하지만, 오랬동안 잘못된 데이터를 가지고 있을 수도 있다. 그리고, DNS 서버는 RFC와 호환되지 않는 레코드 TTL을 주시할 수 없다. 이 문제에 대한 해결책은 다음과 같다.
1) msFPCDnsCacheSize는 이름캐시의 크기를 나타낸다. 0을 입력하면 그다음 레지스트리 값은 무시되고 서비스는 아무 이름도 저장하지 않는다. 0으로 변경해 보자. 클라이언트의 모든 이름풀이 요청은 실제 DNS서버에서 풀이되고 그 레코드에 대한 TTL이 고쳐질 것이다.
2) msFPCDnsCacheTtl은 수신한 각 레코드를 얼마나 오래 보유할 것인지 나타낸다. 만약 앞의 엔트리에서 0 이 아닌 다른 값을 입력했다면 여기에 입력된 값이 사용된다. 이전 레지스트리 엔트리가 0이면 이 엔트리는 무시된다.
- ISA 동작 모드(ISA Operation Modes)
원문 : http://www.isaserver.org/pages/articles.asp?art=62
'ForeFront Server > ISA Server 2006' 카테고리의 다른 글
| How To Create a Protocol Definition. (0) | 2002/07/04 |
|---|---|
| Manually installing the ISA firewall client (0) | 2002/07/04 |
| ISA Client : General ISA Server Configuration (0) | 2002/07/04 |
| Configuring ISA Server Dial-up Connections (0) | 2002/07/02 |
| 전화접속엔트리에서 사용자이름 전체를 입력하지 못하는 이유는 ? (0) | 2002/04/21 |
| ISA 서버상에 ISA Firewall Client 를 설치할 수 있나요? (0) | 2002/04/21 |



댓글을 달아 주세요