Les DNS (Domain Name System, ou système de noms de domaine) jouent un rôle crucial en tant que répertoire de l’Internet, en facilitant la navigation sur le web. En permettant la traduction des noms de domaine, tels que nytimes.com ou wikipedia.org, en adresses IP numériques que les navigateurs peuvent comprendre, le DNS élimine le besoin pour les utilisateurs de mémoriser des adresses IP complexes, qu’elles soient en format IPv4 comme 192.168.1.1, ou en format plus récent et alphanumérique d’IPv6, comme 2400:cb00:2048:1::c629:d7a2.
Créé par Jon Postel et Paul Mockapetris en 1983 sous la direction de la DARPA, le DNS a évolué pour devenir un service distribué fondamental au développement de l’Internet.
Il est important de noter que les DNS sont gérés par une infrastructure mondiale de serveurs DNS, qui travaillent ensemble pour assurer une connectivité continue sur Internet. Cette infrastructure est répartie en différents niveaux, appelés zones DNS, qui sont gérés par différents organismes et entreprises.
En résumé, les DNS contribuent de manière significative à la fluidité et à l’efficacité des communications en ligne, soutenant ainsi l’expansion continue du réseau Internet mondial.
Le processus de résolution DNS est essentiel pour le fonctionnement d’Internet, car il transforme un nom d’hôte, tel que thisip.pw, en une adresse IP « au format informatique », comme 156.169.42.13. Cette adresse IP unique est attribuée à chaque appareil connecté à Internet, jouant un rôle similaire à celui d’une adresse postale en permettant de localiser et d’identifier un appareil sur le réseau mondial.
Lorsqu’un utilisateur souhaite accéder à une page web, il saisit un nom de domaine dans son navigateur. Le DNS intervient alors pour traduire ce nom en une adresse IP compréhensible par les machines, permettant ainsi au navigateur de localiser le serveur hébergeant la page web souhaitée. Ce processus de traduction est crucial pour la navigation web fluide et rapide.
La résolution DNS implique plusieurs composants clés qui travaillent ensemble pour acheminer la requête. Parmi eux, on trouve le résolveur DNS, qui est généralement fourni par le fournisseur d’accès Internet (FAI) de l’utilisateur, les serveurs racine, qui dirigent la requête vers les serveurs de noms de domaine de niveau supérieur (TLD), et enfin les serveurs de noms autoritaires, qui contiennent les enregistrements DNS finaux nécessaires pour résoudre le nom de domaine en adresse IP.
Lors du chargement d’une page web, quatre serveurs DNS jouent un rôle crucial :
Pour l’utilisateur final, la résolution DNS se déroule en arrière-plan et ne nécessite aucune interaction supplémentaire après la saisie de l’adresse web. Le navigateur initie une requête DNS qui traverse ces différents composants, sans que l’utilisateur ne s’en rende compte. La rapidité et l’efficacité de ce processus sont essentielles pour garantir une expérience utilisateur fluide, permettant aux pages web de se charger rapidement et de manière transparente. Ainsi, le DNS joue un rôle fondamental en facilitant l’accès à l’immense quantité de ressources disponibles sur Internet.
Résolution itérative d’un nom dans le DNS par un serveur DNS (étapes 2 à 7) et réponse (étape 8) suite à l’interrogation récursive (étape 1) effectuée par un client (resolver) DNS
Source : Wikipédia
Un résolveur récursif, également connu sous le nom de récurseur DNS, est le point de départ d’une requête DNS. Il fonctionne comme un intermédiaire entre un client et un serveur de noms DNS. Lorsqu’il reçoit une requête DNS d’un client web, le résolveur récursif peut répondre avec des données mises en cache ou transmettre la requête à un serveur de noms racine. Ensuite, il envoie une requête à un serveur de noms TLD (domaine de premier niveau), suivie d’une requête finale à un serveur de noms faisant autorité. Une fois qu’il obtient la réponse du serveur de noms faisant autorité avec l’adresse IP demandée, le résolveur récursif transmet cette information au client.
Pendant ce processus, le résolveur récursif conserve en cache les informations provenant des serveurs de noms faisant autorité. Ainsi, si un client demande l’adresse IP d’un nom de domaine récemment demandé par un autre client, le résolveur peut éviter de contacter à nouveau les serveurs de noms et fournir directement l’enregistrement depuis son cache.
La plupart des utilisateurs d’Internet utilisent un résolveur récursif fourni par leur fournisseur d’accès à Internet (FAI), mais il existe d’autres options, comme le résolveur 1.1.1.1 de Cloudflare.
Tous les résolveurs DNS connaissent les 13 serveurs DNS racine. Ces serveurs représentent la première étape dans la recherche d’enregistrements DNS par un résolveur récursif. Lorsqu’un résolveur récursif envoie une requête contenant un nom de domaine, un serveur racine répond en orientant le résolveur vers un serveur de noms TLD, selon l’extension du domaine (comme .com, .net, .org, etc.). Ces serveurs de noms racine sont gérés par une organisation à but non lucratif appelée Internet Corporation for Assigned Names and Numbers (ICANN).
Il est important de noter que même s’il existe 13 types de serveurs de noms racine, cela ne signifie pas qu’il n’y a que 13 machines dans le système. Il y a de nombreuses copies de chaque type de serveur réparties à travers le monde, utilisant le routage Anycast pour offrir des réponses rapides. En tout, il existe environ 600 serveurs de noms racine différents.
Les serveurs DNS racines sont nommés par lettre lettre, de A à M, en voici la liste :
Un serveur de noms TLD stocke les informations relatives à tous les noms de domaine qui partagent une même extension, comme .com, .net, ou tout ce qui suit le dernier point dans une URL. Par exemple, un serveur de noms TLD pour .com contient les informations pour chaque site web se terminant par .com. Ainsi, si un utilisateur recherche thisip.pw, après avoir obtenu une réponse d’un serveur de noms racine, le résolveur récursif enverra une requête à un serveur de noms TLD .com, qui répondra en indiquant le serveur de noms faisant autorité pour ce domaine.
Les serveurs de noms TLD sont gérés par l’IANA, qui est une branche de l’ICANN. L’IANA divise les serveurs TLD en deux catégories principales :
Il existe également une troisième catégorie pour les domaines d’infrastructure, bien qu’elle soit rarement utilisée. Cette catégorie a été créée pour le domaine .arpa, un domaine de transition utilisé lors de la création du DNS moderne. Son importance aujourd’hui est principalement historique.
Lorsqu’un résolveur récursif reçoit une réponse d’un serveur de noms de domaine de premier niveau (TLD), cette réponse redirige le résolveur vers un serveur de noms faisant autorité. Ce serveur est généralement la dernière étape du processus de résolution vers une adresse IP. Il contient des informations spécifiques au nom de domaine qu’il gère, comme thisip.pw, et peut fournir l’adresse IP à partir de l’enregistrement DNS A au résolveur récursif.
Si le domaine possède un enregistrement CNAME (alias), il donnera au résolveur un domaine alias. Dans ce cas, le résolveur récursif devra effectuer une nouvelle requête DNS pour obtenir l’enregistrement final d’un serveur de noms faisant autorité, souvent un enregistrement A avec une adresse IP.
Un enregistrement DNS MX (Mail Exchange) est un type d'enregistrement dans le système de noms de domaine (DNS) qui spécifie les serveurs de messagerie responsables de la réception des courriels pour un nom de domaine particulier. Lorsqu'un courriel est envoyé à une adresse se terminant par @thisip.pw, le serveur de messagerie de l'expéditeur interroge le DNS pour obtenir les enregistrements MX associés à @thisip.pw.
Ces enregistrements indiquent :
Par exemple, si le domaine dispose de plusieurs serveurs de messagerie, les enregistrements MX permettent de définir un ordre de préférence. Si le serveur avec la priorité la plus élevée est indisponible, le système tentera de contacter le suivant dans la liste.
En résumé, les enregistrements DNS MX sont essentiels pour le routage correct des courriels, en indiquant aux expéditeurs où diriger les messages destinés à un domaine spécifique.
Le SPF (Sender Policy Framework) est un protocole d'authentification des courriels qui permet aux propriétaires de domaines de spécifier quels serveurs de messagerie sont autorisés à envoyer des courriels en leur nom. En publiant une politique SPF dans les enregistrements DNS de leur domaine, les serveurs de messagerie récepteurs peuvent vérifier si un courriel provient d'une source autorisée, contribuant ainsi à réduire le spam, le phishing et l'usurpation d'identité.
v=spf1 ip4:192.0.2.0/24 include:_spf.google.com -all
Explication des composants :
v=spf1 : indique la version du protocole SPF utiliséeip4:192.0.2.0/24 : autorise les adresses IP dans la plage spécifiée à envoyer des courriels pour le domaineinclude:_spf.google.com : inclut les serveurs autorisés par Google (utile si vous utilisez G Suite pour les courriels)-all : signifie que toutes les autres adresses IP non spécifiées doivent être rejetéesinclude, a, mx, etc.). Dépasser cette limite peut entraîner un échec de la vérification SPFEn combinant SPF, DKIM et DMARC, vous renforcez considérablement la sécurité de vos communications par courriel.
ip4, ip6, include, etc.)En résumé, le SPF est un élément essentiel pour sécuriser vos communications par courriel. Il permet aux serveurs récepteurs de vérifier que les courriels proviennent de sources autorisées par le propriétaire du domaine, réduisant ainsi le risque de spam et de phishing. Une mise en œuvre correcte du SPF, en combinaison avec DKIM et DMARC, contribue à protéger votre domaine et à maintenir la confiance dans vos courriels.
Le DKIM (DomainKeys Identified Mail) est un protocole d'authentification des courriels qui permet au destinataire de vérifier que le message reçu provient bien du domaine de l'expéditeur et qu'il n'a pas été altéré en transit. Il fonctionne en ajoutant une signature numérique aux en-têtes du courriel, qui peut être vérifiée par le serveur récepteur à l'aide d'une clé publique publiée dans le DNS du domaine de l'expéditeur.
DKIM-SignatureDKIM-Signature du courrielEn combinant SPF, DKIM et DMARC, les domaines peuvent renforcer significativement la sécurité de leurs communications par courriel et réduire les risques liés au spam et au phishing.
Supposons que vous avez un sélecteur nommé default pour votre domaine thisip.pw. L'enregistrement DNS ressemblerait à ceci : default._domainkey.thisip.pw IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh…"
default : le sélecteur utilisé pour identifier la clé spécifique_domainkey : un sous-domaine standard utilisé pour les enregistrements DKIMv=DKIM1 : indique la version du protocole DKIM utiliséek=rsa : spécifie l'algorithme cryptographique utilisép= : contient la clé publique en elle-même, qui est une longue chaîne de caractères encodéeEn résumé, le DKIM est un mécanisme essentiel pour sécuriser les courriels, en permettant aux destinataires de vérifier que les messages proviennent réellement du domaine indiqué et qu'ils n'ont pas été modifiés en cours de route. L'implémentation de DKIM, en conjonction avec SPF et DMARC, contribue à protéger la réputation de votre domaine et à assurer la confiance dans vos communications par courriel.
Le DMARC (Domain-based Message Authentication, Reporting, and Conformance) est un protocole d'authentification des courriels qui vise à réduire les abus tels que le phishing et le spam en permettant aux propriétaires de domaines de publier une politique indiquant comment les courriels non authentifiés doivent être traités. DMARC s'appuie sur les protocoles SPF (Sender Policy Framework) et DKIM (DomainKeys Identified Mail) pour vérifier l'authenticité des messages.
_dmarc.thisip.pwFrom: avec les domaines utilisés dans les vérifications SPF et DKIM pour s'assurer qu'ils sont alignés (c'est-à-dire qu'ils correspondent ou sont sous le même domaine)p=none) : le message est traité normalementp=quarantine) :le message est marqué comme suspect, souvent envoyé dans le dossier spamp=reject) : le message est rejeté et ne parvient pas au destinataire_dmarc.thisip.pw IN TXT "v=DMARC1; p=reject; rua=mailto:rapports@thisip.pw; ruf=mailto:alerte@thisip.pw; pct=100; sp=none; aspf=r; adkim=r;"
Explication des paramètres :
v=DMARC1 : version du protocole DMARCp=reject : politique pour le domaine principal (ici, rejeter les courriels non conformes)rua=mailto:rapports@thisip.pw : adresse où les rapports agrégés doivent être envoyésruf=mailto:forensic@thisip.pw : adresse pour les rapports forensiques (détaillés)pct=100 : pourcentage des courriels auxquels appliquer la politique (ici, 100%)sp=none : politique pour les sous-domaines (ici, aucune action)aspf=r : mode d'alignement SPF (relâché)adkim=r : mode d'alignement DKIM (relâché)p=none pour surveiller sans affecter la délivrabilitép=quarantine pour mettre en quarantaine les courriels non conformesp=reject pour rejeter les courriels non authentifiésL'alignement est un concept clé dans DMARC qui assure que les domaines utilisés dans SPF et DKIM correspondent au domaine de l'en-tête From: visible par le destinataire.
From:From:Il existe deux modes d'alignement :
s) : les domaines doivent correspondre exactementr) : les domaines peuvent être des sous-domaines du domaine principalFrom: est falsifiéFrom: est authentifié par SPF et/ou DKIMEn résumé, DMARC est un outil puissant pour renforcer la sécurité des courriels en permettant aux domaines d'indiquer aux serveurs récepteurs comment traiter les courriels non authentifiés. Ils fournissent des rapports détaillés pour surveiller et analyser l'utilisation de votre domaine en réduisant les risques associés au phishing, au spam et à l'usurpation d'identité.
La mise en œuvre de DMARC, en combinaison avec SPF et DKIM, est fortement recommandée pour toute organisation souhaitant protéger sa réputation et assurer la confiance dans ses communications par courriel.
Un enregistrement DNS TXT (pour « Text ») est un type d'enregistrement dans le système de noms de domaine (DNS) qui permet aux administrateurs de domaines d'associer des informations textuelles à un nom de domaine. Ces enregistrements sont polyvalents et sont largement utilisés pour diverses applications, notamment en matière de sécurité, d'authentification des courriels et de vérification de propriété.
Enregistrement SPF : v=spf1 include:_spf.thisip.pw ~all
Cet enregistrement indique que les serveurs listés dans _spf.thisip.pw sont autorisés à envoyer des courriels pour le domaine thisip.pw, et que tous les autres doivent être traités avec souplesse (~all).
Clé publique DKIM : v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A…
Ici, la clé publique utilisée pour vérifier les signatures DKIM est publiée, permettant aux serveurs récepteurs de valider l'authenticité des courriels.
Politique DMARC : v=DMARC1; p=quarantine; rua=mailto:rapports@thisip.pw
Cette politique indique que les courriels non conformes doivent être mis en quarantaine, et que les rapports DMARC doivent être envoyés à rapports@thisip.pw.
Vérification de propriété pour Google sur le domaine google.com : google-site-verification=4ibFUgB-wXLQ_S7vsXVomSTVamuOXBiVAzpR5IZ87D0.
Cet enregistrement est utilisé par Google pour vérifier que vous êtes le propriétaire du domaine.
Vérification de propriété pour Apple sur le domaine google.com : apple-domain-verification=30afIBcvSuDV2PLX.
Cet enregistrement est utilisé par Apple pour vérifier que le propriétaire est en possession du domaine.
Sécurité des courriels : ils jouent un rôle crucial dans la lutte contre le spam et le phishing en permettant la mise en place de SPF, DKIM et DMARC.
Vérification de domaine : facilitent la validation de la propriété du domaine par des services tiers, améliorant ainsi l'intégration avec divers outils et plateformes.
Flexibilité : permettent d'ajouter des informations personnalisées pour des besoins spécifiques, offrant une grande souplesse dans la gestion du domaine.
Points à considérer :
En résumé, un enregistrement DNS TXT est un outil polyvalent essentiel dans la gestion d'un domaine. Il permet d'associer des informations textuelles à un nom de domaine, jouant un rôle clé dans l'authentification des courriels, la sécurité, la vérification de propriété et la configuration de divers services. Une gestion appropriée des enregistrements TXT contribue à renforcer la confiance dans vos communications et services en ligne.
Get-NetAdapterSet-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("80.67.169.12", "80.67.169.40")Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("2001:910:800::12", "2001:910:800::40") -AddressFamily IPv6Get-DnsClientServerAddressSet-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddressesnetsh interface show interfacenetsh interface ipv4 set dnsservers "Wi-Fi" static 1.1.1.1 primarynetsh interface ipv4 add dnsservers "Wi-Fi" 1.0.0.1 index=2netsh interface ipv6 set dnsservers "Wi-Fi" static 1.1.1.1 primarynetsh interface ipv6 add dnsservers "Wi-Fi" 1.0.0.1 index=2netsh interface ipv4 set dnsservers "Wi-Fi" static 1.1.1.1 primarynetsh interface ipv4 add dnsservers "Wi-Fi" 1.0.0.1 index=2netsh interface ipv6 set dnsservers "Wi-Fi" static 2606:4700:4700::1111 primarynetsh interface ipv6 add dnsservers "Wi-Fi" 2606:4700:4700::1001 index=2netsh interface ipv4 show dnsservers "Wi-Fi"netsh interface ipv6 show dnsservers "Wi-Fi"netsh interface ipv4 set dnsservers "Wi-Fi" dhcpMéthode 1 : modification du fichier /etc/resolv.conf
/etc/resolv.conf :
sudo nano /etc/resolv.confnameserver 8.8.8.8
nameserver 8.8.4.4sudo systemctl restart networkingMéthode 2 : configuration via /etc/network/interfaces
Si vous utilisez une configuration statique pour vos interfaces réseau, vous pouvez ajouter vos serveurs DNS dans le fichier /etc/network/interfaces
/etc/network/interfaces :
sudo nano /etc/network/interfaceseth0) et ajoutez les lignes DNS comme suit :
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4sudo systemctl restart networkingMéthode 3 : utilisation de nmcli (pour NetworkManager)
Si vous utilisez NetworkManager pour gérer vos connexions réseau, vous pouvez utiliser l'outil nmcli pour configurer les serveurs DNS.
nmcli connection showsudo nmcli connection modify 'Wired connection 1' ipv4.dns "8.8.8.8 8.8.4.4"sudo nmcli connection down 'Wired connection 1' && sudo nmcli connection up 'Wired connection 1'sudo systemctl restart networkingMéthode 1 : via Fichier de configuration
Depuis Ubuntu 18.04, vous devez effectuer la modification dans les configurations netplan à /etc/netplan/*.yaml, ce fichier pourrait être 50-cloud-init.yaml ou quelque chose comme 01-netcfg.yaml.
/etc/netplan/01-netcfg.yaml :
sudo nano /etc/netplan/01-netcfg.yamlnameservers:
addresses:
- 198.51.100.1
- 203.0.113.1nameservers:
addresses:
- 185.222.222.222
- 45.11.45.11
sudo netplan applysystemd-resolve --statusMéthode 2 : via l’interface graphique