¿Cómo debo usar VPN en una Mac para evitar compromisos antes de que comience la VPN?

9

Como la mayoría de los usuarios experimentados habrán escuchado, el uso de una Mac en un Wi-Fi público no confiable puede ser potencialmente dañino. Una herramienta como Firesheep 1 ha hecho que sea muy fácil interceptar comunicaciones sin cifrar.

El uso de una VPN de túnel completo para cifrar todas las comunicaciones se menciona tan a menudo como una solución mágica para las escuchas ilegales, pero, por supuesto, no es tan fácil:

  • Dependiendo del protocolo y la configuración de la conexión VPN, la conexión puede caer más fácilmente. (por ejemplo, TLS vs UDP)
  • La conexión VPN no se establece instantáneamente cuando te conectas a una red pública.

Creo que los dos últimos puntos importan mucho porque cada vez que la configuración de la red cambia, las diversas aplicaciones hablan de inmediato a sus servidores. Supongo que es configd lo que les informa, ¿verdad?

  

es decir, Antes de que se establezca el túnel VPN, la mayoría de los procesos (en ejecución) que requieren   Internet se comunicará .

Veo dos componentes para ser un buen usuario de VPN:

  1. Asegurarse de que las cosas no se envíen antes de que se establezca.
  2. Asegurarse de que las cosas no no se envíe más tarde si el VPN falla .

¿Cómo puedo usar VPN en una Mac en una red pública para restringir el tráfico no cifrado antes de que se inicie la VPN?

    
pregunta gentmatt 26.04.2013 - 13:49

2 respuestas

2

Dejemos de lado cualquier solución donde traigas un segundo equipo de red para el problema. También dejemos que el problema de detener el tráfico después de que la VPN no llegue a esta pregunta relacionada, pero diferente .

Veo este problema como una solución centrada en el usuario y no como algo que se logra fácilmente modificando el comportamiento de OS X.

Configura dos cuentas en tu Mac (ninguna tiene que ser una cuenta de administrador, pero si es así, no necesitarás una tercera cuenta para cambiar la configuración del sistema).

  1. Una cuenta de shell que existe para ejecutar nada y solo establecer la conexión VPN.
  2. Una cuenta principal que ejecutará los programas que desea garantizar para que solo tengan acceso a la red una vez que se haya asegurado adecuadamente con una VPN.

Por lo tanto, con el cambio rápido de usuario habilitado, puede cerrar la sesión de la cuenta principal. Esto garantiza que ningún programa o proceso de ese usuario continuará ejecutándose en segundo plano. La mayoría de las aplicaciones de OS X se comportan bien y suspenden el acceso a la red cuando no tienen una ventana activa en la pantalla, pero tendrá que monitorear y probar esto para siempre para asegurarse de que no ocurra nada. Es más fácil mantener el cierre de sesión.

Ahora, también puede reemplazar la "cuenta" anterior con el sistema operativo y ejecutar un sistema de virtualización como Fusion (o Parallels o cualquier otro) y solo iniciar el sistema operativo invitado una vez que el sistema operativo host haya asegurado todo en una VPN. Dependiendo del software de VM que elija, también puede tener control sobre la red y puede activar y desactivar el acceso incluso cuando el SO (o SO) invitado se está ejecutando. Básicamente, esto es simular el hardware adicional que inicialmente dije que no consideraría.

Espero que esto muestre una forma en la que podría estar más seguro mientras viaja y usa una red en la que no confía, al tiempo que minimiza el riesgo de que esto siempre implique. Si alguien más posee la red, posee DNS, puede registrar paquetes, puede intentar ataques de intermediario (MITM), así como inspeccionar profundamente todos los paquetes para tratar de determinar qué está fluyendo dentro del túnel VPN.

    
respondido por el bmike 26.04.2013 - 15:01
3

Este es un enfoque totalmente fuera de la GUI de MacOS X. Por lo tanto, este enfoque del problema no interferirá con ninguna red. o configuración de VPN.

Digamos que quiero usar una VPN IPSEC (basada en el uso de 500 / udp == isakmp & 50 / ip == esp).

Cree un archivo de configuración ipfw solo permitiendo que los protocolos necesarios construyan 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

Comprueba que su sintaxis es correcta:

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

Instálalo en el kernel:

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

Verifique que su sistema operativo pueda reiniciarse, y obtenga su dirección IP a través de DHCP habitual. Compruebe que la mayoría de los protocolos IP están bloqueados:

ping www.google.com

Por supuesto, si desea utilizar una VPN sobre SSL, tendrá que adapta este archivo de configuración (isakmp + esp → https).

    
respondido por el daniel Azuelos 09.05.2013 - 17:52

Lea otras preguntas en las etiquetas