IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Open source | Linux  >

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

developerWorks
Опции документа

Опции документа, требующие включения JavaScript, не отображаются

Обсудить


Выскажите мнение об этой странице

Помогите нам улучшить содержание


Уровень сложности: средний

Александр Деревянко, ведущиq консультант-эксперт, консультант

03.11.2009

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

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

Возможности 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.

Я не буду описывать все опции и варианты настроек программы – администраторская консоль русифицирована, и все настройки интуитивно понятны. Вместо этого остановлюсь на нюансах, которые вызывают проблемы у тех, кто впервые сталкивается с эксплуатацией 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.

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

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

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

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



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

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



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

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



В начало


Заключение

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



Об авторе

В сфере IT работает с 1990 года. Занимал должности от инженера 1 категории до начальника отдела IT. В настоящий момент работает ведущим консультантом-экспертом отдела инженерного и технического сопровождения Администрации Краснодарского края.




Выскажите мнение об этой странице


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



 


 


 


Поделиться этой статьей:

забобрить забобрить memori сохранить в memori




В начало


IBM обладает всеми авторскими правами касательно информации, расположенной на developerWorks. Использование информации приведенной на этом ресурсе без явного письменного разрешения от IBM или первоначального автора запрещены. Если Вы желаете использовать информацию с developerWorks, пожалуйста воспользуйтесь регистрационной формой для того, чтобы связаться с нами запрос на использование материалов developerWorks Россия.
    IBM в России Конфиденциальность Контакты