На буднях перечитал все статьи по использоваиню squid для организации прозрачного прокси сервера.
ps: (тут необходимо упомянуть что статья полезка только для ограниченного круга лиц - кому важен подсчет кэшируемого трафика как входящий.)
Проанализировав 90% статей я увидел что при использовании связки squid + utm 5.1.10 - если пользователь имеет хотябы минимальный баланс на своем лицивом счете ОН может пользоваться маленькой халявой принудительно заставляя систему обманываться и фиксировать трафик как локальный
![Smile :)](./images/smilies/icon_smile.gif)
ps: (ошибки допускает каждый администратор
![Smile :)](./images/smilies/icon_smile.gif)
Как это делается:
Возьмем пример - Дефолтные правила: 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
Делитесь своими решениями господа
![Smile :)](./images/smilies/icon_smile.gif)
Роман Ильин
icq:3844604