Назад | Перейти на главную страницу

настройка брандмауэра для принудительного использования прокси

У меня есть прокси-сервер Squid на моем ноутбуке Debian-Gnu-Linux, настроенный для блокировки некоторых веб-сайтов. Я могу настроить браузер на использование этого прокси, но я также могу настроить его так, чтобы он не использовался. Поскольку я использую его для блокировки некоторых сайтов. Я не хочу, чтобы приложение могло обходить прокси. Можно ли настроить брандмауэр для отключения исходящего трафика, кроме случаев, когда он отправляется прокси-приложением или пользователем?

Хотелось бы по возможности простой конфигуратор.

Примечание: я использую одну машину.

Сначала настройте squid, затем запустите его как пользовательский прокси (за меня это сделал установщик). Затем:

sudo iptables -A OUTPUT -o lo -j ACCEPT # can access all local
sudo iptables -A OUTPUT -m owner --uid-owner proxy -j ACCEPT # proxy can do anything
sudo iptables -A OUTPUT -p udp --destination-port 53 -j ACCEPT #all can access dns, (could restrict more)
sudo iptables -A OUTPUT -j DROP #drop everything else

Это просто контроль, вам все равно нужно настроить прокси в браузере. Возможно, также можно добавить правила перенаправления.

мне было нужно

sudo iptables -F OUTPUT

сначала избавиться от старых правил

Вы можете запустить свой прокси-сервер Squid в одном из двух режимов:

  1. Прозрачный режим: прозрачная отправка трафика в squid с использованием правила netfilter. Перенаправляйте весь трафик, предназначенный для порта 80. В этом режиме вам нужно отбросить весь трафик, кроме http.
  2. Обычный режим: пользователь должен настроить браузер для использования прокси-сервера. В этом режиме вам нужно отбросить весь трафик, кроме http и предназначенный для прокси-сервера. В этом случае пользователь не сможет напрямую установить http-соединение с каким-либо внешним веб-сервером.

Не забудьте также разрешить трафик DNS (UDP / 53).

Если вы разрешите другие порты, кто-то может найти внешний прокси-сервер и использовать его для обхода вашего прокси.