Aller au contenu principal

Télécharger en format PDF

L’utilisation de TSIG pour des communications sécurisées entre les serveurs DNS

Les signatures de transaction (TSIG) fournissent un moyen sécuritaire de communiquer d’un système DNS primaire à un secondaire. Elles permettent aux organisations de renforcer la sécurité de leur système de façon simple et efficace. Les TSIG ne sont pas obligatoires et plusieurs organisations choisissent de déterminer des autorisations fondées sur les adresses IP entre les DNS. Toutefois, comme le DNS est de plus en plus la cible d’actes malveillants sur Internet, les TSIG font partie des éléments de conception qu’il convient de prendre en compte.

Les TSIG sont utilisées (de manière facultative) par le service DNS Anycast D-Zone pour communiquer avec le DNS primaire d’une organisation. Le présent document fournit aux administrateurs des TI un aperçu d’une bonne configuration d’un DNS externe au moyen de D-Zone, de la façon dont sont utilisées les TSIG, et des renseignements requis relatifs à la configuration. Pour en savoir plus, consultez la documentation sur le soutien technique concernant D-Zone.

Implantation d’un DNS externe résilient

L’implantation d’une infrastructure DNS secondaire pour la résolution externe des noms de domaine améliore sa résilience et sa performance, et permet de se conformer aux pratiques exemplaires de l’industrie. La meilleure façon de créer un réseau secondaire consiste à conserver un serveur DNS primaire anonyme, utilisé pour assurer l’administration et la gestion du DNS. Le DNS secondaire est composé d’un ou de plusieurs serveurs de noms à la disposition pour répondre aux requêtes sur Internet; il peut s’agir d’un serveur unicast ou anycast. La technologie anycast repose sur de nombreux serveurs distribués qui partagent la même adresse IP.

 


Architecture DNS typique : architecture d’un DNS faisant autorité illustrant le réseau d’entreprise, le DNS primaire et un trans

 

 

La combinaison d’un DNS primaire anonyme et d’une solution DNS Anycast secondaire évoluée confère les avantages suivants :

  1. Facilite la maintenance du DNS primaire sans incidence sur les sites Web publics;

  2. Améliore la sécurité, car le DNS primaire est anonyme;

  3. Augmente la performance grâce à un réseau mondial de serveurs à proximité des clients;

  4. Renforce la résilience, car les noeuds hors d’usage sont retirés de la table de routage;

  5. Améliore la capacité d’absorber les attaques par déni de service (DDoS) visant le DNS au noeud le plus près de la source de l’attaque.

Comment transférer de l’information de mon serveur DNS primaire à un service secondaire?

Maintenant que vous avez décidé d’implanter un système DNS externe plus robuste, comment s’y prendre? La communication entre les serveurs de noms s’effectue au moyen des fichiers de zone.

Un fichier de zone est un fichier texte qui décrit une zone DNS. Dans sa forme la plus simple, il s’agit d’une mise en correspondance des adresses IP et des noms de domaine, présentée sous la forme d’enregistrements de ressources. En plus de fournir une mise en correspondance de base, il comprend une multitude de détails importants sur le nom de domaine, dont :

  1. L’enregistrement Start of Authority (SOA) et le nom des serveurs faisant autorité (par rapport aux serveurs caches en ligne) qui, comme l’explique le présent document, sont les serveurs secondaires D-Zone;
  2. La durée de vie, qui indique combien de temps les enregistrements DNS doivent être conservés dans les serveurs caches avant de revenir aux serveurs faisant autorité;
  3. Les propriétaires des enregistrements;
  4. Si l’adresse est de type IPv4 ou IPv6.

Comment le DNS externe primaire est-il administré?

Dans bon nombre d’organisations, le DNS primaire est administré par les services des TI ou un prestataire de services d’hébergement Web, d’enregistrements de domaine, de DNS primaire, ou d’autres services des TI. Peu importe la façon dont le DNS externe est administré, il existe quelques infrastructures logicielles sous-jacentes, dont les plus couramment utilisées, comme BIND et le serveur Microsoft Windows.

Comprendre le transfert de fichier de zone et les TSIG

Pour assurer une sécurité robuste, le DNS primaire est conservé en tant que serveur anonyme permettant seulement de communiquer avec les serveurs DNS secondaires autorisés avec l’adresse IP appropriée. Il s’agit d’une étape essentielle pour assurer un système DNS sécurisé, fiable et facile à gérer.

Lorsque des changements sont apportés au DNS dans le serveur de noms primaire, une notification DNS est envoyée au serveur secondaire. Si le serveur secondaire n’a pas les enregistrements les plus à jour, il demande une mise à jour au moyen d’un transfert de zone complet (AXFR) ou d’un transfert de zone incrémental (IXFR). La communication s’effectue suivant le protocole UDP ou TCP, pour une transaction sur un modèle client-serveur; ainsi, on obtient habituellement une communication ouverte dans un réseau non sécurisé (par exemple, dans Internet).

Lorsque la communication entre les serveurs de noms est ouverte, l’authentification est essentielle parce que sans elle, des changements durables au DNS, que les services des TI auraient de la difficulté à surmonter, pourraient être apportés. TSIG est un protocole de réseau décrit dans la RFC 2845 (Remarque : « RFC », ou request for comment, est l’expression utilisée par l’ICANN pour désigner les spécifications techniques et les décisions stratégiques); il est utilisé pour fournir une authentification aux fins des mises à jour dynamiques des DNS ou d’une communication entre les serveurs de noms.

Lorsque les TSIG sont utilisées pour sécuriser les communications entre les serveurs de noms primaire et secondaire, une signature authentifiée de manière cryptographique est générée au moyen d’une clé partagée et elle est ajoutée à tous les paquets DNS échangés entre les serveurs. Cette façon de faire permet de s’assurer que les paquets DNS proviennent d’un serveur de noms autorisé et qu’ils n’ont pas été modifiés en chemin.

En plus d’une clé, le protocole comprend une estampille temporelle de sorte que les communications ne soient pas interceptées et utilisées ultérieurement (par conséquent, une source temporelle fiable doit être utilisée).

Un enregistrement TSIG est créé et ajouté à tous les messages DNS entre les serveurs de noms. Il comprend les champs suivants :

Field Bytes Description
NAME max 256 Key name, which must be unique on client and server
TYPE 2 TSIG (250)
CLASS 2 ANY (255)
TTL 4 0 (since TSIG records must not be cached)
RDLENGTH 2 Length of RDATA field
RDATA variable Structure containing the timestamp, algorithm and hash data

Configurer en utilisant les TSIG

La notification entre les serveurs doit être activée en précisant une adresse IP pour « permettre la notification (allow-notify) », mais ne pas « permettre le transfert (allow-transfer) ». Si vous configurez les deux serveurs à « permettre le transfert » avec une adresse IP et des TSIG, vous autoriserez ainsi les transferts, qu’ils soient effectués en utilisant les TSIG ou non. L’adresse IP OU une TSIG pourra donc être utilisée en présence des deux. Essentiellement, l’interface du service DNS secondaire Anycast D-Zone de l’ACEI n’acceptera pas une configuration erronée, car D-Zone peut être configuré pour permettre des communications ouvertes ou des communications au moyen des TSIG, mais pas les deux.

Exemple de configuration de la zone avec les TSIG (Configuration sécurisée adéquate ) :

zone “example.ca” in {
   type master;
   file “master/example.ca”;
   allow-transfer { key example-tsigkey. };
   also-notify { 162.219.53.35; 162.219.53.235; };
   };
};

Exemple de configuration de la zone sans les TSIG (Configuration adéquate, mais non sécurisée ) :

zone “example.ca” in {
   type master;
   file “master/example.ca”;
   allow-transfer { 162.219.53.35; 162.219.53.235; };
   also-notify { 162.219.53.35; 162.219.53.235; };
   };
};

Où puis-je obtenir les TSIG et l’adresse IP?

Les signatures peuvent être générées par votre propre système DNS ou au moyen du système DNS secondaire de votre fournisseur. En ce qui concerne D-Zone, l’interface offre la possibilité de générer des TSIG, il suffit de pointer et cliquer. Les signatures de clé générées par D-Zone seront alors copiées dans votre serveur de noms primaire.

Exemple de génération de clé au moyen des DNSSEC dans BIND

Il est simple de générer une clé au moyen de votre serveur DNS primaire. Dans BIND, on utilise l’utilitaire dnssec-keygen pour générer les clés des DNSSEC et des TSIG. DNSSEC est un protocole de sécurité pour les DNS qui ne joue aucun rôle dans les TSIG; les clés sont simplement générées par le même algorithme et la même commande.

La ligne de commande se lit comme suit :

dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST -r /dev/urandom example-tsigkey

Le nom « example-TSIGkey » ci-dessus doit être unique à l’organisation et à la clé. Une clé plus longue, ou des chiffres et des lettres, sera générée et vous devrez la copier-coller dans la section de configuration de BIND, puis la copier dans le service DNS secondaire. En voici un exemple :

key “random-sig-1” { algorithm hmac-sha256; secret “dsdjflkjfkjk34u4343ofgj3ifmi4o3jf3ijf=”; };
server 162.219.53.35 {
  keys { random-sig-1; };
};
server 162.219.53.235 {
  keys { random-sig-1; };
};

Exemple de génération de clé dans D-Zone

Pour générer des clés dans D-Zone, il suffit de pointer et cliquer plutôt que de suivre une ligne de commande et générer une séquence de chiffres et de lettres à copier dans votre DNS primaire.


Interface D-Zone illustrant la façon de produire une signature de transaction.

La tâche de copier la clé dans votre serveur de noms primaire dépend de la plateforme que vous avez choisie, ou qui est utilisée par votre fournisseur, et elle peut être effectuée par une ligne de commande, par un pointer et cliquer, ou les deux. De plus amples renseignements sur le sujet se trouvent dans la documentation sur tous les serveurs de noms courants.

Où puis-je obtenir une adresse IP?

L’adresse IP permettant le transfert à fournir au service secondaire proviendra de vous ou de votre fournisseur de service DNS primaire. Si vous avez recours à un fournisseur de service pour configurer et gérer votre système DNS primaire, vous devrez lui fournir les adresses IP du service secondaire pour le transfert des fichiers de zone.

Feuille de travail pour la préparation

Les renseignements ci-dessous doivent être à portée de la main pour se préparer à la configuration d’un DNS secondaire ou au transfert d’un fichier de zone au moyen des TSIG. Le tableau ci-dessous vous aidera à recueillir l’information.

Il est facile de préparer un transfert de fichier de zone au moyen du protocole TSIG

Domain name(s) Software Platform or supplier Name IP address of master server IP address of secondary service Transaction Signature
i.e.mysite.ca BIND (internal) D-Zone (external) Unique key name of server 162.xxx.xxx.123 232.xxx.xxx.789 FMP6jthr00kmhHJumj32d1...

Le présent document contient assez de détails et d’information pour aider le lecteur à comprendre comment et pourquoi configurer des transferts de zone sécurisés grâce aux TSIG, et à lui éviter de faire des erreurs de configuration courantes. Il est fourni pour aider les clients à envisager d’utiliser le service DNS Anycast D-Zone comme service secondaire pour leur DNS.

L’implantation d’un service secondaire en utilisant les TSIG s’effectue en quelques clics ou à l’aide d’une ligne de commande. Que votre organisation héberge son propre DNS primaire ou qu’elle utilise celui d’un tiers, le personnel de l’ACEI est là pour vous aider à bâtir un DNS plus résilient.

Pour en savoir plus sur la façon d’obtenir D-Zone pour votre organisation

Pour obtenir plus de renseignements sur la façon de profiter du service, de trouver un revendeur ou d’en devenir un, veuillez écrire à info@d-zone.ca ou visiter acei.ca/d-zone.