Https прозрачный прокси



  • возможно ли это в принципе, с помощью пфсенса?



  • по мойму если я не ошибаюсь сквид в транспарент режиме и все =)



  • не пашет, в том то и фигня…
    нат закрыт



  • @alexandrnew:

    не пашет, в том то и фигня…
    нат закрыт

    И опять же могу ошибаться…откройте создайте правило и усе



  • угу, и разрешить безконтрольный траффик по хттпс..
    надо через прокси.
    вот и ищу решение



  • @alexandrnew:

    угу, и разрешить безконтрольный траффик по хттпс..
    надо через прокси.
    вот и ищу решение

    а что именно вы хотите конролить в ххтпс ? какие то конкретные ресурсы? запретить к ним доступ ? или же речь идет о приложениях использующих ххтпс?



  • надо разрешить определенный список доменов\урлов



  • В правилах NAT можно указать откуда разрешен доступ. Укажите source 127.0.0.1/32 и IP интерфейсов /32. Я просто не знаю с какого интерфейса прокси может выйти в инет.



  • меня интерисует не откуда, а куда, т.е. ме надо запретить весь трафик по хттпс, кроме разрешенных доменов\урлов (к примеру https://gmail.com  -ипов много, разрешать все -не получится)



  • @alexandrnew:

    меня интерисует не откуда, а куда, т.е. ме надо запретить весь трафик по хттпс, кроме разрешенных доменов\урлов (к примеру https://gmail.com  -ипов много, разрешать все -не получится)

    http://forum.pfsense.org/index.php/topic,19093.0.html в самом низу посмотрите ( думаю частично вам это поможет )



  • @alexandrnew:

    угу, и разрешить безконтрольный траффик по хттпс..
    надо через прокси.
    вот и ищу решение

    меня интерисует не откуда, а куда, т.е. ме надо запретить весь трафик по хттпс, кроме разрешенных доменов\урлов (к примеру https://gmail.com  -ипов много, разрешать все -не получится)

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



  • прописывать прокси у клиентов -не подходит, прозрачный сквид настроен, на лан порту- разрешено все на лан порт, трафик по хттп ходит, по хттпс - нет, в логах прокси - нет даже обращений.



  • Транспарент Squid проксирует только 80 порт (http).
    Попробуйте создать на интерфейсе LAN правило Outbound NAT для 443 порта (https) вида
    interface LAN
    proto TCP
    src ANY
    dest NOT <адрес LAN> / port 443
    translation Interface Address port <какой указан в прокси - по умолчанию 3128>

    Дабы не вводить в заблуждение остальных - вариант для защищенных протоколов не пройдет.



  • пробовал, не канает…. народ на форумах пишет что это в принципе невозможно...
    есть какое то решение как это сделать с помошью маскардига... но это насолько помню на iptables

    на нем же есть еще вариант правил с фильтром такого плана:
    iptables  -A OUTPUT -m string --string "mail" --algo kmp -j ACCEPT
    iptables  -A OUTPUT -m string --string "video" --algo kmp -j REJECT
    можно ли что то подобное сделать на пфсенсе? т.е. список куда можно... потом все запретить



  • Ну если взяться по доменам - то был какой-то пакет фильтрации DNS.



  • он делает черный список, а мне надо белый..



  • Действительно squid не работает в прозрачном режиме с HTTPS, хотя при прямом подключении HTTPS пропускает.
    Вроде как прозрачное проксирование защищенных протоколов даже в принципе невозможно.
    Тогда как вариант псевдо-прозрачного прокси решение с использованием технологии WPAD.
    Оно состоит в том, что в корень WWW директории pfsense пишется специальный файл wpad.dat позволяющий автоматически настраивать клиентские компьютеры на прокси-сервер. У клиентов требуется только взвести галки в браузерах 'Автоматическое определение параметров прокси-сервера'.
    Плюс придейтся на местном ДНС сервере внести запись wpad.ваш_local_domain на LAN IP pfSense. Если местного DNS нет, то можно настроить DNS Forwarder в pfSense.

    Браузер будет искать указанный в ДНС узел и качать WPAD файлик.  У меня это перекрывает даже доменные политики (юзерам запрещен доступ к настройкам прокси в браузере).



  • у меня много мобильных клиентов (кпк, ифоны и тд) - не уверен что данный способ им подойдет…



  • Ну тогда еще идея - использовать скрипт, запускаемый раз в минуту и блочащий/сбрасывающий все HTTPS соединения, кроме указанных в белом списке. Блокированные соединения должны заноситься в определенный черный список файрвола. Клиент к неразрешенным ресурсам сможет подключиться только 1 раз и на 1 минуту.

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



  • @dvserg:

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

    не встречали?



  • @alexandrnew:

    @dvserg:

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

    не встречали?

    Пока нет. Но оптимизм имеется.



  • а какие правила при прозрачном прокси должны создаваться в файрволле? их можно увидеть с помощью pfctl?



  • @alexandrnew:

    а какие правила при прозрачном прокси должны создаваться в файрволле? их можно увидеть с помощью pfctl?

    /tmp/rules.debug
    Правило вида
    rdr on $iface proto tcp from any to !($iface) port 80 -> 127.0.0.1 port 80



  • спасибо!
    а можно вручную правила редиректа и\или pf добавить? и куда?



  • @alexandrnew:

    спасибо!
    а можно вручную правила редиректа и\или pf добавить? и куда?

    http://forum.pfsense.org/index.php/topic,32661.0.html



  • меня интерисует не через гуй добавлять



  • @dvserg:

    Тогда как вариант псевдо-прозрачного прокси решение с использованием технологии WPAD.
    Оно состоит в том, что в корень WWW директории pfsense пишется специальный файл wpad.dat позволяющий автоматически настраивать клиентские компьютеры на прокси-сервер. У клиентов требуется только взвести галки в браузерах 'Автоматическое определение параметров прокси-сервера'.
    Плюс придейтся на местном ДНС сервере внести запись wpad.ваш_local_domain на LAN IP pfSense. Если местного DNS нет, то можно настроить DNS Forwarder в pfSense.

    попробовал так, не получилось даже на винде, дхцп - пфсенс, в форварде создал запись имя хоста wpad.localdomain=ип пфсенса, в корень как  в описано:
    http://doc.pfsense.org/index.php/WPAD_Autoconfigure_for_Squid
    кинул файл, содержимое взял по линку, изменив ип - не пашет…



  • У меня WPAD работает больше 2-х лет. Проблем не ловил.



  • а можно более подробно как настраивали?
    я так понял что еще надо в дхцп что то прописать, но куда?



  • нет, в dhcp не обязательно, но там вроде бы тоже есть возможность передать адрес прокси одним из параметров (само собой в pfsense гуе этого нет).
    Ну и проверьте  http://wpad.localdomain/wpad.dat



  • @deutsche:

    нет, в dhcp не обязательно, но там вроде бы тоже есть возможность передать адрес прокси одним из параметров (само собой в pfsense гуе этого нет).
    Ну и проверьте  http://wpad.localdomain/wpad.dat

    Можешь сюда http://forum.pfsense.org/index.php/topic,22839.0.html расписать как настраивать WPAD ?


    Для настройки поддержки WPAD на DHCP сервере используется параметр с кодом 252.
    Значением этого параметра служит путь к файлу wpad.dat
    252 http://my_pfsense/wpad.dat
    Настройка для Windows серверов http://www.oszone.net/6822/WPAD .


    Для pfsense исправить в коде /etc/inc/services.inc > function services_dhcpd_configure()
    В конфиг должны добавляться строчки как здесь http://m0n0.ch/wall/list/showmsg.php?id=99/40
    option wpad code 252 = text;
    option wpad "http://my_pfsense/wpad.dat";



  • @dvserg:

    @alexandrnew:

    а какие правила при прозрачном прокси должны создаваться в файрволле? их можно увидеть с помощью pfctl?

    /tmp/rules.debug
    Правило вида
    rdr on $iface proto tcp from any to !($iface) port 80 -> 127.0.0.1 port 80

    во 2м пфсенсе - после ребута правила нету, и рокси не пашет (прозрачній) приходится снимать галочку прозрачного прокси, ставить - появляется, лечить как здесь:
    http://forum.pfsense.org/index.php/topic,32661.0.html  ?

    я так понял что в  /tmp/rules.debugвсе текущие правила? если добавить с консоли - тоже туда поместятся?


Log in to reply