Usare DKIM per convalidare la posta elettronica in uscita inviata dal dominio personalizzato

Importante

Il nuovo portale di Microsoft 365 Defender è ora disponibile. Questa nuova esperienza porta Defender per Endpoint, Defender per Office 365, Microsoft 365 Defender e altro ancora nel portale Microsoft 365 Defender. Informazioni sulle novità.

Si applica a

Questo articolo illustra la procedura per usare DomainKeys Identified Mail (DKIM) insieme a Microsoft 365 per garantire che i sistemi di posta elettronica di destinazione ritengano attendibili i messaggi in uscita inviati dal dominio personalizzato.

Contenuto dell'articolo:

Nota

Microsoft 365 configura automaticamente DKIM per i domini "onmicrosoft.com" iniziali. Questo vuol dire che non è necessario eseguire alcuna operazione per configurare DKIM per il nome di dominio iniziale, ad esempio litware.onmicrosoft.com. Per ulteriori informazioni sui domini, vedere Domande frequenti sui domini.

DKIM è uno dei tre metodi di autenticazione (SPF, DKIM e DMARC) che consentono di impedire agli utenti malintenzionati di inviare messaggi che sembrano provenire dal proprio dominio.

DKIM consente di aggiungere una firma digitale nell'intestazione dei messaggi di posta elettronica in uscita. Quando si configura DKIM, il dominio viene autorizzato ad associare (oppure firmare) il proprio nome a un messaggio di posta elettronica usando l'autenticazione di crittografia. I sistemi di posta elettronica che ricevono messaggi dal dominio dell'utente possono usare questa firma digitale per stabilire la legittimità del messaggio ricevuto.

Fondamentalmente, una chiave privata crittografa l'intestazione nel messaggio di posta elettronica in uscita di un dominio. La chiave pubblica viene pubblicata nei record DNS del dominio e i server di ricezione possono usarla per decodificare la firma. La verifica DKIM consente ai server di ricezione di verificare che la posta provenga effettivamente dal proprio dominio e non da un utente che effettua lo spoofing del proprio dominio.

Suggerimento

È possibile scegliere di non eseguire alcuna operazione su DKIM anche per il dominio personalizzato. Se non si configura DKIM per il dominio personalizzato, Microsoft 365 crea una coppia di chiavi pubblica e privata, abilita la firma DKIM e configura il criterio predefinito di Microsoft 365 per il dominio personalizzato.

Sebbene la configurazione DKIM predefinita di Microsoft 365 sia sufficiente per la maggior parte dei clienti, è necessario configurare manualmente DKIM per il proprio dominio personalizzato nei casi seguenti:

  • Sono disponibili più domini personalizzati in Microsoft 365
  • Si intende configurare anche DMARC (scelta consigliata)
  • Si desidera gestire la chiave privata
  • Si desidera personalizzare i record CNAME
  • Si configurano le chiavi DKIM per la posta elettronica creata da un dominio di terze parti, ad esempio, un mailer di massa di terze parti.

In che modo DKIM è più efficace della sola estensione SPF nel prevenire lo spoofing dannoso

SPF consente di aggiungere informazioni alla busta del messaggio, ma DKIM esegue la crittografia di una firma all'interno dell'intestazione del messaggio. Quando si inoltra un messaggio, alcune parti della busta possono essere eliminate dal server di inoltro. Dal momento che la firma digitale rimane unita al messaggio di posta elettronica perché fa parte dell'intestazione, DKIM funziona anche quando un messaggio è stato inoltrato come mostrato nell'esempio seguente.

Diagramma che mostra il messaggio inoltrato che supera l'autenticazione DKIM laddove il controllo SPF ha esito negativo.

In questo esempio, se è stato pubblicato soltanto un record SPF TXT per il dominio, il server di posta del mittente avrebbe potuto contrassegnare la posta come indesiderata e generare un risultato falso positivo. L'aggiunta di DKIM in questo scenario riduce i rapporti spam falsi positivi. Dal momento che DKIM si affida alla crittografia della chiave pubblica per eseguire l'autenticazione e non soltanto agli indirizzi IP, la chiave DKIM è considerata come una forma di autenticazione più affidabile rispetto a SPF. È opportuno utilizzare sia SPF che DKIM e DMARC nella propria distribuzione.

Suggerimento

In sostanza, DKIM utilizza una chiave privata per inserire una firma crittografata all'interno delle intestazioni dei messaggi. Il dominio di firma o dominio di uscita viene inserito come valore del campo d= nell'intestazione. Il dominio di verifica o dominio del destinatario utilizza il campo d= per cercare la chiave pubblica dal DNS ed esegue l'autenticazione del messaggio. Se il messaggio viene verificato, i controlli DKIM hanno esito positivo.

Passaggi per creare, abilitare e disabilitare DKIM dal portale di Microsoft 365 Defender

Tutti i domini accettati del tenant verranno visualizzati nel portale Microsoft 365 Defender nella pagina DKIM. Se non lo vedi, aggiungi il tuo dominio accettato dallapagina dei domini. Una volta aggiunto il tuo dominio, segui i passaggi come mostrato di seguito per configurare DKIM.

Passaggio 1: Fare clic sul dominio in cui si vuole configurare DKIM nella pagina DKIM (https://security.microsoft.com/dkimv2 or https://protection.office.com/dkimv2).

Pagina DKIM nel portale di Microsoft 365 Defender con un dominio selezionato.

Passaggio 2: Fare clic su Crea chiavi DKIM.

Riquadro a comparsa Dettagli dominio con il pulsante Crea chiavi DKIM.

Passaggio 3: Copiare i record CNAME visualizzati nella finestra popup.

Pubblica la finestra popup dei record CNAME contenente i due record CNAME da copiare.

Passaggio 4: pubblica i record CNAME copiati sul tuo provider di servizi DNS.

Nel sito Web del provider DNS, aggiungere i record CNAME per ogni servizio DKIM che si vuole connettere. Verificare che i campi siano impostati sui valori seguenti per ciascun:

Record Type: CNAME (Alias)
> Host: Paste the values you copy from DKIM page.
Points to address: Copy the value from DKIM page.
TTL: 3600 (or your provider default)

Passaggio 5: tornare alla pagina DKIM per abilitare DKIM.

Spostare l'interruttore su Attiva per abilitare DKIM.

Se che il record CNAME non esiste, il motivo potrebbe essere:

  1. Sincronizzazione con il server DNS, che potrebbe richiedere da pochi secondi a ore, se il problema persiste ripetere nuovamente i passaggi
  2. Controlla eventuali errori di copia incolla, come spazio aggiuntivo o schede, ecc.

Se desideri disabilitare DKIM, torna alla modalità di disabilitazione

Procedura per aggiornare manualmente le chiavi a 1024 bit in chiavi di crittografia DKIM a 2048 bit

Nota

Microsoft 365 configura automaticamente DKIM per i domini onmicrosoft.com. Non sono necessari passaggi per usare DKIM per i nomi di dominio iniziali, ad esempio litware.onmicrosoft.com. Per altre informazioni sui domini, vedere Domande frequenti sui domini.

Dal momento che sono supportate le chiavi di crittografia DKIM sia a 1024 che a 2048 bit, queste indicazioni sono per l'aggiornamento da 1024 bit a 2048 in PowerShell per Exchange Online. La procedure seguenti si riferiscono a due casi di utilizzo, scegliere quella più idonea alla configurazione in uso.

  • Quando DKIM è già configurato, per modificare (ruotare) il numero di bit eseguire il comando seguente:

    Rotate-DkimSigningConfig -KeySize 2048 -Identity {Guid of the existing Signing Config}
    

    oppure

  • Per una nuova implementazione di DKIM, eseguire il comando seguente:

    New-DkimSigningConfig -DomainName <Domain for which config is to be created> -KeySize 2048 -Enabled $true
    

Rimanere connessi a PowerShell per Exchange Online per verificare la configurazione eseguendo il comando seguente:

Get-DkimSigningConfig -Identity <Domain for which the configuration was set> | Format-List

Suggerimento

Questa nuova chiave a 2048 bit verrà applicata in data RotateOnDate e, nel frattempo, i messaggi di posta elettronica verranno inviati con la chiave a 1024 bit. Dopo quattro giorni, ossia dopo l'applicazione della modifica al secondo selettore, è possibile eseguire di nuovo il test con la chiave a 2048 bit.

Se si vuole ruotare il secondo selettore, dopo quattro giorni e dopo aver confermato che sono in uso 2048 bit, ruotare manualmente la chiave del secondo selettore utilizzando il cmdlet appropriato indicato in precedenza.

Per informazioni dettagliate sulla sintassi e sui parametri, vedere gli articoli seguenti: Rotate-DkimSigningConfig, New-DkimSigningConfig e Get-DkimSigningConfig.

Procedura per configurare manualmente DKIM

Per configurare DKIM, eseguire la procedura seguente:

Pubblicare due record CNAME per il dominio personalizzato in DNS

Per ogni dominio al quale si intende aggiungere una firma DKIM in DNS è necessario pubblicare due record CNAME.

Nota

Se non si è letto l'articolo completo, probabilmente si sono perse le informazioni rapide sulla connessione a PowerShell: Connettersi a PowerShell per Exchange Online.

Eseguire i comandi seguenti in PowerShell per Exchange Online per creare i record dei selettori:

New-DkimSigningConfig -DomainName <domain> -Enabled $false
Get-DkimSigningConfig -Identity <domain> | Format-List Selector1CNAME, Selector2CNAME

Se è stato eseguito il provisioning di domini personalizzati oltre al dominio iniziale in Microsoft 365, è necessario pubblicare due record CNAME per ogni dominio aggiuntivo. Pertanto, se sono disponibili due domini, è necessario pubblicare altri due record CNAME e così via.

Per i record CNAME, usare il formato seguente.

Importante

Per i clienti di GCC High, il domainGuid viene calcolato in modo diverso. Per calcolare il domainGuid non viene più cercato il record MX di initialDomain ma viene calcolato direttamente dal dominio personalizzato. Ad esempio, se il dominio personalizzato è "contoso.com" il domainGuid diventerà "contoso-com", ovvero i punti verranno sostituiti da un trattino. Per questo motivo, indipendentemente dal record MX a cui punta initialDomain, si userà sempre il metodo riportato sopra per calcolare il domainGuid da usare nei record CNAME.

Host name:            selector1._domainkey
Points to address or value:    selector1-<domainGUID>._domainkey.<initialDomain>
TTL:                3600

Host name:            selector2._domainkey
Points to address or value:    selector2-<domainGUID>._domainkey.<initialDomain>
TTL:                3600

Dove:

  • Per Microsoft 365, i selettori saranno sempre "selector1" o "selector2".

  • domainGUID corrisponde al domainGUID nel record MX personalizzato del dominio personalizzato visualizzato prima di mail.protection.outlook.com. Ad esempio, nel seguente record MX per il dominio contoso.com, il domainGUID è contoso-com:

    contoso.com. 3600 IN MX 5 contoso-com.mail.protection.outlook.com

  • initialDomain è il dominio usato per l'iscrizione a Microsoft 365. I domini iniziali terminano sempre in onmicrosoft.com. Per informazioni sulla determinazione del dominio iniziale, vedere Domande frequenti sui domini.

Ad esempio, se si dispone di un dominio iniziale di cohovineyardandwinery.onmicrosoft.com e di due domini personalizzati cohovineyard.com e cohowinery.com, è necessario configurare due record CNAME per ogni dominio aggiuntivo, per un totale di quattro record CNAME.

Host name:            selector1._domainkey
Points to address or value:    selector1-cohovineyard-com._domainkey.cohovineyardandwinery.onmicrosoft.com
TTL:                3600

Host name:            selector2._domainkey
Points to address or value:    selector2-cohovineyard-com._domainkey.cohovineyardandwinery.onmicrosoft.com
TTL:                3600

Host name:            selector1._domainkey
Points to address or value:    selector1-cohowinery-com._domainkey.cohovineyardandwinery.onmicrosoft.com
TTL:                3600

Host name:            selector2._domainkey
Points to address or value:    selector2-cohowinery-com._domainkey.cohovineyardandwinery.onmicrosoft.com
TTL:                3600

Nota

È importante creare il secondo record, ma solo uno dei selettori può essere disponibile al momento della creazione. In sostanza, il secondo selettore potrebbe puntare a un indirizzo che non è ancora stato creato. È comunque consigliabile creare il secondo record CNAME, perché la rotazione delle chiavi non venga interrotta.

Procedura per abilitare la firma DKIM per il dominio personalizzato

Dopo aver pubblicato i record CNAME in DNS, è possibile abilitare la firma DKIM tramite Microsoft 365. È possibile eseguire questa operazione tramite l'interfaccia di amministrazione di Microsoft 365 oppure PowerShell.

Per abilitare la firma DKIM per il dominio personalizzato nel portale di Microsoft 365 Defender

  1. Aprire il portale Microsoft 365 Defender usando l'account aziendale o dell'istituto di istruzione.

  2. Passare a Posta elettronica e collaborazione > Criteri e regole > Criteri per minaccia > DKIM nella sezione Regole. In alternativa, per passare direttamente alla pagina DKIM, usare https://security.microsoft.com/dkimv2.

  3. Nella pagina DKIM selezionare il dominio facendo clic sul nome.

  4. Nel riquadro a comparsa dei dettagli che compare, modifica l'impostazione Firma messaggi per questo dominio con firme DKIM su Abilitato (Attiva.)

    Al termine, fare clic su Ruota chiavi DKIM.

  5. Ripetere questi passaggi per ogni dominio personalizzato.

  6. Se si configura DKIM per la prima volta e viene visualizzato l'errore "Nessuna chiave DKIM salvata per questo dominio", sarà necessario usare Windows PowerShell per abilitare la firma DKIM, come illustrato nel passaggio successivo.

Per abilitare la firma DKIM del dominio personalizzato usando PowerShell

Importante

L'errore &quot;Nessuna chiave DKIM salvata per il dominio&quot;. Se si configura DKIM per la prima volta e viene visualizzato l'errore "Nessuna chiave DKIM salvata per questo dominio", completare il comando nel passaggio 2 seguente (ad esempio, Set-DkimSigningConfig -Identity contoso.com -Enabled $true) per visualizzare la chiave.

  1. Connettersi a PowerShell per Exchange Online.

  2. Usare la sintassi seguente:

    Set-DkimSigningConfig -Identity <Domain> -Enabled $true
    

    <Domain> è il nome del dominio personalizzato per cui si vuole abilitare la firma DKIM.

    In questo esempio viene abilitata la firma DKIM per il dominio contoso.com:

    Set-DkimSigningConfig -Identity contoso.com -Enabled $true
    

Per confermare che la firma DKIM sia configurata in modo corretto in Microsoft 365

Attendere qualche minuto prima di effettuare i passaggi seguenti e confermare di aver configurato DKIM in modo corretto. In questo modo, le informazioni DKIM sul dominio possono essere distribuite nella rete.

  • Inviare un messaggio da un account incluso nel dominio di Microsoft 365 con DKIM abilitato a un altro account di posta elettronica, ad esempio, outlook.com o Hotmail.com.

  • Non utilizzare un account aol.com per effettuare test. AOL potrebbe ignorare il controllo DKIM se la verifica SPF ha esito positivo. In questo modo, il test verrebbe annullato.

  • Aprire il messaggio e osservare l’intestazione. Le istruzioni per visualizzare l’intestazione del messaggio variano in base al client di messaggistica usato. Per istruzioni sulla visualizzazione delle intestazioni dei messaggi in Outlook, vedere Visualizzare le intestazioni dei messaggi ricevuti tramite internet in Outlook.

    Il messaggio con firma DKIM conterrà il nome host e il dominio definiti durante la pubblicazione delle voci CNAME. Il messaggio avrà un aspetto analogo a quello riportato nell'esempio:

      From: Example User <example@contoso.com>
      DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
          s=selector1; d=contoso.com; t=1429912795;
          h=From:To:Message-ID:Subject:MIME-Version:Content-Type;
          bh=<body hash>;
          b=<signed field>;
    
  • Cercare l'intestazione Authentication-Results. Anche se ogni servizio di ricezione utilizza un formato differente per indicare la posta in arrivo, il risultato deve includere DKIM=pass o DKIM=OK.

Per configurare DKIM per più domini personalizzati

Se in futuro si decide di aggiungere un altro dominio personalizzato e di abilitare DKIM per il nuovo dominio, è necessario eseguire la procedura indicata in questo articolo per ogni dominio. In particolare, completare tutti i passaggi elencati in Operazioni necessarie per configurare manualmente DKIM.

Disabilitazione del criterio di firma DKIM per un dominio personalizzato

La disabilitazione del criterio di firma non disattiva completamente DKIM. Dopo un determinato periodo di tempo, Microsoft 365 applica automaticamente il criterio predefinito per il dominio se il criterio predefinito è ancora abilitato. Se si desidera disabilitare completamente DKIM, è necessario disabilitare DKIM nei domini personalizzati e predefiniti. Per ulteriori informazioni, vedere Comportamento predefinito per DKIM e Microsoft 365.

Per disabilitare il criterio di firma DKIM usando Windows PowerShell

  1. Connettersi a PowerShell per Exchange Online.

  2. Eseguire uno dei comandi seguenti per ogni dominio per il quale si desidera disabilitare la firma DKIM.

    $p = Get-DkimSigningConfig -Identity <Domain>
    $p[0] | Set-DkimSigningConfig -Enabled $false
    

    Ad esempio:

    $p = Get-DkimSigningConfig -Identity contoso.com
    $p[0] | Set-DkimSigningConfig -Enabled $false
    

    Oppure

    Set-DkimSigningConfig -Identity $p[<number>].Identity -Enabled $false
    

    Dove number è l'indice del criterio. Ad esempio:

    Set-DkimSigningConfig -Identity $p[0].Identity -Enabled $false
    

Comportamento predefinito per DKIM e Microsoft 365

Se non si abilita DKIM, Microsoft 365 crea automaticamente una chiave pubblica DKIM a 2048 bit per il dominio MOERA (Microsoft Online Email Routing Address) e la chiave privata associata archiviata internamente nel datacenter. Per impostazione predefinita, Microsoft 365 utilizza una configurazione di firma predefinita per i domini che non dispongono di un criterio. Ciò significa che se l'utente non configura DKIM, Microsoft 365 utilizza il criterio predefinito e le chiavi create per abilitare DKIM nel dominio.

Inoltre, se si disabilita la firma DKIM sul dominio personalizzato dopo l'abilitazione, dopo un determinato periodo di tempo, Microsoft 365 applica automaticamente il criterio di dominio MOERA/iniziale per il dominio personalizzato.

Nell'esempio seguente, considerare che la chiave DKIM per fabrikam.com sia stata abilitata da Microsoft 365 e non dall'amministratore del dominio. Questo errore indica che i record CNAME necessari non sono presenti nel sistema DNS. Le firme DKIM per i messaggi di posta elettronica provenienti dal dominio avranno un aspetto analogo al seguente:

From: Second Example <second.example@fabrikam.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
    s=selector1-fabrikam-com; d=contoso.onmicrosoft.com; t=1429912795;
    h=From:To:Message-ID:Subject:MIME-Version:Content-Type;
    bh=<body hash>;
    b=<signed field>;

In questo caso, il nome host e il dominio includono i valori a cui dovrebbe puntare CNAME se la firma DKIM per fabrikam.com fosse stata abilitata dall'amministratore di dominio. Infine, ogni messaggio inviato da Microsoft 365 sarà firmato con la chiave DKIM. Se la chiave DKIM è stata abilitata dall'utente, il dominio sarà identico a quello dell'indirizzo "Da:", in questo caso, fabrikam.com. In caso contrario, non verrà allineato e utilizzerà il dominio iniziale dell'organizzazione. Per informazioni su come determinare il dominio iniziale, vedere Domande frequenti sui domini.

Configurare DKIM in modo che un servizio di terze parti possa inviare la posta elettronica o effettuarne lo spoofing per conto del dominio personalizzato dell'utente

Alcuni provider di servizi di posta elettronica in blocco o di software come servizio consentono di configurare le chiavi DKIM per la posta elettronica che viene creata dal servizio. Per configurare i record DNS necessari, l'utente e la terza parte devono essere coordinati. Alcuni server di terze parti possono avere i propri record CNAME con selettori diversi. Nessuna organizzazione esegue questa operazione nello stesso modo. Al contrario, il processo dipende interamente dell'organizzazione.

Messaggio di esempio che mostra come potrebbe essere una chiave DKIM correttamente configurata per contoso.com e bulkemailprovider.com:

Return-Path: <communication@bulkemailprovider.com>
 From: <sender@contoso.com>
 DKIM-Signature: s=s1024; d=contoso.com
 Subject: Here is a message from Bulk Email Provider's infrastructure, but with a DKIM signature authorized by contoso.com

In questo esempio, per raggiungere il risultato:

  1. Il provider di posta elettronica di massa ha fornito a Contoso una chiave DKIM pubblica.

  2. Contoso ha pubblicato la chiave DKIM nel suo record DNS.

  3. Durante l'invio della posta elettronica, il provider della posta elettronica inviata in blocco firma la chiave con quella privata corrispondente. In questo modo, il provider della posta elettronica inviata in blocco ha allegato la firma DKIM all'intestazione del messaggio.

  4. I sistemi di ricezione della posta elettronica eseguono un confronto tra il valore d=<domain>della chiave DKIM firmata e il dominio nell'indirizzo Da: (5322.From) del messaggio. In questo esempio, i valori corrispondono a:

    sender@contoso.com

    d=contoso.com

Identificare i domini che non inviano messaggi di posta elettronica

Le organizzazioni devono dichiarare esplicitamente se un dominio non invia messaggi di posta elettronica specificando v=DKIM1; p= nel record DKIM per tali domini. In questo caso, la ricezione dei server di posta elettronica non contiene chiavi pubbliche valide per il dominio e gli eventuali messaggi di posta elettronica che rivendicano il dominio devono essere rifiutati. Questa operazione deve essere eseguita per ogni dominio e sottodominio usando un carattere jolly DKIM.

Ad esempio, il record DKIM avrà un aspetto simile al seguente:

*._domainkey.SubDomainThatShouldntSendMail.contoso.com. TXT "v=DKIM1; p="

Passaggi successivi: dopo aver configurato DKIM per Microsoft 365

Sebbene la chiave DKIM sia stata realizzata per impedire lo spoofing, è più efficace se utilizzata con SPF e DMARC.

Dopo aver configurato DKIM, impostare SPF, se non è stato già fatto. Per una rapida introduzione e configurazione di SPF, vedere Configurare SPF in Microsoft 365 per impedire lo spoofing. Per informazioni più dettagliate su come Microsoft 365 usa SPF oppure per risolvere i problemi o per eseguire distribuzioni non standard (ad esempio, le distribuzioni ibride), iniziare da Come Microsoft 365 usa Sender Policy Framework (SPF) per impedire lo spoofing.

Successivamente, vedere Usare DMARC per convalidare la posta elettronica. Intestazioni dei messaggi della protezione da posta indesiderata include la sintassi e i campi di intestazione usati da Microsoft 365 per i controlli DKIM.

Questo test consente di verificare che la configurazione della firma DKIM sia stata configurata correttamente e che siano state pubblicate le voci DNS appropriate.

Altre informazioni

Rotazione delle chiavi tramite PowerShell: Rotate-DkimSigningConfig

Usare DMARC per convalidare la posta elettronica