7

Я использую Mac OS и подключаюсь к VPN, чтобы скрыть свое местоположение и IP-адрес (у меня установлен флажок «отправлять весь трафик через VPN-соединение» в разделе «Настройка сетевой системы»), я хочу остаться анонимным и не хочу раскрывать свой фактический IP, отсюда и VPN. У меня есть prefpan под названием pearportVPN, который автоматически подключает меня к моей VPN, когда я в сети. Проблема в том, что когда я подключаюсь к Интернету с помощью Airport (или иным способом), у меня есть несколько секунд незащищенного интернет-соединения, прежде чем мой Mac войдет в VPN. Поэтому это только вопрос времени, когда я случайно выставлю свой реальный IP-адрес за те несколько секунд, которые требуются между подключением к Интернету и подключением к VPN.

Можно ли каким-либо образом заблокировать любой трафик на и с моего Mac, который не проходит через VPN, так что ничто не может подключиться, если я не вошел в свой VPN? Я подозреваю, что мне нужно было бы найти стороннее приложение, которое блокировало бы весь трафик, кроме как через адрес сервера, возможно, Intego Virus Barrier X6 или небольшую стуку, но я боюсь, что не уверен, что правильно или как их настроить.

Любая помощь приветствуется. Спасибо!

3 ответа3

3

Вы будете использовать брандмауэр, чтобы (а) ограничить весь исходящий сетевой трафик, кроме трафика, предназначенного для вашего VPN-сервера, а затем (б) разрешить любой трафик через ваш интерфейс VPN. Ограничения в (а) должны включать допуски для согласования аренды DHCP, если вы не используете статическую адресацию.

Вы должны быть в состоянии сделать это, используя утилиту "ipfw" из командной строки. Брандмауэр, доступный через панель настроек "Безопасность" (я думаю, что она впервые появилась в OS X 10.5), не позволит вам блокировать исходящий трафик.

Основная информация о ipfw может быть найдена в руководстве FreeBSD.

После того, как вы создадите соответствующий скрипт брандмауэра, вам нужно будет организовать его активацию при запуске системы. Страницы man в файлах launchd , launchctl и launchd.plist могут быть полезны.

2

Я использую Snow Leopard и использую скрипт оболочки ниже. Он разрешает трафик только через туннель PPTP VPN. Обратите внимание, что он не делает никаких исключений для локального трафика DHCP.

#!/bin/sh

# Clean any pre-existing rules
ipfw -f flush

# Allow any kind of traffic to go through ppp0 (our VPN interface)
ipfw -f add allow all from any to any via ppp0 

# Allow any to talk to GRE protocol (used with PPTP)
ipfw -f add allow gre from any to any 

# Allow any to talk to any remote server on PPTP port 1723
ipfw -f add allow tcp from any to any dst-port 1723

# Check states (below allows established tcp connections to vpn server via \
# port 1723 back through the firewall
ipfw -f add check-state
ipfw -f add allow tcp from any to any established

# Closing Up
ipfw -f add 65533 reject log udp from any to any 
ipfw -f add 65534 deny log ip from any to any 
1

Имейте в виду, что даже правила ipfw не могут защитить вас от ряда распространенных утечек, включая утечку DNS, утечку IPv6 и временную задержку между подключением к сети и изменением маршрута по умолчанию! Я использую Waterroof на моем Mac для работы с конфигурациями брандмауэра, и следующие наборы правил должны импортироваться в Waterroof:

Правила IPFW IPv4

добавьте 00010 отрицать icmp от любого к любому в

добавить 00100 разрешить ip от любого к любому через lo *

добавьте 00110 deny ip из 127.0.0.0/8 в любой

добавьте 00120 deny ip с любого на 127.0.0.0/8 в

добавить 00130 разрешить udp с любого на 224.0.0.251 dst-порт 5353

добавьте 00140 позволить udp с 224.0.0.251 на любой порт dst 5353

добавьте 00300 deny ip из 224.0.0.0/3 в любой

добавьте 00400 deny tcp из любого в 224.0.0.0/3 в

добавьте 00500 запретить tcp с любого на любой dst-порт 0 в

добавить 00600 состояние проверки

добавить 01000 разрешить tcp от меня в любое состояние хранения

добавить 01001 разрешить от меня udp в любое состояние хранения

добавьте от меня 25000 разрешений ip к "ВСТАВЬТЕ ВСТАВКУ VPN ЗДЕСЬ"

добавить 25100 разрешить IP от "ВСТАВИТЬ VPN ХОСТ ЗДЕСЬ" для меня в

добавить 33300 deny tcp из любого в любой установленный

добавить 65000 разрешить UDP с любого 67 на любой DST-порт 68 в

добавь 65100 deny log icmp от любого мне в icmptypes 8

добавить 65200 запретить UDP от любого к любому в

добавить 65300 отказать в icmp от любого к любому в

добавить 65400 отказать в IP от любого к любому в

добавить 65535 разрешить IP от любого к любому

Правила IPFW IPv6

добавить 02070 отказать в ipv6 от любого к любому

добавьте 33300 deny log ipv6-icmp из любого в любой в icmptype 128

Источник: http://blog.c22.cc/2011/07/31/protecting-your-osx-with-ipfw-and-littlesnitch/

Что касается утечки DNS, вы можете использовать:http://opendns.github.io/dnscrypt-osx-client/

DNSCrypt - это способ защиты "последней мили" DNS-трафика и решения целого класса серьезных проблем безопасности с протоколом DNS, например, взлома или атак "человек посередине", а также отслеживание DNS-трафика на последней миле.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .