27/07/2024

Office 365PowerShell

Comment ajouter un nouveau domaine dans Office 365 ?

I. Présentation

Ça y est, vous êtes fin prêts à abandonner votre serveur Exchange On Premise (hébergé chez vous), pour migrer vers un serveur Exchange Online.

C’est d’ailleurs dans votre intérêt si vous n’avez pas les compétences en interne pour maintenir ce serveur au quotidien, au vu des dernières failles de sécurité identifiées sur Exchange. L’avantage avec Exchange Online, c’est que c’est Microsoft qui s’occupe de tout.

Enfin presque tout. Car le paramétrage du serveur reste à votre charge. Normal, me direz-vous.

Dans cet article, je vais m’attarder sur la bonne manière de configurer les enregistrements DNS d’Exchange Online. Mais on ne traitera pas de toute la configuration du serveur, car ça pourrait faire un cours complet.

II. Prérequis

Pour suivre ce tutoriel, il vous faudra respecter plusieurs prérequis :

  • Déjà, avoir un serveur Exchange Online prêt à l’emploi, c'est-à-dire un abonnement Office 365 avec la messagerie.
  • Posséder les licences Office365 nécessaires pour l’utilisation de la messagerie. Si votre entreprise a opté pour un pack de licences (E3, E5), c’est déjà dedans.
  • Un nom de domaine enregistré au nom de votre entreprise ou à votre propre nom, et sur lequel vous avez la main pour modifier la zone DNS.
  • PowerShell en version 5.1 ou +

Si vous partez de zéro, consultez directement ce tutoriel : comment créer un tenant Office 365 / Microsoft 365 ?

III. Configurer un nouveau domaine (via le centre d'administration)

Pour pouvoir envoyer des mails via un domaine personnalisé, il faut commencer par le déclarer dans Exchange Online.

Connectez-vous sur le centre d’administration de votre tenant Microsoft 365 : admin.microsoft.com, puis allez dans le menu Paramètres, puis Domaines.

Cliquez sur le bouton Ajouter un domaine, et renseignez le nom de domaine à ajouter. Par exemple : mondomaine.com.

On vous demande alors de valider que vous êtes bien le propriétaire de ce nom de domaine. Comment faire ? Plusieurs méthodes s’offrent à vous. Je vous recommande personnellement la première : l’ajout d’un enregistrement TXT à votre zone DNS. Simple et efficace.

L’utilitaire de configuration va essayer de détecter le fournisseur d’hébergement DNS, autrement dit le fournisseur chez qui vous avez acheté votre nom de domaine et chez qui vous vous connectez pour modifier votre zone DNS. Dans notre cas, il s’agit d’Azure, mais vous pouvez très bien le modifier manuellement si la détection n’a pas fait correctement son job.

On vous donne alors les informations à ajouter dans votre nouvel enregistrement TXT sur votre zone DNS :

  • Nom TXT
    • @ (ou ignorer s'il n'est pas pris en charge par le fournisseur)
  • Valeur TXT
    • MS=ms57389148
  • Durée de vie
    • 3600 secondes (ou la valeur par défaut de votre fournisseur)

La procédure exacte pour ajouter cet enregistrement chez votre registrar DNS peut changer en fonction de chez qui vous êtes. Pour l’exemple, je vais vous montrer comment faire sur l’interface de Gandi. Bien sûr, les menus peuvent être différents en fonction de votre fournisseur.

Une fois sur la zone DNS de votre nom de domaine, cliquez sur le bouton Ajouter, puis choisissez TXT comme type d’enregistrement DNS :

Configurer la valeur TTL (Time To Live, ou Durée De Vie) à la valeur préconisée par Microsoft, soit : 3600 secondes.

Mettre @ ou laisser vide le nom de votre enregistrement DNS. Ce point peut différer en fonction de votre interface de gestion DNS.

Enfin dans la zone de texte, renseignez la valeur donnée par Microsoft, soit : MS=ms67153608

Une fois l’enregistrement créé, retournez sur l’interface de Microsoft, et cliquez sur le bouton Vérifier.

Si la propriété du nom de domaine est vérifiée, vous passez à l’étape suivante de configuration. Sinon, vous obtiendrez une erreur. En règle générale, l’erreur vient d’un mauvais enregistrement TXT : vous avez pu oublier le @ ou faire un mauvais copier / coller.

Cliquez sur Continuer.

Pour que les mails en provenance et à destination de votre nom de domaine puissent être correctement routés par Microsoft 365, vous avez encore quelques étapes à respecter : Configurer dans votre zone DNS les enregistrements MX, CNAME, TXT.

L’enregistrement MX indique quel est le serveur de messagerie, et indique également la priorité associée à chaque serveur s’il y en a plusieurs. Cela permet de dire via votre zone DNS quel est votre serveur de messagerie préféré, et également de configurer un serveur de messagerie secondaire.

Comme tout à l’heure, créez un nouvel enregistrement dans votre zone DNS, mais cette fois de type MX.

Créez ensuite les enregistrements CNAME et TXT demandés :

L’enregistrement CNAME « autodiscover » permet de faciliter la configuration de votre client de messagerie Outlook : il suffit d’entrer le nom de l’utilisateur et son mot de passe et la configuration serveur s’effectue automatiquement.

ATTENTION : La valeur à renseigner est bien autodiscover.outlook.com. avec un point à la fin. Cela indique à votre zone DNS que vous pointez vers une autre zone DNS, soit dans notre cas l’enregistrement autodiscover.outlook.com. Si vous oubliez le point à la fin, vous pointerez alors sur autodiscover.outlook.com.votrezonedns.extension. Ce qui ne fonctionnera pas.

L’enregistrement TXT est ce qu’on appelle un enregistrement SPF.

Vérifiez les enregistrements une fois que vous êtes prêts. Microsoft va alors interroger vos serveurs DNS pour vérifier la conformité des enregistrements, et vous remonte les erreurs s’il y en a. Par exemple, dans mon cas :

Là c’est plutôt explicite : un enregistrement SPF existait déjà sur ma zone DNS, automatiquement ajouté par Gandi. Il me reste à le supprimer et on sera bon.

NOTE : Vous pouvez aussi être amenés à supprimer des enregistrements de type MX, automatiquement ajoutés sur votre zone DNS.

Tous vos enregistrements DNS devraient maintenant être valides.

IV. Configurer un nouveau domaine (via PowerShell)

Pour effectuer la même manipulation sous PowerShell, une fois connecté à votre tenant Microsoft 365 via PowerShell, tapez la commande suivante :

New-MsolDomain -Name "mondomaine.com"

On demande ensuite les enregistrements DNS pour procéder à la vérification de la propriété du domaine :

Get-MsolDomainVerificationDns -DomainName "mondomaine.com" -Mode DnsTxtRecord

Comme dans la procédure manuelle, on se connecte sur notre espace de gestion Noms de domaine / Zones DNS, pour ajouter l’enregistrement TXT validant la propriété du nom de domaine.

On vérifie ensuite la propriété :

Confirm-MsolDomain -DomainName "mondomaine.com"

À ce stade, ce n’est plus si évident de récupérer les enregistrements MX, CNAME, et SPF pour les configurer ensuite dans votre zone DNS. Il est préférable de finir cette partie-là à la main.

Mais si vous êtes comme moi, et que vous aimez bien tout automatiser alors la suite est pour vous.

Vous aurez besoin du module AzureAD sur votre PC.

Install-Module AzureAD

Import-Module AzureAD

Connectez-vous ensuite à votre AzureAD :

Connect-AzureAD

Tapez la commande suivante pour récupérer les informations permettant de créer les enregistrements MX, CNAME et TXT :

Get-AzureADDomainServiceConfigurationRecord -Name coosol.net | Select Label, RecordType, Ttl, MailExchange, Preference, Text, CanonicalName

Si le label correspond à votre nom de domaine, lorsque vous ajouterez cet enregistrement DNS, cela correspond au @.

ATTENTION : Sur l’enregistrement CNAME, il vous faudra ajouter un point à autodiscover.outlook.com, sinon vous vous retrouverez avec un enregistrement du type autodiscover.outlook.com.mondomaine.com ce qui n’est pas du tout ce que vous souhaitez.

 

V. Script PowerShell - Récupérer les enregistrements DNS à créer

Pour aller encore plus loin, voici un script qui vous retourne en sortie un tableau propre des enregistrements DNS à ajouter dans votre zone DNS.

On réutilise les mêmes commandes que précédemment, mais cette fois on reformate les données pour que ce soit plus lisible en sortie.

#Install-Module AzureAD -Force
Import-Module AzureAD
Connect-AzureAD -Credential (Get-Credential)
$domain = "coosol.net"
$result = @()
$DNSRecords = (Get-AzureADDomainServiceConfigurationRecord -Name $domain | Select Label, RecordType, Ttl, MailExchange, Preference, Text, CanonicalName)
Foreach ($DNSRecord in $DNSRecords) {
    if ($DNSRecord.Label -eq $domain) {
        $Label = "@"
    }
    else {
        $Label = $DNSRecord.Label
    }
    $ttl = $DNSRecord.ttl + " secondes"
    switch ( $DNSRecord.RecordType )
    {
        Mx
        {
            #Enregistrement DNS de type MX
            $result += [PSCustomObject]@{
                Type = "MX"
                TTL = $ttl
                Nom = $Label
                Priorite = $DNSRecord.Preference
                Valeur = $DNSRecord.MailExchange
            }
        }
        Txt
        {
            #Enregistrement DNS de type TXT (SPF)
            $result += [PSCustomObject]@{
                Type = "TXT"
                TTL = $ttl
                Nom = $Label
                Valeur = $DNSRecord.Text
            }
        }
        Cname
        {
            #Enregistrement DNS de type CNAME
            $Valeur = $DNSRecord.CanonicalName + "."
            $result += [PSCustomObject]@{
                Type = "CNAME"
                TTL = $ttl
                Nom = "autodiscover"
                Valeur = $Valeur
            }
        }
    }
}
Clear-Host
Write-Output "Enregistrements DNS à créer :`n"
Write-Output $result

 

VI. Comment vérifier l'intégrité d'un nom de domaine sur Office 365 ?

À partir du centre d’administration admin.microsoft.com, allez dans Paramètres, puis dans Domaines.

Sélectionnez un domaine, cliquez sur le bouton Options (les 3 petits points), puis cliquez sur Vérifier l’état d’intégrité. Tous vos enregistrements devraient être au vert :

VII. À quoi sert un enregistrement SPF ?

Le sigle SPF veut dire Sender Policy Framework. Concrètement, et sans rentrer dans les détails, cet enregistrement SPF est couramment utilisé pour sécuriser nos serveurs de messagerie, plus particulièrement pour vérifier les adresses des expéditeurs.

Cela permet de vérifier qu’un email [email protected] provient bien du serveur de messagerie configuré pour relayer les mails du domaine mondomaine.com.

Cette vérification est effectuée en arrière-plan par le serveur de messagerie et n’est en aucun cas visible de l’utilisateur final.

VIII. Conclusion

Félicitations ! Vous avez configuré votre premier domaine sur Office365. Vous pouvez maintenant créer de nouvelles boîtes de messagerie et commencer à envoyer des mails.

Mais si vous souhaitez sécuriser un peu plus votre envoi / réception de mails, je vous invite à configurer également vos enregistrements DNS DKIM / DMARC.

author avatar
Thibault Baheux Responsable Infrastructure IT
Responsable Infrastructure IT, Geek, Manager de geeks, Je travaille au quotidien sur une infra Cloud privée / Cloud Azure, aussi bien Windows que Linux. Je me passionne pour Azure, la sécurité IT, le management de projets & la programmation objet (PowerShell / Python). Si je ne suis pas derrière mon clavier, vous me trouverez dans une salle de blocs ou devant un bon mur d’escalade.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.