Решено: Squid + AD (Прозрачное проксирование с авторизацией в AD)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
acab
Сообщения: 37
ОС: Mandriva 2009.1

Решено: Squid + AD

Сообщение acab »

Добрый вечер!
Имеется сервер на win2003 (PDC) и шлюз на Freebsd 7.1. Хочу сделать прозрачный прокси с авторизацией в AD.
С авторизацией в домене справился.
Впринципе все почти работает но не могу разобраться с конфигом rc.firewall
Сейчас у меня так:

rc.conf

Код:

defaultrouter="192.168.56.1" gateway_enable="YES" hostname="freebsd.orp.local" ifconfig_rl0="inet 192.168.56.10 netmask 255.255.255.0" ifconfig_rl1="inet 192.168.2.10 netmask 255.255.255.0" keymap="ru.koi8-r" linux_enable="YES" sshd_enable="YES" firewall_enable="YES" firewall_script="/etc/rc.firewall" firewall_loggig="YES" natd_enable="YES" natd_interface="rl0" samba_enable="YES" squid_enable="YES" mousechar_start="3" font8x8="cp866-8x8" font8x14="cp866-8x14" font8x16="cp866b-8x16" scrnmap="koi8-r2cp866" keymap="ru.koi8-r"


smb.conf

Код:

[global] workgroup=ORP server string=freebsd security=ads encrypt passwords=yes winbind separator=+ winbind use default domain=yes winbind uid=10000-20000 winbind gid=10000-20000 winbind enum users=yes winbind enum groups=yes hosts allow=192.168.2. load printers=no log file=/var/log/samba/log.%m password server=192.168.2.1 realm=ORP.LOCAL passdb backend=tdbsam socket options=TCP_NODELAY local master=no preferred master=no domain master=no domain logons=no dns proxy=no display charset=koi8-r unix charset=koi8-r dos charset=cp866 nt acl support=yes [data] comment = docs path = /home/acab read list = "@ORP.LOCAL\Domain Users" write list = "@ORP.LOCAL\Domain Users" admin users = "@ORP.LOCAL\Admin Users"


squid.conf

Код:

http_port 192.168.2.10:3128 http_port 192.168.2.10:3128 transparent #httpd_accel_host virtual #httpd_accel_port 80 #httpd_accel_with_proxy on #httpd_accel_users_host_header on cache_mem 64 MB cache_dir ufs /usr/local/etc/squid/cache 300 16 256 cache_access_log /usr/local/etc/squid/logs/access.log cache_log /usr/local/etc/squid/cache.log cache_store_log /usr/local/etc/squid/logs/store.log dns_nameservers 192.168.2.1 auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=OPR+inet auth_param ntlm children 5 auth_param ntlm max_challenge_reuses 0 auth_param ntlm max_challenge_lifetime 2 minutes #auth_param ntlm use_ntlm_negotiate on auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=OPR+inet auth_param basic children 5 auth_param basic realm Squid proxy-caching auth_param basic basic credentialsttl 2 hours auth_param basic basic casesensitive off acl DOMAIN proxy_auth REQUIRED http_access allow DOMAIN http_access deny all cache_effective_user squid cache_effective_group squid


rc.firewall

Код:

fwcmd="/sbin/ipfw -q" LanOut="rl0" IPOut="192.168.56.10" NetOut="24" MaskOut="255.255.255.0" LanIn="rl1" IPIn="192.168.2.10" NetInIP="192.168.2.0" NetInMask="24" MaskIn="255.255.255.0" MyIP1="192.168.10.4" MyIP2="192.168.10.5" MyIP3="192.168.10.6" dns1="192.168.2.1" dns2="222.224.292.8" ${fwcmd} -f flush ${fwcmd} add pass all from any to any via lo0 ${fwcmd} add deny ip from 192.168.0.0/16 to any in via ${LanOut} ${fwcmd} add deny ip from 172.16.0.0/12 to any in via ${LanOut} ${fwcmd} add deny ip from 10.0.0.0/8 to any in via ${LanOut} ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${NetInIP}/${NetInMask} to any http,https,ftp via ${LanIn} ${fwcmd} add divert natd ip from ${NetInIP}/${NetInMask} to any out via ${LanOut} ${fwcmd} add divert natd ip from any to ${IPOut} in via ${LanOut} ${fwcmd} add pass tcp from any to any established ${fwcmd} add pass ip from ${IPOut} to any out xmit ${LanOut} ${fwcmd} add pass tcp from ${MyIP1} to any 20,21,22,23,80,443,4000 ${fwcmd} add pass tcp from any 20,21,22,23,80,443,4000 to ${MyIP1} ${fwcmd} add pass tcp from ${MyIP2} to any 20,21,22,23,80,443,4000 ${fwcmd} add pass tcp from any 20,21,22,23,80,443,4000 to ${MyIP2} ${fwcmd} add pass tcp from ${MyIP3} to any 20,21,22,23,80,443,4000 ${fwcmd} add pass tcp from any 20,21,22,23,80,443,4000 to ${MyIP3} ${fwcmd} add deny tcp from any to any 20,21,22,23,3128 in via ${LanOut} ${fwcmd} add deny tcp from any to any 20,21,22,23,80,443 in via ${LanIn} ${fwcmd} add deny tcp from any to any 8000-8104 in via ${LanIn} ${fwcmd} add pass tcp from any to any 25,110 via ${LanOut} ${fwcmd} add pass tcp from any 25,110 to any via ${LanOut} ${fwcmd} add pass udp from any to any 53 via ${LanOut} ${fwcmd} add pass udp from any 53 to any via ${LanOut} ${fwcmd} add pass all from any to any via ${LanIn} ${fwcmd} add pass tcp from ${IPOut} 80 to any via ${LanOut} ${fwcmd} add pass tcp from any to ${IPOut} 80 via ${LanOut} ${fwcmd} add allow icmp from any to ${IPOut} in via ${LanOut} icmptype 0,3,4,11,12 ${fwcmd} add allow icmp from any to ${NetInIP}/${NetInMask} in via ${LanOut} icmptype 0,3,4,11,12 ${fwcmd} add allow icmp from ${IPOut} to any out via ${LanOut} icmptype 3,8,12 ${fwcmd} add allow icmp from ${IPOut} to any out via ${LanOut} frag ${fwcmd} add deny log all from any to any via ${LanOut} ${fwcmd} add deny log ip from any to any


Вобщем так: если в rc.conf стоит firewall_type="OPEN" то после установки прокси в браузере все работает как надо (тоесть если не авторизован запрашивает логин и пароль) но если проксю в браузере убрать то авторизацией и не пахнет инет работает свободно для всех (((
если в rc.conf ставлю firewall_script="/etc/rc.firewall" то сайты на тачках пингуются (и по ип и по имени) а вот страницы не открываются совсем.
Подскажите где я допустил ошибку? В идеале мне хочется прозрачный прокси с авторизацией AD.
Если нужна еще какая нибудь информация, скажите я выложу.
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: Решено: Squid + AD

Сообщение skor »

acab писал(а):
30.09.2009 00:05
http_port 192.168.2.10:3128 transparent
...
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${NetInIP}/${NetInMask} to any http,https,ftp via ${LanIn}

Определитесь на каком адресе у вас прокся слушает...
Спасибо сказали:
Аватара пользователя
acab
Сообщения: 37
ОС: Mandriva 2009.1

Re: Решено: Squid + AD

Сообщение acab »

skor писал(а):
30.09.2009 23:00
acab писал(а):
30.09.2009 00:05
http_port 192.168.2.10:3128 transparent
...
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${NetInIP}/${NetInMask} to any http,https,ftp via ${LanIn}

Определитесь на каком адресе у вас прокся слушает...

Изменил но осталось все по прежнему. Пинги идут а сайты не открываются. ((
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: Решено: Squid + AD

Сообщение skor »

В логах сквида что?
Спасибо сказали:
Аватара пользователя
acab
Сообщения: 37
ОС: Mandriva 2009.1

Re: Решено: Squid + AD

Сообщение acab »

skor писал(а):
01.10.2009 12:40
В логах сквида что?

в логах вот такого плана сообщения

Код:

192.168.2.1 TCP_DENIED/407 3024 GET http://ru.start3.mozilla.com/firefox? - NONE/- text/html 1254399184.315 192.168.2.1 TCP_DENIED/407 2417 GET http://rambler.ru - NONE/- text/html 1254399194.622
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Решено: Squid + AD

Сообщение Ленивая Бестолочь »

acab писал(а):
30.09.2009 00:05
прозрачный прокси с авторизацией AD.

прозрачный прокси не может быть с авторизацией. он на то и прозрачный, чтобы создавать видимость его отсутствия.
если у вас есть AD используйте её политики, чтобы настроить всем прокси-сервер.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
acab
Сообщения: 37
ОС: Mandriva 2009.1

Re: Решено: Squid + AD

Сообщение acab »

Ленивая Бестолочь писал(а):
02.10.2009 12:23
acab писал(а):
30.09.2009 00:05
прозрачный прокси с авторизацией AD.

прозрачный прокси не может быть с авторизацией. он на то и прозрачный, чтобы создавать видимость его отсутствия.
если у вас есть AD используйте её политики, чтобы настроить всем прокси-сервер.

Спасибо! Но я и сам уже это прочитал. Настроил выдачу прокси через политики и запретил менять.
А то что сайты пинговались но в браузере не открывались это была трабла с MTU. Теперь все ок.
Спасибо сказали: