DNS! 인터넷에서 여러가지 서비스를 제공하기 위해 반드시 사용해야 하는 핵심적인 구성요소입니다. 방화벽이 있고 그 안에 DNS 서버가 위치하는 경우에는 DNS 서버를 게시(Publishing)해야 합니다.

ISAServer.org에서는 DNS 게시에 관련된 자료를 연재하고 있습니다. 필요한 부분만 정리해서 올려 보겠습니다.

목차

I. DNS Advertiser 및 Resolver의 이해



1. DNS Advertiser(공개된 DNS 서버)

DNS 서버를 게시한다는 의미는 ISA 방화벽 뒷단에 위치한 내부 네트워크에 DNS 서버가 놓여 있다는 의미입니다. DNS 서버를 게시하는 목적은 방화벽의 보호 아래 외부 사용자(주로 인터넷)가 DNS 정보를 조회(이름풀이)할 수 있는 서비스를 제공하는 것입니다. 물론 DNS 서버는 자신이 등록한 도메인에 대한 정보만을 이름풀이하여 사용자에게 반환합니다.

외부 사용자가 게시된 내부의 DNS 서버로 패킷이 어떻게 전달되는지 살펴 봅니다. 먼저 외부 사용자는 ISA 방화벽의 외부 인터페이스인 공인 IP로 이름풀이를 요청합니다. ISA 방화벽은 게시 규칙을 검토하여 이를 바탕으로 내부의 DNS 서버로 해당 정보를 전달합니다. 이제 DNS 서버는 자신에게 등록된 도메인의 정보를 조회하여 ISA 방화벽으로 반환합니다. 마지막으로 ISA 방화벽은 이 정보를 외부 사용자에게 반환합니다.

그리고, DNS 서버의 역할 중에 하나가 바로 DNS 정보를 다른 DNS 서버로 부터 조회하여 이 값을 사용자에게 반환할 수 있다는 것입니다. DNS 서버는 자신이 등록한 DNS 정보에 대해서만 책임(Authoritative)이 있으며, 이 값을 정확히 반환하게 되어 있습니다. 하지만, 등록하지 않은 다른 도메인 이름에 대한 조회 요청이 들어오면 이 DNS 서버는 사용자를 대신하여 다른 DNS 서버로 조회 요청을 하여 해당 정보를 가져와 사용자에게 반환합니다. 즉, DNS 서버의 도메인 등록정보는 일반적으로 다른 DNS 서버에서 조회가 가능하고, 사용자 또는 DNS 서버를 관리하는 사람도 조회가 가능한 '도메인 정보를 공개한 DNS 서버'로 관리하게 됩니다. 이 서버를 영어로 DNS Advertiser라고 합니다.

따라서, 이러한 공개된 서버에서는 회사 네트워크의 중요한 비밀이 담겨 있는 정보를 포함해서는 절대로 안됩니다. 만약 포함하는 경우에는 방화벽에서 DNS 조회(이름풀이)에 관련된 포트를 제한해야 할 수도 있습니다.

2. DNS Resolver

관리자의 관리 하에 도메인 이름에 대한 액세스를 공개적으로 허용하도록 DNS Advertiser를 사용하는 경우에는 내부 사용자의 이름풀이 요청은 ISA 방화벽을 통해 아웃바운드 DNS 액세스로 연결합니다. DNS에서 아웃바운드 액세스를 허용할 때 내부 클라이언트와 서버들은 인터넷 상의 도메인 이름을 이름풀이하여 실제로 액세스할 수 있게 됩니다. 예를 들어, 내부 사용자가 웹 브라우저를 통해 http://moonslab.com을 입력하면, moonslab.com 도메인의 정보를 가지고 있고 이를 요청한 클라이언트에게 이름풀이를 제공해야 하는 DNS 서버가 반드시 존재해야 합니다. 이러한 DNS 서버는 인터넷 상의 이름풀이 요청을 처리 또는 내부 네트워크 도메인의 이름풀이도 책임져야 할 수도 있습니다. 이러한 서버를 바로 DNS Resolver라고 하며, 주 목적은 인터넷 상의(외부) 도메인의 이름풀이를 제공하는 것입니다.

명심해야 할 중요한 사항은 바로 이것입니다. 내부 사용자는 DNS advertiser를 사용하여 이름풀이를 사용할 수 없고, 외부 사용자들은 이름풀이를 위해 내부 DNS Resolver를 사용해서는 안된다는 것입니다. 물론 예외 사항은 VPN 네트워크에 관련된 경우입니다.

3. DNS의 보안 강화

DNS 서버를 게시할 때에는 가급적 DNS Advertiser로 게시해야 합니다. 즉, 인터넷 사용자가 내부의 게시된 서버로 이름풀이 요청을 하여 정보를 가져갈 수 있어야 합니다. 만약, 이렇게 하지 않는 경우에는 어느 누구도(심지어 내부 사용자도) 도메인 정보를 알 수 없습니다.

DNS 서버는 결함 허용 등의 목적을 달성하기 위해 적어도 두 대의 DNS 서버를 두어야 하며, 가급적 네트워크가 다른 즉, 다른 서브넷에 위치하도록 하는 것이 좋습니다.

그리고, 만약 DNS 서버 컴퓨터에 여러 개의 IP 주소가 할당되어 있고, 특히 내부 네트워크에서 DNS 쿼리를 공유하여 문제가 발생하는 경우라면 DNS 요청을 처리할 인터페이스(NIC)를 강제로 지정할 수 있습니다.
 
사용자 삽입 이미지

전달자 탭에서는 전달자 사용을 체크를 해제해야 합니다. 앞에서 설명했다시피, DNS advertiser는 DNS resolver 역할을 수행하도록 하길 원하지 않기 때문입니다. 특히, 전달자를 허용할 경우에는 nslookup 명령어를 통해 DNS 서버의 도메인에 해당하는 모든 정보를 나열하여 볼 수 있으므로 보안상 막아야 합니다.
사용자 삽입 이미지

고급 탭에서는 재귀를 사용 안함오염에 대하여 캐시 보안을 선택하는 것이 좋습니다. 
사용자 삽입 이미지

루트 참고 탭에서는 인터넷 상에서 운영 중인 루트 서버의 목록을 보여줍니다. 이러한 루트서버는 전세계적으로 13대가 운영되고 있으며, 그 외에는 캐시 서버로 국내에서 운영중입니다. 루트 서버는 DNS 서버가 재귀 호출을 할 때 사용됩니다. 하지만, 우리는 DNS advertiser가 재귀로 사용할 것이 아니므로 루트 서버의 목록을 모두 삭제합니다. 서버를 선택하고 제거 버튼을 눌러 모두 삭제합니다. 아래 그림은  기본적으로 등록된 상태 화면입니다.
사용자 삽입 이미지

지금까지 DNS Advertiser와 DNS Resolver에 대해 간략히 설명했습니다. DNS advertiser는 자신이 등록한 도메인 정보에 대한 이름풀이 응답만 제공해 주고, 그 도메인 정보에 대해서는 권한(authoritative)을 갑니다. DNS 서버를 게시하는 경우에는 대부분 DNS advertiser로 구성하게 됩니다. DNS Resolver는 인터넷 상의 호스트에 대한 이름풀이를 제공해 줍니다.

다음 편에서는 DNS 아웃바운드 액세스에 대해 점더 자세히 알아 봅니다.


reTweet
Posted by 문스랩닷컴
blog comments powered by Disqus

    댓글을 달아 주세요


    개요

    내부 네트워크나 DMZ에 위치한 웹 서버를 외부(인터넷) 사용자가 액세스할 수 있도록 하려면 웹 게시 규칙을 만들어 줘야 한다. 웹 게시 규칙은 서버 게시 규칙에 비해 뛰어나며, 특히 HTTP 보안 필터와 같은 웹 프록시 필터 및 애드인을 통해 보안을 한층 강화할 수 있다.

    웹 게시 규칙은 ISA 2004뿐만 아니라 ISA 2006에서도 사용할 수 있다. 하지만, 웹 팜 로드 밸런싱, 인증, 인증서 지원에 대해서는 서로 다른 점이 많다. 이 글에서는 SSL을 사용하지 않는 일반(HTTP 80) 웹 게시 규칙을 작성하는데 주안점을 주고 있으며 ISA 2004와 ISA 2006의 차이점에 대해서는 설명하지 않는다.

    웹 게시 규칙 생성


    MS가 제공하는 관리도구에는 마법사라는 편리한 도구가 제공된다. 이 마법사를 통해 웹 게시 규칙을 손쉽게 작성할 수 있다.

    1. ISA Server 관리자 콘솔을 실행하고, 방화벽 정책 노드를 클릭한다. 오른쪽 작업 탭에서 웹 사이트 게시 링크를 클릭한다.

    2. 웹 게시 규칙 생성 마법사 대화상자가 나타난다. 웹 게시 규칙 이름 란에 적당한 이름을 입력하고, 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    3. 규칙 동작 선택 단계에서는 게시하는 웹 서버에 대한 연결을 허용할지 거부할지 결정한다. 당연히 기본값은 허용이다. 허용을 선택하고 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    4. 게시 유형 단계에서는 ISA  방화벽에서 보호하고 있는 즉, 내부(or DMZ)에 위치한 웹 서버 구성을 선택한다. 하나의 웹 사이트인지, 웹 팜인지, 다중 웹사이트를 호스팅하는지 결정한다. 여기에서는 단일 웹 사이트 또는 부하 분산 장치 게시를 선택하고 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    5. 서버 연결 보안 단계에서는 게시하는 웹서버가 보안 서버(SSL)인지 아니면 일반(HTTP)인지 선택한다. 여기에서는 보안되지 않은 연결을 사용하여 게시된 웹 서버 또는 서버 팜에 연결을 선택하고 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    6. 내부 게시 정보 단계에서는 게시되는 서버의 정보를 입력한다. 일반적으로 컴퓨터 이름이나 IP 주소를 입력한다. 여기에서는 10.0.0.2를 예를 들어 사용한다.
    사용자 삽입 이미지

    7. 내부 게시 정보 단계에서는 웹 페이지의 경로를 입력합니다. 앞에서 입력했던 서버의 호스트이름이 표시되므로 주의깊게 입력한다.
    사용자 삽입 이미지

    8. 공개 이름 정보 단계에서는 외부의 사용자들이 게시된 웹서버로 접근하는 URL 즉, FQDN을 입력한다.
    사용자 삽입 이미지

    9. 웹 수신기 선택 단계에서는, 인바운드 웹 요청을 처리할 리스너를 설정한다. 기본적으로 리스너를 추가하지 않은 경우에는 새로 만들기 버튼을 눌러 웹 수신기 마법사를 실행한다.
    사용자 삽입 이미지

    10. 새 웹 수신기 정의 마법사가 실행되면 웹 수신기 이름 란에 적당한 이름을 입력한다. 그리고 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    11. 클라이언트 연결 보안 단계에서는 SSL이 아니므로 클라이언트와 SSL 보안 연결 필요 없음을 선택하고 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    12. 웹 수신기 IP 주소 단계에서는 웹 요청을 받아 들일 네트워크를 선택한다. 선택하고 나서 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    13. 인증 설정 단계에서는 클라이언트가 웹 서버에 액세스할 때 자격 증명이 필요한지 여부를 선택한다. 인증을 사용하지 않는 경우에는 인증 없음을 선택하고 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    14. Single Sign On 설정 단계에서는 앞 단계에서 지정한 인증 방식에 따라 설정한다. 인증하지 않는 경우에는 해당되지 않으므로 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    15. 마법사의 마지막 화면이 나타난다. 지금까지 설정한 정보가 간략히 나오므로 한번 살펴 보고 마침 버튼을 클릭한다.
    사용자 삽입 이미지

    16. 지금까지 작성한 리스너가 화면에 나타난다. 선택하고 다음 버튼을 클릭한다. 중요한 점은 룰이 추가되었기 때문에 나중에 상단의 적용 버튼을 클릭해야 한다는 점이다. 리스너를 선책하고 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    17. 인증 위임 단계에서는 웹 서버의 인증 방법을 선택한다. 여기에서는 위임 안 함을 선택하고 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    18. 사용자 집합 단계에서는 이 규칙이 적용될 사용자를 지정합니다. 일반적으로 모든 사람에게 개방하기 때문에 별 다른 설정 없이 다음 버튼을 클릭한다.
    사용자 삽입 이미지

    19. 마법사의 마지막 단계가 나타난다. 정보를 확인하고 마침 버튼을 누르면 마법사가 완료된다.
    사용자 삽입 이미지

    20. 방화벽 정책의 가운데 부분에는 지금까지 설정된 모든 정책들을 볼 수 있다. 지금 작성한 규칙을 바로 반영하기 위해 적용 버튼을 클릭한다.
    사용자 삽입 이미지

    사용자 삽입 이미지

    PS: ISA 2006 드디어 한글판으로 나왔습니다. 하지만, 외계어(?)같은 이 느낌은 무엇일까요?





    reTweet
    Posted by 문스랩닷컴
    blog comments powered by Disqus

      댓글을 달아 주세요

      사용자 삽입 이미지

      위의 그림과 같이, ISA Server 뒤쪽에 Exchange Server가 위치하고 있으면서 메일박스를 OWA(Outlook Web Access)로 접속할 수 있도록 퍼블리싱하는 방법에 대해 소개합니다.

      1. ISA Server 컴퓨터의 외부 인터페이스에서 인커밍 웹 요청을 허용하도록 설정합니다.(이 과정은 서버의 IP/포트가 HTTP 요청에 대해 응답할 수 있도록 하기 위함)
      • ISA 관리 콘솔을 열고, Servers and Arrays 아이콘을 확장하고, ISA Server 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 Properties를 클릭합니다.
      • Incoming Web Requests 탭을 클릭하고 Configure listeners individually per IP Address를 클릭합니다.
      • Add를 클릭하고, ISA Server 컴퓨터를 클릭하고, 외부 인터페이스의 IP 주소를 클릭합니다.
      • OK를 눌러 창을 닫습니다.


      2. 웹 클라이언트들이 OWA 웹 사이트로 이용할 수 있도록 destination set을 생성합니다.

      • ISA 관리 콘솔을 열고, ISA Server 컴퓨터를 확장하고, Policy Elements를 클릭합니다.
      • Policy Elements를 확장하고, Destination Sets를 마우스 오른쪽 버튼으로 클릭하고, New를 클릭하고 Set을 클릭합니다. 이름을 입력하는 부분에 OWA와 같이 입력합니다.
      • 주의: URL에는 http:// 또는 https://가 들어가면 안됩니다.
      • Path 박스에서 /exchange*와 같이 입력하고 OK를 클릭합니다.
      • exchweb(/exchweb*)과 공유 폴더(/public*)도 추가로 입력하고 OK를 클릭합니다.

      3. 앞서 작성한 정책 구성요소를 사용하여 웹 게시 규칙을 구성합니다.

      • Publishing 노드를 선택하여 확장하고, Web Publishing Rules를 마우스 오른쪽 버튼으로 클릭하고, New를 클릭하고 Rule을 클릭합니다.
      • 적절한 이름(ex. OWA Access Rule)을 입력하고 Next를 클릭합니다.
      • destination set 설정 과정에서는 앞서 작성한 규칙을 선택하고 Next를 클릭합니다.
      • Any Request에 규칙을 적용하고 Next를 클릭합니다.
      • Redirect the request to this internal Web Server를 클릭하고 OWA를 실행하고 있는 서버의 내부 IP 주소 또는 이름을 입력합니다.
      • 주의: SBS 서버인 경우에는 로컬 서버에 Exchange가 운영되므로 컴퓨터 이름이 아닌 내부 IP 주소를 입력해야 합니다.
      • Send the original header to publishing server instead of the actual one 체크박스를 선택하고 Next를 클릭합니다. Finish를 클릭합니다.
      • ISA 관리 콘솔에서 Monitoring 노드를 확장하고 Services를 클릭합니다.
      • Web proxy service와 Firewall service를 재시작합니다.

      서버에 액세스하려면, http://URL/exchange 형식으로 입력하여 확인합니다.


      참고:

      • OWA가 SSL을 지원하는 경우에는 HTTPS 프로토콜로 서버 게시 규칙을 추가로 만들어줘야 합니다.
      • SBS서버인 경우에는 Socket Pooling 기능을 해지해야 합니다.

      원문: MS-KBQ290113


       


      reTweet
      Posted by 문스랩닷컴
      blog comments powered by Disqus

        댓글을 달아 주세요


        ISA Server 컴퓨터에 터미널 서비스로 접속할 수 있도록 퍼블리싱하는 방법에 대해 소개한다. ISA Server  컴퓨터의 외부 인터페이스에 패킷 필터 설정을 해주면 쉽게 해결할 수 있다.

        터미널 서비스(XP에서부터는 RDP)의 패킷은 TCP 3389번을 사용한다.

        1. ISA 관리 콘솔을 열고 Server를 확장한다.

        2. Access Policy를 확장하고, IP Packet Filters를 클릭한다.

        3. 오른쪽 세부 창에서 Create Packet Filter를 클릭한다.

        4. TS Access와 같이 필터의 이름을 입력하고 Next를 클릭한다.

        5. Set this filter for 박스에서 Only this server를 클릭하고, Next를 클릭한다.

        6. Create a filter for 박스에서 Allow packet transmission을 클릭하고, Next를 클릭한다.

        7. Use this filter 박스에서 Custom을 클릭하고, Next를 클릭한다.

        8. 필터 설정에서 다음의 설정값을 입력하고, Next를 클릭한다.
         

        IP protocol: TCP
        Direction: Inbound
        Local Port: Fixed port
        Port number: 3389
        Remote Port: All ports


        9. Apply this packet filter to 박스에서 Default IP Addresses for each external interface on the ISA Server computer를 클릭하고, Next를 클릭한다.

        10. Remote Computers 부분에서 All remote computersOnly this remote computer를 클릭하고, Next를 클릭한다. Finish를 눌러 모든 작업을 종료한다.

        출처: MS KB

        reTweet
        Posted by 문스랩닷컴
        blog comments powered by Disqus

          댓글을 달아 주세요


          DNS 호스팅에 가능한 시나리오는 두 가지가 있습니다.

          시나리오 1: ISA Server에서 DNS 서버를 사용한 DNS 호스팅

          기본적으로 ISA Server에는 미리 정의된 DNS 쿼리 패킷 필터가 포함되어 있습니다.

          Name: DNS Filter
          Filter Type: Predefined
          Protocol: UDP
          Direction: Send Receive
          Local Port: All ports
          Remote Port: Fixed port, 53
          Local Computer: Default IP address on the External interface(s)
          Remote Computer: All Remote Computers

          이전 패킷 필터의 방향이 원격 포트 53에서 "Send Receive"이기 때문에 필터를 사용하면 ISA Server는 사용자 데이터그램 프로토콜(UDP) 포트 53에서 수신 대기하는 외부 DNS 서버로 DNS 쿼리를 보내고 이 쿼리에 대한 응답을 받을 수 있습니다.

          필터는 ISA Server로 들어오는 DNS 쿼리를 사용하지 못합니다. 외부 클라이언트 컴퓨터에 대해 DNS 서버를 호스트하는 경우 사용자 지정 DNS 패킷 필터를 추가해야 들어오는 DNS 쿼리를 DNS 서버에서 수신할 수 있습니다. 이런 패킷 필터의 예는 다음과 같습니다.

          Name: DNS Query
          Protocol: UDP
          Direction: Receive Send
          Local Port: Fixed port, 53
          Remote Port: All ports
          Local Computer: Default IP address on the External interface(s)
          Remote Computer: All Remote Computers

          DNS 쿼리는 UDP 프로토콜을 사용하는 반면 주 DNS 서버와 보조 DNS 서버 간의 DNS 영역 전송은 TCP(전송 제어 프로토콜) 프로토콜을 사용합니다. ISA Server의 외부 네트워크 어댑터에서 보조 DNS 서버로 DNS 영역 전송이 필요할 경우 다음과 같이 다른 사용자 지정 패킷 필터를 만들어야 합니다.

          Name: DNS Zone transfer
          Protocol: TCP
          Direction: Both
          Local Port: Fixed port, 53
          Remote Port: All ports
          Local Computer: Default IP address on the External interface(s)
          Remote Computer: All Remote Computers

          승인 받지 않은 DNS 서버로 DNS 영역이 전송되는 것을 방지하려면 DNS 서버를 설정하여 지정된 DNS 서버로만 영역을 전송할 수 있도록 해야 합니다. 그렇지 않으면 지정된 원격 컴퓨터가 "All Remote Computers" 대신 보조 DNS 서버의 인터넷 프로토콜(IP) 주소가 되도록 이전 패킷 필터를 수정할 수 있습니다. DNS 영역 전송에 대한 자세한 내용은 Windows 2000 온라인 도움말을 참조하십시오.


          시나리오 2: ISA Server의 개인 네트워크에 있는 DNS 서버

          ISA Server의 개인 네트워크에 있는 DNS 서버를 사용하여 ISA Server의 네트워크 어댑터에 있는 클라이언트에 대한 DNS 쿼리를 확인하려면 DNS 게시 규칙을 만들어야 합니다.


          1. Server Publishing Rule을 마우스 오른쪽 단추로 누르고 New를 누른 다음 Rule을 누릅니다.
          2. 서버 게시 규칙의 이름을 입력하고 Next를 누릅니다.

          3. 내부 DNS 서버의 IP 주소와 ISA Server의 외부 인터페이스를 입력하고 Next를 입력합니다.

          4. 프로토콜로 DNS Query Server를 누르고 Next를 누릅니다.

          5. Any Request에 규칙을 적용하고 Next를 누른 다음 Finish를 누릅니다.

          ISA Server의 네트워크 어댑터에 있는 보조 DNS 서버로 DNS 영역을 전송해야 하는 경우 다른 서버 게시 규칙을 만들어야 합니다. 앞에서 설명한 DNS 쿼리 규칙과 동일한 일반 지침을 사용하고 프로토콜로 DNS Zone Transfer를 선택합니다.
          reTweet
          Posted by 문스랩닷컴
          blog comments powered by Disqus

            댓글을 달아 주세요



            Web Analytics Blogs Directory