ADC

Configurer la journalisation DNS

Vous pouvez configurer l’appliance NetScaler pour qu’elle enregistre les demandes et les réponses DNS qu’elle gère. La solution matérielle-logicielle consigne les demandes et réponses DNS au format SYSLOG. Vous pouvez choisir de consigner les demandes DNS ou les réponses DNS, ou les deux, et d’envoyer les messages Syslog à un serveur de journaux distant. Les messages de journal peuvent être utilisés pour :

  • Audit des réponses DNS au client
  • Audit des clients DNS
  • Détecter et prévenir les attaques DNS
  • Dépannage

Une appliance NetScaler peut enregistrer les sections suivantes dans la demande ou la réponse DNS, en fonction de votre configuration :

  • Section d’en-tête
  • Section des questions
  • Section Réponses
  • Section de l’autorité
  • Section supplémentaire

Profils DNS

Vous pouvez utiliser un profil DNS pour configurer les différents paramètres DNS que vous souhaitez que le point de terminaison DNS applique au trafic DNS. Dans le profil, vous pouvez activer la journalisation, la mise en cache et la mise en cache négative.

Important : Depuis la version NetScaler 11.0, l’activation de la mise en cache DNS à l’aide des paramètres DNS globaux est obsolète. Vous pouvez activer ou désactiver la mise en cache DNS à l’aide de profils DNS. Vous pouvez désormais activer la mise en cache DNS pour un serveur virtuel individuel en activant la mise en cache DNS dans un profil DNS et en définissant le profil DNS sur le serveur virtuel individuel.

Les profils DNS prennent en charge les types de journalisation DNS suivants :

  • Journalisation des requêtes DNS
  • Journalisation de la section de réponses DNS
  • Journalisation étendue DNS
  • Journalisation des erreurs DNS

Journalisation des requêtes DNS

Vous pouvez configurer une appliance NetScaler pour qu’elle enregistre uniquement les requêtes DNS reçues par les points de terminaison DNS de l’appliance.

Remarque : Si des erreurs se produisent pendant le traitement d’une requête, elles sont consignées si cette option est définie dans le profil DNS.

Voici un exemple de message de journal des requêtes :

DNS DNS_QUERY 143 0 :  U:10.102.27.70#61297:10.102.27.73#53/22142/Q/
(RD)/NO/1/0/0/0#test.com./1#
<!--NeedCopy-->

Journalisation de la section de réponses DNS

Vous pouvez configurer une appliance NetScaler pour enregistrer toutes les sections de réponse dans les réponses DNS que l’appliance envoie au client. La journalisation de la section des réponses DNS est utile lorsque NetScaler est configuré en tant que résolveur DNS ou dans les cas d’utilisation de GLSB.

Voici un exemple de journal de section de réponses DNS :

DNS DNS_RESPONSE 6678 0 :  U:100.100.100.210#32776:100.100.100.10#
53/61373/Q/(RD,AA,RA,R)/NO/1/1/2/4#n1.citrix.com1./
28#ANS#AAAA/120/1111:2345:6789:ffab:abcd:effa:1234:3212##
<!--NeedCopy-->

Journalisation étendue DNS

Pour configurer une appliance NetScaler afin de consigner l’autorité et les sections supplémentaires dans les réponses DNS, activez la journalisation étendue avec la journalisation des sections de réponses.

Remarque : Si des erreurs se produisent pendant le traitement des requêtes ou des réponses, elles sont consignées si cette option est définie dans le profil DNS.

Voici un exemple de message consigné lorsque la recherche du cache est terminée et que la réponse est incorporée dans le paquet :

DNS DNS_RESPONSE 2252 0 :  T:100.100.100.118#21411:100.100.100.10
#53/48537/Q/(RD,AA,CD,RA,R)/NO/1/1/2/6#a1.citrix.com1./1#ANS#A/
120/1.1.1.1##AUTH#citrix.com1/NS/120/n2.citrix.com1#n1.citrix.com1##ADD#n1.citrix.com1
/A/120/1.1.1.1#1.1.1.2##n1.citrix.com1/AAAA/120/
1111:2345:6789:ffab:abcd:effa:1234:3212##n2.citrix.com1/A/120/2.1.1.2
##n2.citrix.com1/AAAA/120/2222:faff:3212:8976:123:1241:64:ff9b##OPT/0/1280/DO##
<!--NeedCopy-->

Journalisation des erreurs DNS

Vous pouvez configurer une appliance NetScaler pour consigner les erreurs ou les échecs qui se produisent lorsqu’elle traite une requête ou une réponse DNS. Pour ces erreurs, la solution matérielle-logicielle consigne l’en-tête DNS, les sections Question et les enregistrements OPT.

Voici un exemple de message consigné lorsqu’une erreur se produit pendant le traitement d’une demande ou d’une réponse DNS :

DNS DNS_ERROR 149 0 :  U:10.102.27.70#27832:10.102.27.73#53/61153/Q/
(RD)/NO/1/0/0/0#test.com./1140#Packet Dropped
<!--NeedCopy-->

Journalisation basée sur des stratégies

Vous pouvez configurer la journalisation personnalisée basée sur des expressions DNS en configurant les stratégies LogAction on DNS, Rewrite ou Responder. Vous pouvez spécifier que la journalisation se produit uniquement lorsqu’une stratégie DNS particulière est évaluée à true. Pour plus d’informations, voir Configurer la journalisation basée sur des stratégies pour DNS.

Comprendre le format des messages du journal Syslog de NetScaler

L’appliance NetScaler enregistre les demandes et les réponses DNS au format Syslog suivant :

<transport> :<client IP>#<client ephemeral port>:<DNS endpoint IP>#<port>
 : <query id> /opcode/header flags/rcode/question section count/answer section count
/ auth section count / additional section count #<queried domain name>
/<queried type>#...
<!--NeedCopy-->
  • <transport>:
    • T = TCP
    • U = UDP
  • <client IP>#< client ephemeral port >: adresse IP et numéro de port du client DNS

  • <DNS endpoint IP>#<port>: adresse IP et numéro de port du point de terminaison DNS NetScaler

  • <query id>: ID de requête

  • <opcode>: code d’opération. Valeurs prises en charge :

    • Q : requête
    • I : requête inverse
    • S : état
    • X0 : non affecté
    • N : notifier
    • U : mise à jour
    • X1-10 : valeurs non attribuées
  • <header flags>: drapeaux. Valeurs prises en charge :

    • RD : récursion souhaitée
    • TC : tronqué
    • AA : réponse faisant autorité
    • CD : vérification désactivée
    • AD : données authentifiées
    • Z : non affecté
    • RA : récursion disponible
    • R : réponse
  • <rcode>: code de réponse. Valeurs prises en charge :

    • NO : aucune erreur
    • F Erreur de format
    • S : défaillance du serveur
    • NX : domaine inexistant
    • NI : non implémenté
    • R : requête refusée
    • YX : le nom existe alors qu’il ne doit pas
    • YXR : RR Set existe alors qu’il ne doit pas
    • NXR : Le jeu de RR qui doit exister n’existe pas
    • NAS : le serveur ne fait pas autorité pour la zone
    • NA : Non autorisé
    • NZ : nom non contenu dans la zone
    • X1-5 : non affecté
  • /nombre de sections de questions/nombre de sections de réponse/nombre de sections auth/nombre de sections supplémentaires : section de question, nombre de sections d’autorité et nombre de sections supplémentaires dans la requête DNS

  • <queried domain name>/<queried type>: domaine interrogé et type interrogé dans la requête DNS

  • #ANS#<record type>/<ttl>/.. #AUTH#<domain name>/<record type>/<ttl>.. #ADD#<domain name>/<record type>/<ttl>…:

    Dans les réponses DNS :

    La section Réponses est consignée si la journalisation de la section de réponses est activée dans le profil DNS. Les sections Authority et Additional sont consignées si la journalisation étendue est activée dans le profil DNS. Le format du journal diffère en fonction du type d’enregistrement. Pour plus d’informations, consultez la rubrique Présentation du format de journalisation des enregistrements.

    • ANS : section réponse
    • AUTH : autorité
    • ADD : section supplémentaire
  • OPT/<edns version>/UDP max payload size/DO: format d’enregistrement OPT dans le journal DNS

  • OPT/<EDNS version>/<UDP payload size>/<“DO”ou vide selon que le bit OK DNSSEC est défini ou non>/<value of RDLEN>/ECS/<Q/R>/<option length>/<Family>/<Source Prefix-Length>/<Scope Prefix-Length>/<ECS Address>:

    Si la requête ou la réponse DNS inclut l’option EDNS Client Subnet (ECS), elle est également consignée dans le format d’enregistrement OPT dans le fichier journal DNS.

    Lorsqu’une requête DNS avec une option ECS incluant une adresse IPv4 ou IPv6 est envoyée, l’option ECS est consignée avec l’une des options suivantes :

    • « ECS/Q » indiquant que les valeurs du journal proviennent de la requête
    • « ECS/R » indiquant que les valeurs du journal proviennent de la réponse.

    La valeur de Scope Prefix-Length est également définie de manière appropriée. Dans la requête DNS, elle est définie sur zéro, et pour la réponse, elle est définie sur la valeur calculée.

    Le tableau suivant décrit les détails consignés dans différents scénarios :

Scénario Option ECS définie dans la requête DNS Option ECS définie dans la réponse DNS Détails consignés
La journalisation des requêtes et la journalisation étendue sont toutes deux activées Oui Oui L’option ECS est consignée avec la chaîne « ECS/R/ » et la longueur du préfixe de portée est définie sur la valeur calculée.
La journalisation des requêtes et la journalisation étendue sont toutes deux activées Oui Non L’option ECS est consignée avec la chaîne « ECS/Q » et la longueur du préfixe de portée est définie sur zéro.
La journalisation des requêtes est activée, mais la journalisation étendue n’est pas activée Oui Oui L’option ECS est consignée avec la chaîne « ECS/Q/ » et la longueur du préfixe de portée est définie sur zéro.
La journalisation des requêtes et la journalisation étendue ne sont pas activées Oui Oui L’option ECS n’est pas consignée.
La journalisation des requêtes est activée, mais la journalisation étendue n’est pas activée Oui Non L’option ECS est consignée avec la chaîne « ECS/Q/ » et la longueur du préfixe de portée est définie sur zéro.
La journalisation des requêtes n’est pas activée, mais la journalisation étendue est activée Oui Oui L’option ECS est consignée avec la chaîne « ECS/R/ » et la longueur du préfixe de portée est définie sur la valeur calculée.
La journalisation des requêtes n’est pas activée, mais la journalisation étendue est activée Oui Non L’option ECS n’est pas consignée.

Comprendre le format de journalisation des enregistrements

Voici un exemple du format de journalisation des enregistrements dans un message Syslog :

<domainname>/<record type>/ <record ttl> / <resource record data>#<resource record data>#......##
<!--NeedCopy-->

Où :

Record Type Exemple de format Données et format des enregistrements de ressources
Enregistrement de l’adresse (A) A/5/1.1.1.1#1.1.1.2#1.1.1.3## Adresse IPv4
Record AAAA AAAA/5/1::1#1::2#1::3## adresse IPv6
Record SOA SOA/3600/ns1.dnslogging.test./root.dnslogging.test./100/3600/3/3600/5## Serveur Origin, contact et autres détails. Le format d’enregistrement des ressources est : //////##
Enregistrement NS NS/5/ns1.dnslogging.test Nom d’hôte du serveur de noms.
Record MX #MX/5/10/host1.dnslogging.test.#11/host2.dnslogging.test.## Préférence suivie du nom d’hôte du serveur d’échange de messagerie
Enregistrement CNAME CNAME/5/host1.dnslogging.test.## Nom canonique
Enregistrement SRV SRV/5/1/2/3/host1.dnslogging.test.#4/5/6/host2.dnslogging.test.## Format d’enregistrement des ressources : ///#
Enregistrement TXT TXT/5/dns+logging## Les données comprennent tous les textes.
Enregistrement NAPTR NAPTR/5/10/11////dnslogging#20/21/R/SIP//sip.dnslogging.test## Format d’enregistrement des ressources : /////#
Enregistrement DNSKEY DNSKEY/5/1/3/5/AwEAAanP0K+i5bfv5SU478L760EjDjnPqI2Ccx6JZgiDBZhSONP29GfO2bkP056xp7+9Wz8X2oo5sANaDwSzUVR0YtZdPw23gAaktH6pFvnwcIHa/PTFw5VcXyiUaDc+AnaOhNNYOPp7iQ6uTdT9cyuGWJ1OfZ0JRt+8EyX6iwRsLk7WSpz8KidvKs2ij9IXZ3OzaVEEMGY4SMfHIlLhqIho1fyADlbAoSsLEbr/7eqKv1/PLXSuVV9elwkH0pqWALUaSEBbmp49/jbCbc8cZKxzaON9p2jp2j4iodfC8cnEHAS2/4W1FEPpRTyYtcdBq6Uc2orBaaxjhsZELvRcWMr+pDc=#1/3/5/AwEAAbJhKdI21LP0pPxv0k1pFBNClZW97TB4FlCW4e4Fuyq7rY7+aiYdDVxV8N9ZXt4RT3MdNznMVMl/R1ldWLjbCf5bFu9khaM1ME8I25HPTS3J2wK5rjj4HMFRMycUKZCK0UOgyUzd6Fm5b3G04wMIAoqkDHeqlwe7yWGaw94NbZuL## Format d’enregistrement des ressources : ///#
Enregistrement PTR PTR/3600/test.com.#test4.com.## Nom de domaine

Limitations de la journalisation DNS

La journalisation DNS présente les limitations suivantes :

  • Si la journalisation des réponses est activée, seuls les types d’enregistrement suivants sont consignés :

    • Enregistrement de l’adresse (A)
    • Record AAAA
    • Record SOA
    • Enregistrement NS
    • Record MX
    • Enregistrement CNAME
    • Enregistrement SRV
    • Enregistrement TXT
    • Enregistrement NAPTR
    • Enregistrement DNSKEY
    • Enregistrement PTR

    Pour tous les autres types d’enregistrement, seuls les paramètres L3/L4, l’en-tête DNS et la section Question sont consignés.

  • Les enregistrements RRSIG ne sont pas consignés même si la journalisation des réponses est activée.

  • Le DNS64 n’est pas pris en charge.

  • Les demandes ou réponses de mise à jour proactive DNS sont consignées en fonction des paramètres du profil par défaut.

  • Sur le serveur virtuel, si l’option sans session et la journalisation des réponses sont activées, les paramètres L3/L4, l’en-tête DNS et la section Question DNS sont consignés à la place de la réponse.

  • La taille maximale du message Syslog est de 1 024 octets.

  • Si vous avez défini un profil DNS pour une stratégie DNS avec le type d’action Rewrite Response, l’appliance NetScaler n’enregistre pas la requête ni les réponses manipulées. Pour consigner les informations requises, vous devez utiliser une action de message d’audit dans la stratégie DNS.

  • Les transactions DNS dues au trafic de surveillance DNS ne sont pas consignées.

Configuration de la journalisation DNS

Voici un aperçu de la configuration de la journalisation DNS :

  1. Créez une action Syslog et activez le DNS dans l’action.
  2. Créez une stratégie Syslog et spécifiez l’action Syslog dans la stratégie.
  3. Liez globalement la stratégie Syslog pour permettre la journalisation de tous les événements du système NetScaler. Vous pouvez également lier la stratégie Syslog à un serveur virtuel d’équilibrage de charge spécifique.
  4. Créez un profil DNS et définissez l’un des types de journalisation suivants que vous souhaitez activer :
    • Journalisation des requêtes DNS
    • Journalisation de la section de réponses DNS
    • Journalisation étendue DNS
    • Journalisation des erreurs DNS
  5. Configurez l’un des éléments suivants, en fonction de vos besoins :
    • Service DNS et serveur virtuel pour DNS
    • Service ADNS
    • NetScaler en tant que redirecteur
    • NetScaler en tant que résolveur
  6. Définissez le profil DNS créé sur l’une des entités DNS.

Configurer la journalisation DNS pour NetScaler configuré en tant que proxy DNS à l’aide de l’interface de ligne de commande

  1. Ajoutez une action Syslog et activez le DNS dans l’action. À l’invite de commandes, tapez :

    add audit syslogAction <name> (<serverIP> | -lbVserverName <string>) [-serverPort <port>] -logLevel <logLevel> ... [-dateFormat <dateFormat>] [-logFacility <logFacility>] [-tcp ( NONE | ALL )] [-acl ( ENABLED | DISABLED )] [-timeZone ( GMT_TIME | LOCAL_TIME )] [-userDefinedAuditlog ( YES | NO )] [-appflowExport ( ENABLED |DISABLED )] [-lsn ( ENABLED | DISABLED )] [-alg ( ENABLED | DISABLED )] [-transport ( TCP | UDP )] [-tcpProfileName <string>] [-maxLogDataSizeToHold <positive_integer>] [-dns ( ENABLED | DISABLED)]
    <!--NeedCopy-->
    

    Exemple :

    add audit syslogAction nssyslogact1 10.102.151.136 -logLevel CRITICAL ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4 -timeZone LOCAL_TIME -dns ENABLED

  2. Créez une stratégie Syslog et spécifiez l’action Syslog créée dans la stratégie. À l’invite de commandes, tapez :

    add audit syslogPolicy <name> <rule> <action>

    Exemple :

    add audit syslogPolicy syslogpol1 ns_true nssyslogact1

  3. Liez la stratégie Syslog globalement. À l’invite de commandes, tapez :

    bind system global [<policyName> [-priority <positive_integer>]]

    Exemple :

    bind system global syslogpol1

  4. Créez un profil DNS et activez l’un des types de journaux suivants que vous souhaitez configurer :

    • Journalisation des requêtes DNS
    • Journalisation de la section de réponses DNS
    • Journalisation étendue DNS
    • Journalisation des erreurs DNS

    À l’invite de commandes, tapez :

    add dns profile <dnsProfileName> [-dnsQueryLogging ( ENABLED | DISABLED )] [-dnsAnswerSecLogging ( ENABLED | DISABLED )] [-dnsExtendedLogging (ENABLED | DISABLED )] [-dnsErrorLogging ( ENABLED | DISABLED )] [-cacheRecords ( ENABLED | DISABLED )] [-cacheNegativeResponses ( ENABLED | DISABLED )]

    Exemple :

    add dns profile dnsprofile1 -dnsQueryLogging ENABLED

  5. Configurez le service de type DNS. À l’invite de commandes, tapez :

    add service <name> <serverName> <serviceType> <port>

    Exemple :

    add service svc1 10.102.84.140 dns 53

  6. Configurez un serveur virtuel d’équilibrage de charge de type DNS de type de service.

    add lb vserver <name> <serviceType> <ip> <port>

    Exemple :

    add lb vserver lb1 dns 100.100.100.10 53

  7. Liez le service au serveur virtuel. À l’invite de commandes, tapez :

    bind lb vserver <name> <serviceName>

    Exemple :

    bind lb vserver lb1 svc1

  8. Définissez le profil DNS créé sur le serveur virtuel. À l’invite de commandes, tapez :

    set lb vserver <name> [ - dnsProfileName <string>]

    Exemple :

    set lb vserver lb1 –dnsProfileName dnsprofile1

Exemple de configuration de journalisation DNS pour l’appliance NetScaler configurée en tant que proxy DNS

> add audit syslogAction nssyslogact1 10.102.151.136 -logLevel
CRITICAL ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4 -timeZone
LOCAL_TIME -dns ENABLED
Done
> add audit syslogPolicy syslogpol1 ns_true nssyslogact1
Done
> bind system global syslogpol1
Done
> add dns profile dnsprofile1 -dnsqueryLogging ENABLED
Done
> add lb vserver lb1 dns 100.100.100.10 53 –dnsProfileName dnsprofile1
Done
> add service svc1 10.102.84.140 dns 53
Done
> bind lb vserver lb1 svc1
Done
<!--NeedCopy-->

Exemple de configuration de journalisation DNS pour l’appliance NetScaler configurée en tant qu’ADNS

> add audit syslogAction nssyslogact1 10.102.151.136 -logLevel CRITICAL
ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4 -timeZone LOCAL_TIME
-dns ENABLED
Done
> add audit syslogPolicy syslogpol1 ns_true nssyslogact1
Done
> bind system global syslogpol1
Done
> add dns profile dnsprofile1 -dnsqueryLogging ENABLED
Done
> add lb vserver lb1 dns 100.100.100.10 53 –dnsProfileName dnsprofile1
Done
> add service svc1 10.102.84.140 dns 53
Done
> bind lb vserver lb1 svc1
Done
<!--NeedCopy-->

Exemple de configuration de journalisation DNS pour l’appliance NetScaler configurée en tant que redirecteur

> add audit syslogAction nssyslogact1 10.102.151.136 -logLevel CRITICAL
ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4 -timeZone LOCAL_TIME
-dns ENABLED
Done
> add audit syslogPolicy syslogpol1 ns_true nssyslogact1
Done
> bind system global syslogpol1
Done
> add dns profile dnsprofile1 -dnsqueryLogging ENABLED
Done
> add dns nameserver 8.8.8.8 –dnsProfileName dnsprofile1
Done
<!--NeedCopy-->

Exemple de configuration de journalisation DNS pour une appliance NetScaler configurée en tant que résolveur

> add audit syslogAction nssyslogact1 10.102.151.136
-logLevel CRITICAL ERROR WARNING NOTICE INFORMATIONAL DEBUG -logFacility LOCAL4
-timeZone LOCAL_TIME -dns ENABLED
Done
> add audit syslogPolicy syslogpol1 ns_true nssyslogact1
Done
> bind system global syslogpol1
Done
> add dns profile dnsprofile1 -dnsqueryLogging ENABLED
Done
> set dns parameter -recursion enABLED
Done
> add nameserver 1.1.1.100 -local dnsProfileName dnsprofile1
Done
<!--NeedCopy-->

Configurer la journalisation basée sur des stratégies pour DNS

La journalisation basée sur des stratégies vous permet de spécifier un format pour les messages de journal. Le contenu d’un message de journal est défini à l’aide d’une expression de stratégie avancée. Lorsque l’action de message spécifiée dans la stratégie est exécutée, l’appliance NetScaler construit le message de journal à partir de l’expression et l’écrit dans le fichier journal. Vous pouvez configurer la solution matérielle-logicielle pour qu’elle se connecte uniquement lorsqu’une stratégie DNS particulière est évaluée à True.

Remarque

Si vous avez défini une stratégie DNS avec un profil DNS pour le côté demande, l’appliance NetScaler enregistre uniquement la requête.

Pour configurer la journalisation basée sur une stratégie pour une stratégie DNS, vous devez d’abord configurer une action de message d’audit. Pour plus d’informations sur la configuration d’une action de message d’audit, voir Configurer l’appliance NetScaler pour la journalisation des audits. Après avoir configuré l’action du message d’audit, spécifiez l’action du message dans une stratégie DNS.

Configurer la journalisation basée sur une stratégie pour une stratégie DNS à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour configurer la journalisation basée sur une stratégie pour une stratégie DNS et vérifier la configuration :

-  add dns action <actionName> <actionType> [-IPAddress <ip_addr|ipv6_addr> ... | -viewName <string> | -preferredLocList <string> ...] [-TTL <secs>] [-dnsProfileName <string>]
-  set dns policy <name> [<rule>] [-actionName <string>] [-logAction <string>]
-  show dns policy [<name>]
<!--NeedCopy-->

Exemple 1 :

Dans un déploiement GSLB, si vous souhaitez répondre avec des adresses IP différentes aux demandes des clients provenant d’un sous-réseau particulier, au lieu de répondre avec des adresses IP utilisées à des fins générales (telles que les adresses IP des utilisateurs internes), vous pouvez configurer une stratégie DNS avec le type d’action comme vue DNS. Dans ce cas, vous pouvez configurer la journalisation DNS sur l’action DNS spécifiée afin de pouvoir consigner les réponses spécifiques.

> add dns profile dns_prof1 -dnsqueryLogging enABLED -dnsanswerSecLogging enABLED
 Done
> add dns view dns_view1
 Done
> add dns action dns_act1 viewName -view dns_view1 –dnsprofilename dns_prof1
 Done
> add dns policy dns_pol1 "CLIENT.IP.SRC.APPLY_MASK(255.255.255.0).EQ(100.100.100.0)”
dns_act1
 Done
> bind dns global dns_pol1 100 -gotoPriorityExpression END -type REQ_DEFAULT
 Done
> bind gslb service site_1_svc -viewName dns_view1 123.1.1.1
 Done
> bind gslb service site_5_svc -view dns_view1 132.1.1.1
 Done
<!--NeedCopy-->

Remarque : Dans la configuration précédente, si vous recherchez le domaine configuré sur un serveur virtuel GSLB, par exemple, sampletest.com, tous les utilisateurs internes du sous-réseau 100.100.100.0/24 sont servis avec les adresses IP de la vue DNS et les réponses sont consignées. Les demandes des clients pour d’autres sous-réseaux ne sont pas consignées.

Exemple 2 :

Si vous souhaitez consigner uniquement les requêtes pour le domaine exemple.com, vous pouvez créer un profil DNS avec la journalisation des requêtes activée et définir le profil DNS sur une action DNS avec le type d’action NOOP, puis créer une stratégie DNS et définir l’action DNS. Par exemple :

>add dns profile query_logging -dnsqueryLogging ENABLED
Done
>add dns action dns_act1 NOOP -dnsprofileName query_logging
Done
>add dns policy dns_pol1 DNS.REQ.QUESTION.DOMAIN.EQ("example.com")  dns_act1
Done
<!--NeedCopy-->

Configurer l’action de journalisation pour la stratégie DNS afin d’enregistrer l’adresse IP du client

L’action de journalisation peut être utilisée pour consigner les adresses IP sources pour les requêtes DNS à l’aide de l’expression suivante et l’utiliser dans le cadre de l’action de journalisation dans la stratégie DNS.

> add audit messageaction log_act_custom INFORMATIONAL ""ClientIP:"CLIENT.IP.SRC" ECS IP:"+((DNS.REQ.OPT.ECS.IP).typecast_text_t ALT "NONE")"
Done
<!--NeedCopy-->

L’expression précédente capture à la fois l’adresse IP source telle que dans l’en-tête IP et l’adresse IP ECS à partir de l’option DNS ECS, et l’une ou l’autre d’entre elles peut être exclue si nécessaire.

Exemple de configuration de journalisation DNS pour une appliance NetScaler permettant d’enregistrer l’adresse IP du client

Si vous souhaitez échantillonner la journalisation des requêtes DNS, vous pouvez le faire à l’aide de l’expression suivante. Cela déconnectera une requête sur 10.

> add audit messageaction log_action_srcip_1of10 INFORMATIONAL ""OneOf10: Source IP : "+client.ip.src"
Done
> add responder policy logsrcip_1of10 "sys.random.mul(10).lt(1)" NOOP -logAction log_action_srcip_1of10
Done
<!--NeedCopy-->