|
www.lissyara.su
—> статьи
—> FreeBSD
—> подсчёт трафика
—> SQUID+SAMS +Rejik-(ADLDAP)
Установка Прокси сервера SQUID+SAMS Rejik3 c авторизацией по ADLDAP
Автор: Cancer.
На днях решил написать мануал простенький по установке связки SQUID SAMS+REJIK с аунтентификацией через LDAP, писал в общем для начинающих Unix'ойдов, да и для себя что бы не забыть. Думаю довольно хороший мануал получился. Да и думаю это самая простая настройка связки, ну если конечно есть AD LDAP итд итп :)
Да ну и естессно каждому своё.
Информация:
1. Есть ДОМЕН под управление Win 2003 Server, сервер работает как AD, DHCP, DNS, LDAP.
2. Есть машина с FreeBSD 6.2
Celeron-1700Hz,DDR-256Mb,HDD-20Gb =>2 сетевых интерфейса rl0 и rl1
rl0 192.168.55.11 (в локалку смотрит)
rl1 192.168.1.11 (в модем смотрит)
Задача:
Настроить связку Squid+Sams с аутентификацией через LDAP, для того что бы можно было добавлять пользователей с их паролями прямо из Active Directory.
Преимущества:
LDAP аутентификация - это очень удобно, так как логины и пароли хранятся в одном месте, а именно в AD.
Вход в Windows, Linux, FreeBSD итд итп (под доменный пользователем) и вход в интернет происходит под одим и тем же логином и паролем.
Недостатки:
Спрашивает логин и пароль, но я бы несказал что это недостаток, мне например нравится что при подключении к интернету спрашивает логин и пароль так как это более безопаснее.
Огромная благодарность http://www.permlug.org/
В особенности DogEater
SAMS позволяет создавать группы, ставить ограничение по трафику, запрет на сайты, резка банеров с помощью РЕЖИК, запрет по регулярным выражениям типа нельзя качать (/.mp3 /.avi /.wav /.mp4) итд на что фантазии хватит, 3 типа авторизации (NTLM NCSA IP)ну и что самое главное можно было потом из mysql тянуть логи в 1С. На 1С была сделана обработка для распознания рабочий личный сайты итд.
В общем красиво и много полезного.
SAMS представляет собой программное средство для администрирования доступа пользователей к прокси-серверу SQUID.
SAMS это не биллиноговая система!
Возможности системы:
* Администрирование системы через web интерфейс
* Ограничение объема трафика пользователей на месяц
* Автоматическое отключение пользователей, превысивших лимит
* Блокировка доступа пользователей к запрещенным ресурсам интернет
* Настройка доступа пользователей через механизм шаблонов
* Разбиение пользователей на группы для удобства администрирования системы
* Ведение статистики посещенных пользователями ресурсов интернет
* Формирование отчетов по трафику пользователей за любой отрезок времени
* Поддержка видов авторизации SQUID: ntlm, ncsa, ip
* Поддержка использования редиректоров SQUID: rejik, squidGuard
* Ограничение скорости закачки для групп пользователей
* Посылку сообщений администратору при отключении пользователей при превышении трафика
* Для хранения данных используется СУБД MySQL
>>>>>Более подробнее<<<<<
Перед тем как начать установку обновите порты ОБЯЗАТЕЛЬНО!!!
Устанавливаем веб сервер Apache, для того что бы можно было управлять прокси сервером, просмотривать статистику и многое другое через веб интерфейс SAMS, написанный на php
//> cd /usr/ports/www/apache13
/usr/ports/www/apache13/> make install clean
/usr/ports/www/apache13/> rehash
| Добавим строку в /etc/rc.conf для автозапуска apache при перезагрузке сервера
//> echo 'apache_enable="YES"' >> /etc/rc.conf
| Запускаем сам apache
//> /usr/local/etc/rc.d/apache start
| Смотрим запустился ли веб сервер apache
6283 ?? Ss 0:00,05 /usr/local/sbin/httpd
6284 ?? I 0:00,00 /usr/local/sbin/httpd
6285 ?? I 0:00,00 /usr/local/sbin/httpd
6286 ?? I 0:00,00 /usr/local/sbin/httpd
6287 ?? I 0:00,00 /usr/local/sbin/httpd
6288 ?? I 0:00,00 /usr/local/sbin/httpd
6380 p0 R+ 0:00,00 grep http
|
Проверяем открывается ли страница набрав в любом веб браузере http://ip_tachki/
Устанавливаем сердце нашей связки прокси сервер Squid, нужен он для пропуска пользователей в интернет, так же кеширования http, https, ftp трафика
//> cd /usr/ports/www/squid
/usr/ports/www/squid/> make config
|
+--------------------------------------------------------------------+
| Options for squid 2.7.9 |
| +----------------------------------------------------------------+ |
| | [ ] SQUID_KERB_AUTH Install Kerberos authentication helpers|
| | [X] SQUID_LDAP_AUTH Install LDAP authentication helpers | |
| | [X] SQUID_NIS_AUTH Install NIS/YP authentication helpers| |
| | [ ] SQUID_SASL_AUTH Install SASL authentication helpers | |
| | [X] SQUID_DELAY_POOLS Enable delay pools | |
| | [ ] SQUID_SNMP Enable SNMP support | |
| | [X] SQUID_CARP Enable CARP support | |
| | [ ] SQUID_SSL Enable SSL support for reverse proxies |
| | [ ] SQUID_PINGER Install the icmp helper | |
| | [X] SQUID_DNS_HELPER Use the old 'dnsserver' helper | |
| | [ ] SQUID_HTCP Enable HTCP support | |
| | [ ] SQUID_VIA_DB Enable forward/via database | |
| | [ ] SQUID_CACHE_DIGESTS Enable cache digests | |
| | [X] SQUID_WCCP Enable Web Cache Coordination Prot. v1 |
| | [ ] SQUID_WCCPV2 Enable Web Cache Coordination Prot. v2 |
| | [ ] SQUID_STRICT_HTTP Be strictly HTTP compliant | |
| | [X] SQUID_IDENT Enable ident (RFC 931) lookups | |
| | [ ] SQUID_REFERER_LOG Enable Referer-header logging | |
| | [ ] SQUID_USERAGENT_LOG Enable User-Agent-header logging | |
| | [ ] SQUID_ARP_ACL Enable ACLs based on ethernet address| |
| | [ ] SQUID_PF Enable transparent proxying with PF | |
| | [ ] SQUID_IPFILTER Enable transp. proxying with IPFilter| |
| | [ ] SQUID_FOLLOW_XFF Follow X-Forwarded-For headers | |
| | [ ] SQUID_AUFS Enable the aufs storage scheme | |
| | [ ] SQUID_COSS Enable the COSS storage scheme | |
| | [X] SQUID_KQUEUE Use kqueue(2) instead of poll(2) | |
| | [X] SQUID_LARGEFILE Support log and cache files >2GB | |
| | [ ] SQUID_STACKTRACES Create backtraces on fatal errors | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
/usr/ports/www/squid/> make install clean
/usr/ports/www/squid/> rehash
|
В конфиги добавляем такие строки для авторизации сквида в LDAP
И немного о squid_ldap_auth запросе
-b "ou=dep,dc=domain,dc=local" - "ou=контейнер_AD,dc=domain,dc=local"
-D ldap@domain.local - пользователь_AD@domain.local
-w password_ldap - пароль_пользователя AD
-h 192.168.55.1 -p 389 - ip_адрес LDAP сервера и порт 389
//> ee /usr/local/etc/squid/squid.conf
|
# TAG: http_access
# Allowing or Denying access based on defined access lists
#
# Access to the HTTP port:
# http_access allow|deny [!]aclname ...
#
# NOTE on default values:
#
# If there are no "access" lines present, the default is to deny
# the request.
#
# If none of the "access" lines cause a match, the default is the
# opposite of the last line in the list. If the last line was
# deny, the default is allow. Conversely, if the last line
# is allow, the default will be deny. For these reasons, it is a
# good idea to have an "deny all" or "allow all" entry at the end
# of your access lists to avoid potential confusion.
#
#Default:
http_access deny all
... пропущено...
#Recommended minimum configuration per scheme:
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth \
-b "ou=dep,dc=domain,dc=local" -D ldap@domain.local -w password_ldap \
-f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName \
-h 192.168.55.1 -p 389
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
| Примечание:Пользователь ldap должен быть создан в корне AD, так как я когда настраивал был пользователь в контейнере dep и не получал список сотрудников из контейнера dep
Создадим (SWAP) для прокси сервера
//> rehash
//> squid –z
2008/10/02 20:57:19| Creating Swap Directories
//>
|
Далее добавляем в /etc/rc.conf строку для автоматического запуска squid после перезагрузки
//> echo 'squid_enable="YES"' >> /etc/rc.conf
|
//> /usr/local/etc/rc.d/squid start
|
Должно быть примерно такое
7537 ?? Ss 0:00,01 (squid_ldap_auth) -b ou=dep,dc=domain,dc=local -D ldap@altair.local -w ldap -f (&(objectClass=person)(sAMAccountName=%s)) -u sAMAccountName -h 192.168.55.1
7539 ?? Ss 0:00,01 (squid_ldap_auth) -b ou=dep,dc=domain,dc=local -D ldap@domain.local -w ldap -f (&(objectClass=person)(sAMAccountName=%s)) -u sAMAccountName -h 192.168.55.1
7540 ?? Ss 0:00,01 (squid_ldap_auth) -b ou=dep,dc=domain,dc=local -D ldap@domain.local -w ldap -f (&(objectClass=person)(sAMAccountName=%s)) -u sAMAccountName -h 192.168.55.1
7541 ?? Ss 0:00,01 (squid_ldap_auth) -b ou=dep,dc=domain,dc=local -D ldap@domain.local -w ldap -f (&(objectClass=person)(sAMAccountName=%s)) -u sAMAccountName -h 192.168.55.1
7542 ?? Ss 0:00,01 (squid_ldap_auth) -b ou=dep,dc=domain,dc=local -D ldap@domain.local -w ldap -f (&(objectClass=person)(sAMAccountName=%s)) -u sAMAccountName -h 192.168.55.1
7544 p0 R+ 0:00,00 grep squid
|
Проверим
//> /usr/local/libexec/squid/squid_ldap_auth \
-b "ou=dep,dc=domain,dc=local" -D ldap@domain.local -w password_ldap \
-f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName \
-h 192.168.55.1 -p 389
# Далее вводим логин и пароль пользователя из AD (через пробел)
user password
OK (Значит все отлично)
ERR Success (Значит аутентификация не прошла)
|
Собственно устанавливаем Субд Mysql, где у нас будут храниться логи хождения пользователей по интернет страничкам, которые в дальнейшем можно будет загружать в программу 1С и распределять сайты по категориям рабочий, личный
//> cd /usr/ports/databases/mysql51-server
/usr/ports/databases/mysql51-server/> make install clean
/usr/ports/databases/mysql51-server/> rehash
| Добавляем в /etc/rc.conf строку для запуска mysql
//> echo 'mysql_enable="YES"' >> /etc/rc.conf
| И запускаем сам сервер
//> /usr/local/etc/rc.d/mysql-server start
| Проверяем должно быть что то типа этого
6210 p0 RV 0:00,00 grep mysql (csh)
6188 p1- S 0:00,02 /bin/sh /usr/local/bin/mysqld_safe
--defaults-extra-file=/var/db/mysql/my.cnf -- user=mysql --datadir=/var
6206 p1- S 0:00,94 /usr/local/libexec/mysqld
--defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr/local --datadir=/var/
|
Далее меняем пароль администратора СУБД
//> /usr/local/bin/mysqladmin -u root password 'PWD'
//> /usr/local/bin/mysqladmin -u root -h sams.domain.local password 'PWD'
|
//> cd /usr/ports/lang/php52
/usr/ports/lang/php52/> make config
|
+--------------------------------------------------------------------+
| Options for php52 5.2.14 |
| +----------------------------------------------------------------+ |
| | [X] CLI Build CLI version | |
| | [X] CGI Build CGI version | |
| | [X] APACHE Build Apache module | |
| | [ ] DEBUG Enable debug | |
| | [X] SUHOSIN Enable Suhosin protection system (not for jails) |
| | [ ] MULTIBYTE Enable zend multibyte support | |
| | [ ] IPV6 Enable ipv6 support | |
| | [ ] MAILHEAD Enable mail header patch | |
| | [ ] REDIRECT Enable force-cgi-redirect support (CGI only) | |
| | [ ] DISCARD Enable discard-path support (CGI only) | |
| | [X] FASTCGI Enable fastcgi support (CGI only) | |
| | [X] PATHINFO Enable path-info-check support (CGI only) | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
| Устанавливаем.
/usr/ports/lang/php52/> make install clean
/usr/ports/lang/php52/> rehash
|
Чтобы активировать модули apache даем команду на перезагрузку апача
Добавляем следующие строки в /usr/local/etc/apache/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
| Далее создаем тестовую страничку
//> ee /usr/local/www/data/index.php #вот с таким содержанием
|
Перезапускаем веб сервер командой
//> /usr/local/etc/rc.d/apache restart
| Проверяем работоспособность php заходим с любого
интернет браузера http://ip_tachki/index.php
//> cd /usr/ports/lang/php52-extensions
/usr/ports/lang/php52-extensions/> make config
|
+--------------------------------------------------------------------+
| Options for php52-extensions 1.3 |
| +----------------------------------------------------------------+ |
| | [ ] BCMATH bc style precision math functions | |
| | [ ] BZ2 bzip2 library support | |
| | [ ] CALENDAR calendar conversion support | |
| | [X] CTYPE ctype functions | |
| | [X] CURL CURL support | |
| | [ ] DBA dba support | |
| | [ ] DBASE dBase library support | |
| | [ ] DOM DOM support | |
| | [ ] EXIF EXIF support | |
| | [ ] FILEINFO fileinfo support | |
| | [ ] FILTER input filter support | |
| | [ ] FRIBIDI FriBidi support | |
| | [ ] FTP FTP support | |
| | [X] GD GD library support | |
| | [X] GETTEXT gettext library support | |
| | [ ] GMP GNU MP support | |
| | [X] HASH HASH Message Digest Framework | |
| | [X] ICONV iconv support | |
| | [ ] IMAP IMAP support | |
| | [ ] INTERBASE Interbase 6 database support (Firebird) | |
| | [X] JSON JavaScript Object Serialization support | |
| | [X] LDAP OpenLDAP support | |
| | [ ] MBSTRING multibyte string support | |
| | [ ] MCRYPT Encryption support | |
| | [ ] MHASH Crypto-hashing support | |
| | [ ] MING ming shockwave flash support | |
| | [ ] MSSQL MS-SQL database support | |
| | [X] MYSQL MySQL database support | |
| | [ ] MYSQLI MySQLi database support | |
| | [ ] NCURSES ncurses support (CLI only) | |
| | [ ] ODBC unixODBC support | |
| | [ ] OPENSSL OpenSSL support | |
| | [ ] PCNTL pcntl support (CLI only) | |
| | [X] PCRE Perl Compatible Regular Expression support | |
| | [X] PDF PDFlib support (implies GD) | |
| | [X] PDO PHP Data Objects Interface (PDO) | |
| | [X] PDO_SQLITE PDO sqlite driver | |
| | [ ] PGSQL PostgreSQL database support | |
| | [X] POSIX POSIX-like functions | |
| | [ ] PSPELL pspell support | |
| | [ ] READLINE readline support (CLI only) | |
| | [ ] RECODE recode support | |
| | [X] SESSION session support | |
| | [ ] SHMOP shmop support | |
| | [X] SIMPLEXML simplexml support | |
| | [ ] SNMP SNMP support | |
| | [ ] SOAP SOAP support | |
| | [ ] SOCKETS sockets support | |
| | [ ] SPL Standard PHP Library | |
| | [X] SQLITE sqlite support | |
| | [ ] SYBASE_CT Sybase database support | |
| | [ ] SYSVMSG System V message support | |
| | [ ] SYSVSEM System V semaphore support | |
| | [ ] SYSVSHM System V shared memory support | |
| | [ ] TIDY TIDY support | |
| | [X] TOKENIZER tokenizer support | |
| | [ ] WDDX WDDX support (implies XML) | |
| | [ ] XML XML support | |
| | [X] XMLREADER XMLReader support | |
| | [ ] XMLRPC XMLRPC-EPI support | |
| | [X] XMLWRITER XMLWriter support | |
| | [ ] XSL XSL support (Implies DOM) | |
| | [ ] YAZ YAZ support (ANSI/NISO Z39.50) | |
| | [ ] ZIP ZIP support | |
| | [X] ZLIB ZLIB support | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
/usr/ports/lang/php5-extensions/> make install clean
/usr/ports/lang/php5-extensions/> rehash
|
Чтобы активировать модули apache даем команду на перезагрузку апача
В файл /usr/local/etc/apache/httpd.conf добавить директиву ExecCGI
Это разрешит загрузку файлов на сервер через web интерфейс
//> ee /usr/local/etc/apache/httpd.conf #и добавляем следующее
|
<Directory />
Options FollowSymLinks ExecCGI
AllowOverride None
</Directory>
| Настраиваем php
//> cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
|
//> ee /usr/local/etc/php.ini #и правим
|
safe_mode = On
safe_mode_exec_dir = "/usr/local/share/sams/bin"
|
Перезагрузим Apache
//> /usr/local/etc/rc.d/apache restart
|
//> cd /usr/ports/www/sams
/usr/ports/www/sams/> make config
|
+--------------------------------------------------------------------+
| Options for sams 1.0.5_3,1 |
| +----------------------------------------------------------------+ |
| | [X] NTLM NTLM autorization/ActiveDirectory support | |
| | [X] INSTALLGD Graphic reports | |
| | | |
| | | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
/usr/ports/www/sams/> make install clean
/usr/ports/www/sams/> rehash
| Правим конфиг самса до такого состояния
//> cp /usr/local/etc/sams.conf.sample /usr/local/etc/sams.conf
//> ee /usr/local/etc/sams.conf
|
[client]
SQUID_DB=squidlog
SAMS_DB=squidctrl
MYSQLHOSTNAME=localhost
MYSQLUSER=sams
MYSQLPASSWORD=qwerty
MYSQLVERSION=5.1
SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/usr/local/etc/squid
SQUIDLOGDIR=/usr/local/squid/logs
SQUIDCACHEDIR=/usr/local/squid/cache
SAMSPATH=/usr/local
SQUIDPATH=/usr/local/sbin
#SQUIDGUARDLOGPATH=/var/log
#SQUIDGUARDDBPATH=/var/db/squidGuard
RECODECOMMAND=/usr/local/bin/iconv -f KOI8-R -t 866 %finp > %fout
LDAPSERVER=192.168.55.1
LDAPBASEDN=DOMAIN.LOCAL
LDAPUSER=Administrator
LDAPUSERPASSWD=Пароль
LDAPUSERSGROUP=dep
REJIKPATH=/usr/local/rejik
SHUTDOWNCOMMAND=/sbin/shutdown -h now
CACHENUM=0
|
SAMS_DB=squidctrl - имя базы данных SAMS
SQUID_DB=squidlog - имя базы данных, где SAMS хранит информацию, полученную из логов SQUID
MYSQLHOSTNAME=localhost - адрес хоста, где стоит MySQL
MYSQLUSER=sams - Имя пользователя MySQL, от имени которого будет работать SAMS
MYSQLPASSWORD=yourpasswd - Пароль пользователя в MySQL
Настройка работы со SQUID:
SQUIDROOTDIR=/usr/local/etc/squid - Путь к директории, где лежит конфиг SQUID
SQUIDLOGDIR=/usr/local/squid/logs - Путь к директории, где лежит файл логов SQUID
SQUIDCACHEFILE=access.log - Имя файла логов SQUID
SQUIDPATH=/usr/local/sbin - Путь, где лежит SQUID
SQUIDCACHEDIR=/usr/local/squid/cache - Путь к кэшу SQUID. Необходимо для работы функции восстановления файлов из кэша SQUID
Путь расположения SAMS:
SAMSPATH=/usr/local - Путь, куда установлен SAMS
Если вы хотите использовать редиректор SQUIDGUARD, необходимо отредактировать эти пункты
SQUIDGUARDLOGPATH=/var/log
SQUIDGUARDDBPATH=/var/db/squidguard
Если вы хотите использовать редиректор REJIK, необходимо отредактировать этот пункт
REJIKPATH=/path/to/rejik
Если вы хотите использовать NTLM или AD авторизацию и у вас есть имена пользователей на руссокм языке, необходимо изменить этот пункт:
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout - команда перекодирования имен пользователей из используемой у вас кодировки в dos-866
Если вы хотите использовать авторизацию в Active Directory, отредактируйте эти пункты
LDAPSERVER=192.168.0.1 - ip адрес или имя сервера Active Directory
LDAPBASEDN=domain.name - ваш домен
LDAPUSER=username - имя пользователя, входщего в группу администраторы домена
LDAPUSERPASSWD=passwd
LDAPUSERSGROUP=Users - группа, в которую входят пользователи доменаю Для AD это обычно Users
CACHENUM=номер - Номер прокси-сервера SQUID, зарегистрированного в SAMS. SAMS поддерживает возможность управлениями несколькими прокси серверами SQUID (на данный момент только команда на реконфигурирование).
SHUTDOWNCOMMAND=shutdown -h now - Команда, выполняемая при нажатии на кнопку (SAMS->"Shutdown proxy server"). Данная команда добавлена для удобства удаленного выключения прокси сервера.
Теперь добавляем линк в конфиг Apache
//> ee /usr/local/etc/apache/httpd.conf
|
Alias /sams "/usr/local/share/sams/"
<Directory "/usr/local/share/sams/">
AllowOverride AuthConfig
Options Indexes MultiViews
Order allow,deny
Allow from all
</Directory>
| Ну и перезагрузим Apache
//> /usr/local/etc/rc.d/apache restart
|
Создаем Базы и пользователя самс в СУБД Mysql, для этого перейдите в любом интернет браузере по ссылке http://ip_tachki/sams/ и там вы увидите
Нужно нажать на кнопку Run SAMS database installation script тем самым мы запустим скрипт по созданию нужных баз и пользователя в MySQL
MySQL Hostname: Указываем где у нас находится сервер MySQL, а именно localhost
MySQL login: Вводим администратора СуБД MySQL, а именно root
MySQL password: Пароль root СУБД MYSQL
Sams MySQL user: Вводим пользователя под которым самс будет подключаться к БД (а именно которого мы указали в sams.conf)
Sams MySQL user password: Вводим пароль для пользователя sams, естественно так же который мы указали в sams.conf
Ну и нажимаем кнопку Create Database
Далее вы должны увидеть вот такое чудо
Если видим подобное чудо, то все отлично!, нажимаем на кнопку Starting SAMS webinterface
Далее нужно добавить строку # REQUIRE: mysql для того что бы демон самса запускался пожже mysql
Демон должен выглядеть так
//> ee /usr/local/etc/rc.d/sams
|
#!/bin/sh
# $FreeBSD: ports/www/sams/files/sams.sh.in,v 1.1 2006/12/29 20:18:35
# PROVIDE: sams
# REQUIRE: mysql
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
....пропущено....
| Добавляем в /etc/rc.conf строку sams_enable="YES" для того что бы SAMS запускался при старте системы
//> echo 'sams_enable="YES"' >> /etc/rc.conf
|
Запускаем SAMS
//> /usr/local/etc/rc.d/sams start
|
Заходим в веб интерфейс, по умолчанию пользователь admin, пароль qwerty (всегда так)
Настройки WEB интерфейса ->
Язык: [Russian UTF-8]
Разрешить доступ пользователей к своей статистике:
по трафику за день [X]
по посещенным URL [X]
Тема иконок: [classic]
Показывать дерево пользователей [X]
Показывать пользователей как [Фамилия Имя]
Размер Килобайта, учитываемого вашим провайдером (byte) [1024]
Размер Мегабайта, учитываемого вашим провайдером (byte) [1048576]
Показывать графики в отчетах [X]
Создавать PDF отчеты: [Не создавать]
[Сохранить изменения]
Администрирование SAMS ->
Домен по умолчанию: DOMAIN.LOCAL
Способ аутентификации пользователя: Active Directory
Настройка samsdaemon: Проверять наличие команды на реконфигурирование squid каждые 1 секунду
Обрабатывать логи SQUID: [X]
Используя: Запускать обработчик логов через N минут
обрабатывать через: 1 минута
Автоматически очищать счетчики трафика пользователей: [X]
Путь к wbinfo: /usr/local/bin
файл перенаправления запроса: http://ip_tachki/sams/icon/classic/blank.gif
Путь к каталогу, где лежат файлы запрета запроса: http://ip_tachki/sams/messages
Редиректор: Пока ставим "Не использовать редиректор"
Включить ограничение скорости доступа пользователей (delaypool): [ ]
Сохранять данные о трафике в базе за последние: Не сохранять
Сохранить изменения
SAMS -> Локальные домены
И добавляем свои локальные сети
127.0.0.1 Добавить URL
192.168.55.0/24 Добавить URL
sams.domain.local Добавить URL
итд итп.
Шаблоны пользователей -> Default
Cписки SAMS:
Перенаправление запроса
[X] Banners
[X] Counters
[ ] Доступ запрещен ко всем URL
Запрет доступа
  [X] Chats
  [X] Porno
  [X] Localdomains
Способ авторизации пользователей: ADLD
Пользователи -> Загрузить всех пользователей домена
Найдены пользователи домена: И там будет список пользователей вашего домена
SQUID -> Реконфигурирование SQUID -> Реконфигурировать
Устанавливаем редиректор РЕЖИК, нужен он для того что бы запрещать доступ на ненужные для работы сайты, файлы, так же нужен и для отрубания пользователей которые превысили свой лимит.
//> cd /usr/ports/www/rejik
/usr/ports/www/rejik/> make config
|
+--------------------------------------------------------------------+
| Options for rejik 3.2.6 |
| +----------------------------------------------------------------+ |
| | [X] BAN With banlists | |
| | [ ] DBL With DBL scripts | |
| | [ ] WWW With error pages | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
/usr/ports/www/rejik/> make
|
Для того что бы режик был регистронезависимым нужно раскомментировать строку:
#define CASE_INDEPENDENT
/usr/ports/www/rejik/> ee work/redirector/vars.h
| И раскомментируем строку
//#define CASE_INDEPENDENT
до такого состояния
#define CASE_INDEPENDENT
|
И устанавливаем rejik
/usr/ports/www/rejik/> make install
/usr/ports/www/rejik/> rehash
|
Далее копируем банлисты в рабочий каталог Режика.
//> cp -R /usr/ports/www/rejik/work/banlists /usr/local/rejik
|
Даем права на бан лист squid:squid, думаю не повредит так как надоели с граблями (прав) на него
//> chown -R squid:squid /usr/local/rejik/banlists
|
Проверяем, правильно ли прописаны пути в redirector.conf
Правим эти строки примерно до такого состояния
//> ee /usr/local/rejik/redirector.conf
| Пример такой
error_log /usr/local/rejik/redirector.err
change_log /usr/local/rejik/redirector.log
make-cache /usr/local/rejik/make-cache
#allow_urls /usr/local/rejik/banlists/allow_urls
<BANNER>
ban_dir /usr/local/rejik/banlists/banners
url http://127.0.0.1/messages/1x1.gif
#log off
<PORNO>
ban_dir /usr/local/rejik/banlists/porno
url http://127.0.0.1/messages/porno.html
<MP3>
ban_dir /usr/local/rejik/banlists/mp3
url http://127.0.0.1/messages/mp3.html
<JS>
ban_dir /usr/local/rejik/banlists/js
url http://127.0.0.1/messages/js.js
#log off
| Для этого нужно создать каталог messages
//> mkdir /usr/local/www/data/messages
|
Качаем, распаковываем файлы и кладем в /usr/local/www/data/messages
Страничка запрета порно и mp3
|
файл
|
скачан
|
размер
|
размещён
|
примечание
|
|
10187
|
1.3kb
|
2008-08-15
|
/usr/local/www/data/messages
|
|
и даем права
//> chown -R www:www /usr/local/www/data/messages/
|
Добавляем строку для редиректора Режик
//> ee /usr/local/etc/squid/squid.conf
| Будьте внимательнее !!!
# TAG: url_rewrite_program
# Specify the location of the executable for the URL rewriter.
# Since they can perform almost any function there isn't one included.
#
# For each requested URL rewriter will receive on line with the format
#
# URL <SP> client_ip "/" fqdn <SP> user <SP> method <SP> urlgroup
# [<SP> kvpairs] <NL>
#
# In the future, the rewriter interface will be extended with
# key=value pairs ("kvpairs" shown above). Rewriter programs
# should be prepared to receive and possibly ignore additional
# whitespace-separated tokens on each input line.
#
# And the rewriter may return a rewritten URL. The other components of
# the request line does not need to be returned (ignored if they are).
#
# The rewriter can also indicate that a client-side redirect should
# be performed to the new URL. This is done by prefixing the returned
# URL with "301:" (moved permanently) or 302: (moved temporarily).
#
# It can also return a "urlgroup" that can subsequently be matched
# in cache_peer_access and similar ACL driven rules. An urlgroup is
# returned by prefixing the returned URL with "!urlgroup!".
#
# By default, a URL rewriter is not used.
#
#Default:
# none
url_rewrite_program /usr/local/rejik/redirector /usr/local/rejik/redirector.conf
|
Реконфигурируем squid
В веб интерфейсе
Администрирование SAMS ->
Редиректор: Rejik
SQUID -> Реконфигурирование SQUID -> Реконфигурировать
Вот тут можете его рассмотреть (демо версия) http://sams.perm.ru/demo/index.html
по умолчанию Пользователь admin пароль admin
Кофигурация 1С
Теперь собственно обработка результатов. Как известно руководители любят смотреть кто и как часто использует интернет в Личных целях. Для этого нам нужно где то регистрировать какие сайты посещались (по типу личный или не личный) и сколько было оттуда получено информации. Так как в России программистов 1С больше чем пользователей :) используем в качестве платформы ее родную.
Для начала создадим простейшую конфигурацию, в которой будет справочник сайты, справочник сотрудники, справочник отделы и документ Детализация Интернет. Нам не требуется ни одна компонента 1С (Торговля, Бухгалтерия, Расчет), так что подойдет любая версия.
Конфигурация 1Cv7.zip
|
файл
|
скачан
|
размер
|
размещён
|
примечание
|
|
1919
|
14.3kb
|
2008-07-28
|
Конфигурация для учета посещения интернет
|
|
Конфигурация несколько устарела, делалась под логи usergate так что обработка по загрузке из базы SAMS
Dataload1.zip
|
файл
|
скачан
|
размер
|
размещён
|
примечание
|
|
1750
|
3.5kb
|
2008-07-28
|
Обработка по загрузке данных из SAMS
|
|
Для работы требуется 2 компонента v7mysql.dll и 1cpp.dll (без второй можно обойтись, она используется только для преобразования даты в строку SQL типа 20080101, что можно сделать и в самой 1С)
Приложенные файлы конечно делались под специфические задачи, и скорее всего сразу не заработают, по всем вопросам конфигурации и обработки, лучше всего обращайтесь к ее автору (yudinvs icq: 880916)
Файлы конечно распространяются свободно, 1С конечно нет.
Документация
http://sams.perm.ru/
http://www.rejik.ru/
http://sams.permlug.org/
http://sams.perm.ru/doc/ru/index.html
http://www.squid-cache.org/
http://squid.opennet.ru/
размещено: 2008-11-26,
последнее обновление: 2010-10-23,
автор: Cancer
|
|
Комментарии пользователей [21 шт.]