Системы учета интернет-трафика. Установка, настройка, использование

Часть 1. Использование SAMS

Comments

Серия контента:

Этот контент является частью # из серии # статей: Системы учета интернет-трафика. Установка, настройка, использование

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Системы учета интернет-трафика. Установка, настройка, использование

Следите за выходом новых статей этой серии.

Возможности SAMS. Системные требования

Скачать SAMS можно на официальном сайте проекта http://sams.perm.ru/index.php, тут есть все необходимое системному администратору – от новостей и документации до исходных текстов программы.

Согласно официальному определению, SAMS – это не биллинговая система, а программное средство для администрирования доступа пользователей к прокси-серверу SQUID. Тем не менее, использовать его как систему учета трафика, прошедшего прокси-сервер, никто не мешает. Перечислим основные возможности программы:

  • администрирование системы через Web-интерфейс;
  • ограничение объема трафика пользователей;
  • автоматическое отключение пользователей, превысивших лимит;
  • блокировка доступа пользователей к запрещенным ресурсам Интернет;
  • настройка доступа пользователей через механизм шаблонов;
  • разбиение пользователей на группы для удобства администрирования системы;
  • ведение статистики посещенных пользователями ресурсов Интернет;
  • формирование отчетов по трафику пользователей за любой отрезок времени;
  • поддержка различных видов авторизации, используемых в SQUID: ip, ntlm, ncsa;
  • поддержка использования внешних редиректоров SQUID: rejik, squidGuard;
  • ограничение скорости закачки для групп пользователей;
  • отправка сообщений администратору при отключении пользователей из-за превышения лимита трафика:
  • хранение информации в базе данных MySQL.

В настоящее время список официально поддерживаемых систем невелик: Linux, FreeBSD, OpenBSD, SUN Solaris x86. Но поскольку исходные тексты SAMS открыты, ничто не мешает администратору адаптировать продукт для других систем.

Для работы SAMS в системе Ubuntu (Debian) необходимо установить следующие приложения и дополнительные пакеты:

Web-сервер apache2, apache2-mpm-prefork, PHP 5.2 (libapache2-mod-php5), php5-cgi, php5-common, php5-mysql, БД MySQL (mysql-server), mysql-client, libmysqlclient15off, прокси-сервер SQUID, а также библиотеки pcre (libpcre3). Как все это настраивать и устанавливать, я описывать не буду, лучше сосредоточусь на деталях и «подводных камнях».

Установка и настройка

После распаковки архива SAMS необходимо войти в каталог дистрибутива и там выполнить команды (требуются права суперпользователя):

./configure --with-httpd-locations=/var/www
make
make install

затем создаем пользователя для доступа к БД mysql и собственно базу данных SAMS:

mysql -u root -p
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword";
GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword";

замените неопределенные значения своими. После этого имя пользователя и пароль надо сохранить в файле конфигурации SAMS /etc/sams.conf:

  • MYSQLUSER=sams – имя пользователя MySQL, от имени которого будет работать SAMS;
  • MYSQLPASSWORD=yourpasswd – пароль пользователя в MySQL.

Для создания базы данных переходим в каталог ./mysql и там выполняем следующие команды:

cd ./mysql
mysql -u root -p < sams_db.sql
mysql -u root -p < squid_db.sql

Говоря «перемещаемся в каталог ./mysql», я имею в виду подкаталог каталога исходных текстов, возникший после разархивирования дистрибутива SAMS.

Настраиваем PHP:

Для настройки PHP необходимо внести изменения в файл /etc/php5/apache2/php.ini:

  1. Выставляем параметр safe_mode = On
  2. SAMS для некоторых функций Web-интерфейса использует системные команды, например wbinfo. В режиме safe_mode интерпретатор PHP блокирует доступ к системным командам. Тем не менее, интерпретатор позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir. Изменяем этот параметр:
    safe_mode_exec_dir = "/usr/local/share/sams/bin"
  3. Далее разрешаем исполнение системных скриптов из кода PHP. Ищем в файле конфигурации параметр и убираем из него запрет вызова функций phpinfo system shell_exec exec:
    disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec"

Теперь самое интересное: администраторская консоль SAMS будет доступна по адресу: http://localhost/sams/

Первый вход можно осуществить с именем и паролем: admin/qwerty (следует сразу сменить этот пароль). После авторизации вы должны увидеть изображение, показанное на рисунке 1.

Рисунок 1.
Рисунок 1.
Рисунок 1.

Я не буду описывать все опции и варианты настроек программы – администраторская консоль русифицирована, и все настройки интуитивно понятны. Вместо этого остановлюсь на нюансах, которые вызывают проблемы у тех, кто впервые сталкивается с эксплуатацией SAMS.

  1. Настраивая программу в разделе «Администрирование SAMS», не забудьте указать способ авторизации (ip или др).
  2. В подпункте «файл перенаправления запроса» обязательно смените «you_ip_address...» на localhost! Обязательно! Это не очевидно и теряется из виду, а последствия неприятны.
  3. В следующем подпункте делаем то же самое.
  4. В подпункте «редиректор» поставьте «встроенный SAMS» – по умолчанию там ничего нет. Потом можете поставить rejik, он более функциональный.
  5. Не забудьте сохранить изменения.
  6. Прокси-сервер SQUID должен быть запущен без каких-либо настроек с вашей стороны, но в конце конфигурационного файла нужно обязательно указать: «redirect_program /usr/local/bin/samsredir».
  7. В подразделе SQUID администраторской консоли SAMS обязательно сделайте реконфигурирование squid, – правильное завершение этой процедуры отразится соответствующим сообщением в самом SAMS и появлением в начале конфигурационного файла SQUID примерно такой надписи: «# created by SAMS _sams_ 2009-05-26 10:5:19».
  8. После этого выполните команду (требуются права суперпользователя) /etc/init.d/samsd stop и запустите скрипт с параметром start. Для SQUID нужно сделать то же самое: /etc/init.d/squid reload. Убедитесь в логах SQUID, что он работает нормально, после чего заведите на прокси-сервере пользователя в SAMS, при этом обратите внимание на тип авторизации – он должен совпадать с настройками в самом SAMS. Создайте в каталоге /etc/squid текстовый файл default.sams и туда пропишите по одному в строку (в случае авторизации по ip-адресу) данные, например:
    10.0.16.114/255.255.255.255
    10.0.16.108/255.255.255.255

    Это адреса абонентов из вашей подсети, их же вы укажете при заведении пользователей в самом SAMS.

  9. В разделе администраторской консоли «Запрет доступа по URL» создайте ваш список и внесите в него URL, посещать которые вашим пользователям нельзя, или создайте для этих же целей шаблоны, используя регулярные выражения в одноименном разделе чуть ниже. Обязательно поставьте «галочку», применяющую эти правила в шаблоне пользователя, в разделе «Шаблоны пользователя» (рисунок 2).
    Рисунок 2.
    Рисунок 2.
    Рисунок 2.

    У меня на рисунке эта галочка пометила в разделе «запрет доступа» «my» – имя моего шаблона со списком запретных URL. Если этого не сделать, никакие запреты работать не будут!

  10. На клиентских машинах задайте в настройках браузеров ip-адрес и порт прокси-сервера, где работают SAMS и SQUID. Все пользователи идут через настроенную систему, трафик учитывается, статистика сохраняется в базе данных, строятся графики, а также доступны все остальные функции SAMS, как на рисунке 3.
    Рисунок 3.
    Рисунок 3.
    Рисунок 3.

    И все хорошо, но если пользователь вздумает пойти на запретный сайт, он увидит такое окно, как показано на рисунке 4 (саму картинку тоже можно изменить, подложив на ее место другой рисунок)

    Рисунок 4.
    Рисунок 4.
    Рисунок 4.

    Для просмотра графиков, построенных по результатам отчетов, необходимо включить их поддержку в разделе «Настройки Web-интерфейса» – «Показывать графики в отчетах» (рисунок 5).

    Рисунок 5.
    Рисунок 5.
    Рисунок 5.

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

Заключение

В следующей статье рассмотрим применение программ SARG и Ipaudit в контексте описанной здесь задачи, но немного под другим углом, если можно так выразиться. Эти программы имеют другой принцип построения, а также иные механизмы работы, но об этом речь пойдет в продолжении цикла. Надеюсь, мои статьи помогут читателям определиться с выбором.


Ресурсы для скачивания


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source, Linux
ArticleID=442605
ArticleTitle=Системы учета интернет-трафика. Установка, настройка, использование: Часть 1. Использование SAMS
publish-date=11032009