Как уже слышали большинство опытных пользователей, использование Mac в общедоступной ненадежной сети Wi-Fi может быть потенциально опасным. Такой инструмент, как Firesheep 1 , позволяет очень легко перехватывать незашифрованные сообщения.
Использование полного туннеля VPN для шифрования всех сообщений так же часто упоминается как волшебное решение для подслушивания, но, конечно, это не так просто:
Я думаю, что последние два пункта имеют большое значение, потому что всякий раз, когда ваши сетевые настройки изменяются, различные приложения немедленно связываются со своими серверами — я предполагаю, configd
что это информирует их, верно?
т.е. до того, как VPN-туннель будет установлен, большинство (работающих) процессов, которым требуется Интернет , будут обмениваться данными.
Я вижу два компонента хорошего пользователя VPN:
Как я могу использовать VPN на Mac в общедоступной сети, чтобы ограничить незашифрованный трафик до запуска VPN?
Давайте отложим в сторону любое решение, в котором вы привносите в проблему второй элемент сетевого оборудования. Давайте также разрешим проблему остановки трафика после сбоя VPN на этот связанный, но другой вопрос .
Я смотрю на эту проблему как на решение, ориентированное на пользователя, а не на то, что легко решить, изменив поведение OS X.
Настройте две учетные записи на своем Mac (не обязательно иметь учетные записи администратора, но если они есть, вам не понадобится третья учетная запись для изменения настроек системы).
Итак, при включенном быстром переключении пользователей можно выйти из основного аккаунта. Это гарантирует, что никакие программы или процессы этого пользователя не будут продолжать работать в фоновом режиме. Большинство приложений OS X ведут себя хорошо и приостанавливают доступ к сети, когда у них нет активного окна на экране, но вам придется постоянно отслеживать и тестировать это, чтобы убедиться, что ничего не происходит — выход из системы проще поддерживать.
Теперь вы также можете заменить «учетную запись» выше на ОС и запустить систему виртуализации, такую как Fusion (или Parallels, или любую другую), и запускать гостевую ОС только после того, как хост-ОС защитит все в VPN. В зависимости от выбранного программного обеспечения виртуальной машины вы также можете контролировать сеть и включать и отключать доступ, даже когда работает гостевая ОС (или ОС). Это в основном имитация дополнительного оборудования, которое я изначально сказал, что не буду рассматривать.
Я надеюсь, что это показывает, как вы можете быть более безопасными во время путешествий и использования сети, которой вы не доверяете, при этом сводя к минимуму риск, который это всегда будет влечь за собой. Если кто-то другой владеет сетью — он владеет DNS, может регистрировать пакеты, может пытаться проводить атаки «человек посередине» (MITM), а также глубоко проверять все ваши пакеты, чтобы попытаться определить, что течет внутри туннеля VPN.
Вот подход, полностью выходящий за рамки графического интерфейса MacOS X. Следовательно, этот подход к проблеме не будет мешать настройкам сети или VPN.
Допустим, я хочу использовать IPSEC VPN (на основе использования 500/udp == isakmp и 50/ip == esp).
Создайте ipfw
файл конфигурации, позволяющий необходимым протоколам построить 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
Убедитесь, что его синтаксис в порядке:
/usr/bin/sudo /sbin/ipfw -n /etc/ipfw.vpn.rules
Установите его в ядре:
/usr/bin/sudo /sbin/ipfw /etc/ipfw.vpn.rules
Убедитесь, что ваша ОС может перезагрузиться, и получить свой IP-адрес через обычный DHCP. Убедитесь, что большинство IP-протоколов заблокированы:
ping www.google.com
Конечно, если вы хотите использовать VPN поверх SSL, вам придется адаптировать этот файл конфигурации (isakmp + esp → https).
bmike