Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

허용되지 않는 웹 사이트 도메인에 대한 DNS 요청 필터링

DNS 요청 필터링 개요

Junos OS 릴리스 18.3R1부터 DNS 필터링을 구성하여 허용되지 않은 웹 사이트 도메인에 대한 DNS 요청을 식별할 수 있습니다. MX-SPC3 서비스 카드로 차세대 서비스를 실행하는 경우 Junos OS 릴리스 19.3R2부터 DNS 필터링을 구성할 수 있습니다. 차세대 서비스는 MX240, MX480 및 MX960 라우터에서 지원됩니다. DNS 요청 유형 A, AAAA, MX, CNAME, TXT, SRV 및 ANY의 경우 허용되지 않은 도메인에 대한 DNS 요청에 대해 수행할 작업을 구성합니다. 다음 중 하나를 수행할 수 있습니다.

  • DNS 싱크홀 서버의 IP 주소 또는 FQDN(정규화된 도메인 이름)이 포함된 DNS 응답을 전송하여 웹 사이트에 대한 액세스를 차단합니다. 이렇게 하면 클라이언트가 허용되지 않는 도메인으로 트래픽을 보내려고 할 때 트래픽이 싱크홀 서버로 대신 이동합니다( 그림 1 참조).

  • 요청을 기록하고 액세스를 허용합니다.

Junos OS 릴리스 21.1R1부터는 허용되지 않는 도메인의 DNS 요청에 대해 다음 작업을 구성할 수도 있습니다.

  • 경고
  • 받아들이다
  • 방울
  • 드롭 노로그

허용되지 않는 도메인에 대한 다른 DNS 요청 유형의 경우 요청이 기록되고 액세스가 허용됩니다.

싱크홀 서버가 수행하는 작업은 DNS 요청 필터링 기능에 의해 제어되지 않습니다. 싱크홀 서버 동작을 구성해야 합니다. 예를 들어 싱크홀 서버는 요청자에게 도메인에 연결할 수 없다는 메시지를 보내고 허용되지 않은 도메인에 대한 액세스를 방지할 수 있습니다.

그림 1: 허용되지 않는 도메인 DNS Request for Disallowed Domain 에 대한 DNS 요청

혜택

DNS 필터링은 허용되지 않는 웹 사이트 도메인에 대한 DNS 요청을 싱크홀 서버로 리디렉션하는 동시에 시스템을 운영하는 사람이 허용되지 않는 도메인 목록을 볼 수 없도록 합니다. 허용되지 않는 도메인 이름이 암호화된 형식이기 때문입니다.

허용되지 않는 도메인 필터 데이터베이스 파일

DNS 요청 필터링에는 허용되지 않는 각 도메인 이름, 허용되지 않는 도메인에 대한 DNS 요청에 대해 수행할 작업 및 DNS 싱크홀 서버의 IP 주소 또는 FQDN(정규화된 도메인 이름)을 식별하는 허용되지 않는 도메인 필터 데이터베이스 .txt 파일이 필요합니다.

DNS 필터 프로필

DNS 필터 프로필을 구성하여 사용할 허용되지 않는 도메인 필터 데이터베이스 파일을 지정합니다. 또한 DNS 요청 필터링이 수행되는 인터페이스를 지정하고, 특정 DNS 서버에 대한 요청으로 필터링을 제한하고, 특정 소스 IP 주소 접두사의 요청으로 필터링을 제한할 수 있습니다.

DNS 요청 필터링을 구성하는 방법

허용되지 않은 웹 사이트 도메인에 대한 DNS 요청을 필터링하려면 다음을 수행합니다.

도메인 필터 데이터베이스를 구성하는 방법

허용되지 않는 각 도메인에 대한 항목을 포함하는 하나 이상의 도메인 필터 데이터베이스 파일을 만듭니다. 각 항목은 허용되지 않은 웹 사이트 도메인에 대한 DNS 요청으로 수행할 작업을 지정합니다.

도메인 필터 데이터베이스 파일을 구성하려면 다음을 수행합니다.

  1. 파일 이름을 만듭니다. 데이터베이스 파일 이름은 최대 64자까지 가능하며 .txt 확장명을 가져야 합니다.
  2. 20170314_01:domain,sinkhole_ip,v6_sinkhole,sinkhole_fqdn,id,action과 같은 형식의 파일 헤더를 추가합니다.
  3. 허용되지 않는 각 도메인에 대해 파일에 항목을 추가합니다. 최대 10,000개의 도메인 항목을 포함할 수 있습니다. 데이터베이스 파일의 각 항목에는 다음 항목이 있습니다.

    해시 도메인 이름, IPv4 싱크홀 주소, IPv6 싱크홀 주소, 싱크홀 FQDN, ID, 작업

    어디:

    • hashed-domain-name 은(는) 허용되지 않는 도메인 이름(64진수 문자)의 해시된 값입니다. Junos OS CLI를 사용하여 DNS 필터링을 구성할 때 해시된 도메인 값을 생성하는 데 사용하는 해시 방법과 해시 키가 필요합니다.

    • IPv4 sinkhole address 은 IPv4 DNS 요청에 대한 DNS 싱크홀 서버의 주소입니다.

    • IPv6 sinkhole address 은 IPv6 DNS 요청에 대한 DNS 싱크홀 서버의 주소입니다.

    • sinkhole FQDN 은 DNS 싱크홀 서버의 정규화된 도메인 이름입니다.

    • ID 은(는) 항목을 해시된 도메인 이름과 고유하게 연결하는 32비트 숫자입니다.

    • action 은 허용되지 않은 도메인 이름과 일치하는 DNS 요청에 적용할 작업입니다. 다음을 입력하는 경우:

      • replace에서 MX 시리즈 라우터는 DNS 싱크홀 서버의 IP 주소 또는 FQDN이 포함된 DNS 응답을 클라이언트에 보냅니다. 을 입력 report하면 DNS 요청이 기록된 다음 DNS 서버로 전송됩니다.
      • report을 사용하면 DNS 요청이 기록된 다음 DNS 서버로 전송됩니다.
      • alert을 사용하면 DNS 요청이 기록되고 요청이 DNS 서버로 전송됩니다.
      • accept을 사용하면 DNS 요청이 기록되고 요청이 DNS 서버로 전송됩니다.
      • drop이면 DNS 요청이 삭제되고 요청이 기록됩니다. DNS 요청이 DNS 서버로 전송되지 않습니다.
      • drop-no-log그러면 DNS 요청이 삭제되고 syslog가 생성되지 않습니다. DNS 요청이 DNS 서버로 전송되지 않습니다.
  4. 파일의 마지막 줄에는 해시된 도메인 이름을 생성하는 데 사용한 것과 동일한 키 및 해시 방법을 사용하여 계산하는 파일 해시를 포함합니다.
  5. 라우팅 엔진의 /var/db/url-filterd 디렉토리에 데이터베이스 파일을 저장합니다.
  6. 도메인 필터 데이터베이스 파일의 유효성을 검사합니다.
  7. 데이터베이스 파일을 변경하는 경우 변경 내용을 적용합니다.

DNS 필터 프로필을 구성하는 방법

DNS 필터 프로필에는 허용되지 않는 웹 사이트 도메인에 대한 DNS 요청을 필터링하기 위한 일반 설정이 포함되어 있으며 최대 32개의 템플릿이 포함되어 있습니다. 템플릿 설정은 특정 업링크 및 다운링크 논리적 인터페이스나 라우팅 인스턴스의 DNS 요청 또는 특정 소스 IP 주소 접두사의 DNS 요청에 적용되며 DNS 프로필 수준에서 해당 설정을 재정의합니다. 최대 8개의 DNS 필터 프로필을 구성할 수 있습니다.

DNS 필터 프로필을 구성하려면 다음을 수행합니다.

  1. DNS 필터 프로필의 이름을 구성합니다.

    최대 프로필 수는 8개입니다.

  2. DNS 필터링을 위해 클라이언트별 통계를 기록하는 간격을 구성합니다. 범위는 0분에서 60분까지이며 기본값은 5분입니다.
  3. 프로필에 대한 일반 DNS 필터링 설정을 구성합니다. 이러한 값은 DNS 요청이 특정 템플릿과 일치하지 않는 경우에 사용됩니다.
    1. DNS 요청을 필터링할 때 사용할 도메인 필터 데이터베이스의 이름을 지정합니다.
    2. (선택 사항) 특정 DNS 서버를 대상으로 하는 DNS 요청으로 DNS 필터링을 제한하려면 최대 3개의 IP 주소(IPv4 또는 IPv6)를 지정합니다.
    3. 해시 키의 형식을 지정합니다.
    4. 도메인 필터 데이터베이스 파일에서 해시된 도메인 이름을 만드는 데 사용한 해시 키를 지정합니다.
    5. 도메인 필터 데이터베이스 파일에서 해시된 도메인 이름을 만드는 데 사용된 해시 방법을 지정합니다.

      유일하게 지원되는 해시 메서드는 입니다 hmac-sha2-256.

    6. DNS 요청 및 각 고객 IP 주소에 대해 수행된 싱크홀 작업에 대한 로깅 통계 간격을 구성합니다. 범위는 1분에서 60분까지이며 기본값은 5분입니다.
    7. DNS 싱크홀 작업을 수행한 후 DNS 응답을 보내는 동안 TTL(Time to Live)을 구성합니다. 범위는 0초에서 86,400초까지이며 기본값은 1800초입니다.
    8. 일치 항목을 검색하는 하위 도메인의 수준을 구성합니다. 범위는 0에서 10까지입니다. 값 0은 하위 도메인이 검색되지 않음을 나타냅니다.

      예를 들어 을 wildcarding-level 4로 설정하고 데이터베이스 파일에 example.com 에 대한 항목이 포함된 경우 도메인 198.51.100.0.example.com 와 함께 도착하는 DNS 요청에 대해 다음과 같이 비교됩니다.

      • 198.51.100.0.example.com: 일치하지 않음

      • 51.100.0.example.com: 한 수준 아래와 일치하지 않음

      • 100.0.example.com: 두 수준 아래에 대한 일치 없음

      • 0.example.com: 3단계 아래와 일치하지 않음

      • example.com: 아래 4개 수준 일치

  4. 템플릿을 구성합니다. 프로필에 최대 8개의 템플릿을 구성할 수 있습니다. 각 템플릿은 특정 업링크 및 다운링크 논리적 인터페이스나 라우팅 인스턴스의 DNS 요청이나 특정 소스 IP 주소 접두사의 DNS 요청에 대한 필터 설정을 식별합니다.
    1. 템플릿의 이름을 구성합니다.
    2. (선택 사항) DNS 필터링이 적용되는 클라이언트 대면 논리적 인터페이스(업링크)를 지정합니다.
    3. (선택 사항) DNS 필터링이 적용되는 서버 대면 논리적 인터페이스(다운링크)를 지정합니다.
    4. (선택 사항) DNS 필터링이 적용되는 클라이언트 방향 논리적 인터페이스의 라우팅 인스턴스를 지정합니다.
    5. (선택 사항) DNS 필터링이 적용되는 서버 대면 논리적 인터페이스의 라우팅 인스턴스를 지정합니다.
      메모:

      클라이언트와 서버 인터페이스 또는 클라이언트와 서버 라우팅 인스턴스를 구성하는 경우, DNS 필터링을 위한 서비스 PIC로 DNS 트래픽을 지시하기 위해 인터페이스 또는 라우팅 인스턴스에 암시적 필터가 설치됩니다. 클라이언트와 서버 인터페이스나 라우팅 인스턴스를 모두 구성하지 않은 경우 DNS 트래픽을 서비스 PIC로 지시하는 방법(예: 경로를 통해)을 제공해야 합니다.

    6. DNS 요청을 필터링할 때 사용할 도메인 필터 데이터베이스의 이름을 지정합니다.
    7. (선택 사항) 특정 DNS 서버를 대상으로 하는 DNS 요청으로 DNS 필터링을 제한하려면 최대 3개의 IP 주소(IPv4 또는 IPv6)를 지정합니다.
    8. 도메인 필터 데이터베이스 파일에서 해시된 도메인 이름을 만드는 데 사용된 해시 방법을 지정합니다.

      유일하게 지원되는 해시 메서드는 입니다 hmac-sha2-256.

    9. 도메인 필터 데이터베이스 파일에서 해시된 도메인 이름을 만드는 데 사용된 해시 키를 지정합니다.
    10. DNS 요청 및 각 고객 IP 주소에 대해 수행된 싱크홀 작업에 대한 로깅 통계 간격을 구성합니다. 범위는 1분에서 60분까지이며 기본값은 5분입니다.
    11. DNS 싱크홀 작업을 수행한 후 DNS 응답을 보내는 동안 TTL(Time to Live)을 구성합니다. 범위는 0초에서 86,400초까지이며 기본값은 1800초입니다.
    12. 일치 항목을 검색하는 하위 도메인의 수준을 구성합니다. 범위는 0에서 10까지입니다. 값 0은 하위 도메인이 검색되지 않음을 나타냅니다.

      예를 들어 을 wildcarding-level 4로 설정하고 데이터베이스 파일에 example.com 에 대한 항목이 포함된 경우 도메인 198.51.100.0.example.com 와 함께 도착하는 DNS 요청에 대해 다음과 같이 비교됩니다.

      • 198.51.100.0.example.com: 일치하지 않음

      • 51.100.0.example.com: 한 수준 아래와 일치하지 않음

      • 100.0.example.com: 두 수준 아래로 일치하는 항목이 없습니다.

      • 0.example.com: 3단계 아래와 일치하지 않음

      • example.com: 4개 수준 아래로 일치

    13. (옵션) SRV 및 TXT 쿼리 유형에 대한 응답 오류 코드를 지정합니다.

      (선택 사항) SRV 및 TXT 쿼리 유형에 대한 응답 오류 코드를 지정합니다.

    14. 템플릿에 대한 용어를 구성합니다. 템플릿에서 최대 64개의 용어를 구성할 수 있습니다.
    15. (선택 사항) 필터링할 DNS 요청의 소스 IP 주소 접두사를 지정합니다. 한 용어에 최대 64개의 접두사를 구성할 수 있습니다.
    16. 도메인 필터 데이터베이스에서 식별된 싱크홀 작업이 허용되지 않은 DNS 요청에 대해 수행되도록 지정합니다.

DNS 필터링을 위한 서비스 세트를 구성하는 방법

DNS 필터 프로필을 다음 홉 서비스 세트와 연결하고 DNS 필터링에 대한 로깅을 활성화합니다. 서비스 인터페이스는 ms- 또는 vms- 인터페이스, MX-SPC3 서비스 카드가 포함된 차세대 서비스), 또는 통합 멀티서비스(AMS) 인터페이스일 수 있습니다.

DNS 필터링을 위한 멀티테넌트 지원

개요

Junos OS 릴리스 21.1R1부터는 고객 또는 IP 하위 그룹별로 사용자 지정 도메인 피드를 구성할 수 있습니다. 당신은 할 수 있어요:

  • 도메인 피드를 테넌트별로 관리할 수 있도록 여러 테넌트에 대한 도메인 이름 및 작업을 구성합니다.
  • 프로필별, dns-filter-template 또는 dns-filter-term별로 계층적 도메인 피드 관리를 구성합니다.
  • IP, 서브넷 또는 CIDR 수준에서 도메인 피드를 제외합니다.

DNS 필터링에 대한 mutiltenant 지원을 구현하려면 템플릿 또는 프로필 수준에서 도메인 필터 데이터베이스 파일을 만들 수 없습니다. 템플릿 또는 프로필 수준에서 파일을 지정할 필요가 없습니다. Junos OS 21.1R1부터는 기본적으로 고정 이름, nsf_multi_tenant_dn_custom_file.txt (일반 텍스트 형식) 또는 dnsf_multi_tenant_dn_custom_file_hashed.txt (암호화된 파일)의 전역 파일을 사용할 수 있습니다.

데이터베이스 파일의 각 항목에는 다음 항목이 있습니다.

해시 도메인 이름, IPv4 싱크홀 주소, IPv6 싱크홀 주소, 싱크홀 FQDN, ID, 작업, 피드 이름.

파일 해시가 계산되어 파일의 도메인 이름 항목 목록에 추가됩니다. 파일 해시는 계층에서 구성된 해시 키를 사용하여 계산된 파일 해시로 검증되는 전역 키 및 메서드를 사용하여 계산됩니다 [edit services web-filter] . 계산된 파일 해시가 파일에 있는 파일 해시와 일치하는 경우에만 파일 검증에 성공합니다.

nsf_multi_tenant_dn_custom_file.txt 파일의 각 항목은 feed-name이라는 추가 필드로 구성됩니다. 이 피드 이름은 도메인 이름 집합을 그룹화하고 테넌트(프로필, 템플릿, 용어 또는 IP 주소)에 매핑하는 표시기로 사용됩니다.

특정 SRC IP 주소에서 DNS 패킷이 수신되면 해당 피드 이름을 가져오고 용어와 연결된 피드 이름과 매핑된 도메인 이름에 대해 조회가 발생합니다. feed-name이 해당 IP 주소에 대해 프로비전되지 않은 경우 템플릿 수준에서 구성된 feed-name으로 대체되고 템플릿과 연결된 feed-name과 매핑된 도메인 이름에 대해 조회가 발생합니다. feed-name이 템플릿에서 구성되지 않은 경우 조회는 프로필과 연결된 feed-name에 대해 매핑된 domain-names에 대해 수행됩니다.

DNS 필터링을 위한 멀티 테넌트 지원 구성

  1. 웹 필터를 구성합니다.
  2. 다중 테넌트 지원 사용
  3. 글로벌 파일 해시 키 및 해시 방법을 구성합니다.
    메모:

    이(가) 구성된 경우 multi-tenant-hash, 글로벌 DNS 피드 파일이 암호화된 피드로만 구성됨을 나타냅니다. s가 구성되지 않은 경우 multi-tenant-hash 글로벌 dns 피드 파일에 일반 텍스트 형식의 피드가 있음을 나타냅니다.

  4. DNS 필터 프로필의 이름을 구성하고 프로필 수준에서 도메인 피드를 매핑합니다. 프로필 수준에서 구성된 피드 이름 표시기는 피드 이름 표시기가 구성되지 않은 프로필 아래의 모든 템플릿과 용어에 적용됩니다.
  5. 프로필에 대한 일반 DNS 필터링 설정을 구성합니다. 이러한 값은 DNS 요청이 특정 템플릿과 일치하지 않는 경우에 사용됩니다.
    1. (선택 사항) 특정 DNS 서버를 대상으로 하는 DNS 요청으로 DNS 필터링을 제한하려면 최대 3개의 IP 주소(IPv4 또는 IPv6)를 지정합니다.
    2. DNS 요청 및 각 고객 IP 주소에 대해 수행된 싱크홀 작업에 대한 로깅 통계 간격을 구성합니다. 범위는 1분에서 60분까지이며 기본값은 5분입니다.
    3. DNS 싱크홀 작업을 수행한 후 DNS 응답을 전송할 TTL(Time to Live)을 구성합니다. 범위는 0초에서 86,400초까지이며 기본값은 1800초입니다.
    4. 일치 항목을 검색하는 하위 도메인의 수준을 구성합니다. 범위는 0에서 10까지입니다. 값 0은 하위 도메인이 검색되지 않음을 나타냅니다.
    5. (옵션) TXT 쿼리 유형에 대한 응답 오류 코드를 지정합니다.
  6. 템플릿을 구성합니다. 프로필에 최대 8개의 템플릿을 구성할 수 있습니다. 각 템플릿은 특정 업링크 및 다운링크 논리적 인터페이스나 라우팅 인스턴스의 DNS 요청이나 특정 소스 IP 주소 접두사의 DNS 요청에 대한 필터 설정을 식별합니다.
    1. 템플릿의 이름을 구성합니다.
    2. 피드 이름을 구성합니다. 다중 테넌트 형식을 사용하면 더 이상 프로필 또는 템플릿 아래에 파일 이름을 추가할 수 없습니다. 프로필 아래에 지정된 피드 이름은 템플릿 아래에 구성된 피드 이름에 비해 우선 순위가 낮습니다.
    3. (선택 사항) DNS 필터링이 적용되는 클라이언트 대면 논리적 인터페이스(업링크)를 지정합니다.
    4. (선택 사항) DNS 필터링이 적용되는 서버 대면 논리적 인터페이스(다운링크)를 지정합니다.
    5. (선택 사항) DNS 필터링이 적용되는 클라이언트 방향 논리적 인터페이스의 라우팅 인스턴스를 지정합니다.
    6. (선택 사항) DNS 필터링이 적용되는 서버 대면 논리적 인터페이스의 라우팅 인스턴스를 지정합니다.
      메모:

      클라이언트와 서버 인터페이스 또는 클라이언트와 서버 라우팅 인스턴스를 구성하는 경우, DNS 필터링을 위한 서비스 PIC로 DNS 트래픽을 지시하기 위해 인터페이스 또는 라우팅 인스턴스에 암시적 필터가 설치됩니다. 클라이언트 및 서버 인터페이스나 라우팅 인스턴스를 모두 구성하지 않은 경우 DNS 트래픽을 서비스 PIC로 지시하는 방법(예: 경로를 통해)을 제공해야 합니다.

    7. DNS 요청 및 각 고객 IP 주소에 대해 수행된 싱크홀 작업에 대한 로깅 통계 간격을 구성합니다. 범위는 1분에서 60분까지이며 기본값은 5분입니다.
    8. DNS 싱크홀 작업을 수행한 후 DNS 응답을 보내는 동안 TTL(Time to Live)을 구성합니다. 범위는 0초에서 86,400초까지이며 기본값은 1800초입니다.
    9. 일치 항목을 검색하는 하위 도메인의 수준을 구성합니다. 범위는 0에서 10까지입니다. 값 0은 하위 도메인이 검색되지 않음을 나타냅니다.
    10. 템플릿에 대한 용어를 구성합니다. 템플릿에서 최대 64개의 용어를 구성할 수 있습니다.
    11. 피드 이름을 구성합니다. 용어에 구성된 피드 이름은 템플릿 아래에 구성된 피드 이름보다 더 높은 우선순위를 갖습니다. 그러나 싱크홀 도메인이 템플릿 아래의 피드 이름에 언급된 유일한 도메인과 일치하면 해당 항목에 대해 지정된 작업이 구현됩니다.
    12. (선택 사항) 필터링할 DNS 요청의 소스 IP 주소 접두사를 지정합니다. 한 용어에 최대 64개의 접두사를 구성할 수 있습니다.
    13. 도메인 필터 데이터베이스에서 식별된 싱크홀 작업이 허용되지 않은 DNS 요청에 대해 수행되도록 구성합니다.
  7. DNS 필터 프로필을 다음 홉 서비스 세트와 연결하고 DNS 필터링에 대한 로깅을 활성화합니다. 서비스 인터페이스는 멀티서비스(ms) 또는 가상 멀티 서비스(vms) 인터페이스(MX-SPC3 서비스 카드를 사용하는 차세대 서비스)이거나 통합 멀티서비스(AMS) 인터페이스일 수 있습니다.
  8. MX-SPC3 서비스 카드에서 차세대 서비스를 실행 중인 경우 syslog에서 FPC 및 PIC 정보를 가져오도록 vms 인터페이스를 구성합니다.

예: DNS 필터링을 위한 멀티테넌트 지원 구성

구성

CLI 빠른 구성

이 예를 빠르게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여 넣고 줄 바꿈을 제거한 다음 네트워크 구성에 맞게 필요한 세부 정보를 변경한 다음 명령을 복사하여 [edit] 계층 수준에서 CLI에 붙여 넣습니다.

변경 내역 표

기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인하세요.

석방
묘사
19.3R2 시리즈
MX-SPC3 서비스 카드로 차세대 서비스를 실행하는 경우 Junos OS 릴리스 19.3R2부터 DNS 필터링을 구성할 수 있습니다. 차세대 서비스는 MX240, MX480 및 MX960 라우터에서 지원됩니다.