Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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é.

Figure 1 : requête DNS pour un domaine DNS Request for Disallowed Domain 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

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 :

  1. Créez le nom du fichier. Le nom du fichier de base de données peut avoir une longueur maximale de 64 caractères et doit avoir une extension .txt .
  2. Ajoutez un en-tête de fichier avec un format tel que 20170314_01 :domain,sinkhole_ip,v6_sinkhole,sinkhole_fqdn,id,action.
  3. Ajoutez une entrée dans le fichier pour chaque domaine non autorisé. Vous pouvez inclure un maximum de 10 000 entrées de domaine. 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, nom de domaine complet de sinkhole, ID, action

    où:

    • hashed-domain-name est une valeur hachée du nom de domaine interdit (64 caractères hexadécimaux). La méthode de hachage et la clé de hachage que vous utilisez pour produire la valeur de domaine hachée sont nécessaires lorsque vous configurez le filtrage DNS avec l’interface de ligne de commande de Junos OS.

    • IPv4 sinkhole address est l’adresse du serveur de sinkhole DNS pour les requêtes DNS IPv4.

    • IPv6 sinkhole address est l’adresse du serveur de sinkhole DNS pour les requêtes DNS IPv6.

    • sinkhole FQDN est le nom de domaine complet du serveur de sinkhole DNS.

    • ID est un nombre de 32 bits qui associe de manière unique l’entrée au nom de domaine haché.

    • action est l’action à appliquer à une requête DNS qui correspond au nom de domaine non autorisé. Si vous saisissez :

      • replace, le routeur MX Series envoie au client une réponse DNS avec l’adresse IP ou le nom de domaine complet du serveur de sinkhole DNS. Si vous entrez report, la requête DNS est consignée, puis envoyée au serveur DNS.
      • report, la requête DNS est consignée puis envoyée au serveur DNS.
      • alert, la requête DNS est consignée et la requête est envoyée au serveur DNS.
      • accept, la requête DNS est consignée et la requête est envoyée au serveur DNS.
      • drop, la requête DNS est abandonnée et la requête est consignée . La requête DNS n’est pas envoyée au serveur DNS.
      • drop-no-log, la requête DNS est abandonnée et aucun syslog n’est généré. La requête DNS n’est pas envoyée au serveur DNS.
  4. Dans la dernière ligne du fichier, incluez le hachage du fichier, que vous calculez à l’aide de la même clé et de la même méthode de hachage que celles que vous avez utilisées pour produire les noms de domaine hachés.
  5. Enregistrez les fichiers de base de données sur le moteur de routage dans le répertoire /var/db/url-filterd .
  6. Validez le fichier de base de données du filtre de domaine.
  7. Si vous apportez des modifications au fichier de base de données, appliquez-les.

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 :

  1. Configurez le nom d’un profil de filtre DNS :

    Le nombre maximal de profils est de 8.

  2. Configurez l’intervalle de journalisation des statistiques par client pour le filtrage DNS. La plage est comprise entre 0 et 60 minutes et la valeur par défaut est de 5 minutes.
  3. Configurez les paramètres généraux de filtrage DNS pour le profil. Ces valeurs sont utilisées si une requête DNS ne correspond pas à un modèle spécifique.
    1. Spécifiez le nom de la base de données de filtrage de domaine à utiliser lors du filtrage des requêtes DNS.
    2. (Facultatif) Pour limiter le filtrage DNS aux requêtes DNS destinées à des serveurs DNS spécifiques, spécifiez jusqu’à trois adresses IP (IPv4 ou IPv6).
    3. Spécifiez le format de la clé de hachage.
    4. Spécifiez la clé de hachage que vous avez utilisée pour créer le nom de domaine haché dans le fichier de base de données de filtre de domaine.
    5. Spécifiez la méthode de hachage qui a été utilisée pour créer le nom de domaine haché dans le fichier de base de données de filtre de domaine.

      La seule méthode de hachage prise en charge est hmac-sha2-256.

    6. Configurez l’intervalle de journalisation des statistiques pour les requêtes DNS et pour les actions de sinkhole effectuées pour chaque adresse IP client. La plage est comprise entre 1 et 60 minutes et la valeur par défaut est de 5 minutes.
    7. Configurez la durée de vie lors de l’envoi de la réponse DNS après avoir effectué l’action de sinkhole DNS. La plage est comprise entre 0 et 86 400 secondes et la valeur par défaut est 1800.
    8. Configurez le niveau des sous-domaines recherchés pour une correspondance. La plage est comprise entre 0 et 10. La valeur 0 indique que les sous-domaines ne sont pas recherchés.

      Par exemple, si vous définissez le wildcarding-level sur 4 et que le fichier de base de données inclut une entrée pour example.com, les comparaisons suivantes sont effectuées pour une requête DNS qui arrive avec le domaine 198.51.100.0.example.com :

      • 198.51.100.0.example.com : pas de match

      • 51.100.0.example.com : pas de match pour un niveau inférieur

      • 100.0.example.com : pas de match pour deux niveaux plus bas

      • 0.example.com : pas de match pour trois niveaux plus bas

      • example.com : match pour quatre niveaux vers le bas

  4. Configurez un modèle. Vous pouvez configurer un maximum de 8 modèles dans un profil. Chaque modèle identifie les paramètres de filtre pour les requêtes DNS sur des interfaces logiques ou des instances de routage spécifiques en liaison montante et descendante, ou pour les requêtes DNS provenant de préfixes d’adresse IP source spécifiques.
    1. Configurez le nom du modèle.
    2. (Facultatif) Spécifiez les interfaces logiques côté client (liaison montante) auxquelles le filtrage DNS est appliqué.
    3. (Facultatif) Spécifiez les interfaces logiques côté serveur (liaison descendante) auxquelles le filtrage DNS est appliqué.
    4. (Facultatif) Spécifiez l’instance de routage de l’interface logique côté client à laquelle le filtrage DNS est appliqué.
    5. (Facultatif) Spécifiez l’instance de routage de l’interface logique orientée serveur à laquelle le filtrage DNS est appliqué.
      Note:

      Si vous configurez les interfaces client et serveur ou les instances de routage client et serveur, des filtres implicites sont installés sur les interfaces ou les instances de routage pour diriger le trafic DNS vers le PIC de services pour le filtrage DNS. Si vous ne configurez ni les interfaces client et serveur, ni les instances de routage, vous devez fournir un moyen de diriger le trafic DNS vers le PIC des services (par exemple, via des routes).

    6. Spécifiez le nom de la base de données de filtrage de domaine à utiliser lors du filtrage des requêtes DNS.
    7. (Facultatif) Pour limiter le filtrage DNS aux requêtes DNS destinées à des serveurs DNS spécifiques, spécifiez jusqu’à trois adresses IP (IPv4 ou IPv6).
    8. Spécifiez la méthode de hachage qui a été utilisée pour créer le nom de domaine haché dans le fichier de base de données de filtre de domaine.

      La seule méthode de hachage prise en charge est hmac-sha2-256.

    9. Spécifiez la clé de hachage qui a été utilisée pour créer le nom de domaine haché dans le fichier de base de données de filtre de domaine.
    10. Configurez l’intervalle de journalisation des statistiques pour les requêtes DNS et pour les actions de sinkhole effectuées pour chaque adresse IP client. La plage est comprise entre 1 et 60 minutes et la valeur par défaut est de 5 minutes.
    11. Configurez la durée de vie lors de l’envoi de la réponse DNS après avoir effectué l’action de sinkhole DNS. La plage est comprise entre 0 et 86 400 secondes et la valeur par défaut est 1800.
    12. Configurez le niveau des sous-domaines recherchés pour une correspondance. La plage est comprise entre 0 et 10. La valeur 0 indique que les sous-domaines ne sont pas recherchés.

      Par exemple, si vous définissez le wildcarding-level sur 4 et que le fichier de base de données inclut une entrée pour example.com, les comparaisons suivantes sont effectuées pour une requête DNS qui arrive avec le domaine 198.51.100.0.example.com :

      • 198.51.100.0.example.com : pas de correspondance

      • 51.100.0.example.com : pas de match pour un niveau inférieur

      • 100.0.example.com : pas de match pour deux niveaux plus bas

      • 0.example.com : pas de match pour trois niveaux plus bas

      • example.com : match pour quatre niveaux inférieurs

    13. (Facultatif) Spécifiez le code d’erreur de réponse pour les types de requête SRV et TXT.

      (Facultatif) Spécifiez le code d’erreur de réponse pour les types de requête SRV et TXT.

    14. Configurez un terme pour le modèle. Vous pouvez configurer un maximum de 64 termes dans un modèle.
    15. (Facultatif) Spécifiez les préfixes d’adresse IP source des requêtes DNS que vous souhaitez filtrer. Vous pouvez configurer un maximum de 64 préfixes au cours d’une période.
    16. Spécifiez que l’action de sinkhole identifiée dans la base de données de filtre de domaine est effectuée sur les requêtes DNS non autorisées.

Comment configurer un ensemble de services pour le filtrage DNS

Associez le profil de filtre DNS à un ensemble de services de saut suivant et activez la journalisation pour le filtrage DNS. Il peut s’agir d’une interface ms ou vms (services nouvelle génération avec carte de services MX-SPC3) ou d’une interface multiservices agrégée (AMS).

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

  1. Configurez le filtre Web.
  2. Prise en charge multi-tenant
  3. Configurez la clé de hachage globale du fichier et la méthode de hachage.
    Note:

    Lorsqu’il multi-tenant-hashest configuré, il indique que le fichier de flux DNS global est constitué uniquement de flux chiffrés. Lorsqu’il multi-tenant-hash n’est pas configuré, il indique que le fichier de flux DNS global contient des flux au format texte brut.

  4. Configurez le nom d’un profil de filtre DNS et mappez le flux de domaine au niveau du profil. L’indicateur de nom de flux configuré au niveau du profil est appliqué à tous les modèles et termes du profil pour lesquels l’indicateur de nom de flux n’est pas configuré.
  5. Configurez les paramètres généraux de filtrage DNS pour le profil. Ces valeurs sont utilisées si une requête DNS ne correspond pas à un modèle spécifique.
    1. (Facultatif) Pour limiter le filtrage DNS aux requêtes DNS destinées à des serveurs DNS spécifiques, spécifiez jusqu’à trois adresses IP (IPv4 ou IPv6).
    2. Configurez l’intervalle de journalisation des statistiques pour les requêtes DNS et pour les actions de sinkhole effectuées pour chaque adresse IP client. La plage est comprise entre 1 et 60 minutes et la valeur par défaut est de 5 minutes.
    3. Configurez la durée de vie (TTL) pour envoyer la réponse DNS après avoir effectué l’action de sinkhole DNS. La plage est comprise entre 0 et 86 400 secondes et la valeur par défaut est 1800.
    4. Configurez le niveau des sous-domaines recherchés pour une correspondance. La plage est comprise entre 0 et 10. La valeur 0 indique que les sous-domaines ne sont pas recherchés.
    5. (Facultatif) Spécifiez le code d’erreur de réponse pour le type de requête TXT.
  6. Configurez un modèle. Vous pouvez configurer un maximum de 8 modèles dans un profil. Chaque modèle identifie les paramètres de filtre pour les requêtes DNS sur des interfaces logiques ou des instances de routage spécifiques en liaison montante et descendante, ou pour les requêtes DNS provenant de préfixes d’adresse IP source spécifiques.
    1. Configurez le nom du modèle.
    2. Configurez le nom du flux. Avec le format mutualisé, vous ne pouvez plus ajouter de nom de fichier sous profil ou modèle. Le nom du flux spécifié sous le profil est moins prioritaire que celui configuré sous le modèle.
    3. (Facultatif) Spécifiez les interfaces logiques côté client (liaison montante) auxquelles le filtrage DNS est appliqué.
    4. (Facultatif) Spécifiez les interfaces logiques côté serveur (liaison descendante) auxquelles le filtrage DNS est appliqué.
    5. (Facultatif) Spécifiez l’instance de routage de l’interface logique côté client à laquelle le filtrage DNS est appliqué.
    6. (Facultatif) Spécifiez l’instance de routage de l’interface logique orientée serveur à laquelle le filtrage DNS est appliqué.
      Note:

      Si vous configurez les interfaces client et serveur ou les instances de routage client et serveur, des filtres implicites sont installés sur les interfaces ou les instances de routage pour diriger le trafic DNS vers le PIC de services pour le filtrage DNS. Si vous ne configurez ni les interfaces client et serveur, ni les instances de routage, vous devez fournir un moyen de diriger le trafic DNS vers le PIC de services (par exemple, via des routes).

    7. Configurez l’intervalle de journalisation des statistiques pour les requêtes DNS et pour les actions de sinkhole effectuées pour chaque adresse IP client. La plage est comprise entre 1 et 60 minutes et la valeur par défaut est de 5 minutes.
    8. Configurez la durée de vie lors de l’envoi de la réponse DNS après avoir effectué l’action de sinkhole DNS. La plage est comprise entre 0 et 86 400 secondes et la valeur par défaut est 1800.
    9. Configurez le niveau des sous-domaines recherchés pour une correspondance. La plage est comprise entre 0 et 10. La valeur 0 indique que les sous-domaines ne sont pas recherchés.
    10. Configurez un terme pour le modèle. Vous pouvez configurer un maximum de 64 termes dans un modèle.
    11. Configurez le nom du flux. Le nom de flux configuré au terme est prioritaire sur celui configuré sous le modèle. Toutefois, si le domaine du sinkhole correspond au seul domaine mentionné dans le nom du flux sous le modèle, l’action spécifiée pour cette entrée est implémentée.
    12. (Facultatif) Spécifiez les préfixes d’adresse IP source des requêtes DNS que vous souhaitez filtrer. Vous pouvez configurer un maximum de 64 préfixes au cours d’une période.
    13. Configurez que l’action de sinkhole identifiée dans la base de données de filtrage de domaine est effectuée sur les requêtes DNS non autorisées.
  7. Associez le profil de filtre DNS à un ensemble de services de saut suivant et activez la journalisation pour le filtrage DNS. Il peut s’agir d’une interface multiservices (ms) ou virtuelle multiservice (vms) (services de nouvelle génération avec carte de services MX-SPC3) ou d’une interface multiservices agrégée (AMS).
  8. Si vous exécutez des services de nouvelle génération sur la carte de services MX-SPC3, configurez l’interface de la machine virtuelle pour obtenir les informations FPC et PIC dans le syslog.

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].

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.

Libérer
Description
19.3R2
À 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.