LINUX.ORG.RU
ФорумAdmin

SQUID + SAMS + SAMSREDIR


0

1

Всем привет! Заранее извиняюсь что я не пользователь Ubuntu, (сижу на CentOS,просто нет для CentOS нормальной поддержки, да и вопрос мой не упирается в конкретный дистрибутив) - постил на forum.ubuntu.ru - а там если не ubuntu - говорят, ты сам себе могилу вырыл что не используешь ubuntu =))) Вообщем начну по-порядку... у меня инсталлирован squid 3.0 + sams 1.0.5 c авторизацией ntlm в домене. Работает web-интерфейс sams, показывает статистику, но не рубит пользователя при перерасходе своей квоты на трафик, и не создает acl в squid.conf- после реконфигурации squid через web морду SAMS появляется только запись «created by SAMS _sams_ 2011-10-11 14:24:28». При этом должны создаваться файлы с описанием запретов и пользователей в папке squid c расширениями sams, но их не появляется :-[ Redirect настроен на samsredirect

прикреплю squid.conf

# created by SAMS _sams_ 2011-10-11 14:24:28
http_port 192.168.2.15:3128

cache_dir ufs /var/spool/squid 4096 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_swap_log /var/log/squid/swap.log
cache_store_log none



auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="MYDOMAIN+internetusers"
auth_param ntlm children 30

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="mydomain+internetusers"
auth_param basic children 4
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours



acl MYDOMAIN proxy_auth REQUIRED
http_access allow MYDOMAIN
http_access deny all

#TAG: url_rewrite_bypass
url_rewrite_program /usr/bin/samsredir -d




cache_effective_user squid
cache_effective_group squid

visible_hostname centos.mydomain

прикреплю sams.conf

[client]
# имя базы данных, где SAMS хранит информацию, полученную из логов SQUID
SQUID_DB=squidlog
# имя базы данных SAMS
SAMS_DB=squidctrl
# адрес хоста, где стоит MySQL
MYSQLHOSTNAME=localhost
# имя пользователя MySQL, от имени которого будет работать SAMS
MYSQLUSER=sams
# пароль этого пользователя в MySQL
MYSQLPASSWORD=XXXX
# версия установленного MySQL-сервера
MYSQLVERSION=5.2
# Имя файла логов SQUID
SQUIDCACHEFILE=access.log
# путь к директории, где лежит конфиг SQUID
SQUIDROOTDIR=/etc/squid
# путь к директории, где лежит файл логов SQUID
SQUIDLOGDIR=/var/log/squid
# путь к кэшу SQUID
# необходим для работы функции восстановления файлов из кэша SQUID
SQUIDCACHEDIR=/var/spool/squid
# путь, куда установлен SAMS
SAMSPATH=/usr
# путь, где лежит SQUID
SQUIDPATH=/usr/sbin
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout
#LDAPSERVER=win.mydomain
#LDAPBASEDN=mydomain
#LDAPUSER=centos
#LDAPUSERPASSWD=
#LDAPUSERSGROUP=Users
SHUTDOWNCOMMAND=shutdown -h now
CACHENUM=0

после долгих манипуляций пришел к такому конфигу squid.conf
# created by SAMS _sams_ 2011-10-12 15:38:17
http_port 192.168.2.15:3128

cache_dir ufs /var/spool/squid 4096 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_swap_log /var/log/squid/swap.log
cache_store_log none

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="MYDOMAIN+internetusers"
auth_param ntlm children 30

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="MYDOMAIN+internetusers"
auth_param basic children 4
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

#  TAG: url_rewrite_program
url_rewrite_program /usr/bin/samsredir

# TAG: redirect_program
redirect_program /usr/bin/samsredir



# TAG: acl
acl _sams_default proxy_auth "/etc/squid/default.sams"
acl _sams_4e93f6cd0d861 proxy_auth "/etc/squid/4e93f6cd0d861.sams"



acl MYDOMAIN proxy_auth REQUIRED
http_access allow MYDOMAIN
http_access deny all

cache_effective_user squid
cache_effective_group squid

visible_hostname centos.mydomain

после добавления строк

# TAG: redirect_program
redirect_program /usr/bin/samsredir

стали создаваться файлы .sams и правиться squid.conf

Но появилась следующая череда проблем - не обновляется статистика по трафику пользователей (она обновляется после очередного запуска sams -d) и SAMS по-прежнему не блокирует доступ к URL из файла 4e93f6cd0d861.sams

1. Первая ошибка - не были заданы маркеры правки в squid.conf
# TAG: auth_param
# TAG: acl
# TAG: http_access
# TAG: delay_pools
# TAG: delay_class


по которым sams определяет, куда и что надо вставлять.

2. Чтобы обновлялась статистика - должен быть постоянно запущен процесс samsdaemon, и должно быть указано (через web интерфейс), раз в какое время он будет обновлять данные.

zgen ★★★★★ ()
Ответ на: комментарий от zgen

добавил теги

# created by SAMS _sams_ 2011-10-12 17:53:50 http_port 192.168.2.15:3128

cache_dir ufs /var/spool/squid 4096 16 256 cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_swap_log /var/log/squid/swap.log cache_store_log none

# TAG: auth_param auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=«MYDOMAIN+internetusers» auth_param ntlm children 30

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=«MYDOMAIN+internetusers» auth_param basic children 4 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours

# TAG: url_rewrite_program url_rewrite_program /usr/bin/samsredir

# TAG: redirect_program redirect_program /usr/bin/samsredir

# TAG: acl acl _sams_default proxy_auth «/etc/squid/default.sams» acl _sams_4e93f6cd0d861 proxy_auth «/etc/squid/4e93f6cd0d861.sams»

acl MYDOMAIN proxy_auth REQUIRED

# TAG: http_access http_access allow _sams_default http_access allow _sams_4e93f6cd0d861 http_access allow MYDOMAIN http_access deny all

cache_effective_user squid cache_effective_group squid

visible_hostname centos.mydomain

mousepro ()
Ответ на: комментарий от mousepro

логи после открытия vkontakte.ru

[code] 1318428362.569 233 192.168.249.94 TCP_MISS/200 70575 GET http://vkontakte.ru/images/join/dial_1.png mousepro DIRECT/87.240.131.99 image/png 1318428362.583 249 192.168.249.94 TCP_MISS/200 370064 GET http://vkontakte.ru/images/join/photos_1.png mousepro DIRECT/87.240.131.100 image/png 1318428364.892 22 192.168.249.94 TCP_MISS/200 496 GET http://vkontakte.ru/images/blank.gif mousepro DIRECT/87.240.131.100 image/gif [/code]

mousepro ()
Ответ на: комментарий от zgen
[root@CENTOS ~]# ps aux | grep samsdaemon
root      3884  0.0  0.1   7536  1208 ?        S    Oct12   0:00 /usr/bin/samsdaemon
mousepro ()
Ответ на: комментарий от zgen

со статистикой вроде разобрался... она все же обновляется...

подскажите что с acl делать.... могу выложить все что потребуется... логи, конфиги....

mousepro ()
Ответ на: комментарий от zgen

c acl ситуация следующая - когда я реконфигурирую squid через web-интерфейс SAMS, то происходит обновление squid.conf. В него добавились следующие строчки:

# TAG: acl
acl _sams_default proxy_auth "/etc/squid/default.sams"
acl _sams_4e9699fe49f4b proxy_auth "/etc/squid/4e9699fe49f4b.sams"

# TAG: http_access
http_access allow _sams_default
http_access allow _sams_4e92aeb08d815

А также создаются три файла default.sams, 4e92aeb08d815.sams и localhost.sams в дериктории /etc/squid/.

Содержание файла default.sams

MYDOMAIN.LOCAL\centos
centos
MYDOMAIN.LOCAL\администратоѾ
администратоѾ
MYDOMAIN.LOCAL\mousepro
mousepro

Я так понимаю что в данном файле указываются пользователи squid - они подтягиваются из AD.

Содержание файла 4e92aeb08d815.sams:

http://yandex.ru/
http://mail.ru/
http://vkontakte.ru/
в этот файл попали все url, которые я заводил через web.

Содержание файла localhost.sams:

http://google.com
http://mail.ru/
http://yandex.ru/
http://www.google.ru/
localhost.sams - в этот файл попали все url, которые я заводил через web.

Все файлы создаются, squid.conf правиться - но доступ у пользователей не режется.

mousepro ()
Ответ на: комментарий от mousepro

на сайты из файлов 4e92aeb08d815.sams и localhost.sams доступ у пользователя mousepro есть, хотя в webке SAMSA запрещен логи access

1318508579.414     83 192.168.249.94 TCP_MISS/204 400 GET http://www.google.ru/csi? mousepro DIRECT/74.125.232.50 image/gif
1318508581.137    104 192.168.249.94 TCP_MISS/200 13109 GET http://www.google.ru/imghp? mousepro DIRECT/74.125.232.50 text/html
1318508581.338      0 192.168.249.94 TCP_NEGATIVE_HIT/204 316 GET http://clients1.google.ru/generate_204 mousepro NONE/- text/html
1318508581.446     95 192.168.249.94 TCP_MISS/204 354 GET http://www.google.ru/client_204? mousepro DIRECT/74.125.232.50 text/html
1318508581.536     85 192.168.249.94 TCP_MISS/204 400 GET http://www.google.ru/csi? mousepro DIRECT/74.125.232.50 image/gif

mousepro ()
Ответ на: комментарий от mousepro

я новичек в этом деле - так что не судите строго =) Заранее спасибо!

mousepro ()
Ответ на: комментарий от mousepro

для начала поставьте в настройках sams «не использовать redirect», сделайте reconfigure из web интерфейса sams. После чего проверьте, что по факту превышения квоты (и срабатывания reconfigure за ним) доступ пользователю отключается.

zgen ★★★★★ ()
Ответ на: комментарий от zgen

по факту превышения квоты SAMS не блокирует пользователя как с использование redirect'а так и без него..... кстати в squid3 в конфиге не используется параметр

redirect_program
начиная с версии 2.6 так что сейчас мой конфиг выглядит так:
#  TAG: auth_param
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="ENFORTASPB+internetusers"
auth_param ntlm children 30

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="ENFORTASPB+internetusers"
auth_param basic children 4
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

#  TAG: acl
acl _sams_default proxy_auth "/etc/squid/default.sams"

#Examples:
#acl macaddress arp 09:00:2b:23:45:67
#acl myexample dst_as 1241
#acl password proxy_auth REQUIRED
#acl fileupload req_mime_type -i ^multipart/form-data$
#acl javascript rep_mime_type -i ^application/x-javascript$

#Recommended minimum configuration per scheme:
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

#  TAG: http_access
http_access allow _sams_default
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
http_access allow localnet



# And finally deny all other access to this proxy
http_access allow localhost
http_access deny all

#  TAG: http_reply_access


#Allow ICP queries from local networks only
icp_access allow localnet
icp_access deny all

...

mousepro ()
Ответ на: комментарий от mousepro
# OPTIONS FOR URL REWRITING
# -----------------------------------------------------------------------------

#  TAG: url_rewrite_program
url_rewrite_program /usr/bin/samsredir

#  TAG: url_rewrite_children
#       The number of redirector processes to spawn. If you start
#       too few Squid will have to wait for them to process a backlog of
#       URLs, slowing it down. If you start too many they will use RAM
#       and other system resources.
#
#Default:
url_rewrite_children 5

#  TAG: url_rewrite_concurrency
#       The number of requests each redirector helper can handle in
#       parallel. Defaults to 0 which indicates the redirector
#       is a old-style single threaded redirector.
#

mousepro ()
Ответ на: комментарий от zgen

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

mousepro ()
Ответ на: комментарий от mousepro

Настраивать samsredir таким образом, чтобы в его файле конфигурации проставлялись запреты доступа для пользователей.

zgen ★★★★★ ()
Ответ на: комментарий от zgen

в принципе я и сам понял, что проблема в настройках samsredir, вот только не нашел каким образом его настраивать...... и вот еще одна интересная вещь - когда в squid.conf прописываешь использование samsredir? то пропадает доступ к ресурсам через https....

mousepro ()
Ответ на: комментарий от zgen

У меня получилось сделать то что мне надо было путем использования редиректора от самого squid, но есть небольшой минус - данный редиректор не работает с учетками! Спасибо zgen!

mousepro ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.