---
layout:   post
title:    "Les nouvelles spécifications des entrées de zone DNS avec la RFC 9460"
date:     2023-11-30
author:   Frédéric
image:    https://source.unsplash.com/56cd371ee9a7/1920x1920
#showtoc:  false
---

Le Domain Name System (DNS) vient de franchir une étape avec les nouvelles spécifications de la RFC 9460 publiée début novembre 2023.
Bien que subtils, ces changements, améliorent l'optimisation et la sécurité des sites web.
L'une des évolutions les plus notables est l'ajout des types d'enregistrement SVCB (Service Binding) et HTTPS.


## Quels avantages apportent-ils ?

Ces nouveaux types d'enregistrement offrent une flexibilité et un contrôle accrus aux propriétaires de domaines :
- **Amélioration des performances :** des paramètres sur les services permettent d'optimiser les performances selon vos besoins particuliers.
- **Sécurité renforcée :** HTTPS permet des paramètres de sécurité avancés et renforce la protection des utilisateurs contre les menaces en ligne.
- **Compatibilité élargie :** ils sont compatibles avec les implémentations existantes du DNS, ce qui facilite leur adoption et leur intégration.

## Cas d'utilisation et bonnes pratiques

Ajouter ces types d'enregistrement peut être bénéfique dans plusieurs scénarios :
- **Sites Web à fort trafic :** les sites avec un trafic important peuvent tirer parti des configurations spécifique pour améliorer la performance et la sécurité.
- **Logiciels critiques :** la configuration avancée permise par ces enregistrements élève la sécurité des accès.

## Comment écrire ces enregistrements ?

### 1. Enregistrement SVCB (Service Binding)

Il déclare des informations sur les services en ligne.

**Exemple :** `example.com. IN SVCB 1 . alpn="h3,h2", ipv4hint="192.0.2.1"`
- **`example.com.` :** nom de domaine auquel l'enregistrement est associé. Ici "example.com".
- **`IN` :** classe de l'enregistrement, généralement IN pour Internet.
- **`SVCB` :** indique un type d’enregistrement SVCB.
- **1 :** le premier paramètre numérique spécifie le numéro de l'entrée SVCB. Dans cet exemple, il est défini sur 1.
- **`alpn="h3,h2"` :* spécifique au type SVCB. Ici, alpn fait référence à la liste des protocoles de négociation d'application (ALPN) supportés pour ce service, configuré pour prendre en charge les protocoles HTTP/3 (h3) et HTTP/2 (h2).
- **`ipv4hint="192.0.2.1"` :** spécifie une suggestion d'adresse IPv4 pour le service. ici 192.0.2.1.

### 2. Enregistrement HTTPS

Il spécifie des détails sur la connexion sécurisée pour un domaine.

**Exemple :** `_443._https.example.com. IN HTTPS 1 . alpn="h2", cert="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3H6V+aUJ...", target="example.com"`
- **`_443._https.example.com.` :** nom d'hôte où sera appliqué cet enregistrement HTTPS. Ici, port 443 par défaut de HTTPS, pour le domaine "example.com".
- **`IN` :** comme au-dessus, c'est la classe de l'enregistrement.
- **`HTTPS` :** indique un type d'enregistrement HTTPS.
- **1 :** numéro de l'entrée HTTPS, similaire à l'enregistrement SVCB.
- **`alpn="h2"` :** dans cet exemple, le paramètre alpn spécifie que le protocole de négociation d'application supporté est HTTP/2.
- **`cert="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3H6V+aUJ..."` :** ce paramètre cert contient le certificat TLS du domaine. Tronqué ici pour des raisons de longueur. Il serait beaucoup plus long dans la réalité.
- **`target="example.com"` :** le paramètre target spécifie le nom du serveur pour lequel ce certificat est valable.

### 3. Bonnes pratiques générales

- **Vérification de la syntaxe :** assurez-vous que la syntaxe des enregistrements est correcte en utilisant des outils de validation DNS.
- **Documentation détaillée :** écrivez une documentation précise des enregistrements SVCB et HTTPS ajoutés, en expliquant clairement chaque paramètre et son rôle.
- **Références aux spécifications :** consultez régulièrement la RFC 9460 et d'autres ressources pertinentes pour rester au fait des normes et des meilleures pratiques.

Ajoutez au plus vite des enregistrements SVCB et HTTPS et configurez-les.
Vous optimiserez vos services en ligne et les rendrez plus sûrs pour vos utilisateurs.

## Quelle différence avec CAA (Certification Authority Authorization) ?

Défini dans la RFC 8659, l'enregistrement CAA augmente lui aussi la sécurité des noms de domaine.

### Comment ?

Il précise quelles sont les autorités de certification (CAs) qui sont autorisées à émettre des certificats pour un domaine spécifique.
Ainsi, il renforce le contrôle sur les certificats SSL/TLS émis pour leur domaine et empêche la substitution malicieuse.

### Différences clés

- **But :** SVCB et HTTPS sont utilisés pour déclarer des informations sur les services en ligne, tandis que CAA est utilisé pour spécifier les autorités de certification autorisées à émettre des certificats pour un domaine.
- **Contenu :** SVCB et HTTPS permettent de préciser des détails techniques sur les services et la sécurité, tandis que CAA se concentre uniquement sur les autorisations des autorités de certification.
- **Portée :** SVCB et HTTPS sont plus larges dans leur champ d'application, couvrant les détails et configurations des services en ligne, tandis que CAA est limité à la gestion des autorités de certification.

SVCB et HTTPS offrent une flexibilité pour configurer les services en ligne et les paramètres de sécurité, tandis que CAA contrôle quelles autorités de certification peuvent émettre des certificats.
Chacun de ces types d'enregistrements DNS remplit un rôle distinct dans la gestion et la sécurisation des services en ligne et des certificats SSL/TLS.
