Найти тему

pfSense TOR шлюз / прокси

Это статья для тех, кому нужно настроить виртуальную машину pfSense, TOR и маршрутизацию всего трафика через установку TOR.

pfSense - это дистрибутив компьютерного программног обеспечения межсетевого экрана / маршрутизатора с открытым исходным кодом, основанный на FreeBSD. Он устанавливается на физический компьютер или виртуальную машину для создания выделенного межсетевого экрана / маршрутизатора для сети.

https://en.wikipedia.org/wiki/PfSense

Вещи, которые вам понадобятся

1) Умение читать

2) Приличный компьютер

3) Подключение к Интернету

4) VirtualBox образ диска pfSense SSH-клиент (напимер Putty)

Вы можете скачать VirtualBox с сайта Oracle: https://www.virtualbox.org/wiki/Downloads

А так же образ диска pfSense с их веб-сайта: https://www.pfsense.org/download/

Создание виртуальной машины.

Очевидно, что первое, что нужно сделать, - это определить настройки виртуальной машины и фактически установить pfSense в указанной виртуальной машине. К счастью, настройка pfSense не представляет особой сложности.

Помните, что pfSense основан на FreeBSD 12, поэтому выберите BSD в качестве типа и FreeBSD в качестве версии вместе с соответствующим именем. Я также решил использовать 2 ГБ ОЗУ для виртуальной машины, но у меня есть ресурсы. Наименьший размер, который я бы попробовал 512 МБ (если я правильно помню, это системный минимум).

-2

Я также использовал диск на 32 ГБ, но поскольку он выделяется динамически, это не имеет большого значения. После создания машины перейдите к ее настройкам.

-3

Я выбрал мостовой адаптер, чтобы виртуальная машина получала собственный IP-адрес от моего коммутатора.
Здесь важно то, что вам нужно включить адаптер 2.

-4

Подключите адаптер 2 к внутренней сети и назовите его pfSenseTOR (или как угодно ...)

-5

Запустите виртуальную машину и прикрепите загруженный вами образ диска pfSense.

-6

Стартуем и вы увидите следующий экран.

-7

Подождите несколько секунд (или минут, в зависимости от характеристик вашего хост-компьютера). Это экран, который вы увидите, когда процесс запуска будет завершен.

-8

Жмем принять

-9

Выбираем установку.

-10

Можете выбрать настройку или просто продолжайте по умолчанию.

-11

Далее настройка идет автоматически.

-12

Устанавливаем Pfsense.

-13

Жмем НЕТ и перезагружаем.

-14

Поздравляю, вы только что перезагрузились в установщик. 😂🤣😅

-15

Удалите смонтированный образ, принудительно, если нужно.

-16

Перезагрузите машину и дождитесь загрузки pfSense.


Вы должны увидеть это:

-17

ПОЗДРАВЛЯЮ ! Вы установили Pfsense !

Настройка pfSense

По умолчанию pfSense блокирует доступ из глобальной сети. Если вы задумаетесь о том, где обычно располагается брандмауэр в сети, это имеет смысл. В конце концов, вы же не хотите, чтобы кто-то имел к нему удаленный доступ. Однако, поскольку мне нравится жить в опасной обстановке (и тот факт, что эта виртуальная машина находится за моим настоящим сетевым брандмауэром, поэтому она не видна удаленно ... так опасно для жизни), я собираюсь полностью открыть брандмауэр в глобальной сети. Помните, ПЛОХАЯ ИДЕЯ, если pfSense напрямую выходит в Интернет.

Здесь также стоит отметить, что логин администратора по умолчанию - admin: pfsense.

Видите, я не вру :)

-18

Есть два способа разрешить доступ к WebUI из глобальной сети. Я собираюсь воспользоваться быстрым и грязным методом, но первое, что нужно сделать, - это включить SSH в pfSense. В соответствии с меню выберите опцию 14. Мастер попросит вас подтвердить текущий статус SSHD и попросит вас включить, если он отключен.

-19

Теперь в меню выберите опцию 8, чтобы открыть оболочку. Почему? Доступ к глобальной сети все еще заблокирован.

Введите следующее и нажмите Enter: pfSsh.php playback enableallowallwan

Что эта команда сделает, так это то, что она разрешит все и вся на порте WAN, чего я и хочу.

-20

Теперь введите exit чтобы вернуться в меню.

Поскольку брандмауэр теперь хорошо открыт для глобальной сети, если вы перейдете по адресу:

https://<wan-ip-address-here>

Вы увидите этот замечательный экран.

-21

Войдите в систему, используя учетные данные по умолчанию, и вас встретит мастер настройки.

-22

Как и в случае с большинством мастеров настройки, мы мало читаем и просто нажимаем «Далее». Вот какие изменения вам нужно сделать:

Шаг 1: - Ничего ... Далее
Шаг 2: - Ничего ... Пока ... Далее
Шаг 3: - Установите свой часовой пояс
Шаг 4: - Ничего
Шаг 5: - Ничего
Шаг 6: - Измените пароль, но обязательно запишите его. Для целей этого руководства я оставляю это значение по умолчанию.
Шаг 7: - Не совсем шаг ... Просто нажмите перезагрузить.
Шаг 8: - Еще раз, не совсем шаг. Просто подождать.
Шаг 9: - Тот, кто решил сделать шаги 7, 8 и 9, должен пересмотреть свой выбор. Кроме того, теперь настроен pfSense.
Щелкните здесь в разделе «Щелкните здесь, чтобы перейти к pfSense webConfigurator».

Теперь вас встретит фактическая панель управления.

-23

Еще раз поздравляю! pfSense настроен !

-24

Установка TOR

На самом деле это может быть немного сложно, поскольку tor больше не является частью репозиториев, включенных в pfSense.

Используя ваш любимый клиент SSH, подключитесь к pfSense.

-25

Выберите вариант 8, чтобы загрузить оболочку.

Теперь, когда у вас есть оболочка, пора установить несколько пакетов и Tor.

Помните что ссылки на пакеты репозитория могут смениться со временем.
Тогда вам надо будет самим найти актуальные версии пакетов.
Помните что ссылки на пакеты репозитория могут смениться со временем. Тогда вам надо будет самим найти актуальные версии пакетов.
pkg install nano
pkg add https://pkg.freebsd.org/FreeBSD:14:amd64/latest/All/zstd-1.5.6.pkg
pkg add https://pkg.freebsd.org/FreeBSD:14:amd64/latest/All/tor-0.4.8.12.pkg
pkg add https://pkg.freebsd.org/FreeBSD:14:amd64/latest/All/obfs4proxy-tor-0.0.14_17.pkg
# Так же можно добавить WebTunnel
pkg add https://pkg.freebsd.org/FreeBSD:14:amd64/latest/All/webtunnel-tor-0.0.1_10.pkg

Tor установлен, пора его настроить.

Настройка TOR

Перво - наперво, откажитесь от значения по умолчанию:

torrc
  • config file:
rm -rf /usr/local/etc/tor/torrc
  • Теперь создайте новый со следующими настройками:
DNSPort 192.168.1.1:53 # Use your LAN address
VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
RunAsDaemon 1
TransPort 9040
ExcludeNodes {RU}, {BY}, {KG}, {KZ}, {UZ}, {TJ}, {TM}, {TR}, {AZ}, {AM}
ExcludeExitNodes {RU}, {BY}, {KG}, {KZ}, {UZ}, {TJ}, {TM}, {TR}, {AZ}, {AM}
HeartbeatPeriod 1 hours
ExitRelay 0
# Enable obfs4proxy as Client
ClientTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy managed
#Enable Webtunnel as Client
ClientTransportPlugin webtunnel exec /usr/local/bin/webtunnel-tor-client
UseBridges 1
#........................................................................
# Ищем мосты и вставляем сюда.
#пример
#Bridge obfs4 *************************************
#Bridge webtunnel *******************************
#........................................................................

Теперь вам нужно заставить tor загружаться при запуске, есть много разных способов сделать это. Нет необходимости в сложных сценариях запуска, отлично работает приведенный ниже:

cd /usr/local/etc/rc.d/

touch ./tor.sh

echo "/usr/local/bin/tor" >> tor.sh && chmod +x tor.sh


Перезагрузите pfSense.

Вы должны увидеть дополнительную строку журнала во время процесса загрузки:

  • Starting /usr/local/etc/rc.d/tor.sh...done
-27

Настройка pfSense для TOR

...............................................................................................

Итак, теперь, когда TOR работает на pfSense, и он прослушивает любые соединения прозрачного прокси на порту 9040. Теперь нам нужно настроить эти соединения. Снова войдите в pfSense WebUI и перейдите в "Firewall -> NAT". Страница переадресации портов "Port Forward".

-28

Теперь, к сожалению, вы не можете переадресовывать порты *, то есть вам придется добавлять ограниченные диапазоны или отдельные правила порта. Для простоты давайте просто добавим одно правило для HTTP, чтобы понять, как это делается. Нажмите первую кнопку «Добавить/Add», и pfSense откроет страницу «Изменить запись перенаправления/Edit Redirect Entry».

-29

Прежде всего, правило, которое мы хотим сделать, применяется к LAN, а не к WAN, поэтому измените интерфейс на LAN.

Насколько мне известно, Tor не маршрутизирует трафик UDP, поэтому оставьте протокол TCP. Убедитесь, что в качестве источника выбрано значение «Любой», что можно сделать, нажав кнопку «Показать дополнительные». Назначением НЕ должна быть сеть LAN, поэтому отметьте Invert match и измените Type на LAN Net.

Теперь нам нужно определить порт для сопоставления, и, как мы (должны?) Знать, HTTP работает через порт 80. Так что либо оставьте From port и To port как Other и введите 80 в полях Custom для обоих, либо выберите HTTP из поле со списком.

Мы собираемся перенаправить этот трафик на localhost: 9040, который является прозрачным прокси-портом, который мы установили в torrc. Целевой IP-адрес перенаправления должен быть 127.0.0.1, а целевой порт перенаправления должен быть «Другой» и ввести 9040 в поле «Пользовательский».

Задайте описание и нажмите «Сохранить».

-30

Вы увидите добавленное правило, а также уведомление от pfSense об изменениях.

-31

Нажмите "Применить изменения/Apply Changes".

Для завершения этого процесса потребуется несколько секунд. Поскольку у нас есть «базовое» правило, теперь мы можем просто дублировать и редактировать его с помощью этой кнопки: в разделе «Действия/Actions»

Нажмите эту кнопку и добавьте новое правило для HTTPS.

-32

Что-то еще, что необходимо, это отключить преобразователь DNS pfSense, поскольку мы, очевидно, хотим использовать Tor в качестве преобразователя. Перейдите в Services -> DNS Resolver и снимите флажок Enable DNS resolver.

Нажмите кнопку «Применить изменения/Apply Changes», когда она появится.

-33

Теперь необходимо создать правило брандмауэра для передачи DNS-запросов в Tor.

Перейдите в Firewall -> Rules.

Выберите вкладку LAN и добавьте новое правило вверху списка. Откроется страница редактирования правила брандмауэра. Измените семейство адресов на IPv4, если это еще не сделано. Измените протокол на TCP / UDP. Установите Источник в LAN Net. Измените пункт назначения на один хост или псевдоним и введите IP-адрес локальной сети, затем измените диапазон портов назначения на DNS (53)

-34

Подтвердите изменения в брандмауэре и все.

Connecting a VM to pfSenseTOR

В VirtualBox перейдите к настройкам вашей VirtualMachine.

В настройках адаптера 1 в сети измените Attached to: на Internal Network и выберите то, что вы ранее назвали свой адаптер 2 для pfSense.

-35

Нажмите ОК, и все. Теперь виртуальная машина подключится к pfSense, который выделит виртуальной машине IP-адрес. Весь трафик HTTP и HTTPS будет проходить через сеть Tor. Чтобы подключиться к обычной сети, отредактируйте Adapter 1 и измените его на Bridged или NAT и т. д.

-36

Просто имейте в виду, что вам нужно будет добавить правила NAT для любого трафика, который вам нужно перенаправить через сеть tor. Помните, что это довольно грубая установка, которая не очень безопасна.

Если есть мысли по улучшению, то пишите ваши комментарии. 😎😏🧐

#TOR #Обход блокировок #Прозрачный прокси #tor browser