DNS(Domain Name System)는 원래 개방형 프로토콜로 설계되었으므로 공격을 받기 쉽습니다. Windows Server 2008 DNS에서는 보안 기능이 추가되어 DNS 인프라에 대한 공격을 방지하는 기능이 향상되었습니다. 사용할 보안 기능을 고려하기 전에 DNS 보안에 대한 일반적인 위협과 조직의 DNS 보안 수준을 알아야 합니다.

DNS 보안 위협

다음은 공격자가 DNS 인프라를 위협하는 일반적인 방법입니다.

  • 풋프린팅: 공격자가 중요한 네트워크 리소스의 DNS 도메인 이름, 컴퓨터 이름 및 IP 주소를 알아내기 위해 DNS 영역 데이터를 가져오는 프로세스입니다. 일반적으로 공격자는 이 DNS 데이터를 사용하여 네트워크를 다이어그램으로 나타내는("풋프린팅"하는) 공격을 시작합니다. 일반적으로 DNS 도메인과 컴퓨터 이름은 사용자가 도메인과 컴퓨터를 좀더 쉽게 기억하고 식별할 수 있도록 도메인 또는 컴퓨터의 기능이나 위치를 나타냅니다. 공격자는 동일한 DNS 원칙을 사용하여 네트워크에 있는 도메인과 컴퓨터의 기능 또는 위치를 알아냅니다.

  • DoS(Denial-of-Service) 공격: 공격자가 네트워크에 있는 하나 이상의 DNS 서버에 재귀 쿼리를 집중적으로 보내 네트워크 서비스를 사용할 수 없게 만드는 공격입니다. DNS 서버가 너무 많은 쿼리를 받으면 결국에는 CPU 사용량이 최대치에 도달하여 DNS 서버 서비스를 사용할 수 없게 됩니다. 네트워크에서 DNS 서버가 완전히 작동하지 않으면 네크워크 사용자가 DNS를 사용하는 네트워크 서비스를 사용할 수 없게 됩니다.

  • 데이터 수정: DNS를 사용하여 네트워크를 풋프린팅한 공격자가 자신이 만든 IP 패킷에서 유효한 IP 주소를 사용하여 네트워크의 유효한 IP 주소에서 이러한 패킷을 보낸 것처럼 위장하는 시도입니다. 일반적으로 이를 IP 스푸핑이라고 합니다. 공격자는 서브넷의 IP 주소 범위에 속하는 유효한 IP 주소를 통해 네트워크에 액세스하고 데이터를 손상시키거나 다른 공격을 수행할 수 있습니다.

  • 리디렉션: 공격자가 DNS 이름에 대한 쿼리를 공격자가 제어하는 서버로 리디렉션하는 경우입니다. 이후 쿼리를 공격자가 제어하는 서버로 보낼 수 있는 잘못된 DNS 데이터로 DNS 서버의 DNS 캐시를 오염시키려는 시도도 리디렉션의 한 가지 방법입니다. 예를 들어, 쿼리가 원래 widgets.tailspintoys.com에 대해 수행되었고 조회 응답이 malicious-user.com과 같은 tailspintoys.com 도메인의 외부에 있는 이름의 레코드를 제공하는 경우 DNS 서버는 malicious-user.com에 대해 캐시된 데이터를 사용하여 해당 이름에 대한 쿼리를 해결합니다. 공격자는 동적 업데이트가 보안되지 않은 경우와 같이 DNS 데이터에 쓸 수 있을 때마다 리디렉션을 수행할 수 있습니다.

DNS 보안 위협 완화

위에서 설명한 일반적인 DNS 보안 문제를 완화하도록 DNS를 구성할 수 있습니다. 다음 표에는 DNS 보안을 결정할 때 고려할 5가지 주요 영역이 나와 있습니다.

DNS 보안 영역 설명

DNS 네임스페이스

DNS 네임스페이스 디자인에 DNS 보안을 통합합니다. 자세한 내용은 DNS 배포 보안을 참조하십시오.

DNS 서버 서비스

DNS 서버 서비스가 도메인 컨트롤러에서 실행될 때 기본 DNS 서버 서비스 보안 설정을 검토하고 Active Directory 보안 기능을 적용합니다. 자세한 내용은 DNS 서버 서비스 보안을 참조하십시오.

DNS 영역

DNS 영역이 도메인 컨트롤러에서 호스트되는 경우 기본 DNS 영역 보안 설정을 검토하고 보안 동적 업데이트와 Active Directory 보안 기능을 적용합니다. 자세한 내용은 DNS 영역 보안을 참조하십시오.

DNS 리소스 레코드

DNS 리소스 레코드가 도메인 컨트롤러에서 호스트되는 경우 기본 DNS 리소스 레코드 보안 설정을 검토하고 Active Directory 보안 기능을 적용합니다. 자세한 내용은 DNS 리소스 레코드 보안을 참조하십시오.

DNS 클라이언트

DNS 클라이언트에서 사용하는 DNS 서버 IP 주소를 제어합니다. 자세한 내용은 DNS 클라이언트 보안을 참조하십시오.

세 가지 수준의 DNS 보안

다음 섹션에서는 세 가지 수준의 DNS 보안에 대해 설명합니다.

낮은 수준의 보안

낮은 수준의 보안은 보안 예방 조치가 구성되지 않은 표준 DNS 배포입니다. DNS 데이터의 무결성을 염려할 필요가 없는 네트워크 환경이나 외부 연결의 위협이 없는 사설망에만 이 수준의 DNS 보안을 배포합니다. 낮은 수준의 DNS 보안에는 다음과 같은 특징이 있습니다.

  • 조직의 DNS 인프라가 인터넷에 완전히 노출되어 있습니다.

  • 네트워크의 모든 DNS 서버에서 표준 DNS 확인을 수행합니다.

  • 모든 DNS 서버가 인터넷의 루트 서버를 가리키는 루트 힌트를 사용하여 구성됩니다.

  • 모든 DNS 서버에서 임의의 서버에 대한 영역 전송을 허용합니다.

  • 모든 DNS 서버가 모든 IP 주소에서 수신 대기하도록 구성됩니다.

  • 모든 DNS 서버에서 캐시 오염 방지 기능을 사용할 수 없도록 설정됩니다.

  • 모든 DNS 영역에 동적 업데이트가 허용됩니다.

  • UDP(User Datagram Protocol) 및 TCP/IP 포트 53이 네트워크의 방화벽에서 원본 및 대상 주소에 대해 모두 열려 있습니다.

중간 수준의 보안

중간 수준의 보안은 도메인 컨트롤러에서 DNS 서버를 실행하지 않고 DNS 영역을 AD DS(Active Directory 도메인 서비스)에 저장하지 않은 경우 사용 가능한 DNS 보안 기능을 사용합니다. 중간 수준의 DNS 보안에는 다음과 같은 특징이 있습니다.

  • 조직의 DNS 인프라가 인터넷에 제한적으로 노출되어 있습니다.

  • 모든 DNS 서버가 로컬로 이름을 확인할 수 없는 경우 전달자를 사용하여 내부 DNS 서버의 특정 목록을 가리키도록 구성됩니다.

  • 모든 DNS 서버가 영역의 NS(이름 서버) 리소스 레코드에 나열된 서버로 영역 전송을 제한합니다.

  • DNS 서버가 지정된 IP 주소에서 수신 대기하도록 구성됩니다.

  • 모든 DNS 서버에서 캐시 오염 방지 기능을 사용할 수 있도록 설정됩니다.

  • 모든 DNS 영역에 비보안 동적 업데이트가 허용되지 않습니다.

  • 내부 DNS 서버가 제한된 원본 및 대상 주소 목록만 허용되는 방화벽을 통해 외부 DNS 서버와 통신합니다.

  • 방화벽 앞의 외부 DNS 서버가 인터넷의 루트 서버를 가리키는 루트 힌트를 사용하여 구성됩니다.

  • 모든 인터넷 이름 확인이 프록시 서버와 게이트웨이를 사용하여 수행됩니다.

높은 수준의 보안

높은 수준의 보안은 중간 수준의 보안과 동일한 구성을 사용하며 DNS 서버 서비스가 도메인 컨트롤러에서 실행 중이고 DNS 영역이 AD DS에 저장된 경우 사용 가능한 보안 기능도 사용합니다. 또한 높은 수준의 보안은 인터넷과의 DNS 통신을 완전히 없앱니다. 이는 일반적인 구성은 아니지만 인터넷 연결이 필요하지 않은 경우 항상 권장됩니다. 높은 수준의 DNS 보안에는 다음과 같은 특징이 있습니다.

  • 조직의 DNS 인프라에서 내부 DNS 서버의 인터넷 통신이 없습니다.

  • 네트워크에서 내부 DNS 루트 및 네임스페이스를 사용하며 DNS 영역의 모든 권한이 내부에 있습니다.

  • 전달자를 사용하여 구성된 DNS 서버가 내부 DNS 서버 IP 주소만 사용합니다.

  • 모든 DNS 서버가 지정된 IP 주소로 영역 전송을 제한합니다.

  • DNS 서버가 지정된 IP 주소에서 수신 대기하도록 구성됩니다.

  • 모든 DNS 서버에서 캐시 오염 방지 기능을 사용할 수 있도록 설정됩니다.

  • 내부 DNS 서버가 내부 네임스페이스의 루트 영역을 호스트하는 내부 DNS 서버를 가리키는 루트 힌트를 사용하여 구성됩니다.

  • 모든 DNS 서버가 도메인 컨트롤러에서 실행됩니다. 특정 개인만 DNS 서버에서 관리 작업을 수행할 수 있도록 DNS 서버 서비스에 대해 DACL(임의 액세스 제어 목록)이 구성됩니다.

  • 모든 DNS 영역이 AD DS에 저장됩니다. 특정 개인만 DNS 영역을 만들거나 삭제하거나 수정할 수 있도록 DACL이 구성됩니다.

  • 특정 개인만 DNS 데이터를 만들거나 삭제하거나 수정할 수 있도록 DNS 리소스 레코드에 대해 DACL이 구성됩니다.

  • 동적 업데이트를 허용하지 않는 최상위 및 루트 영역을 제외한 DNS 영역에 대해 보안 동적 업데이트가 구성됩니다.


목차