Come dovrei usare VPN su un Mac per evitare compromessi prima dell'avvio della VPN?


11

Come avranno sentito la maggior parte degli utenti esperti, l'utilizzo di un Mac in un Wi-Fi pubblico non attendibile può essere potenzialmente dannoso. Uno strumento come Firesheep 1 ha facilitato l'intercettazione di comunicazioni non crittografate.

L'uso di una VPN tunnel completa per crittografare tutte le comunicazioni è spesso menzionato come una soluzione magica per intercettare, ma ovviamente non è così semplice:

  • A seconda del protocollo e della configurazione della connessione VPN, la connessione potrebbe interrompersi più facilmente. (ad es. TLS vs UDP)
  • La connessione VPN non viene stabilita istantaneamente quando ci si connette a una rete pubblica.

Penso che gli ultimi due punti contino molto perché ogni volta che le impostazioni di rete cambiano le varie applicazioni comunicano immediatamente con i loro server - presumo configdche li informi, giusto?

cioè prima viene stabilito il tunnel VPN, la maggior parte (corsa) processi che richiedono internet sarà comunicare.

Vedo due componenti per essere un buon utente VPN:

  1. Assicurarsi che le cose non vengano inviate in chiaro prima che sia stabilito.
  2. Assicurarsi che le cose non vengano inviate in chiaro in seguito se la VPN non riesce .

Come posso utilizzare la VPN su un Mac in una rete pubblica per limitare il traffico non crittografato prima dell'avvio della VPN?


È bello rivederlo - la domanda più vecchia a cui mi sono collegata sembra più focalizzata su come sapere quando una VPN interrompe la connessione rispetto a come impostare le cose per iniziare in modo sicuro - in modo da poter beneficiare di diverse domande puntate sulle pratiche per aumentare la sicurezza durante l'utilizzo di un VPN.
bmike

Risposte:


2

Mettiamo da parte qualsiasi soluzione in cui porti un secondo elemento di rete al problema. Lasciamo anche il problema di interrompere il traffico dopo che la VPN non riesce a questa domanda correlata, ma diversa .

Vedo questo problema come una soluzione incentrata sull'utente e non qualcosa che può essere facilmente realizzato modificando il comportamento di OS X.

Configura due account sul tuo Mac (nessuno dei due deve essere un account amministratore, ma in caso affermativo, non è necessario un terzo account per modificare le impostazioni di sistema).

  1. Un account shell esistente per non eseguire nulla e stabilire solo la connessione VPN.
  2. Un account principale che eseguirà i programmi che desideri garantire l'accesso alla rete solo dopo che è stato adeguatamente protetto con una VPN.

Quindi, con il cambio utente rapido abilitato, è possibile disconnettersi dall'account principale. Ciò garantisce che nessun programma o processo di tale utente continui a essere eseguito in background. La maggior parte delle app per OS X sono ben educate e sospendono l'accesso alla rete quando non hanno una finestra attiva sullo schermo, ma dovresti monitorarlo e testarlo per sempre per essere sicuro che non stia succedendo nulla - la disconnessione è più semplice da mantenere.

Ora, puoi anche sostituire "account" sopra con il sistema operativo ed eseguire un sistema di virtualizzazione come Fusion (o Parallels o qualsiasi altro) e avviare il sistema operativo guest solo dopo che il sistema operativo host ha protetto tutto su una VPN. A seconda del software VM scelto, è anche possibile avere il controllo sulla rete e attivare e disattivare l'accesso anche quando il SO (o SO) guest è in esecuzione. Questo sta fondamentalmente simulando l'hardware aggiuntivo che inizialmente ho detto che non avrei preso in considerazione.

Spero che ciò mostri un modo in cui potresti essere più sicuro mentre viaggi e usi una rete di cui non ti fidi minimizzando il rischio che ciò comporterà sempre. Se qualcun altro possiede la rete - possiede il DNS, può registrare i pacchetti, può provare attacchi man-in-the-middle (MITM) e ispezionare in profondità tutti i pacchetti per cercare di determinare cosa scorre all'interno del tunnel VPN.


1
Questa è una risposta abbastanza ragionevole. L'utilizzo di una macchina virtuale in un secondo account utente è facile da configurare. Sebbene il sistema operativo possa ancora consentire il traffico di rete non protetto, non importa se si trova nell'ambiente limitato di un account utente ridondante.
gentmatt,

Vorrei che ci fosse un pulsante semplice, ma come puoi vedere - non è banale controllare il traffico pre o post traffico su un livello del kernel poiché OS X è progettato per utilizzare qualsiasi percorso. Il sistema operativo non è progettato per spegnere tutto, ma lo è l'attrezzatura di rete.
bmike

3

Ecco un approccio totalmente al di fuori della GUI di MacOS X. Quindi questo approccio al problema non interferirà con alcuna impostazione di rete o VPN.

Diciamo che voglio usare una VPN IPSEC (basata sull'uso di 500 / udp == isakmp e 50 / ip == esp).

Crea un ipfwfile di configurazione che consenta solo ai protocolli richiesti di creare la VPN:

/usr/bin/sudo cat <<____eof >/etc/ipfw.vpn.rules
# VPN trafic contention
#
# DHCP
add 00100 permit udp from any to any src-port bootpc dst-port bootps
# DNS
add 01000 permit udp from me to any dst-port domain
add 01010 permit udp from any to me dst-port domain
# isakmp
add 01050 permit udp from me to any dst-port isakmp
add 01060 permit udp from any to me dst-port isakmp
# esp
add 01100 permit esp from me to any
add 01110 permit esp from any to me
# all other ip go to the central black hole
add 20000 deny ip from any to any
____eof

Verifica che la sintassi sia corretta:

/usr/bin/sudo /sbin/ipfw -n /etc/ipfw.vpn.rules

Installalo nel kernel:

/usr/bin/sudo /sbin/ipfw /etc/ipfw.vpn.rules

Verifica che il tuo sistema operativo possa riavviarsi e ottenere il suo indirizzo IP tramite il normale DHCP. Verifica che la maggior parte dei protocolli IP sia bloccata:

ping www.google.com

Naturalmente, se si desidera utilizzare una VPN oltre a SSL, è necessario adattare questo file di configurazione (isakmp + esp → https).

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.