Dig per negati

Scrittura · 24 mag 2019

Dig per negati

Spiegazione di uno strumento di rete molto utile

Quando costruisci siti web, app o servizi di posta può capitare di avere a che fare con i nomi di dominio e le loro configurazioni. Quando tutto funziona come dovrebbe, quasi tutto questo è invisibile. Ma per risolvere un problema nella configurazione di un dominio può servire scavare un po' più a fondo... leggi come si fa!

Domain Name System (DNS)

Internet funziona usando indirizzi numerici del protocollo internet (IP) per localizzare e identificare computer, servizi (cloud) e dispositivi online. Invece di memorizzare tutti questi indirizzi IP, il sistema dei nomi di dominio è diventato l'elenco telefonico essenziale del mondo intero, che collega nomi e numeri.

Stai leggendo questo su willem.com, ma in realtà questo nome di dominio è semplicemente un puntatore a una macchina fisica, collegata a internet (con dei cavi, davvero!). Uno di quei cavi è collegato all'indirizzo IP 87.253.135.162. Il server DNS ha il compito di far corrispondere correttamente i numeri (gli indirizzi IP) ai nomi (di dominio).

Il Domain Name System (DNS) collega i nomi di dominio agli indirizzi IP, che a loro volta passano attraverso dei cavi. Stai leggendo questo - sul serio! - attraverso il cavo collegato al server che vedi in questa foto!
Il Domain Name System (DNS) collega i nomi di dominio agli indirizzi IP, che a loro volta passano attraverso dei cavi. Stai leggendo questo - sul serio! - attraverso il cavo collegato al server che vedi in questa foto!

Distribuito e decentralizzato

Quando gli americani progettarono la loro ARPANET all'inizio degli anni settanta, uno dei requisiti militari era che la rete sopravvivesse agli attacchi (dei nemici). Lo ottennero con la commutazione di pacchetto, un modo per far condividere e riutilizzare i cavi di rete da più persone in più modi. Se una parte della rete viene danneggiata, i pacchetti di informazioni vengono reindirizzati su altre parti della rete.

Una mappa di ARPANET nel 1973... immagina di mappare internet oggi!  (Pubblico dominio)
Una mappa di ARPANET nel 1973... immagina di mappare internet oggi! (Pubblico dominio)

Per ottenere la massima resilienza non esiste un unico server DNS radice. Il sistema dei nomi di dominio delega invece la responsabilità di assegnare i nomi di dominio e le loro corrispondenze, designando un name server autorevole per ogni nome di dominio.

Ecco perché esistono tanti server DNS e configurazioni diverse. Con così tanti modi e luoghi in cui le cose possono andare storte, ti serve uno strumento per scavare.

dig (domain information groper)

Il comando 'dig' è uno strumento per interrogare i name server DNS su indirizzi IP, hostname, server di posta e altri tipi di impostazioni di rete. Il comando dig è disponibile su Unix, macOS, GNU/Linux e Windows.

Usare dig per interrogare i name server

Puoi usare dig per ottenere informazioni su un nome di dominio digitando semplicemente: 'dig willem.com'. Guarda questo screenshot con la spiegazione:

Usare dig per ottenere informazioni su un nome di dominio, willem.com
Usare dig per ottenere informazioni su un nome di dominio, willem.com
  • 1) dig willem.com restituisce tutte le informazioni su domanda, risposta, autorità (chi ha risposto alla domanda) e statistiche della query (per esempio quanto ci è voluto per ottenere una risposta).
  • 2) dig +short willem.com omette tutte le informazioni extra e restituisce solo la risposta. Qui puoi vedere che willem.com punta all'indirizzo IP 87.253.135.162.
  • 3) dig +short willem.com MX mostra i record mailer exchange (MX). I record MX sono fondamentali perché la posta arrivi al server giusto. In pratica indicano l'ufficio postale responsabile della posta collegata al nome di dominio. Per willem.com è un servizio di posta chiamato online.lemmid.com. Altri servizi di posta popolari sono Office365 e Google Gmail. Con dig puoi scoprire che servizio di posta usa qualcuno.
  • 4) dig +short willem.com NS mostra i name server responsabili della gestione delle query per questo nome di dominio. Di solito sono i server gestiti dal registro dei nomi di dominio, il tuo provider di domini. Con dig puoi scoprire che tipo di provider di domini usa qualcuno (nel caso di willem.com, è Lemmid).
  • 5) dig +short willem.com TXT restituisce il record di testo collegato al nome di dominio, ed è qui che trovi il cosiddetto record SPF. Il record SPF è un'altra parte fondamentale della posta, vale la pena scavare un po' più a fondo nell'SPF.

Sender Policy Framework (SPF)

Per individuare gli indirizzi mittente falsificati nelle e-mail (il cosiddetto email spoofing), nel 2004 è stato definito lo standard SPF. Originariamente chiamato "Sender Permitted From", l'SPF è un modo per verificare se qualcuno è autorizzato a inviare e-mail a nome di un determinato nome di dominio. L'SPF permette al proprietario di un nome di dominio di specificare quali computer sono autorizzati a inviare e-mail con indirizzi FROM di quel dominio.

Se il proprietario di un nome di dominio pubblica un record SPF, spammer e phisher hanno meno probabilità di (ab)usare quel dominio per inviare e-mail false che sembrano provenire da lì. Un dominio protetto da SPF ha quindi meno probabilità di finire nelle blacklist dei filtri antispam, e più probabilità che le e-mail legittime del dominio arrivino a destinazione. Un record SPF configurato male può però ostacolare la consegna della posta.

Usare dig per interrogare i record SPF

Con il comando dig puoi interrogare un record SPF e vedere quali sono esattamente le regole per chi può inviare posta. Guarda questo screenshot con la spiegazione:

Usare dig per ottenere informazioni sui record SPF di un nome di dominio, google.com
Usare dig per ottenere informazioni sui record SPF di un nome di dominio, google.com
  • 1) dig +short TXT google.com ci mostra il record TXT configurato per google.com, il posto dove trovi il record SPF (tra le altre cose). Il record SPF di google.com è "v=spf1 include:_spf.google.com ~all". La parte include: significa che per questo nome di dominio vanno caricati anche valori SPF esterni.
  • 2) dig +short TXT _spf.google.com mostra quali sono in realtà questi valori SPF esterni di google.com. In questo caso rivela altri tre include: "_netblocks.google.com", "_netblocks2.google.com" e (che originali..) "_netblocks3.google.com".
  • 3) dig +short TXT _netblocks.google.com (e le varianti 2 + 3) specificano gli indirizzi IP effettivi autorizzati a inviare e-mail a nome di google.com. Siccome Google è una grande azienda di internet, in queste liste ci sono molti indirizzi IP. Se guardi con attenzione, noterai che alcuni hanno un suffisso "/", come "/24". È il modo di indicare un intero blocco (per esempio una strada) di indirizzi IP.

I blocchi IP spiegati

Il modo più semplice per capire la notazione dei blocchi di indirizzi IP è guardare questi esempi:

  • /8 = 255.0.0.0
  • /16 = 255.255.0.0
  • /24 = 255.255.255.0
  • /32 = 255.255.255.255

Dove vedi '0' negli indirizzi qui sopra, sono inclusi altri valori. Quindi, per esempio, 173.194.0.0/16 significa in realtà "tutti gli indirizzi che iniziano con '173.194' ". Con 255 posizioni possibili per ogni ottetto, sono 255x255=65025 indirizzi diversi!

Conclusione

Per risolvere i problemi devi sapere dov'è il problema. Con il comando dig puoi scoprire come è fatta una determinata rete e la configurazione di un dominio.

Le risposte, da un comando all'altro, ti permettono di scavare a fondo nelle viscere dello straordinario internet. Buona fortuna!

← Altri scritti