Un record DNS jolly è una cattiva pratica?


18

Ho chiesto al mio hoster di aggiungere tre sottodomini tutti che puntano all'IP del record A. Sembra che abbia semplicemente aggiunto un record DNS jolly perché qualsiasi sottodominio casuale si risolve nel mio IP ora. Questo va bene per me dal punto di vista tecnico, dal momento che non ci sono sottodomini che puntino altrove. Poi di nuovo non mi piace che non faccia quello che ho chiesto. E quindi mi chiedo se ci sono altri motivi per dirgli di cambiarlo. Ci sono?

L'unico aspetto negativo che ho riscontrato è che qualcuno potrebbe collegarsi al mio sito utilizzando http://i.dont.like.your.website.mywebsite.tld.


8
Qualcuno potrebbe collegarsi al tuo server usando " i.dont.like.your.website.mywebsite.tld " ma il tuo server non dovrebbe rispondere a meno che non sia configurato per rispondere ad esso (tramite hosthead o host virtuali).
joeqwerty,

6
In alcuni casi possono essere richiesti caratteri jolly. Ad esempio, le webapp multi-tenant come Wordpress possono essere configurate per generare automaticamente nuove istanze utilizzando sottodomini - ad esempio site1.blog.example.com, site2.blog.example.com - con il carattere jolly attivo per *.blog.example.comte non è necessario configurarli singolarmente.
jscott

Risposte:


16

Se metti mai un computer in quel dominio, otterrai bizzarri fallimenti DNS, quando invece provi a visitare qualche sito casuale su Internet, arrivi al tuo.

Considera: sei il proprietario del dominio example.com. Configurare la workstation e denominarla. ... diciamo di let, yukon.example.com. Ora noterai /etc/resolv.confche ha la linea:

search example.com

Questo è utile perché significa che puoi fare ricerche per nome host, ad es. wwwChe poi cercherà www.example.comautomaticamente te. Ma ha un lato oscuro: se visiti, diciamo, Google, allora cercherà www.google.com.example.com, e se hai DNS con caratteri jolly, questo si risolverà sul tuo sito e invece di raggiungere Google ti ritroverai sul tuo sito.

Questo vale anche per il server su cui stai eseguendo il tuo sito web! Se mai deve chiamare servizi esterni, le ricerche del nome host possono fallire allo stesso modo. Quindi, api.twitter.comad esempio, all'improvviso diventa api.twitter.com.example.com, ritorna direttamente al tuo sito e, naturalmente, fallisce.

Questo è il motivo per cui non utilizzo mai i caratteri jolly DNS.


3
@ChrisLively Dai la colpa ai moderni sistemi Linux di essere "utili" e di aggiungerli. A proposito, usare ".local" è davvero una cattiva pratica, e non solo in ambienti Windows.
Michael Hampton

6
In realtà ho scritto un blog su questo riguardo ad un ambiente Windows . Per non parlare del fatto che almeno tre gruppi hanno fatto un'offerta sul TLD .local ora che ICANN li sta vendendo a chiunque abbia un portafoglio abbastanza sostanzioso. .localnon è riservato e non dovrebbe essere usato. Ciò viola le RFC e non è affatto necessario. La migliore pratica è quella di utilizzare un sottodominio di terzo livello delegato per risorse interne come internal.company.com. Solo perché vedi qualcosa di molto non lo rende giusto.
MDMarra

2
Potresti indicarmi la sezione di RFC 2606 che si riserva .local? Ho letto questo RFC almeno una dozzina di volte con persone che lo usano in questo argomento e posso dirti con certezza che non c'è.
MDMarra

2
@Zypher In realtà non è mai stato raccomandato da Microsoft (che è sfatato anche nel mio post sul blog. Vai a leggerlo, è buono), ma il fatto che SBS sia stato spedito .localper impostazione predefinita ha fatto sembrare MS un disastro in questo senso. SBS è stato fornito con quella configurazione perché era destinato a clienti non tecnologici con scarse conoscenze tecniche. Era il percorso di minor resistenza, ma gli attuali documenti di AD raccomandano un sottodominio di terzo livello fin dall'era W2K.
MDMarra

3
Oh, e tra qualche anno sarà molto difficile ottenere i certificati per .local, il che significa che i certificati UCC / SAN per Lync / Exchange dovranno essere firmati da una CA interna, il che rende doloroso se si ha un accesso esterno non di dominio utenti.
MDMarra

14

Un record DNS jolly è una cattiva pratica?

Personalmente, non mi piace. Soprattutto quando ci sono macchine in quel dominio. I Typos non vengono controllati, gli errori sono meno evidenti ... ma non c'è nulla di fondamentalmente sbagliato in esso.

L'unico aspetto negativo che ho riscontrato è che qualcuno potrebbe collegarsi al mio sito utilizzando http: //i.dont.like.your.website.mywebsite.tld .

Chiedi al tuo server http di reindirizzare tutte queste richieste agli indirizzi canonici corretti o di non rispondere affatto. Per nginx sarebbe qualcosa del tipo :

server {
    listen 80;
    server_name *.mywebsite.tld;
    return 301 $scheme://mywebsite.tld$request_uri;
    }

e poi il normale

server {
    listen  80;
    server_name mywebsite.tld;
    [...]
    }

7

È tutta una questione di opinione. Per me non è una cattiva pratica.

Sto creando un'app multi-tenant che utilizza un database per tenant. Seleziona quindi il database da utilizzare in base al sottodominio.

Ad esempio milkman.example.comutilizzerà il tenant_milkmandatabase.

Ti piace questa ho separato le tabelle per ogni inquilino, come, tenant_milkman.users, tenant_fisherman.users, tenant_bobs_garage.users, che a mio parere è molto più facile da mantenere enorme per questa specifica applicazione, invece di avere tutti gli utenti da tutte le aziende nella stessa tabella.

[edit - Michael Hampton has a good point]

Detto questo, se non hai un motivo specifico per accettare un sottodominio (variabile), come faccio io, non dovresti accettarli.


4
Hai una buona ragione tecnica per usare il jolly DNS. Molte persone no.
Michael Hampton

1
In effetti, questo mi sembra molto pericoloso: ti consente di accedere a un database arbitrario modificando il nome del dominio. Direi che questo è un tipo di vulnerabilità all'iniezione. Certo, non è necessariamente sfruttabile, ma perché rischiare?
sleske,

1
@sleske Non lo è, perché l'utente deve autenticarsi con quel sottodominio (per quel database). Se passa, dovrà eseguire nuovamente l'autenticazione, poiché viene visto come un "sito" completamente diverso.
Pedro Moreira,

@PedroMoreira: Sì, questo riduce la superficie di attacco. Tuttavia, fornire accesso a database arbitrari sembra pericoloso. Ad esempio, cosa succede se esiste un database di backup con credenziali identiche, ma i dati che sono stati eliminati dal database principale - ciò consentirebbe a chiunque di accedere a chi conosce il nome. Tuttavia, mi rendo conto che la sicurezza è sempre un compromesso - volevo solo sottolineare il pericolo intrinseco.
sleske,

1
@sleske Ecco perché tutti i database accessibili hanno il prefisso tenant_. Mi sono assicurato che l'applicazione non potesse nemmeno connettersi a loro.
Pedro Moreira,

2

Un altro problema qui è il SEO: se tutti *.example.commostrano lo stesso contenuto, il tuo sito Web sarà mal referenziato, almeno da Google ( https://support.google.com/webmasters/answer/66359 ).


Entrambi i punti sono ortogonali. Anche se tutti i nomi puntano allo stesso IP, il server web ottiene il nome richiesto e può fornire contenuti completamente diversi.
Patrick Mevzek,

Ecco perché ho precitato "se tutti * .example.com mostrano lo stesso contenuto" ... Il rischio SEO mi sembra qualcosa di interessante da menzionare.
Clément Moulin - SimpleRezo

"Il rischio SEO mi sembra qualcosa di interessante da menzionare." Forse ma sono completamente estranei all'utilizzo di un carattere jolly o meno. Puoi avere molti nomi separati tutti risolvibili in un singolo indirizzo IP senza alcun tipo di carattere jolly e quindi avere (o meno) i rischi SEO di cui parli. L'uso di un carattere jolly non cambia nulla in nessuna direzione qui.
Patrick Mevzek,

0

Questa è davvero una cattiva idea, supponiamo che se si desidera ospitare un sottodominio a.company.com in un server Web e b.company.com in un altro server Web, potrebbe essere un altro ISP. Cosa farai ?. Quindi il DNS con caratteri jolly non è un'opzione, dovrebbe essere preciso, creare un record per ciascun sottodominio e puntare all'IP pertinente. Ci sono possibilità di spostare il tuo server Web da un ISP a un altro ISP, in questo caso cosa farai?


0

So che questa è una vecchia domanda, tuttavia mi piacerebbe condividere un esempio reale di dove l'uso di domini jolly può causare problemi. Ho comunque intenzione di cambiare il nome del dominio e anche nascondere l'intero record SPF per salvare l'imbarazzo.

Stavo aiutando qualcuno che stava avendo problemi con DMARC, come parte dei controlli cerco sempre il record DMARC con DIG

;; ANSWER SECTION:
_dmarc.somedomain.com. 21599 IN      CNAME   somedomain.com.
somedomain.com.      21599   IN      TXT     "v=spf1 <rest of spf record> -all"

Ho anche ottenuto lo stesso risultato quando cercavo il loro record DKIM.

Di conseguenza, le e-mail inviate da questo dominio avranno un errore DKIM poiché il modulo DKIM proverà ad analizzare il record SPF per una chiave DKIM e avrà esito negativo e otterrà anche un Permerror per DMARC per lo stesso motivo.

I domini jolly possono sembrare una buona idea, ma impostati erroneamente possono causare problemi di ogni genere.


-2

Un record DNS jolly è una cattiva pratica?

No, e contrariamente ad altri credo che sia una buona pratica.

La maggior parte degli utenti di Internet ingrassa un nome DNS a un certo punto. Digiteranno ww.mycompany.como wwe.mycompany.com cosa preferiresti che accadesse un "oops non siamo riusciti a trovare quel sito" o per loro di aprire la tua home page principale? Il più delle volte è preferibile non farli aprire la home page principale. Questo è ciò che fanno MOLTE persone.

Anche se qualcuno inserisse un link ad i.dont.like.your.website.whatever.comesso rimanderebbe comunque alla tua home page, che in realtà è quello che vuoi. Dopotutto, non possono fare in modo che quel i.dont....sito vada sul loro server, tu controlli comunque il routing DNS in modo che vada al tuo.


5
Il problema che ho con questo ragionamento è che 1. interrompe la gestione degli errori, 2. è interamente www-centrico mentre i tuoi record jolly influenzeranno anche altri protocolli. Il risultato è che hai interrotto la gestione degli errori per altre cose in cui non hai fatto nessuno sforzo per sistemare le cose.
Håkan Lindqvist,

-2

Penso che il motivo migliore per non avere un record DNS con caratteri jolly sia innanzitutto quello di evitare di distribuire l'indirizzo IP del server a un potenziale aggressore e ridurre l'esposizione agli attacchi DDOS. Questo è consigliato anche da Cloudflare: https://blog.cloudflare.com/ddos-prevention-protecting-the-origin/


2
L'uso di domini jolly non modifica l'esposizione a tali attacchi. E il link non supporta i tuoi reclami errati. Tutto ciò che dice il link è che Cloudflare addebita un prezzo più elevato per i domini jolly. Questo dice solo qualcosa sui modelli di business di Cloudflare e nulla sulla pratica dell'uso di domini jolly.
Kasperd,

Se si utilizza DNS jolly con cloudflare poiché non passa attraverso cloudflare (a meno che non si paghi l'impresa, la maggior parte non lo fa) chiunque può eseguire il ping di un sottodominio inventato e trovare il proprio IP reale. Senza jolly non possono. questo è tutto.
Michael Rogers,

Sì, in caso di tale servizio, potrebbero addebitarti di più per la protezione con caratteri jolly. Sebbene questa domanda non riguardi questi tipi di servizi, si tratta di jolly dns e se dovrebbe essere fatto o meno in situazioni normali.
Chris,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.