{"id":3308,"date":"2025-09-22T04:40:53","date_gmt":"2025-09-22T02:40:53","guid":{"rendered":"https:\/\/davidka.net\/ru\/?p=3308"},"modified":"2025-09-22T08:38:26","modified_gmt":"2025-09-22T06:38:26","slug":"%d1%87%d0%b5%d1%80%d0%bd%d0%be%d0%b2%d0%b8%d0%ba","status":"publish","type":"post","link":"https:\/\/it.davidka.net\/it\/%D1%87%D0%B5%D1%80%D0%BD%D0%BE%D0%B2%D0%B8%D0%BA\/","title":{"rendered":"\ud83d\udda7 Guida completa ed esaustiva sui record DNS: dalle basi a DNSSEC e automazione"},"content":{"rendered":"\n<p class=\"has-neve-link-color-color has-text-color has-link-color has-medium-font-size wp-elements-67a4f5538709187f5cb520c631653032 wp-block-paragraph\">Il DNS (Domain Name System) \u00e8 il sistema fondamentale su cui si basa l&#8217;intero internet moderno. Non \u00e8 semplicemente una &#8220;rubrica telefonica&#8221;, ma un database complesso e distribuito che traduce i nomi leggibili dagli esseri umani (ad esempio, <code class=\"\" data-line=\"\">google.com<\/code>) in identificatori tecnici come indirizzi IP, server di posta, politiche di sicurezza e persino coordinate geografiche. Una configurazione DNS errata \u00e8 una delle cause pi\u00f9 frequenti di indisponibilit\u00e0 dei siti web, problemi di consegna della posta e vulnerabilit\u00e0 della sicurezza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questa guida combina tutti gli aspetti del DNS: dai record di base utilizzati quotidianamente ai meccanismi complessi come DNSSEC e DANE. Esamineremo ogni tipo di record, il suo scopo, la sintassi, esempi pratici, errori comuni, comandi per la diagnosi e modelli pronti per la distribuzione. Le informazioni sono strutturate in modo da poter utilizzare questo materiale come libro di testo, riferimento per l&#8217;amministratore e checklist per gli ambienti di produzione.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div id=\"rtoc-mokuji-wrapper\" class=\"rtoc-mokuji-content frame2 preset1 animation-fade rtoc_open default\" data-id=\"3308\" data-theme=\"Neve - Davidka\">\n\t\t\t<div id=\"rtoc-mokuji-title\" class=\"rtoc_btn_none rtoc_left\">\n\t\t\t\n\t\t\t<span>In Questo Articolo<\/span>\n\t\t\t<\/div><ol class=\"rtoc-mokuji decimal_ol level-1\"><li class=\"rtoc-item\"><a href=\"#rtoc-1\">1. Terminologia<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-2\">2. Analisi dettagliata di tutti i tipi di record<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-3\">A \u2014 Record di indirizzo (IPv4)<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-4\">AAAA \u2014 Record di indirizzo IPv6<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-5\">CNAME \u2014 Record di nome canonico<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-6\">MX \u2014 Record di scambio di posta<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-7\">TXT \u2014 Record di testo<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-8\">NS \u2014 Record del server dei nomi<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-9\">SOA \u2014 Record di inizio autorit\u00e0<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-10\">PTR \u2014 Record puntatore (DNS inverso)<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-11\">SRV \u2014 Record di servizio<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-12\">CAA \u2014 Autorizzazione dell&#8217;autorit\u00e0 di certificazione<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-13\">NAPTR \u2014 Record puntatore dell&#8217;autorit\u00e0 dei nomi<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-14\">TLSA \u2014 Record di associazione certificato TLSA (DANE)<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-15\">Record DNSSEC (DNSKEY, DS, RRSIG, NSEC, NSEC3)<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-16\">SSHFP \u2014 Impronta digitale della chiave pubblica SSH<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-17\">Record rari e di servizio<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-18\">3. Raccomandazioni pratiche e sfumature di configurazione<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-19\">4. Modelli completi di file di zona (stile BIND)<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-20\">a) Sito web semplice (statico, senza posta)<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-21\">b) Sito web + server di posta proprio<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-22\">c) Sito web + CDN + Posta + DNSSEC (esempio complesso)<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-23\">5. Configurazione passo-passo del dominio di posta (PTR, SPF, DKIM, DMARC)<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-24\">6. Comandi per la verifica e il debug DNS<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-25\">7. Sicurezza e best practice<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-26\">8. Errori comuni e come evitarli<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-27\">9. Checklist prima del rilascio in produzione o migrazione<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-28\">10. Esempi aggiuntivi e spiegazioni dei campi<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-29\">11. Scenari utili<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-30\">12. JSON pronto per l&#8217;importazione nel pannello del provider<\/a><\/li><\/ol><\/div><h2 id=\"rtoc-1\"  class=\"wp-block-heading\">1. Terminologia<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Prima di approfondire i tipi di record, \u00e8 fondamentale comprendere i termini chiave utilizzati nel DNS. Questo stabilisce una base linguistica comune e aiuta a evitare confusione.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DNS (Domain Name System)<\/strong>: Il Sistema dei Nomi di Dominio. Un database distribuito globale che traduce i nomi di dominio in indirizzi IP e altre informazioni correlate.<\/li>\n\n\n\n<li><strong>Nome di dominio (Domain Name)<\/strong>: Un indirizzo leggibile dall&#8217;uomo su internet, ad esempio, <code class=\"\" data-line=\"\">example.com<\/code>. \u00c8 composto da etichette separate da punti.<\/li>\n\n\n\n<li><strong>FQDN (Fully Qualified Domain Name)<\/strong>: Un nome di dominio completo che identifica in modo univoco un nodo nella gerarchia DNS. Termina sempre con un punto che denota la radice DNS (ad esempio, <code class=\"\" data-line=\"\">www.example.com.<\/code>).<\/li>\n\n\n\n<li><strong>Zona (Zone)<\/strong>: Un&#8217;unit\u00e0 amministrativa nel DNS. Una porzione dello spazio dei nomi gestita da un server autorevole (o un gruppo di server). Di solito corrisponde a un dominio o sottodominio.<\/li>\n\n\n\n<li><strong>File di zona (Zone File)<\/strong>: Un file di testo memorizzato su un server DNS che contiene tutti i record per una zona specifica. Utilizza la sintassi definita dallo standard BIND.<\/li>\n\n\n\n<li><strong>Record (Resource Record, RR)<\/strong>: L&#8217;unit\u00e0 di base dei dati nel DNS. Ogni record ha un tipo, un nome, un valore e un TTL.<\/li>\n\n\n\n<li><strong>Tipo di record (Record Type)<\/strong>: Definisce quali informazioni contiene il record (ad esempio, <code class=\"\" data-line=\"\">A<\/code>, <code class=\"\" data-line=\"\">MX<\/code>, <code class=\"\" data-line=\"\">TXT<\/code>). Ogni tipo corrisponde a un codice numerico univoco (ad esempio, 1 per <code class=\"\" data-line=\"\">A<\/code>, 15 per <code class=\"\" data-line=\"\">MX<\/code>).<\/li>\n\n\n\n<li><strong>TTL (Time To Live)<\/strong>: La durata della vita del record, specificata in secondi. Determina per quanto tempo i resolver e altri server DNS possono memorizzare nella cache il record prima di richiederlo nuovamente al server autorevole.<\/li>\n\n\n\n<li><strong>Resolver<\/strong>: Un client o server DNS che riceve una richiesta da un&#8217;applicazione (ad esempio, un browser) ed esegue le query necessarie per ottenere una risposta. Pu\u00f2 essere ricorsivo (esegue l&#8217;intera catena di query) o non ricorsivo.<\/li>\n\n\n\n<li><strong>Server autorevole (Authoritative Server)<\/strong>: Un server DNS che memorizza i record originali per una zona specifica ed \u00e8 responsabile di essi. Risponde alle query utilizzando i dati del file di zona.<\/li>\n\n\n\n<li><strong>Server ricorsivo (Recursive Server)<\/strong>: Un server che riceve una richiesta da un client e, se non ha la risposta nella sua cache, esegue una catena di query, a partire dai server radice, per trovare il server autorevole e ottenere la risposta.<\/li>\n\n\n\n<li><strong>Server radice (Root Server)<\/strong>: Uno dei 13 gruppi di server (indicati con le lettere da <code class=\"\" data-line=\"\">a.root-servers.net.<\/code> a <code class=\"\" data-line=\"\">m.root-servers.net.<\/code>) che sono il punto di partenza per risolvere qualsiasi nome di dominio. Sanno dove si trovano i server per i domini di primo livello (TLD).<\/li>\n\n\n\n<li><strong>TLD (Top-Level Domain)<\/strong>: Un dominio di primo livello. L&#8217;ultima parte di un nome di dominio (ad esempio, <code class=\"\" data-line=\"\">.com<\/code>, <code class=\"\" data-line=\"\">.org<\/code>, <code class=\"\" data-line=\"\">.ru<\/code>, <code class=\"\" data-line=\"\">.io<\/code>).<\/li>\n\n\n\n<li><strong>Registrar<\/strong>: L&#8217;azienda attraverso la quale vengono registrati i nomi di dominio. Gestisce le informazioni di delega (quali server NS servono il dominio) nella zona genitore (ad esempio, nella zona <code class=\"\" data-line=\"\">.com<\/code> per il dominio <code class=\"\" data-line=\"\">example.com<\/code>).<\/li>\n\n\n\n<li><strong>Registrante (Registrant)<\/strong>: Il proprietario del nome di dominio.<\/li>\n\n\n\n<li><strong>Delega (Delegation)<\/strong>: Il processo di trasferimento del controllo di un sottodominio (o dominio) dalla zona genitore a quella figlia. Viene realizzato utilizzando record <code class=\"\" data-line=\"\">NS<\/code> nella zona genitore.<\/li>\n\n\n\n<li><strong>Record Glue (Glue Record)<\/strong>: Un record <code class=\"\" data-line=\"\">A<\/code> o <code class=\"\" data-line=\"\">AAAA<\/code> pubblicato dal registrar per un server dei nomi il cui nome di dominio si trova <em>all&#8217;interno<\/em> della zona delegata. Necessario per rompere una dipendenza circolare.<\/li>\n\n\n\n<li><strong>SOA (Start of Authority)<\/strong>: Un record che contiene informazioni amministrative sulla zona, inclusi il server primario, il contatto dell&#8217;amministratore e i parametri che controllano il trasferimento della zona ai server secondari.<\/li>\n\n\n\n<li><strong>Numero di serie (Serial Number)<\/strong>: Un campo nel record <code class=\"\" data-line=\"\">SOA<\/code> che indica la versione della zona. I server secondari lo utilizzano per determinare se \u00e8 necessario un aggiornamento.<\/li>\n\n\n\n<li><strong>Risoluzione diretta (Forward Resolution)<\/strong>: Il processo di conversione di un nome di dominio in un indirizzo IP (ad esempio, <code class=\"\" data-line=\"\">example.com<\/code> \u2192 <code class=\"\" data-line=\"\">192.0.2.1<\/code>).<\/li>\n\n\n\n<li><strong>Risoluzione inversa (Reverse Resolution)<\/strong>: Il processo di conversione di un indirizzo IP in un nome di dominio (ad esempio, <code class=\"\" data-line=\"\">192.0.2.1<\/code> \u2192 <code class=\"\" data-line=\"\">example.com<\/code>). Gestito attraverso le zone <code class=\"\" data-line=\"\">in-addr.arpa<\/code> (per IPv4) e <code class=\"\" data-line=\"\">ip6.arpa<\/code> (per IPv6).<\/li>\n\n\n\n<li><strong>Cache<\/strong>: Un&#8217;archiviazione temporanea per i record DNS su un resolver o un server DNS per accelerare le richieste successive.<\/li>\n\n\n\n<li><strong>Memorizzazione nella cache (Caching)<\/strong>: Il processo di salvataggio dei record DNS in una cache.<\/li>\n\n\n\n<li><strong>Memorizzazione nella cache negativa (Negative Caching)<\/strong>: Memorizzazione nella cache delle informazioni che il record richiesto non esiste.<\/li>\n\n\n\n<li><strong>RFC (Request for Comments)<\/strong>: Un documento ufficiale che descrive standard, protocolli e procedure su internet. Tutti gli aspetti principali del DNS sono descritti in una serie di RFC.<\/li>\n\n\n\n<li><strong>BIND (Berkeley Internet Name Domain)<\/strong>: L&#8217;implementazione pi\u00f9 comune di un server DNS. La sintassi dei suoi file di zona \u00e8 diventata lo standard de facto.<\/li>\n\n\n\n<li><strong>MTA (Mail Transfer Agent)<\/strong>: Un server di posta responsabile del trasferimento delle email (ad esempio, Postfix, Exim, Sendmail).<\/li>\n\n\n\n<li><strong>FCrDNS (Forward-Confirmed Reverse DNS)<\/strong>: Un meccanismo di verifica in cui un indirizzo IP ha un record <code class=\"\" data-line=\"\">PTR<\/code> che si risolve in un nome di dominio, e quel nome di dominio, a sua volta, ha un record <code class=\"\" data-line=\"\">A<\/code> che punta all&#8217;indirizzo IP originale. Critico per la reputazione del server di posta.<\/li>\n\n\n\n<li><strong>DNSSEC (Domain Name System Security Extensions)<\/strong>: Un insieme di estensioni che aggiungono firme crittografiche ai record DNS per garantirne autenticit\u00e0 e integrit\u00e0.<\/li>\n\n\n\n<li><strong>DANE (DNS-based Authentication of Named Entities)<\/strong>: Uno standard che consente di collegare i certificati TLS ai nomi DNS utilizzando record <code class=\"\" data-line=\"\">TLSA<\/code>. Richiede che DNSSEC sia abilitato.<\/li>\n\n\n\n<li><strong>CAA (Certification Authority Authorization)<\/strong>: Un meccanismo che consente al proprietario di un dominio di specificare quali autorit\u00e0 di certificazione (CA) sono autorizzate a emettere certificati per esso.<\/li>\n\n\n\n<li><strong>SPF (Sender Policy Framework)<\/strong>: Un meccanismo che consente al proprietario di un dominio di specificare quali server sono autorizzati a inviare posta a suo nome.<\/li>\n\n\n\n<li><strong>DKIM (DomainKeys Identified Mail)<\/strong>: Un meccanismo che consente di firmare digitalmente le email in uscita, firma che il destinatario pu\u00f2 verificare utilizzando una chiave pubblica pubblicata nel DNS.<\/li>\n\n\n\n<li><strong>DMARC (Domain-based Message Authentication, Reporting &#038; Conformance)<\/strong>: Una politica che definisce come i server di posta devono gestire le email che non superano i controlli SPF o DKIM e configura l&#8217;invio di rapporti al proprietario del dominio.<\/li>\n\n\n\n<li><strong>ALIAS \/ ANAME<\/strong>: Tipi di record non standard offerti da alcuni provider DNS. Consentono di creare alias per il dominio radice (apex), cosa impossibile con un <code class=\"\" data-line=\"\">CNAME<\/code> standard.<\/li>\n\n\n\n<li><strong>CNAME Flattening<\/strong>: Una tecnologia utilizzata da alcuni provider DNS. Quando un <code class=\"\" data-line=\"\">CNAME<\/code> viene interrogato per un dominio apex, il server risolve automaticamente la catena <code class=\"\" data-line=\"\">CNAME<\/code> e restituisce i record <code class=\"\" data-line=\"\">A<\/code>\/<code class=\"\" data-line=\"\">AAAA<\/code> finali al client, evitando la violazione della RFC.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-2\"  class=\"wp-block-heading\">2. Analisi dettagliata di tutti i tipi di record<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tutti gli esempi sono forniti nel formato di file di zona stile BIND. I nomi che terminano con un punto (ad esempio, <code class=\"\" data-line=\"\">example.com.<\/code>) sono FQDN. Il TTL (Time To Live) \u00e8 specificato in secondi e determina per quanto tempo il record pu\u00f2 essere memorizzato nella cache dai resolver.<\/p>\n\n\n\n<h3 id=\"rtoc-3\"  class=\"wp-block-heading\">A \u2014 Record di indirizzo (IPv4)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Collega un nome di dominio a un indirizzo IPv4 a 32 bit. Il record pi\u00f9 basilare e frequentemente utilizzato.<\/li>\n\n\n\n<li><strong>Formato:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN A indirizzo-IPv4<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">example.com. 3600 IN A 192.0.2.1 www.example.com. 3600 IN A 192.0.2.1<\/code><\/li>\n\n\n\n<li><strong>Quando utilizzato:<\/strong> Per specificare l&#8217;indirizzo IP di un server web, API, server di gioco o qualsiasi altro servizio accessibile tramite IPv4.<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short example.com A<\/code><\/li>\n\n\n\n<li><strong>Migliori pratiche:<\/strong>\n<ul class=\"wp-block-list\">\n<li>L&#8217;utilizzo di un record <code class=\"\" data-line=\"\">A<\/code> per il dominio radice (apex, <code class=\"\" data-line=\"\">@<\/code>) \u00e8 una pratica standard e corretta.<\/li>\n\n\n\n<li>Scegliere il TTL in base alla stabilit\u00e0 dell&#8217;indirizzo IP. Per indirizzi stabili \u2014 3600 (1 ora) o 86400 (1 giorno). Prima della migrazione \u2014 ridurre a 300 (5 minuti).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-4\"  class=\"wp-block-heading\">AAAA \u2014 Record di indirizzo IPv6<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Analogico al record <code class=\"\" data-line=\"\">A<\/code>, ma per indirizzi IPv6 a 128 bit. Criticamente importante per il futuro di internet.<\/li>\n\n\n\n<li><strong>Formato:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN AAAA indirizzo-IPv6<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">example.com. 3600 IN AAAA 2001:db8::1<\/code><\/li>\n\n\n\n<li><strong>Quando utilizzato:<\/strong> Per garantire la disponibilit\u00e0 del servizio tramite il protocollo IPv6.<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short example.com AAAA<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-5\"  class=\"wp-block-heading\">CNAME \u2014 Record di nome canonico<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Crea un alias per un nome di dominio. Qualsiasi richiesta a un CNAME viene automaticamente convertita in una richiesta al suo nome di destinazione (canonico).<\/li>\n\n\n\n<li><strong>Formato:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN CNAME destinazione.<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">www.example.com. 3600 IN CNAME example.com. blog.example.com. 3600 IN CNAME blog-hosting.example.net.<\/code><\/li>\n\n\n\n<li><strong>Restrizioni importanti:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Conflitto di record:<\/strong> Non \u00e8 possibile avere un <code class=\"\" data-line=\"\">CNAME<\/code> e qualsiasi altro record (<code class=\"\" data-line=\"\">A<\/code>, <code class=\"\" data-line=\"\">MX<\/code>, <code class=\"\" data-line=\"\">TXT<\/code>, ecc.) per lo stesso nome. Questa \u00e8 una violazione della RFC.<\/li>\n\n\n\n<li><strong>Dominio Apex:<\/strong> Lo standard RFC vieta l&#8217;uso di <code class=\"\" data-line=\"\">CNAME<\/code> per il dominio radice (ad esempio, <code class=\"\" data-line=\"\">example.com.<\/code>) perch\u00e9 contiene gi\u00e0 record <code class=\"\" data-line=\"\">NS<\/code> e <code class=\"\" data-line=\"\">SOA<\/code>. Per risolvere questo problema, i provider DNS (Cloudflare, AWS Route 53) offrono estensioni non standard: <code class=\"\" data-line=\"\">ALIAS<\/code> o <code class=\"\" data-line=\"\">ANAME<\/code>, che risolvono l&#8217;alias in record <code class=\"\" data-line=\"\">A<\/code>\/<code class=\"\" data-line=\"\">AAAA<\/code> al volo.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Applicazione pratica:<\/strong> Connessione a un CDN (fare di <code class=\"\" data-line=\"\">www<\/code> un CNAME all&#8217;indirizzo del CDN), utilizzo di piattaforme SaaS (blog, negozio).<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short www.example.com CNAME<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-6\"  class=\"wp-block-heading\">MX \u2014 Record di scambio di posta<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Specifica i server che accettano la posta in entrata per il dominio. Il record contiene una priorit\u00e0: pi\u00f9 piccolo \u00e8 il numero, pi\u00f9 alta \u00e8 la priorit\u00e0.<\/li>\n\n\n\n<li><strong>Formato:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN MX priorit\u00e0 server_di_posta.<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><code class=\"\" data-line=\"\">example.com. 3600 IN MX 10 mail1.example.com. example.com. 3600 IN MX 20 mail2.example.com.<\/code>\n<ul class=\"wp-block-list\">\n<li>La posta verr\u00e0 prima inviata a <code class=\"\" data-line=\"\">mail1.example.com.<\/code>. Se non \u00e8 disponibile, l&#8217;MTA (Mail Transfer Agent) prover\u00e0 <code class=\"\" data-line=\"\">mail2.example.com.<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Requisiti chiave:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Il server di posta (<code class=\"\" data-line=\"\">mail1.example.com.<\/code>) <strong>deve<\/strong> avere il proprio record <code class=\"\" data-line=\"\">A<\/code> o <code class=\"\" data-line=\"\">AAAA<\/code>.<\/li>\n\n\n\n<li>Un record <code class=\"\" data-line=\"\">PTR<\/code> <strong>deve<\/strong> essere configurato per l&#8217;indirizzo IP del server di posta, e deve corrispondere al nome del server specificato in <code class=\"\" data-line=\"\">MX<\/code>. Questo \u00e8 critico per la reputazione del server e la consegna della posta.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short example.com MX<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-7\"  class=\"wp-block-heading\">TXT \u2014 Record di testo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Memorizza dati di testo arbitrari. Ampiamente utilizzato per le politiche di sicurezza della posta elettronica (SPF, DKIM, DMARC), la verifica della propriet\u00e0 del dominio (Google, Microsoft, Yandex) e altri scopi.<\/li>\n\n\n\n<li><strong>Formato:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN TXT &quot;testo&quot;<\/code><\/li>\n\n\n\n<li><strong>Esempi:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>SPF (Sender Policy Framework):<\/strong> Definisce quali server sono autorizzati a inviare posta a nome del dominio. <code class=\"\" data-line=\"\">example.com. 3600 IN TXT &quot;v=spf1 ip4:192.0.2.0\/24 include:_spf.google.com ~all&quot;<\/code>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">ip4:192.0.2.0\/24<\/code> \u2014 consente l&#8217;intera sottorete.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">include:_spf.google.com<\/code> \u2014 include le regole della zona di Google (per Gmail).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">~all<\/code> \u2014 &#8220;fallimento morbido&#8221; per tutti gli altri (softfail). <code class=\"\" data-line=\"\">-all<\/code> \u2014 fallimento rigoroso (fail).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>DKIM (DomainKeys Identified Mail):<\/strong> Pubblica la chiave pubblica per verificare la firma digitale aggiunta alle email in uscita. Generalmente creato per un sottodominio come <code class=\"\" data-line=\"\">selettore._domainkey.dominio<\/code>. <code class=\"\" data-line=\"\">default._domainkey.example.com. 3600 IN TXT &quot;v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ...&quot;<\/code>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">v=DKIM1<\/code> \u2014 versione.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">k=rsa<\/code> \u2014 tipo di chiave.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">p=...<\/code> \u2014 la chiave pubblica stessa in formato base64.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>DMARC (Domain-based Message Authentication, Reporting &#038; Conformance):<\/strong> Imposta la politica per gestire le email che non superano i controlli SPF o DKIM e configura l&#8217;invio di rapporti. <code class=\"\" data-line=\"\">_dmarc.example.com. 3600 IN TXT &quot;v=DMARC1; p=reject; rua=mailto:dmarc@example.com; ruf=mailto:forensics@example.com; pct=100&quot;<\/code>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">p=reject<\/code> \u2014 rifiutare le email che non superano la verifica.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">rua=mailto:...<\/code> \u2014 indirizzo per i rapporti aggregati.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">ruf=mailto:...<\/code> \u2014 indirizzo per i rapporti forensi (fallimenti specifici).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">pct=100<\/code> \u2014 applicare la politica al 100% delle email.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">example.com. 3600 IN TXT &quot;google-site-verification=abc123...&quot;<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Note:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Se una stringa di testo \u00e8 pi\u00f9 lunga di 255 byte, pu\u00f2 essere divisa in pi\u00f9 parti nel file di zona, con ogni parte racchiusa tra virgolette. Il server DNS le concatener\u00e0 automaticamente.<br><code class=\"\" data-line=\"\">example.com. IN TXT (&quot;v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; &quot; &quot;pct=100; fo=1&quot;)<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short example.com TXT<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-8\"  class=\"wp-block-heading\">NS \u2014 Record del server dei nomi<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Specifica i server DNS che sono autorevoli per la zona. Questi record sono la base per delegare la gestione del dominio.<\/li>\n\n\n\n<li><strong>Formato:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN NS nome_del_server.<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">example.com. 3600 IN NS ns1.example.net. example.com. 3600 IN NS ns2.example.net.<\/code><\/li>\n\n\n\n<li><strong>Punti importanti:<\/strong>\n<ul class=\"wp-block-list\">\n<li>I record <code class=\"\" data-line=\"\">NS<\/code> nella zona <strong>devono corrispondere esattamente<\/strong> ai server dei nomi specificati con il registrar del dominio.<\/li>\n\n\n\n<li><strong>Record Glue:<\/strong> Se il server dei nomi (ad esempio, <code class=\"\" data-line=\"\">ns1.example.com.<\/code>) si trova <em>all&#8217;interno<\/em> della stessa zona che serve (<code class=\"\" data-line=\"\">example.com.<\/code>), si verifica una dipendenza circolare. Per romperla, aggiungere record &#8220;glue&#8221; \u2014 record <code class=\"\" data-line=\"\">A<\/code> o <code class=\"\" data-line=\"\">AAAA<\/code> per questi server dei nomi \u2014 con il registrar.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short example.com NS<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-9\"  class=\"wp-block-heading\">SOA \u2014 Record di inizio autorit\u00e0<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Il record amministrativo principale di una zona DNS. Contiene informazioni sul server primario, l&#8217;amministratore e i parametri che controllano la sincronizzazione tra il server primario e quelli secondari.<\/li>\n\n\n\n<li><strong>Formato:<\/strong><br><code class=\"\" data-line=\"\">nome TTL IN SOA server_primario. email_amministratore. ( numero_di_serie ; Serial intervallo_di_aggiornamento ; Refresh intervallo_di_ritentativo ; Retry tempo_di_scadenza ; Expire ttl_minimo ) ; Minimum TTL<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">example.com. 3600 IN SOA ns1.example.net. admin.example.com. ( 2025092201 ; Serial (YYYYMMDDNN) 7200 ; Refresh (2 ore) 3600 ; Retry (1 ora) 1209600 ; Expire (14 giorni) 86400 ) ; Minimum TTL (1 giorno)<\/code><\/li>\n\n\n\n<li><strong>Spiegazioni dei campi:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Serial<\/code>:<\/strong> Versione della zona. <strong>\u00c8 estremamente importante<\/strong> incrementare questo numero <strong>ad ogni modifica<\/strong> della zona. I server secondari confrontano il loro <code class=\"\" data-line=\"\">Serial<\/code> con il <code class=\"\" data-line=\"\">Serial<\/code> sul server primario e, se \u00e8 pi\u00f9 piccolo, richiedono un aggiornamento. Formato consigliato: <code class=\"\" data-line=\"\">YYYYMMDDNN<\/code> (anno, mese, giorno, numero di revisione del giorno).<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Refresh<\/code>:<\/strong> Intervallo (in secondi) dopo il quale i server secondari devono verificare il server primario per gli aggiornamenti.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Retry<\/code>:<\/strong> Intervallo dopo il quale un server secondario deve riprovare se il primo tentativo di aggiornamento fallisce.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Expire<\/code>:<\/strong> Tempo (in secondi) dopo il quale un server secondario smetter\u00e0 di rispondere alle query se non pu\u00f2 contattare il server primario. La zona \u00e8 considerata &#8220;scaduta&#8221;.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Minimum TTL<\/code>:<\/strong> Inizialmente impostava il TTL minimo per tutti i record nella zona. Ora spesso utilizzato come TTL per la memorizzazione nella cache negativa (per quanto tempo memorizzare nella cache una risposta &#8220;record non trovato&#8221;).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short example.com SOA<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-10\"  class=\"wp-block-heading\">PTR \u2014 Record puntatore (DNS inverso)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Fornisce risoluzione inversa \u2014 converte un indirizzo IP in un nome di dominio. Gestito dal proprietario dell&#8217;indirizzo IP (ISP, provider di hosting), non dal proprietario del dominio.<\/li>\n\n\n\n<li><strong>Formato per IPv4:<\/strong> L&#8217;indirizzo IP \u00e8 scritto in ordine inverso, e viene aggiunto il suffisso <code class=\"\" data-line=\"\">.in-addr.arpa.<\/code>.\n<ul class=\"wp-block-list\">\n<li>IP <code class=\"\" data-line=\"\">192.0.2.5<\/code> \u2192 <code class=\"\" data-line=\"\">5.2.0.192.in-addr.arpa.<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Formato per IPv6:<\/strong> Ogni parte di 4 bit (nibble) dell&#8217;indirizzo \u00e8 scritta in ordine inverso, e viene aggiunto il suffisso <code class=\"\" data-line=\"\">.ip6.arpa.<\/code>.\n<ul class=\"wp-block-list\">\n<li>IPv6 <code class=\"\" data-line=\"\">2001:db8::1<\/code> \u2192 <code class=\"\" data-line=\"\">1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Esempio (IPv4):<\/strong><br><code class=\"\" data-line=\"\">5.2.0.192.in-addr.arpa. 3600 IN PTR mail.example.com.<\/code><\/li>\n\n\n\n<li><strong>Significato pratico:<\/strong> Criticamente importante per i server di posta. La maggior parte dei sistemi di posta verifica che il record PTR per l&#8217;indirizzo IP del mittente corrisponda al nome che il server presenta nel comando <code class=\"\" data-line=\"\">HELO<\/code>\/<code class=\"\" data-line=\"\">EHLO<\/code>. Una discrepanza \u00e8 una ragione frequente per cui le email vengono contrassegnate come spam.<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig -x 192.0.2.5 +short<\/code> o <code class=\"\" data-line=\"\">host 192.0.2.5<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-11\"  class=\"wp-block-heading\">SRV \u2014 Record di servizio<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Specifica la posizione dei server per servizi specifici, inclusi protocollo e porta. Consente ai client di trovare automaticamente il server necessario.<\/li>\n\n\n\n<li><strong>Formato del nome:<\/strong><code class=\"\" data-line=\"\">_servizio._protocollo.dominio.<\/code>\n<ul class=\"wp-block-list\">\n<li>Servizio: <code class=\"\" data-line=\"\">sip<\/code>, <code class=\"\" data-line=\"\">xmpp-server<\/code>, <code class=\"\" data-line=\"\">_minecraft<\/code>, ecc.<\/li>\n\n\n\n<li>Protocollo: <code class=\"\" data-line=\"\">tcp<\/code>, <code class=\"\" data-line=\"\">udp<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Formato del record:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN SRV priorit\u00e0 peso porta destinazione.<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">_sip._tcp.example.com. 3600 IN SRV 10 60 5060 sipserver.example.com. _minecraft._tcp.example.com. 3600 IN SRV 5 0 25565 mc1.example.com.<\/code><\/li>\n\n\n\n<li><strong>Spiegazioni dei campi:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Priority<\/code> (Priorit\u00e0):<\/strong> Pi\u00f9 piccolo \u00e8 il numero, pi\u00f9 alta \u00e8 la priorit\u00e0. Il client prover\u00e0 prima a connettersi al server con la priorit\u00e0 pi\u00f9 bassa.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Weight<\/code> (Peso):<\/strong> Utilizzato per il bilanciamento del carico <em>tra server con la stessa priorit\u00e0<\/em>. La probabilit\u00e0 di selezionare un server \u00e8 proporzionale al suo peso. Se tutti i pesi sono uguali, la selezione \u00e8 casuale.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Port<\/code> (Porta):<\/strong> La porta su cui il servizio \u00e8 in esecuzione.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Target<\/code> (Destinazione):<\/strong> Il FQDN del server a cui deve essere diretta la richiesta. Questo server <strong>deve<\/strong> avere un record <code class=\"\" data-line=\"\">A<\/code> o <code class=\"\" data-line=\"\">AAAA<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Applicazione:<\/strong> VoIP (SIP), messaggistica istantanea (XMPP), giochi (Minecraft), directory (LDAP).<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short _sip._tcp.example.com SRV<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-12\"  class=\"wp-block-heading\">CAA \u2014 Autorizzazione dell&#8217;autorit\u00e0 di certificazione<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Consente al proprietario del dominio di specificare quali autorit\u00e0 di certificazione (CA) sono autorizzate a emettere certificati SSL\/TLS per questo dominio. Questo \u00e8 un meccanismo di sicurezza importante per prevenire l&#8217;emissione non autorizzata di certificati.<\/li>\n\n\n\n<li><strong>Formato:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN CAA flag tag valore<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">example.com. 3600 IN CAA 0 issue &quot;letsencrypt.org&quot; example.com. 3600 IN CAA 0 iodef &quot;mailto:security@example.com&quot;<\/code><\/li>\n\n\n\n<li><strong>Spiegazioni:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Flags<\/code>:<\/strong> Generalmente <code class=\"\" data-line=\"\">0<\/code>. Il flag <code class=\"\" data-line=\"\">128<\/code> (critico) significa che una CA che non comprende questo tag deve rifiutare di emettere il certificato.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Tags<\/code>:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">issue<\/code>: Consente alla CA specificata di emettere certificati. Un valore vuoto (<code class=\"\" data-line=\"\">;<\/code>) vieta l&#8217;emissione da parte di chiunque.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">issuewild<\/code>: Consente l&#8217;emissione di certificati wildcard (<code class=\"\" data-line=\"\">*.example.com<\/code>).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">iodef<\/code>: URL (generalmente <code class=\"\" data-line=\"\">mailto:<\/code> o <code class=\"\" data-line=\"\">http(s):<\/code>) per inviare rapporti sui tentativi di violazione della politica CAA.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short example.com CAA<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-13\"  class=\"wp-block-heading\">NAPTR \u2014 Record puntatore dell&#8217;autorit\u00e0 dei nomi<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Utilizzato per regole complesse di riscrittura di nomi e URI. Pi\u00f9 spesso applicato nei sistemi di telecomunicazione (ENUM per convertire i numeri di telefono in URI SIP) e per la scoperta dinamica dei servizi.<\/li>\n\n\n\n<li><strong>Formato:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN NAPTR ordine preferenza flag servizio espressione_regolare sostituzione.<\/code><\/li>\n\n\n\n<li><strong>Esempio (semplificato per ENUM):<\/strong><br><code class=\"\" data-line=\"\">4.3.2.1.5.5.5.1.e164.arpa. IN NAPTR 100 10 &quot;U&quot; &quot;E2U+sip&quot; &quot;!^.*$!sip:info@example.com!&quot; .<\/code><\/li>\n\n\n\n<li><strong>Spiegazioni:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Order<\/code> (Ordine):<\/strong> Elaborato dal pi\u00f9 piccolo al pi\u00f9 grande.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Preference<\/code> (Preferenza):<\/strong> Analogico al <code class=\"\" data-line=\"\">weight<\/code> in <code class=\"\" data-line=\"\">SRV<\/code> per record con lo stesso <code class=\"\" data-line=\"\">order<\/code>.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Flags<\/code>:<\/strong> <code class=\"\" data-line=\"\">U<\/code> significa che il risultato \u00e8 un URI (ad esempio, <code class=\"\" data-line=\"\">sip:<\/code>).<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Service<\/code>:<\/strong> Tipo di servizio (ad esempio, <code class=\"\" data-line=\"\">E2U+sip<\/code> \u2014 conversione in URI SIP).<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Regexp<\/code>:<\/strong> Espressione regolare per trasformare la stringa di input.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Replacement<\/code>:<\/strong> Alternativa all&#8217;espressione regolare (generalmente vuota se si usa <code class=\"\" data-line=\"\">regexp<\/code>).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Applicazione:<\/strong> Scenari di routing complessi in VoIP, ENUM.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-14\"  class=\"wp-block-heading\">TLSA \u2014 Record di associazione certificato TLSA (DANE)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Collega un certificato TLS (o parte di esso) a un nome DNS utilizzando un record DNS. Questo fa parte dello standard DANE (Autenticazione Basata su DNS di Entit\u00e0 Nominate). <strong>Richiede che DNSSEC sia abilitato<\/strong> per garantire la fiducia; altrimenti, il record pu\u00f2 essere falsificato.<\/li>\n\n\n\n<li><strong>Formato del nome:<\/strong> <code class=\"\" data-line=\"\">_porta._protocollo.nome.<\/code><\/li>\n\n\n\n<li><strong>Formato del record:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN TLSA utilizzo selettore tipo_di_corrispondenza dati<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">_443._tcp.www.example.com. 3600 IN TLSA 3 1 1 d2abde...f21<\/code><\/li>\n\n\n\n<li><strong>Spiegazioni dei campi:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Usage<\/code> (Utilizzo):<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">3<\/code> (DANE-EE): Certificato entit\u00e0 finale. Il pi\u00f9 comune.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">1<\/code> (PKIX-EE): Certificato entit\u00e0 finale, deve essere firmato da una CA attendibile.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">2<\/code> (DANE-TA): Certificato dell&#8217;autorit\u00e0 di certificazione attendibile.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">0<\/code> (PKIX-TA): Certificato CA, deve essere nella catena di fiducia.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Selector<\/code> (Selettore):<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">0<\/code>: Certificato completo.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">1<\/code>: Solo la chiave pubblica del certificato.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Matching Type<\/code> (Tipo di corrispondenza):<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">0<\/code>: Dati esatti (non utilizzato).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">1<\/code>: Hash SHA-256.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">2<\/code>: Hash SHA-512.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Data<\/code>:<\/strong> Hash del certificato o della sua chiave pubblica in formato esadecimale.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Applicazione:<\/strong> Miglioramento della sicurezza TLS, specialmente negli ambienti in cui non ci si pu\u00f2 fidare delle CA pubbliche.<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short _443._tcp.www.example.com. TLSA<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-15\"  class=\"wp-block-heading\">Record DNSSEC (DNSKEY, DS, RRSIG, NSEC, NSEC3)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DNSSEC (Estensioni di Sicurezza del Sistema dei Nomi di Dominio) \u00e8 un insieme di estensioni che aggiungono firme crittografiche ai record DNS per proteggere contro la falsificazione (spoofing) e gli attacchi di avvelenamento della cache.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Principio generale:<\/strong> La zona \u00e8 firmata con una chiave privata. La chiave pubblica \u00e8 pubblicata in un record <code class=\"\" data-line=\"\">DNSKEY<\/code>. Per creare una catena di fiducia, l&#8217;hash di questa chiave (<code class=\"\" data-line=\"\">DS<\/code> record) \u00e8 pubblicato nella <em>zona genitore<\/em> (ad esempio, per <code class=\"\" data-line=\"\">example.com<\/code> \u2014 nella zona <code class=\"\" data-line=\"\">.com<\/code>). I client che supportano DNSSEC possono verificare la firma (<code class=\"\" data-line=\"\">RRSIG<\/code>) di ogni record utilizzando la chiave pubblica e assicurarsi della sua autenticit\u00e0.<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">DNSKEY<\/code>:<\/strong> La chiave pubblica della zona.\n<ul class=\"wp-block-list\">\n<li><strong>Esempio:<\/strong><code class=\"\" data-line=\"\">example.com. 3600 IN DNSKEY 257 3 13 AwEAAa3d...9QAB<\/code>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">257<\/code> \u2014 flag (257 = KSK, 256 = ZSK).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">3<\/code> \u2014 protocollo (sempre 3).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">13<\/code> \u2014 algoritmo (13 = ECDSA\/SHA256).<\/li>\n\n\n\n<li>Ultimo campo \u2014 chiave in base64.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">DS<\/code> (Delegation Signer):<\/strong> Hash della chiave pubblica (<code class=\"\" data-line=\"\">DNSKEY<\/code>) della zona figlia, pubblicato nella <em>zona genitore<\/em> per creare una catena di fiducia.\n<ul class=\"wp-block-list\">\n<li><strong>Esempio:<\/strong><code class=\"\" data-line=\"\">example.com. 3600 IN DS 54517 13 2 84C8...D34F<\/code>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">54517<\/code> \u2014 Key Tag (identificatore chiave).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">13<\/code> \u2014 Algoritmo.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">2<\/code> \u2014 Tipo di digest (SHA-256).<\/li>\n\n\n\n<li>Ultimo campo \u2014 hash in esadecimale.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">RRSIG<\/code> (Resource Record Signature):<\/strong> Firma digitale per un insieme di record DNS.\n<ul class=\"wp-block-list\">\n<li><strong>Esempio (firma per record <code class=\"\" data-line=\"\">A<\/code>):<\/strong><code class=\"\" data-line=\"\">example.com. 3600 IN RRSIG A 13 2 3600 20251001000000 20250901000000 54517 example.com. oNvL...7Q==<\/code>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">A<\/code> \u2014 tipo di record firmati.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">13<\/code> \u2014 algoritmo.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">2<\/code> \u2014 numero di etichette nel nome.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">3600<\/code> \u2014 TTL originale.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">20251001000000<\/code> \u2014 tempo di scadenza della firma.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">20250901000000<\/code> \u2014 tempo di inizio della firma.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">54517<\/code> \u2014 Key Tag della chiave di firma.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">example.com.<\/code> \u2014 nome del firmatario.<\/li>\n\n\n\n<li>Ultimo campo \u2014 firma in base64.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">NSEC<\/code> \/ <code class=\"\" data-line=\"\">NSEC3<\/code>:<\/strong> Utilizzati per autenticare risposte negative (prova che un record con tale nome o tipo non esiste). <code class=\"\" data-line=\"\">NSEC3<\/code> applica inoltre l&#8217;hash ai nomi per proteggere contro le &#8220;passeggiate di zona&#8221;.<\/li>\n\n\n\n<li><strong>Abilitazione di DNSSEC:<\/strong> Questo \u00e8 un processo separato e complesso:\n<ol class=\"wp-block-list\">\n<li>Generare coppie di chiavi (KSK e ZSK) sul server DNS.<\/li>\n\n\n\n<li>Pubblicare record <code class=\"\" data-line=\"\">DNSKEY<\/code> nella zona.<\/li>\n\n\n\n<li>Generare un record <code class=\"\" data-line=\"\">DS<\/code> dal KSK.<\/li>\n\n\n\n<li>Pubblicare il record <code class=\"\" data-line=\"\">DS<\/code> con il registrar del dominio (nella zona genitore).<\/li>\n\n\n\n<li>Abilitare la firma della zona sul server DNS (generazione automatica di <code class=\"\" data-line=\"\">RRSIG<\/code>, <code class=\"\" data-line=\"\">NSEC<\/code>\/<code class=\"\" data-line=\"\">NSEC3<\/code>).<\/li>\n\n\n\n<li>Testare utilizzando <code class=\"\" data-line=\"\">dig +dnssec<\/code> e strumenti online (ad esempio, Verisign DNSSEC Debugger).<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>Verifica:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">dig +dnssec example.com A<\/code> (mostrer\u00e0 <code class=\"\" data-line=\"\">RRSIG<\/code> per il record <code class=\"\" data-line=\"\">A<\/code> se DNSSEC \u00e8 abilitato e funzionante).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">dig +short example.com DNSKEY<\/code><\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">dig +short example.com DS<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-16\"  class=\"wp-block-heading\">SSHFP \u2014 Impronta digitale della chiave pubblica SSH<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scopo:<\/strong> Pubblica l&#8217;hash (impronta digitale) della chiave SSH dell&#8217;host nel DNS. I client SSH possono utilizzare questo record per verificare automaticamente l&#8217;autenticit\u00e0 del server al primo collegamento, prevenendo gli attacchi &#8220;man-in-the-middle&#8221; (MITM). <strong>Si consiglia di utilizzarlo con DNSSEC<\/strong> per garantire l&#8217;autenticit\u00e0 del record.<\/li>\n\n\n\n<li><strong>Formato:<\/strong> <code class=\"\" data-line=\"\">nome TTL IN SSHFP algoritmo tipo_di_digest impronta_digitale<\/code><\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">example.com. 3600 IN SSHFP 4 2 356a192b7913b04c54574d18c28d46e6395428ab<\/code><\/li>\n\n\n\n<li><strong>Spiegazioni:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">Algorithm<\/code> (Algoritmo):<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">1<\/code> \u2014 RSA<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">2<\/code> \u2014 DSA<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">3<\/code> \u2014 ECDSA<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">4<\/code> \u2014 ED25519<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Digest Type<\/code> (Tipo di digest):<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">1<\/code> \u2014 SHA-1<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">2<\/code> \u2014 SHA-256<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">Fingerprint<\/code>:<\/strong> Hash della chiave pubblica in formato esadecimale.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Generazione:<\/strong> Sul server, \u00e8 possibile generare il record con il comando: <code class=\"\" data-line=\"\">ssh-keygen -r example.com<\/code><\/li>\n\n\n\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig +short example.com SSHFP<\/code><\/li>\n<\/ul>\n\n\n\n<h3 id=\"rtoc-17\"  class=\"wp-block-heading\">Record rari e di servizio<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">HINFO<\/code> (Informazioni sull&#8217;host):<\/strong> Memorizza informazioni sul tipo di CPU e sistema operativo dell&#8217;host. <strong>Non consigliato per l&#8217;uso<\/strong> poich\u00e9 rivela informazioni potenzialmente sensibili sul sistema.\n<ul class=\"wp-block-list\">\n<li><strong>Esempio:<\/strong> <code class=\"\" data-line=\"\">server1.example.com. 3600 IN HINFO &quot;Intel Xeon&quot; &quot;Ubuntu 22.04&quot;<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">LOC<\/code> (Posizione):<\/strong> Memorizza le coordinate geografiche (latitudine, longitudine, altitudine) dell&#8217;host.\n<ul class=\"wp-block-list\">\n<li><strong>Esempio:<\/strong> <code class=\"\" data-line=\"\">example.com. 3600 IN LOC 55 45 21.000 N 37 37 03.000 E 15m<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">RP<\/code> (Persona responsabile):<\/strong> Specifica la persona di contatto responsabile della zona. L&#8217;email \u00e8 specificata nel formato hostname (punto invece di <code class=\"\" data-line=\"\">@<\/code>).\n<ul class=\"wp-block-list\">\n<li><strong>Esempio:<\/strong> <code class=\"\" data-line=\"\">example.com. 3600 IN RP admin.example.com. txt-record.example.com.<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">SPF<\/code> (obsoleto):<\/strong> Esisteva precedentemente come tipo di record separato ma ora \u00e8 completamente sostituito da <code class=\"\" data-line=\"\">TXT<\/code>. Non deve essere utilizzato.\n<ul class=\"wp-block-list\">\n<li><strong>Esempio (non utilizzare):<\/strong> <code class=\"\" data-line=\"\">example.com. IN SPF &quot;v=spf1 ...&quot;<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-18\"  class=\"wp-block-heading\">3. Raccomandazioni pratiche e sfumature di configurazione<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Gestione del TTL:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Valore standard:<\/strong> 3600 secondi (1 ora) \u2014 un buon equilibrio tra prestazioni (cache) e flessibilit\u00e0.<\/li>\n\n\n\n<li><strong>Prima della migrazione:<\/strong> Ridurre il TTL per i record pertinenti (ad esempio, <code class=\"\" data-line=\"\">A<\/code>\/<code class=\"\" data-line=\"\">AAAA<\/code> per il proprio sito web) a 300 secondi (5 minuti) 24-72 ore prima del cambiamento previsto. Questo riduce il tempo di propagazione dei cambiamenti.<\/li>\n\n\n\n<li><strong>Dopo la migrazione:<\/strong> Una volta che i cambiamenti si sono stabilizzati, aumentare il TTL a un valore ottimale (ad esempio, 3600 o 86400) per ridurre il carico sui server DNS.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>SOA Serial:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Incrementare sempre<\/strong> il numero di serie <strong>dopo ogni modifica<\/strong> della zona. Se non lo si fa, i server secondari non saranno informati degli aggiornamenti.<\/li>\n\n\n\n<li><strong>Formato consigliato:<\/strong> <code class=\"\" data-line=\"\">YYYYMMDDNN<\/code> (ad esempio, <code class=\"\" data-line=\"\">2024051701<\/code>). Questo \u00e8 chiaro e consente di tenere traccia facilmente di quando \u00e8 stata effettuata l&#8217;ultima modifica.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>CNAME su Apex (Dominio radice):<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Problema:<\/strong> Lo standard RFC vieta <code class=\"\" data-line=\"\">CNAME<\/code> sul dominio apex (ad esempio, <code class=\"\" data-line=\"\">example.com.<\/code>) perch\u00e9 entra in conflitto con altri record obbligatori (<code class=\"\" data-line=\"\">NS<\/code>, <code class=\"\" data-line=\"\">SOA<\/code>).<\/li>\n\n\n\n<li><strong>Soluzione:<\/strong> Utilizzare le funzionalit\u00e0 fornite dal proprio provider DNS:\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">ALIAS<\/code>\/<code class=\"\" data-line=\"\">ANAME<\/code>:<\/strong> Tipi di record non standard che si comportano come <code class=\"\" data-line=\"\">CNAME<\/code> ma vengono risolti dal server DNS del provider in record <code class=\"\" data-line=\"\">A<\/code>\/<code class=\"\" data-line=\"\">AAAA<\/code> per la risposta del client. Questo consente di utilizzare alias sull&#8217;apex.<\/li>\n\n\n\n<li><strong>CNAME Flattening:<\/strong> Una tecnologia (ad esempio, in Cloudflare) in cui un <code class=\"\" data-line=\"\">CNAME<\/code> sull&#8217;apex viene &#8220;appiattito&#8221; automaticamente \u2014 il server DNS restituisce i record <code class=\"\" data-line=\"\">A<\/code>\/<code class=\"\" data-line=\"\">AAAA<\/code> dell&#8217;host di destinazione invece del <code class=\"\" data-line=\"\">CNAME<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Record Glue:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Quando necessari:<\/strong> Se i propri server dei nomi (ad esempio, <code class=\"\" data-line=\"\">ns1.example.com.<\/code>) si trovano all&#8217;interno della stessa zona che servono (<code class=\"\" data-line=\"\">example.com.<\/code>).<\/li>\n\n\n\n<li><strong>Cosa fare:<\/strong> Trovare la sezione di configurazione dei record glue con il proprio registrar di dominio e aggiungere record <code class=\"\" data-line=\"\">A<\/code> (e\/o <code class=\"\" data-line=\"\">AAAA<\/code>) per i propri server dei nomi. Questo rompe la dipendenza circolare.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Configurazione di PTR per la posta:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Requisito:<\/strong> L&#8217;indirizzo IP del proprio server di posta deve avere un record <code class=\"\" data-line=\"\">PTR<\/code> che si risolva nel suo nome di dominio completamente qualificato (FQDN, ad esempio, <code class=\"\" data-line=\"\">mail.example.com.<\/code>).<\/li>\n\n\n\n<li><strong>Coerenza:<\/strong> Il nome che il server di posta invia nel comando <code class=\"\" data-line=\"\">HELO<\/code>\/<code class=\"\" data-line=\"\">EHLO<\/code> deve corrispondere al nome del record <code class=\"\" data-line=\"\">PTR<\/code>, e quel nome, a sua volta, deve avere un record <code class=\"\" data-line=\"\">A<\/code> che punta allo stesso indirizzo IP. Questo si chiama &#8220;Forward-Confirmed Reverse DNS&#8221; (FCrDNS) ed \u00e8 critico per la reputazione.<\/li>\n\n\n\n<li><strong>Dove configurare:<\/strong> Con il proprio provider di hosting o proprietario dell&#8217;indirizzo IP, non nella zona DNS del proprio dominio.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Divisione di record TXT lunghi:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Se una stringa in un record <code class=\"\" data-line=\"\">TXT<\/code> supera i 255 byte, deve essere divisa in pi\u00f9 parti nel file di zona. Ogni parte \u00e8 racchiusa tra virgolette, e il server DNS le concatena automaticamente.<\/li>\n\n\n\n<li><strong>Esempio:<\/strong><br><code class=\"\" data-line=\"\">example.com. IN TXT ( &quot;v=DMARC1; p=reject; rua=mailto:dmarc@example.com,mailto:dmarc@thirdparty.com; &quot; &quot;ruf=mailto:forensics@example.com; fo=1; adkim=s; aspf=s; pct=100&quot; )<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-19\"  class=\"wp-block-heading\">4. Modelli completi di file di zona (stile BIND)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Di seguito sono riportati modelli pronti per tre scenari comuni. Sostituire <code class=\"\" data-line=\"\">example.com<\/code>, <code class=\"\" data-line=\"\">example.net<\/code>, indirizzi IP e chiavi con i propri valori.<\/p>\n\n\n\n<h3 id=\"rtoc-20\"  class=\"wp-block-heading\">a) Sito web semplice (statico, senza posta)<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">$TTL 3600\n@   IN SOA ns1.hosting.net. hostmaster.example.com. (\n        2025092201 ; serial (YYYYMMDDNN)\n        7200       ; refresh (2 hours)\n        3600       ; retry (1 hour)\n        1209600    ; expire (14 days)\n        86400 )    ; minimum TTL (1 day)\n\n; Authoritative Name Servers\n@       IN NS   ns1.hosting.net.\n@       IN NS   ns2.hosting.net.\n\n; Web Server (IPv4 and IPv6)\n@       IN A    192.0.2.10\n@       IN AAAA 2001:db8::10\n\n; WWW subdomain (alias to apex)\nwww     IN CNAME @\n\n; Security: Restrict Certificate Authorities\n@       IN CAA  0 issue &quot;letsencrypt.org&quot;\n@       IN CAA  0 iodef &quot;mailto:security@example.com&quot;<\/code><\/pre>\n\n\n\n<h3 id=\"rtoc-21\"  class=\"wp-block-heading\">b) Sito web + server di posta proprio<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">$TTL 3600\n@   IN SOA ns1.example.net. admin.example.com. (\n        2025092201 ; serial\n        7200       ; refresh\n        3600       ; retry\n        1209600    ; expire\n        86400 )    ; minimum\n\n; Name Servers\n@       IN NS   ns1.example.net.\n@       IN NS   ns2.example.net.\n\n; --- Web Section ---\n@       IN A    192.0.2.10\nwww     IN CNAME @\n\n; --- Mail Section ---\n; A record for the mail server\nmail    IN A    192.0.2.20\n\n; MX record pointing to the mail server\n@       IN MX   10 mail.example.com.\n\n; --- Email Authentication ---\n; SPF: Allow mail server IP and Google Workspace\n@       IN TXT  &quot;v=spf1 ip4:192.0.2.20 include:_spf.google.com ~all&quot;\n\n; DKIM: Public key for &#039;default&#039; selector\ndefault._domainkey IN TXT &quot;v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ...&quot;\n\n; DMARC: Policy to quarantine failures and send reports\n_dmarc  IN TXT  &quot;v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; pct=100&quot;\n\n; --- Security ---\n@       IN CAA  0 issue &quot;letsencrypt.org&quot;<\/code><\/pre>\n\n\n\n<h3 id=\"rtoc-22\"  class=\"wp-block-heading\">c) Sito web + CDN + Posta + DNSSEC (esempio complesso)<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">$TTL 300 ; Lower TTL for flexibility with CDN\n@   IN SOA ns1.example.net. hostmaster.example.com. (\n        2025092201 ; serial\n        7200       ; refresh\n        3600       ; retry\n        1209600    ; expire\n        3600 )     ; minimum (also used for negative caching)\n\n; Name Servers\n@       IN NS   ns1.example.net.\n@       IN NS   ns2.example.net.\n\n; --- Web Section (with CDN) ---\n; Apex domain: Use ALIAS\/ANAME (provider-specific) to point to origin or CDN edge\n; If your provider supports ALIAS:\n; @     IN ALIAS origin.examplehost.net.\n; If using CNAME flattening for apex (e.g., Cloudflare):\n@       IN A    192.0.2.10 ; Temporary or fallback IP, often managed by provider\n\n; WWW subdomain: CNAME to CDN provider\nwww     IN CNAME cdn-provider.example.net.\n\n; --- Mail Section ---\nmail    IN A    192.0.2.20\n@       IN MX   10 mail.example.com.\n\n; --- Email Authentication ---\n@       IN TXT  &quot;v=spf1 include:_spf.google.com include:spf.protection.outlook.com -all&quot;\ndefault._domainkey IN TXT &quot;v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ...&quot;\n_dmarc  IN TXT  &quot;v=DMARC1; p=reject; rua=mailto:dmarc@example.com; ruf=mailto:abuse@example.com; pct=100&quot;\n\n; --- Security ---\n@       IN CAA  0 issue &quot;letsencrypt.org&quot;\n@       IN CAA  0 issuewild &quot;letsencrypt.org&quot;\n@       IN CAA  0 iodef &quot;mailto:security@example.com&quot;\n\n; --- DNSSEC (Example keys - REPLACE WITH YOURS) ---\n; DNSKEY records (usually auto-generated by DNS server when signing is enabled)\n@       IN DNSKEY 257 3 13 ( ; KSK\n        AwEAAbOv...QAB )\n@       IN DNSKEY 256 3 13 ( ; ZSK\n        AwEAAa3d...9QAB )\n\n; RRSIG records are automatically generated by the DNS server during signing and are not manually added to the zone file.\n; NSEC\/NSEC3 records are also automatically generated.\n\n; --- Additional Services (Example) ---\n; SRV record for SIP service\n_sip._tcp IN SRV 10 50 5060 sip1.example.com.<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-23\"  class=\"wp-block-heading\">5. Configurazione passo-passo del dominio di posta (PTR, SPF, DKIM, DMARC)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La configurazione della posta \u00e8 un compito complesso. Seguire questi passaggi per garantire la massima consegna e protezione dallo spam.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Passo 1: Configurare A\/AAAA per il server di posta<\/strong><br>Assicurarsi che il proprio server di posta abbia un record <code class=\"\" data-line=\"\">A<\/code> (e preferibilmente <code class=\"\" data-line=\"\">AAAA<\/code>).<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">mail.example.com. 3600 IN A 192.0.2.20<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Passo 2: Configurare i record MX<\/strong><br>Specificare che la posta per <code class=\"\" data-line=\"\">example.com<\/code> deve essere consegnata a <code class=\"\" data-line=\"\">mail.example.com.<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">example.com. 3600 IN MX 10 mail.example.com.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Passo 3: Configurare PTR (DNS inverso)<\/strong><br>Questo \u00e8 il <strong>passo pi\u00f9 importante e spesso trascurato<\/strong>. Contattare il proprio provider di hosting o proprietario dell&#8217;indirizzo IP (<code class=\"\" data-line=\"\">192.0.2.20<\/code>) e richiedere un record <code class=\"\" data-line=\"\">PTR<\/code> che punti a <code class=\"\" data-line=\"\">mail.example.com.<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Verifica:<\/strong> <code class=\"\" data-line=\"\">dig -x 192.0.2.20 +short<\/code> dovrebbe restituire <code class=\"\" data-line=\"\">mail.example.com.<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Passo 4: Configurare SPF (tramite TXT)<\/strong><br>Definire quali server sono autorizzati a inviare posta a nome di <code class=\"\" data-line=\"\">example.com<\/code>. Includere il proprio server e qualsiasi servizio di terze parti (Gmail, SendGrid, ecc.).<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">example.com. 3600 IN TXT &quot;v=spf1 ip4:192.0.2.20 include:_spf.google.com -all&quot;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Iniziare con <code class=\"\" data-line=\"\">~all<\/code> (fallimento morbido) per i test, quindi passare a <code class=\"\" data-line=\"\">-all<\/code> (fallimento rigoroso).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Passo 5: Configurare DKIM<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Generare una coppia di chiavi (privata e pubblica) sul proprio server di posta (MTA). Scegliere un &#8220;selettore&#8221; (ad esempio, <code class=\"\" data-line=\"\">default<\/code>, <code class=\"\" data-line=\"\">202405<\/code>).<\/li>\n\n\n\n<li>Configurare l&#8217;MTA per firmare le email in uscita utilizzando la chiave privata e il selettore scelto.<\/li>\n\n\n\n<li>Pubblicare la chiave pubblica nel DNS come record <code class=\"\" data-line=\"\">TXT<\/code> per il sottodominio <code class=\"\" data-line=\"\">selettore._domainkey.example.com.<\/code>.<br><code class=\"\" data-line=\"\">default._domainkey.example.com. 3600 IN TXT &quot;v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ...&quot;<\/code><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Passo 6: Configurare DMARC<\/strong><br>Definire la politica per gestire le email che non superano i controlli SPF\/DKIM e configurare l&#8217;invio di rapporti.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">_dmarc.example.com. 3600 IN TXT &quot;v=DMARC1; p=none; rua=mailto:dmarc@example.com; ruf=mailto:forensics@example.com; pct=100&quot;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Strategia di implementazione:<\/strong>\n<ol class=\"wp-block-list\">\n<li>Iniziare con <code class=\"\" data-line=\"\">p=none<\/code> \u2014 le email non vengono bloccate, si ricevono solo rapporti.<\/li>\n\n\n\n<li>Analizzare i rapporti, correggere gli errori in SPF\/DKIM.<\/li>\n\n\n\n<li>Passare a <code class=\"\" data-line=\"\">p=quarantine<\/code> \u2014 le email sospette vanno nello spam.<\/li>\n\n\n\n<li>Passare a <code class=\"\" data-line=\"\">p=reject<\/code> \u2014 le email sospette vengono rifiutate.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Suggerimenti aggiuntivi:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Assicurarsi che il nome che il proprio server di posta invia nel comando <code class=\"\" data-line=\"\">HELO<\/code>\/<code class=\"\" data-line=\"\">EHLO<\/code> corrisponda al nome del record <code class=\"\" data-line=\"\">PTR<\/code> (<code class=\"\" data-line=\"\">mail.example.com.<\/code>).<\/li>\n\n\n\n<li>Utilizzare strumenti online per verificare la configurazione: <a href=\"https:\/\/www.mail-tester.com\/\">mail-tester.com<\/a>, <a href=\"https:\/\/mxtoolbox.com\/\">mxtoolbox.com<\/a>, <a href=\"https:\/\/dmarcian.com\/\">dmarcian.com<\/a>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-24\"  class=\"wp-block-heading\">6. Comandi per la verifica e il debug DNS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Gli strumenti da riga di comando sono indispensabili per gli amministratori.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code class=\"\" data-line=\"\">dig<\/code> (Domain Information Groper) \u2014 lo strumento pi\u00f9 potente e consigliato.<\/strong>\n<ul class=\"wp-block-list\">\n<li>Query di base:\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">dig +short example.com A<\/code> \u2014 ottenere solo l&#8217;indirizzo IPv4.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">dig +short example.com AAAA<\/code> \u2014 ottenere solo l&#8217;indirizzo IPv6.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">dig +short example.com MX<\/code> \u2014 ottenere i record MX.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">dig +short example.com TXT<\/code> \u2014 ottenere i record TXT (SPF, DKIM, DMARC).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">dig +short www.example.com CNAME<\/code> \u2014 ottenere CNAME.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">dig +short _sip._tcp.example.com SRV<\/code> \u2014 ottenere il record SRV.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>DNS inverso:\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">dig -x 192.0.2.1 +short<\/code> \u2014 ottenere PTR per IP.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tracciamento della delega:\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">dig +trace example.com<\/code> \u2014 mostra l&#8217;intero percorso dai server radice ai server autorevoli della propria zona. Ottimo per diagnosticare i problemi di delega.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Query a server specifico:\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">dig @ns1.example.net example.com SOA<\/code> \u2014 richiedere il record SOA a un server dei nomi specifico.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Verifica DNSSEC:\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">dig +dnssec example.com A<\/code> \u2014 eseguire una query con il flag DO (DNSSEC OK) e mostrare i record <code class=\"\" data-line=\"\">RRSIG<\/code> se esistono.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">dig +short example.com DNSKEY<\/code> \u2014 ottenere i record DNSKEY.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">dig +short example.com DS<\/code> \u2014 ottenere il record DS (dalla zona genitore).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Verifica TLSA (DANE):\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">dig +short _443._tcp.www.example.com. TLSA<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Verifica SSHFP:\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">dig +short example.com SSHFP<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">nslookup<\/code> \u2014 strumento vecchio ma ancora incontrato.<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">nslookup -type=MX example.com<\/code><\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">nslookup -type=TXT example.com<\/code><\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">nslookup 192.0.2.1<\/code> (per PTR)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code class=\"\" data-line=\"\">host<\/code> \u2014 semplice e conveniente per query di base.<\/strong>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">host -t A example.com<\/code><\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">host -t MX example.com<\/code><\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">host -t TXT example.com<\/code><\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">host 192.0.2.1<\/code> (per PTR)<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">host -t sshfp example.com<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-25\"  class=\"wp-block-heading\">7. Sicurezza e best practice<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DNSSEC:<\/strong> Abilitare DNSSEC per domini critici. Questo protegge gli utenti da risposte DNS false. Iniziare con un dominio di prova per padroneggiare la procedura (generazione chiavi, pubblicazione <code class=\"\" data-line=\"\">DS<\/code> con il registrar). Utilizzare validatori online per verificare.<\/li>\n\n\n\n<li><strong>CAA:<\/strong> Configurare sempre i record <code class=\"\" data-line=\"\">CAA<\/code>. Questo \u00e8 un modo semplice ed efficace per prevenire l&#8217;emissione non autorizzata di certificati per il proprio dominio. Specificare solo le CA che si utilizzano (ad esempio, <code class=\"\" data-line=\"\">letsencrypt.org<\/code>).<\/li>\n\n\n\n<li><strong>Gestione delle chiavi DKIM:<\/strong> Generare regolarmente (ad esempio, annualmente) nuove coppie di chiavi DKIM. Pubblicare la nuova chiave pubblica nel DNS, configurare l&#8217;MTA per utilizzare il nuovo selettore e, dopo alcune settimane (assicurandosi che tutte le vecchie email firmate con la vecchia chiave siano state elaborate), eliminare il vecchio record <code class=\"\" data-line=\"\">TXT<\/code>.<\/li>\n\n\n\n<li><strong>Privacy:<\/strong> Non pubblicare i record <code class=\"\" data-line=\"\">HINFO<\/code> poich\u00e9 rivelano informazioni su hardware e software che potrebbero essere utili agli attaccanti.<\/li>\n\n\n\n<li><strong>Query ANY:<\/strong> Molti resolver DNS pubblici (ad esempio, Google Public DNS, Cloudflare) non elaborano pi\u00f9 le query <code class=\"\" data-line=\"\">ANY<\/code> a causa del loro utilizzo negli attacchi DDoS. Non fare affidamento su di esse.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-26\"  class=\"wp-block-heading\">8. Errori comuni e come evitarli<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>CNAME entra in conflitto con altri record:<\/strong> Non \u00e8 possibile avere un <code class=\"\" data-line=\"\">CNAME<\/code> e, ad esempio, un <code class=\"\" data-line=\"\">A<\/code> o <code class=\"\" data-line=\"\">MX<\/code> per lo stesso nome. <strong>Soluzione:<\/strong> Rivedere la struttura della propria zona. Utilizzare record <code class=\"\" data-line=\"\">A<\/code> o <code class=\"\" data-line=\"\">ALIAS<\/code>\/<code class=\"\" data-line=\"\">ANAME<\/code> per l&#8217;apex.<\/li>\n\n\n\n<li><strong>Mancanza di PTR per il server di posta:<\/strong> Questa \u00e8 la ragione principale per cui la posta finisce nello spam. <strong>Soluzione:<\/strong> Configurare sempre <code class=\"\" data-line=\"\">PTR<\/code> con il proprio provider di hosting.<\/li>\n\n\n\n<li><strong>Numero di serie SOA non modificato:<\/strong> Se non si incrementa il numero di serie, i server secondari non saranno informati degli aggiornamenti. <strong>Soluzione:<\/strong> Incrementare sempre <code class=\"\" data-line=\"\">Serial<\/code> dopo <em>qualsiasi<\/em> modifica della zona. Automatizzare questo processo se possibile.<\/li>\n\n\n\n<li><strong>Formattazione errata di record TXT lunghi:<\/strong> Se una stringa \u00e8 pi\u00f9 lunga di 255 byte e non \u00e8 divisa in parti, pu\u00f2 essere troncata o causare un errore. <strong>Soluzione:<\/strong> Dividere sempre le stringhe lunghe nei record <code class=\"\" data-line=\"\">TXT<\/code>, racchiudendo ogni parte tra virgolette.<\/li>\n\n\n\n<li><strong>DS errato durante l&#8217;abilitazione di DNSSEC:<\/strong> Se il record <code class=\"\" data-line=\"\">DS<\/code> pubblicato con il registrar non corrisponde al proprio <code class=\"\" data-line=\"\">DNSKEY<\/code>, la zona diventer\u00e0 &#8220;non attendibile&#8221;, e i client con DNSSEC abilitato non potranno ottenere record da essa. <strong>Soluzione:<\/strong> Seguire attentamente le istruzioni del proprio server DNS e registrar. Verificare due volte gli hash.<\/li>\n\n\n\n<li><strong>TTL elevato prima della migrazione:<\/strong> Se il TTL \u00e8 elevato (ad esempio, 86400), dopo aver cambiato l&#8217;indirizzo IP, gli utenti raggiungeranno l&#8217;indirizzo vecchio per un giorno. <strong>Soluzione:<\/strong> Ridurre sempre il TTL uno o due giorni prima di una migrazione pianificata.<\/li>\n\n\n\n<li><strong>CNAME sul dominio apex:<\/strong> L&#8217;uso diretto di <code class=\"\" data-line=\"\">CNAME<\/code> per <code class=\"\" data-line=\"\">example.com.<\/code> viola la RFC e pu\u00f2 causare un comportamento imprevedibile. <strong>Soluzione:<\/strong> Utilizzare <code class=\"\" data-line=\"\">ALIAS<\/code>\/<code class=\"\" data-line=\"\">ANAME<\/code> o <code class=\"\" data-line=\"\">CNAME flattening<\/code> fornito dal proprio provider DNS.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-27\"  class=\"wp-block-heading\">9. Checklist prima del rilascio in produzione o migrazione<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizzare questo elenco per verifiche finali prima di lanciare o spostare un sito\/servizio.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>[ ] <strong>Record di base:<\/strong> <code class=\"\" data-line=\"\">A<\/code>\/<code class=\"\" data-line=\"\">AAAA<\/code> per tutti gli host chiave (web, posta) sono configurati e puntano agli indirizzi IP corretti.<\/li>\n\n\n\n<li>[ ] <strong>Posta:<\/strong> I record <code class=\"\" data-line=\"\">MX<\/code> sono configurati e puntano a host con record <code class=\"\" data-line=\"\">A<\/code>\/<code class=\"\" data-line=\"\">AAAA<\/code>.<\/li>\n\n\n\n<li>[ ] <strong>DNS inverso:<\/strong> I record <code class=\"\" data-line=\"\">PTR<\/code> per tutti gli indirizzi IP dei server di posta sono configurati e corretti (verificato tramite <code class=\"\" data-line=\"\">dig -x<\/code>).<\/li>\n\n\n\n<li>[ ] <strong>SPF:<\/strong> Il record <code class=\"\" data-line=\"\">TXT<\/code> SPF \u00e8 configurato, include tutte le fonti consentite e ha il meccanismo di terminazione corretto (<code class=\"\" data-line=\"\">-all<\/code> o <code class=\"\" data-line=\"\">~all<\/code>).<\/li>\n\n\n\n<li>[ ] <strong>DKIM:<\/strong> La chiave pubblica \u00e8 pubblicata nel DNS, l&#8217;MTA \u00e8 configurato per firmare le email. La firma \u00e8 verificata su un&#8217;email di prova.<\/li>\n\n\n\n<li>[ ] <strong>DMARC:<\/strong> Il record <code class=\"\" data-line=\"\">TXT<\/code> DMARC \u00e8 pubblicato. Per i nuovi deployment, si consiglia di iniziare con <code class=\"\" data-line=\"\">p=none<\/code>.<\/li>\n\n\n\n<li>[ ] <strong>Server dei nomi:<\/strong> I record <code class=\"\" data-line=\"\">NS<\/code> nella zona corrispondono ai server specificati con il registrar. I record <code class=\"\" data-line=\"\">glue<\/code> sono configurati se necessario.<\/li>\n\n\n\n<li>[ ] <strong>Numero di serie SOA:<\/strong> Il numero di serie \u00e8 stato incrementato dopo tutte le modifiche recenti.<\/li>\n\n\n\n<li>[ ] <strong>CAA:<\/strong> I record <code class=\"\" data-line=\"\">CAA<\/code> sono configurati per limitare l&#8217;emissione di certificati.<\/li>\n\n\n\n<li>[ ] <strong>TTL:<\/strong> Il TTL \u00e8 stato ridotto in anticipo (se era pianificata una migrazione).<\/li>\n\n\n\n<li>[ ] <strong>Verifica:<\/strong> Verifiche eseguite utilizzando <code class=\"\" data-line=\"\">dig +trace<\/code>, <code class=\"\" data-line=\"\">dig MX<\/code>, <code class=\"\" data-line=\"\">dig TXT<\/code> e strumenti online (ad esempio, MXToolbox).<\/li>\n\n\n\n<li>[ ] <strong>DNSSEC (se abilitato):<\/strong> Il record <code class=\"\" data-line=\"\">DS<\/code> \u00e8 correttamente aggiunto con il registrar, le verifiche DNSSEC passano con successo.<\/li>\n\n\n\n<li>[ ] <strong>Backup:<\/strong> L&#8217;esportazione della zona corrente \u00e8 salvata.<\/li>\n\n\n\n<li>[ ] <strong>Piano di rollback:<\/strong> I passaggi per annullare le modifiche in caso di fallimento sono chiaramente scritti.<\/li>\n\n\n\n<li>[ ] <strong>Monitoraggio:<\/strong> I sistemi di monitoraggio sono configurati per tracciare la disponibilit\u00e0 dei server DNS e i cambiamenti nella zona.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-28\"  class=\"wp-block-heading\">10. Esempi aggiuntivi e spiegazioni dei campi<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SRV \u2014 Approfondimento:<\/strong><code class=\"\" data-line=\"\">_xmpp-client._tcp.example.com. 3600 IN SRV 5 20 5222 xmpp1.example.com. _xmpp-client._tcp.example.com. 3600 IN SRV 5 30 5222 xmpp2.example.com. _xmpp-client._tcp.example.com. 3600 IN SRV 10 100 5222 backup.example.com.<\/code>\n<ul class=\"wp-block-list\">\n<li>Il client contatter\u00e0 prima i server con priorit\u00e0 <code class=\"\" data-line=\"\">5<\/code> (<code class=\"\" data-line=\"\">xmpp1<\/code> e <code class=\"\" data-line=\"\">xmpp2<\/code>).<\/li>\n\n\n\n<li>Tra <code class=\"\" data-line=\"\">xmpp1<\/code> e <code class=\"\" data-line=\"\">xmpp2<\/code>, la selezione sar\u00e0 proporzionale al loro peso: <code class=\"\" data-line=\"\">xmpp1<\/code> ha il 40% di probabilit\u00e0 (20\/(20+30)), <code class=\"\" data-line=\"\">xmpp2<\/code> \u2014 60% (30\/(20+30)).<\/li>\n\n\n\n<li>Il server <code class=\"\" data-line=\"\">backup.example.com.<\/code> (priorit\u00e0 <code class=\"\" data-line=\"\">10<\/code>) verr\u00e0 utilizzato solo se entrambi i server con priorit\u00e0 <code class=\"\" data-line=\"\">5<\/code> sono non disponibili.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>TLSA \u2014 Decodifica dell&#8217;esempio:<\/strong><code class=\"\" data-line=\"\">_443._tcp.www.example.com. IN TLSA 3 1 1 d2abde...f21<\/code>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">3<\/code> (DANE-EE): Il client deve utilizzare <em>questo certificato esatto<\/em> (o la sua chiave pubblica), indipendentemente dalla catena di fiducia della CA.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">1<\/code> (Selettore): Il record memorizza l&#8217;hash non dell&#8217;intero certificato, ma solo della sua <strong>chiave pubblica<\/strong>. Questo \u00e8 pi\u00f9 conveniente perch\u00e9 quando si rilascia un certificato con la stessa chiave, non \u00e8 necessario modificare il record <code class=\"\" data-line=\"\">TLSA<\/code>.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">1<\/code> (Tipo di corrispondenza): Viene utilizzato l&#8217;hash <strong>SHA-256<\/strong>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>SSHFP \u2014 Decodifica dell&#8217;esempio:<\/strong><br><code class=\"\" data-line=\"\">example.com. IN SSHFP 4 2 356a192b7913b04c54574d18c28d46e6395428ab<\/code>\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">4<\/code>: Algoritmo \u2014 <strong>ED25519<\/strong> (moderno e sicuro).<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">2<\/code>: Tipo di digest \u2014 <strong>SHA-256<\/strong>.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">356a19...28ab<\/code>: Hash SHA-256 della chiave pubblica ED25519.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-29\"  class=\"wp-block-heading\">11. Scenari utili<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Connessione di un sito web a un CDN:<\/strong>\n<ol class=\"wp-block-list\">\n<li>Generalmente, il provider CDN chiede di fare un <code class=\"\" data-line=\"\">CNAME<\/code> per un sottodominio (ad esempio, <code class=\"\" data-line=\"\">www<\/code>) al loro indirizzo (ad esempio, <code class=\"\" data-line=\"\">example.cdnprovider.com<\/code>).<\/li>\n\n\n\n<li>Se si desidera utilizzare il CDN per il dominio radice (<code class=\"\" data-line=\"\">example.com<\/code>), utilizzare la funzionalit\u00e0 <code class=\"\" data-line=\"\">ALIAS<\/code>\/<code class=\"\" data-line=\"\">ANAME<\/code> o <code class=\"\" data-line=\"\">CNAME flattening<\/code> del proprio provider DNS.<\/li>\n\n\n\n<li>Assicurarsi che il CDN sia correttamente configurato per funzionare con il proprio certificato SSL (spesso il CDN si occupa della terminazione SSL). Tenere conto dei record <code class=\"\" data-line=\"\">CAA<\/code> \u00e8 importante in questo caso.<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>Spostamento di un host (migrazione):<\/strong>\n<ol class=\"wp-block-list\">\n<li><strong>48-72 ore prima della migrazione:<\/strong> Ridurre il TTL per i record <code class=\"\" data-line=\"\">A<\/code>\/<code class=\"\" data-line=\"\">AAAA<\/code> del proprio sito a 300 secondi.<\/li>\n\n\n\n<li><strong>Attendere:<\/strong> Attendere che il vecchio TTL si &#8220;propaghi&#8221; (attendere un periodo pari al vecchio TTL, ad esempio, 3600 secondi).<\/li>\n\n\n\n<li><strong>Il giorno della migrazione:<\/strong> Modificare i record <code class=\"\" data-line=\"\">A<\/code>\/<code class=\"\" data-line=\"\">AAAA<\/code> per puntare ai nuovi indirizzi IP.<\/li>\n\n\n\n<li><strong>Verifica:<\/strong> Utilizzare <code class=\"\" data-line=\"\">dig +short example.com A<\/code> con diversi DNS pubblici (Google <code class=\"\" data-line=\"\">8.8.8.8<\/code>, Cloudflare <code class=\"\" data-line=\"\">1.1.1.1<\/code>) per verificare la propagazione dei cambiamenti.<\/li>\n\n\n\n<li><strong>Dopo la stabilizzazione (dopo 24-48 ore):<\/strong> Aumentare il TTL a un valore ottimale (ad esempio, 3600).<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-30\"  class=\"wp-block-heading\">12. JSON pronto per l&#8217;importazione nel pannello del provider<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Di seguito \u00e8 riportato un modello JSON esteso che contiene quasi tutti i tipi di record trattati in questa guida. Questo formato \u00e8 generalizzato e potrebbe richiedere adattamenti all&#8217;API specifica del proprio provider DNS (Cloudflare, AWS Route 53, DigitalOcean, ecc.).<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">{\n  &quot;zone&quot;: &quot;example.com&quot;,\n  &quot;records&quot;: &#091;\n    {\n      &quot;type&quot;: &quot;A&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;value&quot;: &quot;192.0.2.10&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;AAAA&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;value&quot;: &quot;2001:db8::10&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;CNAME&quot;,\n      &quot;name&quot;: &quot;www&quot;,\n      &quot;value&quot;: &quot;example.com.&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;MX&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;value&quot;: &quot;mail.example.com.&quot;,\n      &quot;priority&quot;: 10,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;MX&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;value&quot;: &quot;backup-mail.example.com.&quot;,\n      &quot;priority&quot;: 20,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;TXT&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;value&quot;: &quot;v=spf1 ip4:192.0.2.20 include:_spf.google.com -all&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;TXT&quot;,\n      &quot;name&quot;: &quot;default._domainkey&quot;,\n      &quot;value&quot;: &quot;v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQA...&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;TXT&quot;,\n      &quot;name&quot;: &quot;_dmarc&quot;,\n      &quot;value&quot;: &quot;v=DMARC1; p=reject; rua=mailto:dmarc@example.com; pct=100&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;NS&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;value&quot;: &quot;ns1.example.net.&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;NS&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;value&quot;: &quot;ns2.example.net.&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;SOA&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;primary_ns&quot;: &quot;ns1.example.net.&quot;,\n      &quot;admin_email&quot;: &quot;admin.example.com.&quot;,\n      &quot;serial&quot;: 2025092201,\n      &quot;refresh&quot;: 7200,\n      &quot;retry&quot;: 3600,\n      &quot;expire&quot;: 1209600,\n      &quot;minimum&quot;: 86400,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;PTR&quot;,\n      &quot;name&quot;: &quot;20.2.0.192.in-addr.arpa.&quot;,\n      &quot;value&quot;: &quot;mail.example.com.&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;SRV&quot;,\n      &quot;name&quot;: &quot;_sip._tcp&quot;,\n      &quot;target&quot;: &quot;sipserver.example.com.&quot;,\n      &quot;port&quot;: 5060,\n      &quot;priority&quot;: 10,\n      &quot;weight&quot;: 60,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;CAA&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;value&quot;: &quot;letsencrypt.org&quot;,\n      &quot;flags&quot;: 0,\n      &quot;tag&quot;: &quot;issue&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;CAA&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;value&quot;: &quot;mailto:security@example.com&quot;,\n      &quot;flags&quot;: 0,\n      &quot;tag&quot;: &quot;iodef&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;TLSA&quot;,\n      &quot;name&quot;: &quot;_443._tcp.www&quot;,\n      &quot;usage&quot;: 3,\n      &quot;selector&quot;: 1,\n      &quot;matching_type&quot;: 1,\n      &quot;value&quot;: &quot;d2abde240d7cd3ee6b4b28c54df034b97983a1d16e8a410e4561cb106618e971&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;SSHFP&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;algorithm&quot;: 4,\n      &quot;digest_type&quot;: 2,\n      &quot;value&quot;: &quot;356a192b7913b04c54574d18c28d46e6395428ab&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;HINFO&quot;,\n      &quot;name&quot;: &quot;server1&quot;,\n      &quot;cpu&quot;: &quot;Intel Xeon&quot;,\n      &quot;os&quot;: &quot;Ubuntu 22.04 LTS&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;LOC&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;latitude&quot;: &quot;55.7558 N&quot;,\n      &quot;longitude&quot;: &quot;37.6176 E&quot;,\n      &quot;altitude&quot;: 150,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;RP&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;mbox&quot;: &quot;admin.example.com.&quot;,\n      &quot;txt&quot;: &quot;Technical Support&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;NAPTR&quot;,\n      &quot;name&quot;: &quot;4.3.2.1.5.5.5.1.e164.arpa.&quot;,\n      &quot;order&quot;: 100,\n      &quot;preference&quot;: 10,\n      &quot;flags&quot;: &quot;U&quot;,\n      &quot;service&quot;: &quot;E2U+sip&quot;,\n      &quot;regexp&quot;: &quot;!^.*$!sip:info@example.com!&quot;,\n      &quot;replacement&quot;: &quot;.&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;DS&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;key_tag&quot;: 54517,\n      &quot;algorithm&quot;: 13,\n      &quot;digest_type&quot;: 2,\n      &quot;digest&quot;: &quot;84C84478D00A57973FC5D3E32F7E2BF539FB697D2660874C6D33A3313872D34F&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;DNSKEY&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;flags&quot;: 257,\n      &quot;protocol&quot;: 3,\n      &quot;algorithm&quot;: 13,\n      &quot;public_key&quot;: &quot;AwEAAbOv...QAB&quot;,\n      &quot;ttl&quot;: 3600\n    },\n    {\n      &quot;type&quot;: &quot;DNSKEY&quot;,\n      &quot;name&quot;: &quot;@&quot;,\n      &quot;flags&quot;: 256,\n      &quot;protocol&quot;: 3,\n      &quot;algorithm&quot;: 13,\n      &quot;public_key&quot;: &quot;AwEAAa3d...9QAB&quot;,\n      &quot;ttl&quot;: 3600\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Il DNS \u00e8 un sistema potente e flessibile, e la conoscenza di esso \u00e8 di importanza critica per chiunque gestisca progetti web, sistemi di posta o infrastrutture di rete. Questa guida copre tutti gli aspetti \u2014 dai semplici record <code class=\"\" data-line=\"\">A<\/code> ai meccanismi di sicurezza complessi come DNSSEC e DANE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conclusioni chiave:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pianificare i cambiamenti:<\/strong> Ridurre sempre il TTL prima della migrazione.<\/li>\n\n\n\n<li><strong>Testare:<\/strong> Utilizzare <code class=\"\" data-line=\"\">dig<\/code>, <code class=\"\" data-line=\"\">nslookup<\/code> e strumenti online per verificare ogni configurazione.<\/li>\n\n\n\n<li><strong>Sicurezza prima di tutto:<\/strong> Configurare SPF, DKIM, DMARC per la posta. Abilitare CAA per controllare i certificati. Considerare l&#8217;uso di DNSSEC per domini critici.<\/li>\n\n\n\n<li><strong>Documentare:<\/strong> Mantenere checklist e salvare backup delle zone.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Questo materiale \u00e8 progettato per essere il proprio riferimento universale. Salvarlo, e aiuter\u00e0 a risolvere qualsiasi compito relativo al DNS.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il DNS (Domain Name System) \u00e8 il sistema fondamentale su cui si basa l&#8217;intero internet moderno. Non \u00e8 semplicemente una &#8220;rubrica telefonica&#8221;, ma un database complesso e distribuito che traduce i nomi leggibili dagli esseri umani (ad esempio, google.com) in identificatori tecnici come indirizzi IP, server di posta, politiche di sicurezza e persino coordinate geografiche. Una configurazione DNS errata \u00e8 una delle cause pi\u00f9 frequenti di indisponibilit\u00e0 dei siti web, problemi di consegna della posta e vulnerabilit\u00e0 della sicurezza.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"left","neve_meta_author_avatar":"on","neve_post_elements_order":"[\"content\",\"tags\",\"comments\"]","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[376,1],"tags":[],"class_list":["post-3308","post","type-post","status-publish","format-standard","hentry","category-quick-reference-guides","category-uncategorized"],"acf":[],"_links":{"self":[{"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/posts\/3308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/comments?post=3308"}],"version-history":[{"count":0,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/posts\/3308\/revisions"}],"wp:attachment":[{"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/media?parent=3308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/categories?post=3308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/tags?post=3308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}