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

9

Come gli utenti più esperti avranno sentito, l'utilizzo di un Mac in un Wi-Fi pubblico non affidabile può essere potenzialmente dannoso. Uno strumento come Firesheep 1 ha reso molto facile intercettare le comunicazioni non crittografate.

L'utilizzo di una VPN a tunnel completo per crittografare tutte le comunicazioni è spesso menzionata come una soluzione magica alle intercettazioni, ma ovviamente non è così semplice:

  • A seconda del protocollo e della configurazione della connessione VPN, la connessione drop può essere più semplice. (ad esempio TLS vs UDP)
  • La connessione VPN è non stabilita immediatamente quando ti connetti a una rete pubblica.

Penso che gli ultimi due punti contino molto perché ogni volta che le tue impostazioni di rete cambiano le varie applicazioni immediatamente comunicano con i loro server - presumo che sia configd che li informa, vero?

i.e. Before the VPN tunnel is established, most (running) processes that require internet will communicate.

Vedo due componenti per essere un buon utente VPN:

  1. Assicurarsi che le cose non vengano inviate in chiaro prima che siano state stabilite.
  2. Assicurati che le cose non viene inviato in chiaro in seguito se la VPN fallisce .

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

    
posta gentmatt 26.04.2013 - 13:49
fonte

2 risposte

2

Mettiamo da parte qualsiasi soluzione in cui porti un secondo componente di networking al problema. Lasciamo anche il problema di fermare il traffico dopo che il VPN non ha questa domanda correlata, ma diversa .

Considero questo problema una soluzione incentrata sull'utente e non qualcosa che è facilmente realizzabile modificando il comportamento di OS X.

Configura due account sul tuo Mac (non è necessario essere account di amministratore, ma se lo sono entrambi, non avrai bisogno di un terzo account per modificare le impostazioni di sistema).

  1. Un account shell esistente per eseguire nulla e solo stabilire la connessione VPN.
  2. Un account principale che eseguirà i programmi che si desidera garantire solo ottenere l'accesso alla rete una volta che è stato correttamente protetto con una VPN.

Quindi, con la commutazione rapida dell'utente abilitata, è possibile disconnettersi dall'account principale. Ciò garantisce che nessun programma o processo da quell'utente continui a essere eseguito in background. La maggior parte delle app di OS X si comporta bene e sospende l'accesso alla rete quando non hanno una finestra attiva sullo schermo, ma dovresti monitorarla e testarla per sempre per assicurarti che non accada nulla: la disconnessione è più semplice da mantenere.

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

Spero che questo mostri un modo per essere più sicuro durante il viaggio e l'utilizzo di una rete di cui non ti fidi, riducendo al minimo il rischio che ciò comporti sempre. Se qualcun altro possiede la rete, possiede il DNS, può registrare i pacchetti, può provare gli attacchi man-in-the-middle (MITM) e ispezionare profondamente tutti i pacchetti per cercare di determinare cosa sta scorrendo all'interno del tunnel VPN.

    
risposta data 26.04.2013 - 15:01
fonte
3

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

Diciamo che voglio usare un IPSEC VPN (basato sull'uso di 500 / udp == isakmp & 50 / ip == esp).

Crea un file di configurazione ipfw , consentendo 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 sua sintassi sia OK:

/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 attraverso solito DHCP. Verifica che la maggior parte dei protocolli IP siano bloccati:

ping www.google.com

Ovviamente, se si desidera utilizzare una VPN su SSL, sarà necessario adattare questo file di configurazione (isakmp + esp → https).

    
risposta data 09.05.2013 - 17:52
fonte

Leggi altre domande sui tag