squid и transparent proxy в FreeBSD

Форум для размещения материалов по реализации различных схем использования ПО, решению частых проблем и предупреждению частых ошибок
Закрыто
Роман
Сообщения: 265
Зарегистрирован: Вс май 08, 2005 00:55
Откуда: MSK

squid и transparent proxy в FreeBSD

Сообщение Роман »

В данный момент тестирую связку freebsd 4.11 + utm 5.1.10 + squid,

На буднях перечитал все статьи по использоваиню squid для организации прозрачного прокси сервера.

ps: (тут необходимо упомянуть что статья полезка только для ограниченного круга лиц - кому важен подсчет кэшируемого трафика как входящий.)

Проанализировав 90% статей я увидел что при использовании связки squid + utm 5.1.10 - если пользователь имеет хотябы минимальный баланс на своем лицивом счете ОН может пользоваться маленькой халявой принудительно заставляя систему обманываться и фиксировать трафик как локальный :)

ps: (ошибки допускает каждый администратор :))

Как это делается:
Возьмем пример - Дефолтные правила: NAT + FWD в IPFW


00010 divert 8668 ip from any to any via fxp1 (внешний ip)
05038 fwd 127.0.0.1,3128 tcp from 192.168.0.72 to any 80
05038 fwd 127.0.0.1,3128 tcp from 195.18.19.26 to any 80
05038 allow ip from 192.168.0.72 to any
05038 allow ip from 195.18.19.26 to any
05038 allow ip from any to 192.168.0.72
05038 allow ip from any to 195.178.19.26

При сканировании tcp сканером UTM + IPFW, если у пользователя не подключен интернет доступ к любым портам, кроме тех что разрешены в IPFW ( допустим HTTPS/443 ) доступа никуда не будет.

НО, как только мы включили интернет, появляется скрытая угроза бесплатного использования Вашего трафика.

Смысл в том что при fwd портов с 80 порта на локальный порт 3128 открывается порт 80, который редиректит все данные к squid. Если прописать в браузере в настройках прокси ip адрес шлюза и порт 80 - мы используем инернет бесплатно!!!! (все будет красится как локальый трафик, потому как прозрачности соблюдаться в данном случае не будет).

Решение:

На обсуждение предоставлю свою идею.
На сервере поднимаем apache 80, 443 порт.. вход на 80 порт редиректится на 443. с помощью php

-su-2.05b# more index.php
<?
header("Location: https://192.168.0.3/cgi-bin/utm5/aaa5");
?>

Пропишем правило:

00010 fwd 192.168.0.3,443 tcp from 192.168.0.0/24 to 192.168.0.3 80 in recv fxp0 (fxp0 внутреняя сеть.)
данным правилом мы форвардим 80 порт на 443 локальный.

В результате:

1. при соединении на 80 порт на адрес шлюза, мы получаем 80 порт apache.
2. прозрачные запросы работают через squid
3. прямое прописывание прокси сервера в браузере на шлюз:80 порт будет неработоспособно.

В результате мы закрывем все потенциальные holes.

Мой полный конфиг ipfw: с одиним пользовательским правилом.

00010 fwd 192.168.50.3,443 tcp from 192.168.48.0/20 to 192.168.50.3 80 in recv fxp0
00020 divert 8668 ip from any to any via fxp1
00025 allow ip from me to any
00030 allow ip from any to any via lo0
00056 deny tcp from 192.168.0.0/24 to me 3306 via fxp0
00080 deny icmp from any to any frag
00080 deny ip from any to any frag
00081 allow tcp from any to any via fxp1 established
00110 allow ip from me to any
00120 allow tcp from any to me 443 via fxp0
00500 allow icmp from any to me
00500 allow icmp from me to any
05038 fwd 127.0.0.1,3128 tcp from 192.168.0.72 to any 80
05038 fwd 127.0.0.1,3128 tcp from 195.18.19.26 to any 80
05038 allow ip from 192.168.0.72 to any
05038 allow ip from 195.18.19.26 to any
05038 allow ip from any to 192.168.0.72
05038 allow ip from any to 195.18.19.26
65535 deny ip from any to any

Делитесь своими решениями господа :)

Роман Ильин
icq:3844604

Vados
Сообщения: 2
Зарегистрирован: Вт июн 06, 2006 21:31
Контактная информация:

Сообщение Vados »

Бред!

правила fwd типа:
05038 fwd 127.0.0.1,3128 tcp from 192.168.0.72 to any 80

должны быть:
05038 fwd 127.0.0.1,3128 tcp from 192.168.0.72 to any 80 out via ${out_if}

+ squid должен слушать только 127.0.0.1 3128, а остальные интерфейсы блокируются ipfw на предмет 3128.

Роман
Сообщения: 265
Зарегистрирован: Вс май 08, 2005 00:55
Откуда: MSK

Сообщение Роман »

так ты попробуй пропиши настройки в браузере на 80 порт , все сразу увидишь :)

gravis
Сообщения: 562
Зарегистрирован: Ср мар 16, 2005 15:31
Откуда: Село Красноярск

Сообщение gravis »

согласен, с такой проблемой сталкиваются только валенки
тут проблема в настройках фарвола и сквида
у вас и апач так же проксировать начнет, ибо mod_proxy

Аватара пользователя
XoRe
Сообщения: 458
Зарегистрирован: Ср янв 10, 2007 16:04

Сообщение XoRe »

05038 fwd 127.0.0.1,3128 tcp from 192.168.0.72 to not me 80 in 8)

Аватара пользователя
nops
Сообщения: 48
Зарегистрирован: Пн фев 09, 2009 13:05

Сообщение nops »

Огромная просьба, напишите подобную статью для Linux.
нужно:
NAT+SQUID+UTM5
А если по простому, то нужно пользователей выпускать в инет через прозрачный прокси, и резать им скорость.

Заранее спасибо!

Закрыто