Configurare i Reverse DNS record in Azure
I record DNS diretti consentono un mapping da un nome DNS (ad esempio, “antispam.nicolaferrini.eu”) a un indirizzo IP (ad esempio, 51.144.95.141). I record DNS inversi consentono invece la riconversione di un indirizzo IP (51.144.95.141) in un nome (“antispam.nicolaferrini.eu”).
I record DNS inversi vengono usati in varie situazioni. Ad esempio, sono molto usati per combattere l’invio di posta indesiderata verificando il mittente di un messaggio di posta elettronica. Il server di posta di destinazione recupera il record DNS inverso dell’indirizzo IP del server di origine e verifica che l’host sia autorizzato a inviare posta elettronica dal dominio di origine.
I record DNS inversi sono ospitati in speciali zone DNS, chiamate zone “ARPA”. Queste zone costituiscono una gerarchia DNS separata parallela alla normale gerarchia che ospita domini come “nicolaferrini.eu”.
Il record DNS “antispam.nicolaferrini.eu”, ad esempio, viene implementato usando un record “A” DNS con il nome “antispam” nella zona “nicolaferrini.eu”. Questo record A fa riferimento all’indirizzo IP corrispondente, in questo caso 51.144.95.141. La ricerca inversa viene implementata separatamente, usando un record “PTR” denominato “141” nella zona “95.144.51.in-addr.arpa”. Si noti che gli indirizzi IP sono “scritti al contrario” nelle zone ARPA.
Nota: Le ricerche DNS dirette e le ricerche DNS inverse vengono implementate in gerarchie DNS separate parallele. La ricerca inversa per “antispam.nicolaferrini.eu” non è ospitata nella zona “nicolaferrini.eu”, ma nella zona ARPA per il blocco di indirizzi IP corrispondente. Per i blocchi di indirizzi IPv4 e IPv6 vengono usate zone separate.
In Microsoft Azure le risorse di calcolo, ad esempio le macchine virtuali o i set di scalabilità di macchine virtuali, vengono esposte tramite una risorsa PublicIpAddress. Le ricerche DNS inverse vengono configurate usando la proprietà ‘ReverseFqdn’ di PublicIpAddress.
Questa guida mostrerà come assegnare la proprietà ‘ReverseFqdn’ ad un indirizzo IP pubblico di Azure.
Create un indirizzo IP pubblico dal portale di Azure e completate i campi come richiesto. Per poter convalidare la proprietà del nome sarà necessario compilare il campo DNS Name Label. Nel mio caso ho utilizzato il nome ictpower-antispam.westeurope.cloudapp.azure.com
Figura 1: Creazione dal portale di Azure di un nuovo indirizzo IP pubblico
Figura 2: Configurazione dell’indirizzo IP pubblico
Dopo la creazione dell’indirizzo IP potete verificare le proprietà direttamente dal portale. Io ho scelto di creare un IP statico e mi è stato assegnato l’indirizzo 51.144.95.141, a cui ho associato il nome DNS ictpower-antispam.westeurope.cloudapp.azure.com
Figura 3: Creazione dell’indirizzo IP completata
Per poter assegnare la proprietà‘ReverseFqdn’ all’indirizzo IP, Azure deve verificare che siate i possessori di quell’indirizzo IP. Create perciò un record CNAME che punti al DNS name del vostro IP. Io voglio che l’indirizzo IP pubblico venga risolto con il nome “antispam.nicolaferrini.eu” e per questo motivo nel mio pannello DNS (il pannello DNS del provider da cui avete acquistato il dominio per intenderci) ho creato un CNAME per il record antispam.nicolaferrini.eu che punti al nome ictpower-antispam.westeurope.cloudapp.azure.com
NOTA: Se già disponete di un indirizzo IP pubblico di Azure perché lo state utilizzando con qualche servizio, ricordatevi di controllare di avere compilato il campo DNS name in Azure
Figura 4: Creazione del record CNAME per la verifica della proprietà del record DNS
Assegnazione della proprietà ‘ReverseFqdn’ all’indirizzo IP pubblico
L’assegnazione della proprietà ‘ReverseFqdn’ all’indirizzo IP pubblico è possibile solo utilizzando PowerShell oppure CLI. In questa guida utilizzerò PowerShell.
Collegatevi all’indirizzo https://shell.azure.com/ e controllate la configurazione del vostro indirizzo IP con il comando
1 |
Get-AzPublicIpAddress -Name "nome dell'indirizzo IP" -ResourceGroupName "nome del resource group" |
Come si vede dalla figura sotto, attualmente l’indirizzo IP possiede la proprietà ‘Fqdn’ ma non la proprietà ‘ReverseFqdn’
Figura 5: Attualmente l’indirizzo IP possiede la proprietà ‘Fqdn’ ma non la proprietà ‘ReverseFqdn’
Per modificare la proprietà è necessario utilizzare i seguenti comandi PowerShell (ovviamente sostituite i valori con i vostri)
1 2 3 |
$ip = Get-AzPublicIpAddress -Name Antispam -ResourceGroupName Security $ip.dnssettings.reversefqdn = "antispam.nicolaferrini.eu" Set-AzPublicIpAddress -PublicIpAddress $ip |
Se avrete fatto tutto correttamente, modificherete la proprietà dell’indirizzo IP. Nel caso in cui Azure non riesca a validare la proprietà dell’indirizzo IP (perché avete dimenticato di creare il record CNAME) otterrete l’errore mostrato in figura:
Figura 6: Impossibile cambiare la configurazione dell’indirizzo IP perché Azure non è riuscito a verificare che siete i proprietari dell’indirizzo
Figura 7: Se le operazioni sono state effettuate correttamente la proprietà ‘ReverseFqdn’ sarà stata configurata correttamente
Verifica della corretta registrazione
Per verificare che il vostro indirizzo IP pubblico sia stato registrato correttamente nella zona inversa ARPA potete servirvi di un servizio esterno come https://www.whatsmydns.net/ e controllare il record PTR relativo al vostro indirizzo IP. Nella figura sotto è mostrato il risultato:
Figura 8: Verifica della corretta registrazione del record PTR
Conclusioni
Per combattere l’invio di posta indesiderata verificando il mittente di un messaggio di posta elettronica, Il server di posta di destinazione recupera il record DNS inverso (record PTR) dell’indirizzo IP del server di origine e verifica che l’host sia autorizzato a inviare posta elettronica dal dominio di origine. È possibile registrare i record PTR degli indirizzi IP pubblici di Azure con pochi comandi PowerShell e assicurare quindi un supporto completo a questa funzionalità.