Se sto usando SSH per un proxy SOCKS, le connessioni DNS lo attraversano?


14

Sto usando ssh -D 8080 my serverper creare un proxy SOCKS. Sto quindi configurando OS X da utilizzare localhost:8080come proxy SOCKS. Sto usando questo per accedere a Internet senza essere monitorato.

Sto utilizzando i server DNS di Google (8.8.8.8), ma come posso assicurarmi che le query DNS stiano attraversando il tunnel SSH?


1
"senza essere monitorati" è un'illusione
macchineaddict

Risposte:


22

So che la risposta è un po 'in ritardo, ma per il riferimento e per coloro che stanno ancora cercando la risposta,

Impostare la network.proxy.socks_remote_dnsproprietà in firefox config (digitare about: config nella barra degli indirizzi) su TRUE (basta fare doppio clic sulla proprietà per attivare il valore) per abilitare le ricerche DNS sul proxy locale / remoto socks5.

PS: non sono sicuro di altri browser :(


1
Per coloro che preferiscono l'interfaccia utente, questo è in Preferenze → Avanzate → scheda Rete → pulsante Impostazioni (per "Connessioni") → "Proxy DNS quando si utilizza SOCKS v5".
jwd,

Ho notato che il DNS NON passa tramite proxy per HTTP, ma funziona per HTTPS. Come può essere così? È come progettato? (Sto usando Firefox)
Eugene D. Gubenkov,

8

Se è un proxy SOCKS 5 e il programma client lo supporta, DNS passerà attraverso il proxy. La maggior parte dei browser supporta DNS tramite un proxy Socks 5, ma potrebbe essere necessaria una configurazione speciale per farlo.

Se il tuo obiettivo è la privacy sul Web, dovresti davvero usare qualcosa come privoxy . Privoxy pulirà le intestazioni delle tue richieste web e garantisce che tutto il traffico, incluso DNS, passi attraverso il proxy Socks 5. Esegui privoxylocalmente e puoi utilizzare sshper tunnelare il traffico di Socks 5.


2

Non puoi farlo immediatamente poiché il tunnel SSH è solo per connessioni TCP / IP - il traffico UDP non sarà in grado di attraversare quel tunnel senza una configurazione speciale. Fondamentalmente è necessario creare un fifo per fare qualche trucco con netcat come descritto qui . È quindi possibile utilizzare il DNS di Google dalla casella remota.


1

Come accennato in , le vostre ricerche ampi di sistema non vengono via Tunnel .

Se desideri una soluzione basata su SSH, puoi trarre ispirazione da qui o utilizzare SSHuttle (ad esempio, menzionato qui ). C'è una patch per inoltrare facilmente le query DNS.

YMMV, ma ho avuto successo con quanto segue:

#!/bin/bash
# Taken from http://stackoverflow.com/questions/4594319/shell-replace-cr-lf-by-comma
DNSSERVERS=$(nmcli d show | grep DNS | awk '{print $2}' | sed -e 'H;${x;s/\n/,/g;s/^,//;p;};d' )
sshuttle  \
    -vvv                \
     --dns-hosts ${DNSSERVERS}   \
    -r server   \
    254.254.254.254/32

0

Come dice pfo, i tunnel SSH sono solo per il traffico TCP e l'applicazione deve essere consapevole dei proxy SOCKS.

Se vuoi che tutto venga tunnelato, hai bisogno di una VPN adeguata. Dai un'occhiata a qualcosa come OpenVPN .


0

Dipende dalla tua applicazione. Firefox, ad esempio, invia il nome host al proxy SOCKS senza risolverlo. In questo caso, non devi fare nulla per la privacy. Puoi confermarlo tramite WireShark.

PS. si supponga di utilizzare un proxy SOCKS5. SOCKS4 non supporta il nome host.

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.