DNS Wildcard : Enregistrements Génériques

Utilisez les wildcards DNS pour capturer tous les sous-domaines non définis explicitement.

Un enregistrement DNS wildcard utilise l'astérisque (*) comme label pour matcher tous les sous-domaines qui n'ont pas d'enregistrement explicite. Si vous avez *.example.com, une requête pour anything.example.com sera résolue même si "anything" n'est pas défini individuellement. C'est un outil puissant pour les plateformes multi-tenants et les configurations flexibles.

Les wildcards sont couramment utilisés par les services SaaS qui attribuent un sous-domaine à chaque client (client1.app.com, client2.app.com), les systèmes de prévisualisation (pr-123.preview.app.com), ou les configurations de développement. Un seul enregistrement peut router des milliers de sous-domaines vers le même serveur.

Cependant, les wildcards ont des limitations importantes : ils ne matchent qu'un seul niveau de sous-domaine, peuvent causer des problèmes de sécurité s'ils sont mal utilisés, et interagissent de manière parfois surprenante avec les autres enregistrements. Comprendre ces nuances est essentiel.

Comment Fonctionnent les Wildcards DNS

Les wildcards ont un comportement spécifique à comprendre :

  • Matching partiel : *.example.com matche foo.example.com mais PAS bar.foo.example.com. Le wildcard ne remplace qu'un seul label (segment entre les points).
  • Priorité explicite : Un enregistrement explicite a toujours priorité sur le wildcard. Si www.example.com existe, il sera utilisé même si *.example.com existe aussi.
  • Types d'enregistrements : Les wildcards fonctionnent avec A, AAAA, CNAME, MX, TXT et la plupart des types. Chaque type peut avoir son propre wildcard.
  • Position du wildcard : Le * doit être le label le plus à gauche. *.sub.example.com est valide. sub.*.example.com ne l'est PAS.

Cas d'Usage des Wildcards

Les wildcards DNS sont utiles dans plusieurs scénarios :

  • Multi-tenant SaaS : Chaque client obtient son sous-domaine (client.votreapp.com) sans créer manuellement chaque enregistrement. L'application route ensuite vers le bon tenant.
  • Environnements de développement : Prévisualisations de PR (pr-123.preview.app.com), branches de feature, environnements éphémères - tous peuvent fonctionner avec un seul wildcard.
  • Domaines parking : Pour afficher une page par défaut sur tous les sous-domaines non utilisés, plutôt que des erreurs DNS.
  • Load balancing simple : Combiné avec un reverse proxy, le wildcard peut router tout le trafic vers un point d'entrée qui gère ensuite la distribution.

Configurer un Wildcard DNS

La configuration est simple mais nécessite attention :

  1. Créez l'enregistrement : Dans votre interface DNS, créez un enregistrement avec * comme nom (ou *.votredomaine.com selon l'interface). Choisissez le type (généralement A ou CNAME).
  2. Pointez vers la bonne cible : Le wildcard doit pointer vers un serveur capable de gérer tous les sous-domaines. Votre application doit ensuite router correctement selon le Host header.
  3. Configurez le serveur web : Votre serveur web (Nginx, Apache, etc.) doit avoir un vhost catch-all ou une configuration qui accepte tous les sous-domaines.
  4. Gérez les certificats SSL : Vous aurez besoin d'un certificat wildcard (*.domaine.com) ou d'une solution comme Let's Encrypt avec DNS challenge pour les sous-domaines dynamiques.

Exemples de Wildcards DNS

Voici des configurations wildcard courantes :

; Wildcard A - tous les sous-domaines vers une IP
*.example.com.    IN    A    203.0.113.10

; Wildcard CNAME - vers un load balancer
*.app.example.com.    IN    CNAME    lb.example.com.

; Combinaison avec enregistrements explicites
example.com.        IN    A    203.0.113.1    ; apex
www.example.com.    IN    A    203.0.113.1    ; explicite
api.example.com.    IN    A    203.0.113.2    ; explicite (différent)
*.example.com.      IN    A    203.0.113.10   ; tout le reste

; Dans cet exemple :
; - example.com → 203.0.113.1
; - www.example.com → 203.0.113.1 (explicite)
; - api.example.com → 203.0.113.2 (explicite)
; - anything-else.example.com → 203.0.113.10 (wildcard)

; Vérification
$ dig A random.example.com +short
203.0.113.10

Les enregistrements explicites ont toujours priorité. Le wildcard ne s'applique que quand aucun enregistrement spécifique n'existe pour le sous-domaine demandé.

Bonnes Pratiques Wildcard

Utilisez les wildcards de manière sécurisée :

  • Définissez les sous-domaines critiques : Créez toujours des enregistrements explicites pour www, mail, api, etc. Ne comptez pas sur le wildcard pour les services importants.
  • Attention aux emails : Un wildcard MX peut faire accepter des emails pour n'importe quel sous-domaine. C'est rarement souhaité et peut causer des problèmes.
  • Certificats SSL : Un certificat wildcard *.example.com ne couvre PAS example.com (apex) ni *.sub.example.com. Planifiez vos certificats en conséquence.
  • Monitoring : Surveillez les requêtes vers des sous-domaines inattendus. Cela peut révéler des tentatives d'énumération ou des services oubliés.

Checklist Configuration Wildcard

  • Enregistrements explicites créés pour les sous-domaines importants
  • Wildcard pointe vers un serveur configuré pour multi-hosting
  • Certificat SSL wildcard ou solution DNS challenge en place
  • Application configurée pour router selon le sous-domaine
  • Page de fallback pour les sous-domaines inconnus
  • Monitoring des accès par sous-domaine

FAQ - DNS Wildcard

Le wildcard fonctionne-t-il pour l'apex (domaine nu) ?

Non, *.example.com ne couvre pas example.com (sans sous-domaine). Vous devez créer un enregistrement séparé pour l'apex.

Puis-je avoir *.*.example.com ?

Non, le wildcard ne peut remplacer qu'un seul label. Pour couvrir des niveaux multiples, vous avez besoin de wildcards séparés à chaque niveau.

Le wildcard ralentit-il les résolutions DNS ?

Non, la résolution est aussi rapide qu'un enregistrement normal. C'est juste une règle de matching côté serveur DNS.

Comment interdire un sous-domaine spécifique avec wildcard ?

Créez un enregistrement explicite pour ce sous-domaine. Par exemple, un A vers 0.0.0.0 ou un enregistrement "null" selon votre besoin.

Les wildcards fonctionnent-ils avec DNSSEC ?

Oui, mais DNSSEC génère des preuves de non-existence (NSEC/NSEC3) qui peuvent révéler vos sous-domaines explicites. C'est un compromis sécurité/vie privée.

MoniTao peut-il surveiller un wildcard ?

MoniTao surveille les enregistrements DNS que vous configurez, y compris les wildcards. Vous pouvez aussi monitorer des sous-domaines spécifiques générés par le wildcard.

Utilisez les Wildcards Judicieusement

Les wildcards DNS sont un outil puissant pour les architectures multi-tenants et les configurations flexibles. Mais avec ce pouvoir vient la responsabilité de bien comprendre leurs limitations et implications.

Définissez explicitement vos sous-domaines critiques, gérez vos certificats SSL en conséquence, et surveillez le trafic vers les sous-domaines générés. MoniTao peut vous aider à garder un œil sur votre configuration DNS.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.