검색

1.7. DNS 레코드를 재정의하도록 BIND에서 응답 정책 영역 구성

download PDF

DNS 차단 및 필터링을 사용하여 관리자는 DNS 응답을 다시 작성하여 특정 도메인 또는 호스트에 대한 액세스를 차단할 수 있습니다. BIND에서 응답 정책 영역(RPZ)은 이 기능을 제공합니다. NXDOMAIN 오류를 반환하거나 쿼리에 응답하지 않는 등 차단된 항목에 대해 다른 작업을 구성할 수 있습니다.

환경에 여러 DNS 서버가 있는 경우 이 절차를 사용하여 기본 서버에서 RPZ를 구성하고 보조 서버에서 RPZ를 사용할 수 있도록 영역 전송을 구성합니다.

사전 요구 사항

  • BIND가 이미 구성되어 있습니다(예: 캐싱 이름 서버).
  • named 또는 named-chroot 서비스가 실행 중입니다.

절차

  1. /etc/named.conf 파일을 편집하고 다음과 같이 변경합니다.

    1. options 문에 response-policy 정의를 추가합니다.

      options {
          ...
      
          response-policy {
              zone "rpz.local";
          };
      
          ...
      }

      response-policy 에서 zone 문에서 RPZ의 사용자 정의 이름을 설정할 수 있습니다. 그러나 다음 단계에서 영역 정의에서 동일한 이름을 사용해야 합니다.

    2. 이전 단계에서 설정한 RPZ의 영역 정의를 추가합니다.

      zone "rpz.local" {
          type master;
          file "rpz.local";
          allow-query { localhost; 192.0.2.0/24; 2001:db8:1::/64; };
          allow-transfer { none; };
      };

      이러한 설정 상태:

      • 이 서버는 rpz.local 이라는 RPZ의 기본 서버(마스터 유형)입니다.
      • /var/named/rpz.local 파일은 영역 파일입니다. 이 예에서와 같이 상대 경로를 설정하면 이 경로는 options 문의 디렉터리에 설정한 디렉터리를 기준으로 합니다.
      • allow-query 에 정의된 모든 호스트는 이 RPZ를 쿼리할 수 있습니다. 또는 IP 범위 또는 BIND ACL(액세스 제어 목록) nickname을 지정하여 액세스를 제한합니다.
      • 호스트를 통해 영역을 전송할 수 없습니다. 보조 서버를 설정하고 보조 서버의 IP 주소에 대해서만 영역 전송을 허용합니다.
  2. /etc/named.conf 파일의 구문을 확인합니다.

    # named-checkconf

    명령이 출력을 표시하지 않으면 구문이 올바른지.

  3. /var/named/rpz.local 파일을 생성합니다(예: 다음 콘텐츠를 포함).

    $TTL 10m
    @ IN SOA ns1.example.com. hostmaster.example.com. (
                              2022070601 ; serial number
                              1h         ; refresh period
                              1m         ; retry period
                              3d         ; expire time
                              1m )       ; minimum TTL
    
                     IN NS    ns1.example.com.
    
    example.org      IN CNAME .
    *.example.org    IN CNAME .
    example.net      IN CNAME rpz-drop.
    *.example.net    IN CNAME rpz-drop.

    이 영역 파일:

    • 리소스 레코드의 기본 TTL(Time-to-live) 값을 10분으로 설정합니다. h for hour과 같은 시간 접미사가 없으면 BIND에서 값을 초로 해석합니다.
    • 영역에 대한 세부 정보를 포함하는 필수 권한 시작(SOA) 리소스 레코드가 포함되어 있습니다.
    • ns1.example.com 을 이 영역에 대한 권한 있는 DNS 서버로 설정합니다. 작동하려면 영역에 하나 이상의 이름 서버(NS) 레코드가 필요합니다. 그러나 RFC 1912를 준수하려면 두 개 이상의 이름 서버가 필요합니다.
    • 이 도메인의 example.org 및 호스트에 대한 쿼리의 NXDOMAIN 오류를 반환합니다.
    • 이 도메인에서 example.net 및 호스트에 대한 쿼리를 삭제합니다.

    전체 작업 및 예제 목록은 IETF 초안: DNS Response Policy Zones (RPZ) 를 참조하십시오.

  4. /var/named/rpz.local 파일의 구문을 확인합니다.

    # named-checkzone rpz.local /var/named/rpz.local
    zone rpz.local/IN: loaded serial 2022070601
    OK
  5. BIND를 다시 로드합니다.

    # systemctl reload named

    변경 루트 환경에서 BIND를 실행하는 경우 systemctl reload named-chroot 명령을 사용하여 서비스를 다시 로드합니다.

검증

  1. NXDOMAIN 오류를 반환하도록 RPZ에 구성된 example.org 에서 호스트를 해결 하려고 합니다.

    # dig @localhost www.example.org
    ...
    ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 30286
    ...

    이 예에서는 BIND가 동일한 호스트에서 실행되고 localhost 인터페이스의 쿼리에 응답하는 것으로 가정합니다.

  2. 쿼리를 삭제하기 위해 RPZ에 구성된 example.net 도메인에서 호스트를 해결하려고 합니다.

    # dig @localhost www.example.net
    ...
    ;; connection timed out; no servers could be reached
    ...
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.