Привет! Когда-то давно я интересовался возможностью программного ограничения выхода трафика во внешнюю сеть, минуя впн-соединение (https://exploit.in/forum/index.php?showtopic=72504). Я тогда достаточно быстро осознал, что эта возможность есть и пришел к разумному решению, но решением поделился лишь едва, вскользь затронув тему фаервола. Мне пару раз писали в личку с просьбой рассказать подробнее как я это сделал и чем пользовался и теперь, когда обстоятельства заставляют меня проявить немножечко альтруизма, я покажу вам больше. При написании статьи я буду пользоваться проверенными мною и, как мне кажется, наиболее популярными средствами. Алсо, все операции, изложенные в материале, проводились в отношении ОС Windows. Существует поверье, что под UNIX-like OS существуют более «правильные» и/или «простые» решения. Наши ресурсы: 1) ESET Smart Security 8 (у меня англ версии) http://www.eset.com/us/download/home/detail/family/5/#offline (или любой другой качественный фаервол) 2) OpenVPN 2.3.6 https://openvpn.net/index.php/open-source/downloads.html (или аналогичный софт, использующий протокол OpenVPN или другой (PPTP/L2TP/SSTP) впн-протокол) 3) .ovpn конфиги вашего впн-провайдера Качаем, устанавливаем соответственно разрядности вашей ОС, закидываем конфиги. Выставляем галочку runas:Admin на openvpn-gui.exe. [+] spoiler[свернуть] Выставляем автозапуск Netman службы. [+] spoiler [свернуть] Дописываем «auth-user-pass 00login.conf» в конец каждого .ovpn конфига и кладем файл 00login.conf в OpenVPNconfig, где login и password – данные вашей учетки от вашего впн-подключения (чтобы каждый раз руками не вводить) . [+] spoiler[свернуть] Ок, дальше. Для начала подключитесь к своему впну и убедитесь, что индикация на openvpn-gui в трее правильная, что вы выходите на внешние ресурсы сети Интернет, используя ip-адрес вашего vpn-провайдера. И пока не отключайтесь!! Далее ПКМ по иконке ESET в трее -> Advanced Setup… -> выбираем раздел Network -> раздел Personal firewall -> вторая секция, “Zone and rule editor” -> Setup… Начнем сразу с зон. Здесь нужно выбрать функцию создания новых зон (ЛКМ по New). Вводим название зоны и переходим к управлению непосредственно зоной (ЛКМ по Add IPv4 address…)и выбираем Subnet. Далее необходимо понять какие у нас текущие конфигурации сети, вследствие нашего подключения к впн-серверу. Для этого можно воспользоваться «панель управления -> сеть -> статус подключения (убедитесь, что вы выбираете активное впн-соединение, а не что-либо еще) -> детали» или cmd из-под админа -> “ipconfig /all”, Enter. Возвращаемся к окну конфигурации фаервола и заполняем оба поля: Мне был присвоен внутренний ip 172.17.x.x (я не знаю, может быть у всех так ). Я стираю два последних октета и рисую 172.17.0.0 в качестве адреса, применимого к этой зоне. Маска добавляется автоматически. [+] spoiler[свернуть] ОК, переходим на вторую вкладку «Zone authentication». Включаем 1,3 опцию, выключаем 2. [+] spoiler [свернуть] «Authentication type» не трогаем и ЛКМ по Setup, ЛКМ по Populate with selected connection settings, вследствие чего автоматически заполнятся некоторые поля относительно вашего текущего впн-соединения. Я оставляю следующие опции, поскольку мои остальные ovpn-конфиги при подключении будут иметь те же самые параметры сети, таким образом, любое мое впн-соединение будет трактовано, как относящееся к этой зоне фаервола. Проще говоря, у моих остальных впн-соединений, скорее всего, только эти 2 точки соприкосновения, что позволит фаерволу относить их к этой зоне, а не к какой-либо еще. Это применимо только к моей ситуации; какие свойства сети подойдут вам – анализируйте сами. [+] spoiler[свернуть] Далее: ок, ок и переходим на первую вкладку «Rules» -> New. Name: openvpn Action:Allow «Notify user» - на ваше усмотрение. Вторая вкладка ->Application>Browse> идем к OpenVPNin и выбираем openvpn.exe, жмем ОК, ОК. [+] spoiler [свернуть] Возвращаемся на главную категорию в ветке «Personal firewall», 2 секция: Profiles. У нас после создания зоны и вкл опций появился профиль, позволяющий нам ходить в сеть при активации зоны впн-соединения. Теперь надо создать профиль, запрещающий трафик в любом другом режиме, кроме впн. Add, name, 2 опция, ОК. [+] spoiler[свернуть] Обратно на Rules and zones, Zone and rule editor, Setup. Мы опять находимся в секторе управления правилами. Теперь нам нужно при задействовании профиля default запретить ему проводить какие-либо манипуляции с сетью, кроме поднятия сетевого интерфейса впн. Код: Name:default Action:deny Direction:both Profile:default «Notify user» - на ваше усмотрение. ОК. Текущий протокол в правиле – tcp+udp. К сожалению, в этом фаерволе нет такой опции: выбрать все, дабы запретить пинги, апдейты ос и все такое. Поэтому, это правило необходимо будет размножить определенное количество раз и к каждому правилу применить протокол. ПКМ по свежесозданному правилу – Create-Similar-Select Protocol-ОК. [+] spoiler [свернуть] И так несколько раз... Теперь финальный ОК. Настало время тестировать. При включенном «Notify user» в каждом правиле будет понятно что куда ломится, кому что разрешено и какой профиль активируется при определенных обстоятельствах. [+] spoiler[свернуть] Specially for especial users of fuckav.ru, exploit.in, xaker.name. Peace^^ Добавлено через 2 минуты UPD: Статья получилась достаточно объемной и я немного устал, поэтому я не стал уделять внимание настройке фаервола при технике подключения к впну через тор. Может быть, в другой раз, если появится необходимость.
Премного благодарен, сэр. Чтобы впредь не сталкиваться с подобными проблемами, подскажите мне,пожалуйста, корректный синтаксис тега для спойлеров