Quando digiti un indirizzo come example.com nel browser, il computer deve prima capire a quale server collegarsi.
Il browser non ragiona direttamente in termini di nomi di dominio: ha bisogno di un indirizzo IP.
È qui che entra in gioco il DNS, il Domain Name System.
In termini molto semplici, il DNS è il sistema che permette di associare un nome leggibile da una persona, come:
example.com
a informazioni utilizzabili dai computer, come:
93.184.216.34
Ma un dominio può avere molti più record oltre al semplice indirizzo IP. Alcuni indicano dove si trova il sito, altri dove consegnare le email, altri ancora collegano servizi esterni.
Capire questi record è importante anche dal punto di vista della sicurezza.
Cos'è un record DNS?
Un record DNS è un'informazione associata a un dominio o a un suo sottodominio.
Per esempio:
www.example.com → 93.184.216.34
significa che il sottodominio www.example.com punta a quell'indirizzo IP.
Un dominio può avere contemporaneamente molti record diversi:
example.com
www.example.com
mail.example.com
api.example.com
e ognuno può avere una configurazione differente.
Record A
Il record A associa un nome di dominio a un indirizzo IPv4.
Esempio:
example.com → 93.184.216.34
È uno dei record più comuni quando si configura un sito web.
Se un dominio punta direttamente al server tramite un record A, l'indirizzo IP del server può essere facilmente ricavato interrogando il DNS.
Questo non è necessariamente un problema: il DNS è progettato per essere pubblico.
Diventa però interessante quando l'indirizzo IP espone servizi che non dovrebbero essere accessibili direttamente da Internet.
Record AAAA
Il record AAAA svolge una funzione simile al record A, ma utilizza indirizzi IPv6.
Per esempio:
example.com → 2001:db8::1234
Un errore abbastanza comune consiste nel proteggere correttamente l'infrastruttura IPv4 e dimenticare invece quella IPv6.
Se un server è raggiungibile tramite entrambi i protocolli, la superficie esposta deve essere considerata nel suo insieme.
Record CNAME
Il record CNAME permette di creare un alias verso un altro nome DNS.
Per esempio:
www.example.com → example.com
oppure:
blog.example.com → myblog.provider.com
È molto utilizzato per collegare sottodomini a servizi esterni.
Ed è proprio questo uno dei motivi per cui i CNAME meritano attenzione.
Se un sottodominio continua a puntare verso un servizio esterno che non viene più utilizzato, il record potrebbe rimanere attivo anche quando la relativa risorsa è stata eliminata.
Questo tipo di situazione può contribuire a creare problemi come i subdomain takeover.
Record MX
I record MX, Mail Exchange, indicano quali server devono ricevere le email destinate a un dominio.
Per esempio:
example.com → mail.example.com
Un dominio può avere più record MX, generalmente con priorità differenti:
10 mail1.example.com
20 mail2.example.com
I record MX sono quindi fondamentali per il funzionamento della posta elettronica.
Anche in questo caso è importante verificare che i server indicati siano ancora realmente utilizzati e correttamente configurati.
Record TXT
I record TXT permettono di associare testo e informazioni a un dominio.
Sono utilizzati per molti scopi, tra cui la verifica della proprietà di un dominio e la configurazione di sistemi di sicurezza per la posta elettronica.
Tra gli utilizzi più conosciuti troviamo:
- SPF
- DKIM
- DMARC
- verifiche effettuate da servizi esterni
- configurazioni e validazioni di servizi cloud
Un record TXT può quindi contenere informazioni importanti sull'infrastruttura e sui servizi utilizzati.
E gli altri record?
A, AAAA, CNAME, MX e TXT sono soltanto alcuni dei record DNS esistenti.
Tra gli altri troviamo:
- NS — indica i nameserver autorevoli per il dominio
- SOA — contiene informazioni principali sulla zona DNS
- CAA — permette di specificare quali Certificate Authority possono emettere certificati per il dominio
- PTR — utilizzato principalmente per la risoluzione inversa degli indirizzi IP
Non tutti sono direttamente legati alla pubblicazione di un sito web, ma fanno parte dell'ecosistema DNS.
Perché il DNS è importante per la sicurezza?
Il DNS costituisce una delle prime fonti di informazioni disponibili dall'esterno.
Osservando i record pubblici è possibile individuare, per esempio:
www.example.com
api.example.com
mail.example.com
dev.example.com
vpn.example.com
Questo può fornire indicazioni sulla struttura dell'infrastruttura.
Il problema non è che queste informazioni siano pubbliche: il DNS deve esserlo.
Il problema nasce quando la configurazione contiene elementi dimenticati, incoerenti o non più necessari.
Cosa controllare
Per un dominio è utile verificare periodicamente:
- quali record A e AAAA sono presenti;
- quali CNAME sono configurati;
- quali sottodomini esistono;
- quali server gestiscono la posta;
- quali record TXT sono ancora necessari;
- se esistono record verso servizi esterni non più utilizzati;
- se IPv4 e IPv6 sono configurati correttamente;
- se esistono vecchi record rimasti dopo una migrazione.
Il DNS non dovrebbe essere considerato una configurazione da impostare una volta e dimenticare.
È parte integrante della superficie esposta di un'organizzazione.
In sintesi
Il DNS è molto più del semplice collegamento tra dominio e indirizzo IP.
I diversi record descrivono una parte dell'infrastruttura:
A → IPv4
AAAA → IPv6
CNAME → alias
MX → posta elettronica
TXT → informazioni e verifiche
NS → nameserver
CAA → autorità autorizzate per i certificati
Conoscere questi record significa anche capire meglio cosa un'organizzazione sta pubblicando verso Internet.
Ed è proprio da questa visibilità esterna che parte una buona analisi della superficie di attacco.
MiHakero può aiutarti a osservare ciò che è pubblicamente esposto e a individuare elementi che meritano una verifica, senza limitarsi al solo sito principale.