Filtrage des requêtes DNS pour les domaines de sites Web non autorisés
Vue d’ensemble du filtrage des requêtes DNS
À partir de la version 18.3R1 de Junos OS, vous pouvez configurer le filtrage DNS afin d’identifier les requêtes DNS pour les domaines de sites Web non autorisés. À partir de Junos OS version 19.3R2, vous pouvez configurer le filtrage DNS si vous exécutez les services de nouvelle génération avec la carte de services MX-SPC3. Les services nouvelle génération sont pris en charge sur les routeurs MX240, MX480 et MX960. Pour les requêtes DNS de type A, AAAA, MX, CNAME, TXT, SRV et ANY, vous configurez l’action à effectuer pour une requête DNS pour un domaine non autorisé. Vous pouvez soit :
Bloquez l’accès au site Web en envoyant une réponse DNS contenant l’adresse IP ou le nom de domaine complet (FQDN) d’un serveur de sinkhole DNS. Ainsi, lorsque le client tente d’envoyer du trafic vers le domaine non autorisé, le trafic est dirigé vers le serveur sinkhole (voir Figure 1).
Consignez la demande et autorisez l’accès.
À partir de la version 21.1R1 de Junos OS, vous pouvez également configurer les actions suivantes pour une requête DNS pour un domaine non autorisé :
- Alerte
- Accepter
- Goutte
- Drop-no-log (en anglais)
Pour les autres types de requêtes DNS pour un domaine non autorisé, la demande est consignée et l’accès est autorisé.
Les actions effectuées par le serveur sinkhole ne sont pas contrôlées par la fonctionnalité de filtrage des requêtes DNS ; Vous êtes responsable de la configuration des actions du serveur sinkhole. Par exemple, le serveur sinkhole peut envoyer un message au demandeur, l’informant que le domaine n’est pas accessible et empêcher l’accès au domaine non autorisé.

Avantages
Le filtrage DNS redirige les requêtes DNS pour les domaines de sites Web non autorisés vers des serveurs de dolines, tout en empêchant toute personne utilisant le système de voir la liste des domaines interdits. En effet, les noms de domaine non autorisés sont dans un format crypté.
Fichier de base de données de filtre de domaine non autorisé
Le filtrage des requêtes DNS nécessite un fichier .txt de base de données de filtrage de domaine non autorisé, qui identifie chaque nom de domaine non autorisé, l’action à effectuer sur une requête DNS pour le domaine interdit et l’adresse IP ou le nom de domaine complet (FQDN) d’un serveur de sinkhole DNS.
Profil de filtre DNS
Vous configurez un profil de filtre DNS pour spécifier le fichier de base de données de filtre de domaine non autorisé à utiliser. Vous pouvez également spécifier les interfaces sur lesquelles le filtrage des requêtes DNS est effectué, limiter le filtrage aux requêtes pour des serveurs DNS spécifiques et limiter le filtrage aux requêtes provenant de préfixes d’adresses IP sources spécifiques.
Comment configurer le filtrage des requêtes DNS
Pour filtrer les requêtes DNS pour les domaines de sites Web non autorisés, procédez comme suit :
- Comment configurer une base de données de filtrage de domaine
- Comment configurer un profil de filtre DNS
- Comment configurer un ensemble de services pour le filtrage DNS
Comment configurer une base de données de filtrage de domaine
Créez un ou plusieurs fichiers de base de données de filtrage de domaine qui incluent une entrée pour chaque domaine non autorisé. Chaque entrée spécifie ce qu’il faut faire avec une requête DNS pour un domaine de site Web non autorisé.
Pour configurer un fichier de base de données de filtrage de domaine :
Comment configurer un profil de filtre DNS
Un profil de filtre DNS inclut des paramètres généraux de filtrage des requêtes DNS pour les domaines de sites Web non autorisés et comprend jusqu’à 32 modèles. Les paramètres de modèle s’appliquent aux requêtes DNS sur des interfaces logiques ou des instances de routage spécifiques en liaison montante et descendante, ou aux requêtes DNS provenant de préfixes d’adresse IP source spécifiques, et remplacent les paramètres correspondants au niveau du profil DNS. Vous pouvez configurer jusqu’à huit profils de filtres DNS.
Pour configurer un profil de filtre DNS :
Comment configurer un ensemble de services pour le filtrage DNS
[edit services service-set service-set-name] user@host# set web-filter-profile profile-name user@host# set syslog host hostname class urlf-logs user@host# set next-hop-service inside-service-interface interface-name.unit-number user@host# set next-hop-service outside-service-interface interface-name.unit-number
Prise en charge multi-utilisateur du filtrage DNS
Aperçu
À partir de Junos OS version 21.1R1, vous pouvez configurer des flux de domaine personnalisés par client ou sous-groupe IP. Vous pouvez:
- Configurez les noms de domaine et les actions pour plusieurs locataires de manière à ce que les flux de domaine puissent être gérés par locataire.
- Configurez la gestion hiérarchique des flux de domaine par profil, par modèle de filtre dns ou par terme de filtre dns.
- Flux de domaine exemptés au niveau de l’adresse IP, du sous-réseau ou du CIDR.
Pour implémenter la prise en charge mutiltenant du filtrage DNS, la création du fichier de base de données de filtre de domaine au niveau du modèle ou du profil est désactivée. Vous n’avez pas besoin de spécifier un fichier au niveau du modèle ou du profil. À partir de Junos OS 21.1R1, par défaut, un fichier global avec un nom fixe, nsf_multi_tenant_dn_custom_file.txt (format texte brut) ou dnsf_multi_tenant_dn_custom_file_hashed.txt (fichier chiffré) est disponible.
Chaque entrée du fichier de base de données contient les éléments suivants :
nom de domaine haché, adresse de sinkhole IPv4, adresse de sinkhole IPv6, FQDN de sinkhole, ID, action, nom de flux.
Le hachage du fichier est calculé et ajouté à la liste des entrées de nom de domaine dans le fichier. Le hachage du fichier est calculé à l’aide d’une clé et d’une méthode globales, qui sont validées avec le hachage du fichier calculé à l’aide de la clé de hachage configurée au niveau de la [edit services web-filter]
hiérarchie. La validation du fichier n’est réussie que si le hachage de fichier calculé correspond au hachage de fichier présent dans le fichier.
Chaque entrée de nsf_multi_tenant_dn_custom_file.txt fichier se compose d’un champ supplémentaire appelé nom-flux. Ce nom de flux est utilisé comme indicateur pour regrouper un ensemble de noms de domaine et les mapper à un locataire (profil, modèle, terme ou adresse IP).
Lorsque les paquets DNS sont reçus d’une adresse IP SRC particulière, le nom de flux correspondant est récupéré et la recherche a lieu par rapport aux noms de domaine mappés avec le nom de flux associé au terme. Si le nom de flux n’est pas provisionné pour cette adresse IP, il revient au nom de flux configuré au niveau du modèle et la recherche s’effectue par rapport aux noms de domaine mappés avec le nom de flux associé au modèle. Si le nom de flux n’est pas configuré au niveau du modèle, la recherche se fait par rapport aux noms de domaine mappés au nom de flux associé au profil.
Configuration de la prise en charge mutualisée du filtrage DNS
Exemple : configuration de la prise en charge mutualisée du filtrage DNS
Configuration
Configuration rapide de la CLI
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la hiérarchie [modifier].
set services service-set Test Zone3 syslog mode stream set services service-set Test Zone3 syslog source-address 10.1.1.1 set services service-set Test Zone3 syslog stream t1 category urlf set services service-set Test Zone3 syslog stream t1 host 10.10.1.1 set services service-set Test Zone3 syslog stream t1 routing-instance client_vr4 set services service-set Test Zone3 web-filter-profile Test-Profile-3-Zone3 set services service-set Test Zone3 next-hop-service inside-service-interface ams3.24 set services service-set Test Zone3 next-hop-service outside-service-interface ams3.25 set services web-filter multi-tenant-support set services web-filter multi-tenant-hash file-hash-key ascii-text "$9$VjsgJikP36AGD6Ap0hcbs2" set services web-filter multi-tenant-hash hash-method hmac-sha2-256 set services web-filter profile Test-Profile-3-Zone3 feed-name abc set services web-filter profile Test-Profile-3-Zone3 global-dns-filter-stats-log-timer 20 set services web-filter profile Test-Profile-3-Zone3 dns-filter statistics-log-timer 5 set services web-filter profile Test-Profile-3-Zone3 dns-filter dns-resp-ttl 100 set services web-filter profile Test-Profile-3-Zone3 dns-filter wildcarding-level 10 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 inactive: client-interfaces xe-7/0/2.32 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 inactive: server-interfaces xe-7/2/0.36 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 inactive: client-routing-instance client_vr4 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 inactive: server-routing-instance server_vr4 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer1 feed-name customer2 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer1 from src-ip-prefix 10.12.1.1 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer1 then dns-sinkhole set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer2 feed-name customer2 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer2 from src-ip-prefix 2001:db8::0/96 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer2 then dns-sinkhole set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer3 from src-ip-prefix 2001:db8:bbbb::/96 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer3 then dns-sinkhole set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 inactive: client-interfaces xe-7/0/2.32 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 inactive: server-interfaces xe-7/2/0.36 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 inactive: client-routing-instance client_vr4 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 inactive: server-routing-instance server_vr4 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 term Test-Profile-3-Zone3-Area2-Customer1 from src-ip-prefix 22.21.128.0/17 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 term Test-Profile-3-Zone3-Area2-Customer1 then dns-sinkhole set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone4-Area2 feed-name customer2 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone4-Area2 inactive: client-routing-instance client_vr4 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone4-Area2 inactive: server-routing-instance server_vr4 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone4-Area2 term Test-Profile-3-Zone4-Area2-Customer1 from src-ip-prefix 2001:0db8:0001:/48 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone4-Area2 term Test-Profile-3-Zone4-Area2-Customer1 then dns-sinkhole set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone4-Area2 term wildcard then dns-sinkhole set interfaces xe-7/0/0 unit 0 family inet address 10.11.1.1/24 set interfaces xe-7/0/1 unit 0 family inet address 10.12.1.1/24 set interfaces xe-7/0/2 flexible-vlan-tagging set interfaces xe-7/0/2 mtu 9192 set interfaces xe-7/0/2 encapsulation flexible-ethernet-services set interfaces xe-7/0/2 unit 1 vlan-id 10 set interfaces xe-7/0/2 unit 1 family inet address 198.31.100.1/24 set interfaces xe-7/0/2 unit 31 vlan-id 31 set interfaces xe-7/0/2 unit 31 family inet address 198.51.70.1/24; set interfaces xe-7/0/2 unit 31 family inet6 address 2001:db8:10::0/96 set interfaces xe-7/0/2 unit 32 vlan-id 32 set interfaces xe-7/0/2 unit 32 family inet address 198.51.71.1/24; set interfaces xe-7/0/2 unit 32 family inet6 address 2001:db8:11::0/96 set interfaces xe-7/0/2 unit 33 vlan-id 33 set interfaces xe-7/0/2 unit 33 family inet address 198.51.72.1/24 set interfaces xe-7/0/2 unit 33 family inet6 address 2001:db8:12::0/96 set interfaces xe-7/0/2 unit 34 vlan-id 34 set interfaces xe-7/0/2 unit 34 family inet address 198.51.73.1/24 set interfaces xe-7/0/2 unit 34 family inet6 address 2001:db8:13::0/96 set interfaces xe-7/0/2 unit 35 vlan-id 35 set interfaces xe-7/0/2 unit 35 vlan-id 35 family inet address 198.51.74.1/24 set interfaces xe-7/0/2 unit 3135 vlan-id 35 family inet6 address 2001:db8:14::0/96 set interfaces xe-7/0/2 unit 36 vlan-id 36 set interfaces xe-7/0/2 unit 36 family inet address 198.51.75.1/24 set interfaces xe-7/0/2 unit 36 family inet6 address 2001:db8:15::0/96 set interfaces xe-7/0/2 unit 37 vlan-id 37 set interfaces xe-7/0/2 unit 37 family inet address 198.51.76.1/24 set interfaces xe-7/0/2 unit 37 family inet6 address 2001:db8:16::0/96 set interfaces xe-7/0/2 unit 38 vlan-id 38 set interfaces xe-7/0/2 unit 38 family inet address 198.51.77.1/24 set interfaces xe-7/0/2 unit 38 family inet6 address 2001:db8:17::0/96 set interfaces xe-7/0/2 unit 39 vlan-id 39 set interfaces xe-7/0/2 unit 39 family inet address 198.51.78.1/24 set interfaces xe-7/0/2 unit 39 family inet6 address 2001:db8:18::0/96 set interfaces xe-7/0/2 unit 40 vlan-id 40 set interfaces xe-7/0/2 unit 40 family inet address 198.51.79.1/24 set interfaces xe-7/0/2 unit 40 family inet6 address 2001:db8:19::0/96 set interfaces xe-7/0/2 unit 41 vlan-id 41 set interfaces xe-7/0/2 unit 41 family inet address 198.51.80.1/24 set interfaces xe-7/0/2 unit 41 family inet6 address 2001:db8:20::0/96 set interfaces xe-7/2/0 flexible-vlan-tagging set interfaces xe-7/2/0 mtu 1514 set interfaces xe-7/2/0 encapsulation flexible-ethernet-services set interfaces xe-7/2/0 inactive unit 1 vlan-id 1 set interfaces xe-7/2/0 inactive unit 1 family inet address 198.168.50.0/24 set interfaces xe-7/2/0 inactive unit 1 family inet6 address 2001:0db0:1600:0::1/112 set interfaces xe-7/2/0 unit 2 vlan-id 2 set interfaces xe-7/2/0 unit 2 vlan-id 2 family inet address 198.100.70.0/24 set interfaces xe-7/2/0 unit 31 vlan-id 31 set interfaces xe-7/2/0 unit 31 family inet address 10.1.0.1/16 set interfaces xe-7/2/0 unit 31 family inet6 address 2001:0db0:1601:0::1/112 set interfaces xe-7/2/0 unit 32 vlan-id 32 set interfaces xe-7/2/0 unit 32 family inet address 10.2.0.1/16 set interfaces xe-7/2/0 unit 32 family inet6 address 2001:0db0:1602:0::1/112 set interfaces xe-7/2/0 unit 33 vlan-id 33 set interfaces xe-7/2/0 unit 33 family inet address 10.3.0.1/16 set interfaces xe-7/2/0unit 33 vlan-id 33 family inet6 address 2001:0db0:1603:0::1/112 set interfaces xe-7/2/0 unit 34 vlan-id 34 set interfaces xe-7/2/0 unit 34 family inet address 10.0.0.1/16 set interfaces xe-7/2/0 unit 34 family inet6 address 2001:0db0:1600:0::1/112 set interfaces xe-7/2/0 unit 35 vlan-id 35 set interfaces xe-7/2/0 unit 35 family inet address 10.4.0.1/16 set interfaces xe-7/2/0 unit 35 family inet6 address 2001:0db0:1604:0::1/112 set interfaces xe-7/2/0 unit 36 vlan-id 36 set interfaces xe-7/2/0 unit 36 family inet address 10.5.0.1/16 set interfaces xe-7/2/0 unit 36 family inet6 address 2001:0db0:1605:0::1/112 set interfaces xe-7/2/0 unit 37 vlan-id 37 set interfaces xe-7/2/0 unit 37 family inet address 10.6.0.1/16 set interfaces xe-7/2/0unit 37 family inet6 address 2001:0db0:1606:0::1/112 set interfaces xe-7/2/0 unit 38 vlan-id 38 set interfaces xe-7/2/0 unit 38 family inet address 10.7.0.1/16 set interfaces xe-7/2/0 unit 38 vlan-id 38 family inet6 address 2001:0db0:160:0::1/112 set interfaces ams3 load-balancing-options member-interface mams-3/0/0 set interfaces ams3 load-balancing-options member-interface mams-3/1/0 set interfaces ams3 load-balancing-options member-failure-options redistribute-all-traffic enable-rejoin set interfaces ams3 load-balancing-options high-availability-options many-to-one preferred-backup mams-3/1/0 set interfaces ams3 unit 22 family inet set interfaces ams3 unit 22 family inet6 set interfaces ams3 unit 22 service-domain inside set interfaces ams3 unit 22 load-balancing-options hash-keys ingress-key (source-ip destination-ip ) set interfaces ams3 unit 24 family inet set interfaces ams3 unit 24 family inet6 set interfaces ams3 unit 24 service-domain inside set interfaces ams3 unit 24 family inet6 load-balancing-options hash-keys ingress-key (source-ip destination-ip) set interfaces ams3 unit 25 family inet set interfaces ams3 unit 25 family inet6 set interfaces ams3 unit 25 service-domain inside set interfaces ams3 unit 25 load-balancing-options hash-keys ingress-key (source-ip destination-ip ) set routing-instances client_vr4 instance-type virtual-router set routing-instances client_vr4 routing-options rib client_vr4.inet6.0 static route 2001:0db0:bbbb:0::0/49 next-hop 2001:0db0:7070:71::2 set routing-instances client_vr4 routing-options rib client_vr4.inet6.0 static route 2001:0db0:aaaa:8000::0/49 next-hop 2001:0db0:7070:71::3 set routing-instances client_vr4 routing-options rib client_vr4.inet6.0 static route 60::0/64 next-hop ams3.24 set routing-instances client_vr4 routing-options static route 10.12.1.1 next-hop 192.168.1.2 set routing-instances client_vr4 routing-options static route 22.21.128.0/17 next-hop 192.168.1.3 set routing-instances client_vr4 routing-options static route 0.0.0.0/0 next-hop ams3.24 set routing-instances client_vr4 routing-options static route 10.11.10.10/16 next-hop 192.168.1.4 set routing-instances client_vr4 routing-options static route 10.10.23.10/16 next-hop 192.168.1.5 set routing-instances client_vr4 routing-options static route 10.1.0.0/16 next-hop 192.168.1.6 set routing-instances client_vr4 routing-options static route 10.20.20.0/16 next-hop 192.168.1.7 set routing-instances client_vr4 routing-options static route 10.2.0.0/16 next-hop 192.168.1.8 set routing-instances client_vr4 routing-options static route 10.30.20.0/16 next-hop 192.168.1.9 set routing-instances client_vr4 routing-options static route 10.3.0.0/16 next-hop 192.168.10. set routing-instances client_vr4 routing-options static route 10.40.20.0/16 next-hop 192.168.1.11 set routing-instances client_vr4 routing-options static route 10.4.0.0/16 next-hop 192.168.1.12 set routing-instances client_vr4 routing-options static route 10.50.20.0/16 next-hop 192.168.1.13 set routing-instances client_vr4 interface xe-7/0/0.0 set routing-instances client_vr4 interface xe-7/0/2.32 set routing-instances client_vr4 interface ams3.24 set routing-instances server_vr4 instance-type virtual-router set routing-instances server_vr4 routing-options rib server_vr4.inet6.0 static route 2001:0db0:2221:0::0/48 next-hop ams3.25 set routing-instances server_vr4 routing-options rib server_vr4.inet6.0 static route 2001:db8:ffff::1/128 next-hop 2001:0db0:1605:0::2 set routing-instances server_vr4 routing-options rib server_vr4.inet6.0 static route 2001:db8:bbbb::1/128 next-hop 2001:0db0:1605:0::3 set routing-instances server_vr4 routing-options static route 10.10.20.1 next-hop ams3.25 set routing-instances server_vr4 routing-options static route 60.0.6.0/24 next-hop 192.0.2.2 set routing-instances server_vr4 routing-options static route 60.0.18.0/24 next-hop 192.0.2.3 set routing-instances server_vr4 routing-options static route 10.9.9.0/24 next-hop ams3.25 set routing-instances server_vr4 routing-options static route 60.0.19.0/24 next-hop 192.0.2.4 set routing-instances server_vr4 routing-options static route 60.0.20.0/24 next-hop 192.0.2.5 set routing-instances server_vr4 routing-options static route 60.0.21.0/24 next-hop 192.0.2.6 set routing-instances server_vr4 routing-options static route 60.0.22.0/24 next-hop 192.0.2.7 set routing-instances server_vr4 routing-options static route 60.0.23.0/24 next-hop 192.0.2.8 set routing-instances server_vr4 routing-options static route 60.0.24.0/24 next-hop 192.0.2.9 set routing-instances server_vr4 routing-options static route 60.0.25.0/24 next-hop 192.0.2.10 set routing-instances server_vr4 routing-options static route 60.0.26.0/24 next-hop 192.0.2.11 set routing-instances server_vr4 routing-options static route 60.0.27.0/24 next-hop 192.0.2.12 set routing-instances server_vr4 routing-options static route 60.0.28.0/24 next-hop 192.0.2.13 set routing-instances server_vr4 routing-options static route 10.1.0.0/16 next-hop ams3.25 set routing-instances server_vr4 interface xe-7/0/1.0 set routing-instances server_vr4 interface xe-7/2/0.36 set routing-instances server_vr4 interface ams3.25 set routing-options static route 0.0.0.0/0 next-hop 10.48.179.254
Tableau de l’historique des modifications
La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l’explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.