Доброго времени суток!
Как и у большества системный администраторов у меня назрел вопрос по контролированию учета интернет трафика.
Выбор пал на Debian и прокси сервер Squid а поскольку имеется контроллер домена на 2008 r2 то разумеется вполне очевидно что авторизация пользователей должна происходить через него.
В групповых политиках создал группы INT_Users и прочие и попробовал ntlm авторизацию.
Ввел машину на Дебиане в домен настроил samba поставил winbind и Kerberos
Кофинг squid'а
# TAG: auth_param
    auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
    auth_param ntlm children 30
#    auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
#    auth_param basic children 5
#    auth_param basic realm Squid proxy-caching web server
#    auth_param basic credentialsttl 2 hours
#    auth_param basic casesensitive off
# TAG: external_acl_type
  external_acl_type nt_group ttl=60 %LOGIN /usr/lib/squid/wbinfo_group.pl
# TAG: acl
    acl all src all
    acl HR external nt_group INT_HR
    acl ICQ external nt_group INT_ICQ
    acl USERS external nt_group INT_USERS
    acl VIP external nt_group INT_VIP
    acl FTP port 21
    acl FTP port 20
    acl SSL_ports port 443
    acl CONNECT method CONNECT
#Acl net src 192.168.0.0/255.255.255.0
#http_access allow CONNECT torrnet net
    acl deny_url url_regex "/etc/squid/ext_files/deny_url"
    acl deny_hr url_regex "/etc/squid/ext_files/deny_hr"
# TAG: http_access
    http_access allow FTP
    http_access allow CONNECT SSL_ports
    http_access allow SSL_ports
    http_access allow VIP
    http_access allow USERS !deny_url
    http_access allow HR !deny_hr
    http_access deny all
# TAG: icp_access
    icp_access deny all
# TAG: http_port
    http_port 192.168.0.1:88
# TAG: cache_mem
cache_mem 96 MB
# TAG: logformat
#    logformat %>a %ul %un %ue %tg %Ss %rm %ru %rv
# TAG: access_log
    access_log /var/log/squid/access.log squid
# TAG: cache_store_log
    cache_store_log none
# TAG: hosts_file
    hosts_file /etc/host
И все бы хорошо - все работает.
Однако мне надо делать отчеты за месяц полгода год и прочее, а как их делать и чем вот вопрос!
Пробовал Sams 1.0.5 авторизацию через ntlm.
Работает.  Юзеров надо добавлять руками, и синхронизации с контроллером домена нет. Групповые политики получаются ненужны вообще. То есть вариант этот мне не нравится.
Попробовал Sams 2.0 beta авторизация через adld но у меня не получается правильно написать helper.
То есть в веб морде я отлично наблюдаю мои группы. Их можно добавить и с ними добавляются все пользователи состоящие в них. Кроме того при создании нового пользователя и добавляя его в группу INT_USERS он добавляется и в вебморде Sams2 автоматом.
Проблема  - не работает Squid.
Выдает ошибку
g-deb-virt-02:/etc/init.d# /etc/init.d/squid restart Restarting Squid HTTP proxy: squid2010/10/05 11:17:49| Invalid Proxy Auth ACL 'acl Sams2Template2 proxy_auth cit-ag' because no authentication schemes are fully configured. FATAL: Bungled squid.conf line 602: acl Sams2Template2 proxy_auth cit-ag Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
g-deb-virt-02:/etc/init.d#
Кроме всего прочего мне абсолютно не понятноь где и в каком разделе он создает эти Sams2Template2.
Sams 1.0.5 создает их в директории куда установлен Squid.

Если не использовать Sams то какой анализатор логов использовать? Пробовал Sarg но логи которые я получаю через Sarg очень убоги и храняться в обычных текстовых файлах. А мне поскольку сеть большая более 100 машин надо чтобы логи хранились в БД. Скажем чтобы писались в mysql.
Меня не интересует авторизция через IP или любая другая которая не будет задействовать групповые политики контроллера домена.
Очень хотелось бы увидеть объективные предложения и решения.

2 (18.06.2011 13:53:29 отредактировано Kettler)

чем вам не нравиться sarg ?

http://xmages.net/storage/10/1/0/7/e/upload/d56ca668.png

У нас сеть тоже более 100 машин.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

3 (18.06.2011 14:00:30 отредактировано joe_no_gui)

Да я получаю подобное тому что вы показали.
Но! Вы делаете отчет по трафику за месяц полугодие и год? и сколько места вы тогда выделили под логи сквида? и сколько по времени вы их делаете? у меня вот лично за неделю логи делаются около 20 минут! Правда конечно и железо у меня под дебианом не серверное. И задача стоит - хранение логов в БД.

4

Ну тогда заносить в базу скриптом. А после в забирать запросами.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

5

http://forum.xaknet.ru/showthread.php?t=60
тут можно глянуть.

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

Вопрос конечно не по теме у вас не появляется окно введите логин и пароль?

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

6

Вот ещё нарыл http://code.google.com/p/sqlim/
не проверял ибо нет необходимости.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

7 (19.06.2011 15:28:05 отредактировано kisil)

Можно попробывать использовать lightsquid, но он базы не ведёт, но сами логи на порядок меньше занимают, по сравнению из sarg.

Trouble  in WINDOWS reboot, trouble in UNIX be root.

8 (23.06.2011 09:07:16 отредактировано joe_no_gui)

Вобщем из всего выше пребложенного попробовал все!
И да,,. все-таки пришлось пока остановится на Sarg.
Настроил формирование отчетов в crontab -e ежедневные недельные и месячные.
Теперь есть задача прикрутить режик.
И вот тут столкнулся с небольшими трудностями.
Sama сам настраивает режик а тут конфиги надо править вручную.
Не слишком страшно конечно, но меня инетерсует как все атки должен выглядить конфиг redirector.conf под вышеуказанный конфиг сквида.
Сеть 192.168.0.0/24

Режик исходники скачать и скомпилировал.

9

Сначала добавляем в конфиг squid
#Под кем будем работать proxy:proxy
nano /etc/squid/squid.conf

    cache_effective_user proxy
    cache_effective_group proxy

Уставанавливаем всё что нам надо для сборки

apt-get install libpcre3 libpcre3-dev

Качаем последнию версию с сайта http://www.rejik.ru/index_ru_11_1.html в нашем примере redirector-3.2.8

cd /usr/src

wget http://www.rejik.ru/download/redirector-3.2.8.tgz

tar -xzf redirector-3.2.8.tgz

cd redirector-3.2.8

Открываем для редактирования Makefile и правим значения SQUID_USER и SQUID_GROUP на нашего пользователя и группу (proxy:proxy).

nano Makefile

Собираем и устанавливаем

make

make install

Качаем банлисты

wget http://www.rejik.ru/download/banlists-2.x.x.tgz

tar -xzf banlists-2.x.x.tgz

Переносим

mv banlists /usr/local/rejik3/

Копируем конфиг:

cp /usr/local/rejik3/redirector.conf.dist /usr/local/rejik3/redirector.conf

В конфиге путь к логам указан в ту же папку куда установлен и сам rejik, для удобства переношу логи в папку (/var/log/squid):

cd /var/log/squid

touch redirector.log redirector.err

chown proxy:proxy redirector.log (redirector.err)

Меняем наши пути:

nano /usr/local/rejik3/redirector.conf

    error_log /var/log/squid/redirector.err
    change_log /var/log/squid/redirector.log

Так же выставляем на папку banlists права (proxy:proxy):

chown -R proxy:proxy /usr/local/rejik3/banlists/*

Из папки /usr/local/rejik3/tools запускаем:

cd /usr/local/rejik3/tools

./check-redirector

http://127.0.0.1/ban/porno.html 127.0.0.1/- - GET

Идем в наши логи и смотрим - для нас важна в redirector.log строчка:

2010-09-20 16:19:09 [26671] Redirector start and working (3.2.8)

если что смотрим что он хочет и исправляем.

Добавляем в конфиг squid

redirect_program /usr/local/rejik3/redirector /usr/local/rejik3/redirector.conf

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

10

Можна прикрутить squidGuard

Trouble  in WINDOWS reboot, trouble in UNIX be root.

11 (24.06.2011 13:19:19 отредактировано joe_no_gui)

Большое спасибо. Я все это сделал. Но ведь нассколько я понимаю надо еще правильно настроить режик. В моем сквидовом конфиге я редиректю спомощью редиректора сквид а мне надо правильно написать правила для режика. Вот к примеру акой work_id и allow_id исходя из моего конфига сквида я должен указать?

12 (30.06.2011 15:22:04 отредактировано joe_no_gui)

Все же народ меня интересует как настроить редиректор!
Вот скажем, режик я смог настроить самостоятельно но!! для этого надо писать не группу а имя пользователя.
Представте как это заподло при громадной текучке кадров как у меня да еще и таком большом количестве пользователей.
Стандарный редиректор сквида конечно работает, но! тогда вопрос- как заменить ответ редиректора на что то по русски? и как его совместить с банлистами режика?
Вобщем буду очень признателен за ответы.

13

И снова я)) все таки решил а настроить самс2. Собрал из исходников обновил дистрибутив Ленни.
Все в принципе работает.. Надо тольк небольшой буден прикручивать.
Во первых имена пользователя он пишет с самого начала Верхним и нижний регистром не обращая внимания на указанные параметры.
Во вторых не пашет редиректор sams.
Для дистрибутива Debian он приписывается не правильно в конфиг. Если поправить в ручную то все работает.
Ну и еще несколько мелочей. Приходится дописывать скприт на запуск sams2daemon а то автоматом при загрузке он не стартует.
Вообще самс2 если его отладить будет очень и очень интересным проэктом. Он и сейчас очень хорош, но есть все таки некоторые косяки, которые портят впечатление.
Самое приятное разумеется это логи в мускуле. А то с саргом я чесслово намучался.

14

Если авторизация через AD вас много ещё сюрпризов ждёт.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

15

Второй день обкатываю) все оке) пользователей добавляет скриптом с домена. Группы создал.. вообще все почти работает. ТОлько редиректор - танцы с бубном. Ставил как писал из исходников с свн скачал. Если кому понадобиться помощь в установке самс2 на дебиане и настройке обращайстесь не откажу))

16

Ты вон  каким макаром) дайка ссылку на man.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

17

joe_no_gui, не могли бы вы подробно расписать тему - Debian Squeeze + Samba + Squid + AD? Контроллер домена на Windows Server 2003 R2. Если можно, то рассмотрите эту тему с этапа чистой установленной Debian и далее по порядку - шлюз, маршрутизация, samba, squid, sams, ad.

18

Присоединяюсь к Nigelist. Очень требуется толковый ман, хотя судя по дате поста вряд ли ман появился! Эх..! Мучаюсь вторую неделю, слишком много непоняток!

надпись на двери старого трамвая: "ВЫХОДА НЕТ!" | ❤windows 8 enterprise

19

Enzo_brn пишет:

Присоединяюсь к Nigelist. Очень требуется толковый ман, хотя судя по дате поста вряд ли ман появился! Эх..! Мучаюсь вторую неделю, слишком много непоняток!

Завтра напишу вам подробный ман по настройке с нуля ад+сквид+самс, сегодня уже не успею, наверное.

20 (29.01.2013 10:49:05 отредактировано Sinder)

Debian + Squid + NTLM + Samba + SAMS2

21

Sinder для мануалов есть отдельная тема - Готовые решения в Debian GNU/Linux

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

22

zenon, исправил.

23

Еее! Тема ожила))) Sinder, great thx за ман bi
Возник только один трабл, не подскажите правильное решение?
bootlog:

+ открыть спойлер

 Консоль:
# cat /var/log/boot
Wed Jan 30 10:48:00 2013: Setting preliminary keymap...done.
Wed Jan 30 10:48:00 2013: Activating swap...done.
Wed Jan 30 10:48:00 2013: Checking root file system...fsck from util-linux-ng 2.17.2
Wed Jan 30 10:48:00 2013: system: clean, 6131/1531904 files, 174707/6127616 blocks
Wed Jan 30 10:48:00 2013: done.
Wed Jan 30 10:48:00 2013: Cleaning up ifupdown....
Wed Jan 30 10:48:00 2013: Setting up networking....
Wed Jan 30 10:48:00 2013: Loading kernel modules...done.
Wed Jan 30 10:48:00 2013: Activating lvm and md swap...done.
Wed Jan 30 10:48:00 2013: Checking file systems...fsck from util-linux-ng 2.17.2
Wed Jan 30 10:48:00 2013: boot: clean, 222/61056 files, 10437/244224 blocks
Wed Jan 30 10:48:00 2013: home: clean, 21/4276224 files, 315162/17089536 blocks
Wed Jan 30 10:48:00 2013: srv: clean, 11/1831424 files, 158961/7323904 blocks
Wed Jan 30 10:48:00 2013: tmp: clean, 15/1831424 files, 158965/7322368 blocks
Wed Jan 30 10:48:00 2013: usr: clean, 72625/1831424 files, 438999/7323904 blocks
Wed Jan 30 10:48:00 2013: usr_local: clean, 104/1831424 files, 159337/7323904 blocks
Wed Jan 30 10:48:00 2013: var: clean, 13578/1831424 files, 301859/7323904 blocks
Wed Jan 30 10:48:00 2013: done.
Wed Jan 30 10:48:00 2013: Mounting local filesystems...done.
Wed Jan 30 10:48:00 2013: Activating swapfile swap...done.
Wed Jan 30 10:48:00 2013: Cleaning up temporary files....
Wed Jan 30 10:48:00 2013: Configuring network interfaces...done.
Wed Jan 30 10:48:01 2013: Starting portmap daemon....
Wed Jan 30 10:48:02 2013: Starting NFS common utilities: statd.
Wed Jan 30 10:48:02 2013: Cleaning up temporary files....
Wed Jan 30 10:48:02 2013: Setting up ALSA...done.
Wed Jan 30 10:48:02 2013: Setting console screen modes.
Wed Jan 30 10:48:02 2013: ^[]R^[[9;30]^[[14;30]Skipping font and keymap setup (handled by console-setup).
Wed Jan 30 10:48:02 2013: Setting up console font and keymap...done.
Wed Jan 30 10:48:02 2013: Setting kernel variables ...done.
Wed Jan 30 10:48:02 2013: INIT: Entering runlevel: 2
Wed Jan 30 10:48:02 2013: Using makefile-style concurrent boot in runlevel 2.
Wed Jan 30 10:48:02 2013: Starting NFS common utilities: statd.
Wed Jan 30 10:48:02 2013: Starting portmap daemon...Already running..
Wed Jan 30 10:48:02 2013: Starting sams daemon: sams.
Wed Jan 30 10:48:03 2013: samsdaemon[1228]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Wed Jan 30 10:48:03 2013: samsdaemon[1228]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Wed Jan 30 10:48:03 2013: samsdaemon[1228]: ***ERROR: samsdaemon.cpp:309 Cannot get sleep time for daemon. See debugging messages for more details.

Wed Jan 30 10:48:03 2013: Starting enhanced syslogd: rsyslogd.
Wed Jan 30 10:48:04 2013: Starting Samba daemons: nmbd smbd.
Wed Jan 30 10:48:04 2013: Starting ACPI services....
Wed Jan 30 10:48:04 2013: Starting web server: apache2.
Wed Jan 30 10:48:06 2013: Starting deferred execution scheduler: atd.
Wed Jan 30 10:48:06 2013: Starting system message bus: dbus.
Wed Jan 30 10:48:06 2013: Starting periodic command scheduler: cron.
Wed Jan 30 10:48:07 2013: Starting NTP server: ntpd.
Wed Jan 30 10:48:10 2013: Starting MySQL database server: mysqld ..
Wed Jan 30 10:48:10 2013: Checking for corrupt, not cleanly closed and upgrade needing tables..
Wed Jan 30 10:48:10 2013: Starting Squid HTTP proxy: squid.
Wed Jan 30 10:48:11 2013: Starting the Winbind daemon: winbind.
Wed Jan 30 10:48:11 2013: Starting OpenBSD Secure Shell server: sshd.
Wed Jan 30 10:48:14 2013: Starting PostgreSQL 8.4 database server: main.
Wed Jan 30 10:48:17 2013: Starting MTA: exim4.

Кэп: Демон самса стартует раньше mysql((
зы: у меня одного тег калор внутри тега код не работает?)

надпись на двери старого трамвая: "ВЫХОДА НЕТ!" | ❤windows 8 enterprise

24

Раскоментил в /etc/init.d/sams2 строчку

# Should-Start:         $named $mysql $squid

и получил:

Wed Jan 30 11:32:08 2013: /etc/init.d/sams2: 7: Should-Start:: not found

чяднт?

надпись на двери старого трамвая: "ВЫХОДА НЕТ!" | ❤windows 8 enterprise

25 (30.01.2013 10:01:02 отредактировано Sinder)

Ну, во-первых, не надо раскоментировать эту срочку )
Во-вторых, покажи

ls -l /etc/rc4.d

А вообще, я просто в /etc/rc.local добавил запись

/usr/local/bin/sams2daemon

Стартует в самом конце. Сегодня включу лог загрузки, ночью гляну, может и у меня такая же проблема.

26 (30.01.2013 11:53:16 отредактировано Me_Shock)

ls -l /etc/rc4.d

+ открыть спойлер

 Консоль:
root@gateway:~# ls -l /etc/rc4.d/
total 4
-rw-r--r-- 1 root root 677 Mar 27  2012 README
lrwxrwxrwx 1 root root  17 Jan 18 15:48 S14portmap -> ../init.d/portmap
lrwxrwxrwx 1 root root  20 Jan 18 15:48 S15nfs-common -> ../init.d/nfs-common
lrwxrwxrwx 1 root root  17 Jan 18 15:48 S17rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  15 Jan 24 13:51 S17samba -> ../init.d/samba
lrwxrwxrwx 1 root root  15 Jan 30 09:09 S17sams2 -> ../init.d/sams2
lrwxrwxrwx 1 root root  14 Jan 22 09:55 S17sudo -> ../init.d/sudo
lrwxrwxrwx 1 root root  17 Jan 18 15:48 S18apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root  15 Jan 18 15:48 S19acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root  13 Jan 18 15:48 S19atd -> ../init.d/atd
lrwxrwxrwx 1 root root  14 Jan 18 15:48 S19cron -> ../init.d/cron
lrwxrwxrwx 1 root root  14 Jan 24 13:51 S19dbus -> ../init.d/dbus
lrwxrwxrwx 1 root root  18 Jan 24 13:51 S19krb5-kdc -> ../init.d/krb5-kdc
lrwxrwxrwx 1 root root  15 Jan 18 16:47 S19mysql -> ../init.d/mysql
lrwxrwxrwx 1 root root  13 Jan 23 16:07 S19ntp -> ../init.d/ntp
lrwxrwxrwx 1 root root  20 Jan 18 15:48 S19postgresql -> ../init.d/postgresql
lrwxrwxrwx 1 root root  15 Jan 29 16:52 S19rsync -> ../init.d/rsync
lrwxrwxrwx 1 root root  15 Jan 18 16:50 S19squid -> ../init.d/squid
lrwxrwxrwx 1 root root  13 Jan 18 15:48 S19ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  17 Jan 24 13:51 S19winbind -> ../init.d/winbind
lrwxrwxrwx 1 root root  15 Jan 18 15:48 S20exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  27 Jan 24 13:51 S20krb5-admin-server -> ../init.d/krb5-admin-server
lrwxrwxrwx 1 root root  18 Jan 18 15:48 S21bootlogs -> ../init.d/bootlogs
lrwxrwxrwx 1 root root  18 Jan 18 15:48 S22rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 Jan 18 15:48 S22rmnologin -> ../init.d/rmnologin
lrwxrwxrwx 1 root root  23 Jan 18 15:48 S22stop-bootlogd -> ../init.d/stop-bootlogd

replace s17 и s19 ? ah
UPD: /etc/rc.local у меня пустой (коменты и exit 0) c ним понял), т.е. если туда добавить /usr/bin/sams2daemon (у меня почему-то не в local), то из /etc/rc4.d/ его нужно удалить?)

надпись на двери старого трамвая: "ВЫХОДА НЕТ!" | ❤windows 8 enterprise

27

Enzo_brn пишет:

replace s17 и s19 ? ah
UPD: /etc/rc.local у меня пустой (коменты и exit 0) c ним понял), т.е. если туда добавить /usr/bin/sams2daemon (у меня почему-то не в local), то из /etc/rc4.d/ его нужно удалить?)

Да, поставить самсу, например, s20 во всех /etc/rc*.d/
Если не поможет, добавьте запись в /etc/rc.local перед exit 0. Симлинки пока не удаляйте, сегодня ночью проверю и напишу, что в бутлоге у меня будет.

28 (30.01.2013 14:11:48 отредактировано Me_Shock)

кажется, я чего-то начудил:

 Консоль:
# cd /etc/rc4.d/
# mv S17sams2 S19sams2
# mv S19mysql S17mysql
# update-rc.d mysql defaults
# update-rc.d sams2 defaults

после ребута та же ошибка, они не поменялись((
UPD: решил по колхозному:

+ открыть спойлер

 Консоль:
# cd /etc/rc4.d/
# rm -rf S17sams2 S19mysql
# ln -s /etc/init.d/mysql /etc/rc4.d/S17mysql && ln -s /etc/init.d/sams2 /etc/rc4.d/S19sams2

надпись на двери старого трамвая: "ВЫХОДА НЕТ!" | ❤windows 8 enterprise

29

про sams2: снес дефотлные шаблоны, сделал свои. Добавил юзверей прямо в группах из AD.
но остались такие траблы:
1. На всех браузерах вылетает окно авторизации((, после ввода все работает и кеш и траф считает и статистика как у белых людей)
2. отключаю в самсе юзера а инет ему не перекрывается (показывает состояние ОТКЛЮЧЕН, а счетчик трафика растет!) или нужно реконфигурить сквид после таких действий?

надпись на двери старого трамвая: "ВЫХОДА НЕТ!" | ❤windows 8 enterprise

30 (30.01.2013 14:41:47 отредактировано Sinder)

1. У ntlm хелпера есть косяк, он иногда выкидывает окно авторизации, это пока не удалось побороть. Надо уходить на kerberos хелпер, но тогда не получится использовать самс.
2. Нужно реконфигурить сквид.

squid -k reconfigure

По сути, самс регулярно правит squid.conf, по этому необходимо перечитывать его.