Usare DKIM per convalidare la posta elettronica in uscita inviata dal dominio personalizzato
Consiglio
Sapevi che puoi provare gratuitamente le funzionalità in Microsoft 365 Defender per Office 365 Piano 2? Usare la versione di valutazione Defender per Office 365 di 90 giorni nell'hub delle versioni di valutazione del portale di Microsoft 365 Defender. Informazioni su chi può iscriversi e sulle condizioni di valutazione qui.
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:
- In che modo DKIM è più efficace della sola estensione SPF nel prevenire lo spoofing dannoso
- Passaggi per creare, abilitare e disabilitare DKIM dal portale di Microsoft 365 Defender
- Procedura per aggiornare manualmente le chiavi a 1024 bit in chiavi di crittografia DKIM a 2048 bit
- Procedura per configurare manualmente DKIM
- Procedura per configurare DKIM per più domini personalizzati
- Disabilitazione del criterio di firma DKIM per un dominio personalizzato
- Comportamento predefinito per DKIM e Microsoft 365
- 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
- Passaggi successivi: dopo aver configurato DKIM per Microsoft 365
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 ai messaggi di posta elettronica utilizzando l'autenticazione di crittografia. I sistemi di posta elettronica che ricevono la posta elettronica dal dominio possono usare questa firma digitale per verificare se la posta elettronica in arrivo è legittima.
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.
Consiglio
È possibile scegliere di non eseguire nessuna 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.
La configurazione DKIM predefinita di Microsoft-365 è sufficiente per la maggior parte dei clienti. Tuttavia, è necessario configurare manualmente DKIM per il dominio personalizzato nelle circostanze 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.
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 la segnalazione di posta indesiderata 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.
Consiglio
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: nella pagina DKIM selezionare il dominio da configurare.
Passaggio 2: far scorrere l'interruttore su Abilita. Apparirà una finestra pop-up che indica che è necessario aggiungere record CNAME.
Passaggio 3: Copiare i record CNAME visualizzati nella finestra popup.
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.
Se che il record CNAME non esiste, il motivo potrebbe essere:
- Sincronizzazione con il server DNS, che potrebbe richiedere da pochi secondi a ore, se il problema persiste ripetere nuovamente i passaggi
- 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 <DkimSigningConfigIdParameter>
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
Consiglio
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
- Abilitare la firma DKIM per il dominio personalizzato
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 customDomainIdentifier viene calcolato in modo diverso. Invece di cercare il record MX per consentire a initialDomain di calcolare il customDomainIdentifier, viene calcolato direttamente dal dominio personalizzato. Ad esempio, se il dominio personalizzato è "contoso.com", il customDomainIdentifier diventerà "contoso-com", ossia i punti verranno sostituiti da un trattino. Per questo motivo, indipendentemente dal record MX a cui punta initialDomain, si userà sempre il metodo riportato in precedenza per calcolare il customDomainIdentifier da usare nei record CNAME.
Host name: selector1._domainkey
Points to address or value: selector1-<customDomainIdentifier>._domainkey.<initialDomain>
TTL: 3600
Host name: selector2._domainkey
Points to address or value: selector2-<customDomainIdentifier>._domainkey.<initialDomain>
TTL: 3600
Dove:
Per Microsoft 365, i selettori saranno sempre "selector1" o "selector2".
customDomainIdentifier è uguale a customDomainIdentifier nel record MX personalizzato per il dominio personalizzato visualizzato prima dell'mail.protection.outlook.com. Ad esempio, nel record MX seguente per il dominio contoso.com, il customDomainIdentifier è contoso-com:
contoso.com. 3600 IN MX 5 contoso-com.mail.protection.outlook.com
initialDomain è il dominio usato al momento dell'iscrizione a Microsoft 365. I domini iniziali terminano sempre con onmicrosoft.com. Per informazioni su come determinare il 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 con PowerShell.
Per abilitare la firma DKIM per il dominio personalizzato nel portale di Microsoft 365 Defender
Nel portale di Microsoft 365 Defender in https://security.microsoft.compassare a Email &Criteri di collaborazione >& Regoleper> le > minacce Email Impostazioni di autenticazione nella sezione >RegoleDKIM. Per passare direttamente alla pagina DKIM, usare https://security.microsoft.com/dkimv2.
Nella pagina DKIM selezionare il dominio facendo clic sul nome.
Nel riquadro a comparsa dei dettagli visualizzato modificare l'impostazione Firma messaggi per questo dominio con firme DKIM su Abilitato (
).
Al termine, fare clic su Ruota chiavi DKIM.
Ripetere questi passaggi per ogni dominio personalizzato.
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
Se si sta configurando 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.
Usare la sintassi seguente:
Set-DkimSigningConfig -Identity <Domain> -Enabled $true
<Dominio> è 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 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.
Importante
La firma DKIM viene omessa in una delle condizioni seguenti:
- Gli indirizzi di posta elettronica del mittente e del destinatario si trovano nello stesso dominio.
- Gli indirizzi di posta elettronica del mittente e del destinatario si trovano in domini diversi controllati dalla stessa organizzazione.
In entrambi i casi, l'intestazione avrà un aspetto simile al seguente:
Authentication-Results: dkim=none (message not signed) header.d=none;
dmarc=none action=none header.from=<sender_domain>;
Per configurare DKIM per più domini personalizzati
Se in futuro si decide di aggiungere un altro dominio personalizzato e di abilitare DKIM, è necessario eseguire la procedura indicata in questo articolo per ogni dominio. In particolare, completare tutti i passaggi elencati in Procedura necessaria 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
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 di massa 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 propri record CNAME con selettori diversi. Nessuna organizzazione esegue questa operazione nello stesso modo. Al contrario, il processo dipende interamente dall'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:
Il provider di posta elettronica di massa ha fornito a Contoso una chiave DKIM pubblica.
Contoso ha pubblicato la chiave DKIM nel suo record DNS.
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.
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 a SPF e per configurarlo rapidamente, vedere Configurare SPF in Microsoft 365 per evitare lo spoofing. Per informazioni più dettagliate su come Microsoft 365 utilizza SPF oppure per risolvere i problemi o per eseguire distribuzioni non standard (ad esempio, le distribuzioni ibride), consultare innanzitutto Come Microsoft 365 utilizza Sender Policy Framework (SPF) per prevenire 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.
Nota
Questa funzionalità richiede un account amministratore di Microsoft 365. Questa funzionalità non è disponibile per Microsoft 365 Government, Microsoft 365 gestito da 21Vianet o Microsoft 365 Germania.
Altre informazioni
Rotazione delle chiavi tramite PowerShell: Rotate-DkimSigningConfig
Usare DMARC per convalidare la posta elettronica
Usare mittenti ARC attendibili per flussi di posta legittimi