Posso evitare lo spoofing DNS digitando l'indirizzo IP?

15

La domanda è nel titolo. Ho letto di spoofing DNS. Cosa succede se dovessi salvare gli indirizzi IP dei siti Web che considero sensibili e quindi inserire l'indirizzo IP solo quando sto utilizzando una connessione sospetta per evitare l'attacco di spoofing del DNS? Funzionerà? Perché o perché no?

    
posta Lmk 17.07.2013 - 02:27
fonte

5 risposte

20

Questo non funzionerà per molti siti web. Molti siti web utilizzano host virtuali dove ospitano siti Web per più domini da un singolo server web. In questo caso, l'unico modo per sapere da quale sito proviene è il nome host che il tuo browser invia nell'intestazione Host della richiesta HTTP.

Il modo per farlo sarebbe quello di aggiungere specificamente queste voci nel tuo file /etc/hosts (o su Windows, \Windows\System32\drivers\etc\hosts ) e continuare a digitare il dominio come al solito.

Purtroppo, anche questo può essere poco pratico. Non solo è possibile disattivare funzionalità come il bilanciamento del carico basato su DNS e risultati DNS basati sulla posizione (se si viaggia), ma è anche possibile aprirsi all'attacco se un sito cambia gli indirizzi IP. Non sarebbe irragionevole per un utente malintenzionato considerare di tentare di acquisire gli indirizzi IP che i siti di grandi dimensioni potrebbero aver abbandonato.

TL; DR questo

  • è scomodo da morire,
  • può disabilitare utili funzioni basate su DNS
  • non aggiunge molta sicurezza pratica e
  • introduce tanti nuovi vettori di attacco che si chiudono
risposta data 17.07.2013 - 02:57
fonte
4

Supponi che foo.com abbia l'indirizzo IP 11.11.11.11 .

Con lo spoofing DNS, ti preoccupi che foo.com non venga risolto correttamente in 11.11.11.11 , perché un utente malintenzionato ti ha fatto credere che il suo indirizzo IP sia 22.22.22.22 . In questo caso, il tuo problema è che il record del dominio che hai non punta sull'indirizzo IP che desideri realmente.

Ora, immagina di inserire sempre 11.11.11.11 per evitare la possibilità che il DNS venga falsificato. Ora supponiamo che foo.com sia appena spostato da 11.11.11.11 a 33.33.33.33 . All'improvviso hai il problema opposto: l'indirizzo IP che hai non corrisponde al dominio che desideri. (In questo caso, potresti essere attaccato da qualcuno che ha la possibilità di riassegnare l'IP 11.11.11.11 a un host specifico.) Questo è un problema di gestione che puoi risolvere con utilizzando DNS . Se un host cambia gli indirizzi IP, come puoi scoprire dove è stato spostato, a meno che non controlli il suo record DNS?

Un altro (minore) problema è che i server Web si aspettano di ottenere un'intestazione Host che specifica cosa nome host che stai cercando di raggiungere. Un server Web potrebbe ospitare più domini su un singolo indirizzo IP (ad esempio, 11.11.11.11 potrebbe rispondere sia a foo.com che a bar.com , e ha bisogno di sapere quale si desidera veramente). Se digiti 11.11.11.11 nella barra degli indirizzi, il tuo browser dirà che vuoi Host: 11.11.11.11 anziché Host: foo.com . Questo potrebbe essere superato specificando manualmente i campi HTTP (o ottenendo / facendo un'estensione del browser che lo fa per te).

    
risposta data 17.07.2013 - 02:50
fonte
0

Echo a tutto ciò che viene detto.

Penso che ti stai avvicinando a questo problema. Perché provare a eseguire l'override dei siti uno a uno nel caso in cui un record DNS venga falsificato? Trova un provider openDNS affidabile e sicuro e configura la tua macchina per risolvere sempre il DNS su quel server, invece di qualsiasi server la rete a cui sei connesso vuole darti. Per aggiungere un altro strato di carta stagnola, è possibile impostare il proprio server DNS su EC2 o simile e risolvere sempre quello.

    
risposta data 23.07.2013 - 04:27
fonte
0

Se in qualche modo conosci l'indirizzo IP dell'host e non vuoi fare affidamento su DNS, aggiungilo al tuo file HOST. Se ti capita di avere molte macchine per mantenere attive queste impostazioni DNS, avrai bisogno di un modo per mantenere aggiornati tutti questi file. Un XCopy spesso funziona bene, a meno di reinventare DNS ...

Se i tuoi host non sono connessi costantemente tramite VPN, un approccio alternativo al mantenimento di diversi file HOST consiste nell'impostare il tuo server DNS privato con DNSSec abilitato per tutte le zone. Se segui questo approccio, devi disattivare la risoluzione del nome ricorsivo in modo da non avvelenare inavvertitamente la cache o salvare voci DNS "compromesse" da qualcuno che ti ha fornito informazioni errate.

Vorrei sconsigliare tutte queste soluzioni dal momento che è possibile e comune che un sito Web venga violato (SQL injection, ecc.) e alcuni webmaster utilizzano gli aggiornamenti DNS come mezzo per gestire il problema e il PC non riceverà gli aggiornamenti.

Quindi, di nuovo, potresti trovare una via di mezzo comune inoltrando in modo condizionale le tue query ricorsive per domini che non ti interessano.

    
risposta data 23.07.2013 - 04:42
fonte
0

Un altro problema è che la maggior parte dei siti Web moderni richiede risorse da altri host (librerie JS da un CND o persino da un server controllato dal proprietario del sito Web) e l'URI contiene il nome DNS nella maggior parte dei casi. Dovresti conoscere gli indirizzi IP e l'intestazione HOST corretta di tutte le risorse necessarie per il sito web desiderato e interrompere il browser per risolvere automaticamente i collegamenti.

    
risposta data 15.09.2014 - 13:58
fonte

Leggi altre domande sui tag