УДК 004.056.53 ББК 32.973.26-018.2 К 38
Киздермишов Асхад Асланчериевич
Кандидат физико-математических наук, доцент кафедры автоматизированных систем обработки информации и управления инженерно-физического факультета Адыгейского государственного университета, Майкоп, тел. (8772) 593911, e-mail: [email protected] Киздермишова Сулиет Халидовна
Доцент, кандидат социологических наук, доцент кафедры экологии и защиты окружающей среды экологического факультета Майкопского государственного технологического университета, Майкоп, email: [email protected]
Установка и настройка Squid Analysis Report Generator
(Рецензирована)
Аннотация. Рассмотрены вопросы, связанные с учетом трафика прокси-сервера Squid, даны рекомендации для системных администраторов с низким уровнем подготовки по установке и настройке программного обеспечения Squid Analysis Report Generator.
Ключевые слова: Linux, Squid, прокси-сервер, Sarg, анализ трафика.
Kizdermishov Askhad Aslancherievich
Candidate of Physics and Mathematics, Associate Professor of the Department of Automated Systems of Processing Information and Control at Engineering-Physics Faculty, Adyghe State University, Maikop, ph. (8772) 593911, e-mail: [email protected]
Kizdermishova Suliet Khalidovna
Associate Professor, Candidate of Sociology, Associate Professor of Department of Ecology and Environmental Protection of Environmental Faculty, Maikop State University of Technology, Maikop, e-mail: [email protected]
Installation and configuring the Squid Analysis Report Generator
Abstract. The paper discusses issues related to accounting for Squid proxy traffic. Recommendations for IT administrators with a low level of training in installation of the Squid Analysis Report Generator software are given.
Keywords: Linux, Squid, proxy server, Sarg, traffic analysis.
В настоящей статье продолжим исследовать возможность обеспечить защиту процесса функционирования прокси-сервера от неправомерных действий со стороны злоумышленников без применения коммерческого программного обеспечения [1-3]. Результаты исследования актуальны для применения в условиях небольших офисов, в которых прокси-сервер может быть установлен на базе недорогой аппаратной платформы и бесплатной операционной системы Ubuntu (семейство Linux), и могут быть использованы системными администраторами с низким уровнем подготовки. Основной задачей является достижение максимально возможной эффективности защиты для Интернет-шлюза с учетом вышеуказанных условий эксплуатации.
В предыдущих работах рассмотрены вопросы, связанные с вводом в эксплуатацию специального режима Squid (ssl-bump), который при определенных настройках позволяет контролировать HTTPS-трафик, установить и настроить редиректор SquidGuard для случая настройки пакета Squid со специальным режимом ssl-bump, подготовить прокси-сервер для установки антивирусной защиты и анализаторы трафика [4, 5]. Следующей задачей после настройки фильтрации, как правило, является настройка учета трафика прокси-сервера. Учет трафика в первую очередь необходим для контроля над использованием ресурсов Интернет работниками офиса. Однако не стоит недооценивать информативность отчетов, которые могут быть получены в результате анализа трафика, проводимого в целях выявления потенциальных правонарушителей. Таким образом, учет трафика также является одной из составляющих системы защиты. Далее рассмотрим отдельные вопросы установки и настройки программ учета трафика Squid или, как их еще называют, анализаторов лог-файлов.
Сравнение свободных программ учета трафика Squid показало, что их можно условно
поделить на две группы по признаку среды установки: устанавливаемые на рабочее место администратора и устанавливаемые на сервер.
Первая группа не требует от системного администратора знаний в области Linux, как правило, это небольшие утилиты для ОС Windows, задача которых проанализировать содержимое копий лог-файлов прокси-сервера. Главным недостатком этих программ является то, что они не позволяют получать информацию так же оперативно, как программное обеспечение, устанавливаемое на сервере. Поэтому далее мы не будем рассматривать программное обеспечение из этой группы.
Вторая группа программ более трудоемкая в установке и настройке, но не требует от системного администратора дополнительных манипуляций в ходе эксплуатации, практически все этапы анализа лог-файлов возможно автоматизировать.
Тем не менее сложность настройки, чувствительность к версиям и релизам операционных систем, нерегулярное сопровождение со стороны разработчиков и другие частные недостатки привели к тому, что из нескольких десятков программных продуктов, на которые есть ссылки на официальном сайте Squid [6], широкое распространение получили не более пяти программ. Сравнение свободных программ учета трафика Squid второй группы показало, что наиболее стабильно работающей и обновляемой (сопровождаемой) разработчиком программой является Sarg (Squid Analysis Report Generator). Такой результат не является неожиданным, так как внешне очень простая программа обладает исключительно полезным и лаконичным функционалом, который позволяет анализировать записи в лог-файлах и создавать удобочитаемые HTML-отчеты, содержащие следующую информацию о пользователях: IP-адресах (имя), количество байт, сайты, время подключения и др.
Кроме того, Sarg распространяется бесплатно по GNU (General Public License), что соответствует поставленной цели - обеспечить защиту исключительно бесплатными программными продуктами. В связи с этим далее рассмотрим этапы установки и настройки Sarg и сопутствующих программных продуктов.
Довольно полные инструкции по установке и настройке Sarg на английском языке представлены на сайте проекта [7], также можно найти немало статей на русском языке, посвященных этой проблеме [8]. Тем не менее, установка Sarg вызывает проблемы у системных администраторов с низким уровнем подготовки. В основном указанные сложности связаны с настройкой взаимодействия Sarg с другими программными пакетами, например, вебсервером, применяемым для публикации отчетов, или планировщиком задач, применяемым для задания графика генерации отчетов.
Далее предлагаем расширенную пошаговую инструкцию по установке и настройке Sarg с дополнительными комментариями, поясняющими назначение параметров [7, 8]. Шаг 1. Установка Sarg Sarg устанавливается из репозитория: 1#apt-get install sarg Шаг 2. Настройка Sarg
Сделаем резервную копию конфигурации по умолчанию:
2#cp /etc/sarg/sarg.conf /etc/sarg/sarg.conf.backup
Создадим новый конфигурационный файл:
3#rm /etc/sarg/sarg.conf
4# nano /etc/sarg/sarg.conf
Внесем в sarg.conf следующую конфигурацию:
# Заголовок отчет
title "Squid-Анализ использования Интернета " Можно указать любой текст, например, название офиса.
# Кодировка отчета charset UTF-8
Очень важный параметр, от которого зависит русификация отчетов.
# Путь к лог-файлам Squid'а.
accesslog /opt/squid/var/logs/access.log
Здесь очень важно правильно указать путь, так как «ручная сборка» Squid может быть установлена в другой каталог.
# Путь к списку пользователей прокси-сервера usertab /usr/local/squidGuard/db/sarg.usr
На самом деле это не список пользователей прокси-сервера, а список IP-адресов пользователей, записанный в формате строки: «IP-адрес» «пробел» «Имя пользователя». Здесь «Имя пользователя» может быть любым, так как оно кроме как Sarg больше никаким программным обеспечением не используется. Это то имя, под которым пользователь будет отображаться в отчете по анализу трафика.
# Путь к директории для временных файлов temporarydir /tmp
# Путь к директории отчетов outputdir /var/www/sarg
Очень важный параметр, от которого сопряжение с веб-сервером.
# Путь к исключаемым из отчета хостов excludehosts /etc/sarg/exclude_hosts
IP адреса пользователей, информация о которых должна быть проигнорирована при формировании отчета, другими словами, список пользователей, трафик которых не анализируется.
# Путь к исключаемым HTTP-кодам excludecodes /etc/sarg/exclude_codes
Коды из файла логов Squid, которые должны быть проигнорированы при формировании отчета.
# Путь к подключаемому CSS-файлу externalcss_file /sarg/default.css
# Разрешить перезапись отчетов overwritereport yes
# Разрешить очистку временной папки remove_temp_files yes
# Формат даты в отчете: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww).
Рекомендуем установить "European". date_format e
# Запретить преображать IP адреса в DNS имена resolveip no
# Использование IP адреса вместо идентификаторов пользователей userip yes
(так как в нашем случае аутентификации настроена по IP, а не по идентификаторам пользователей [4, 5]).
# Параметры сортировки (A - по порядку, D - в обратном порядке) indexsortorder D
# Если нет USERID в access.log, тогда: ignore - игнорировать, IP - записать IP, everybody - вместо userid записать "everybody"
records_without_userid ip
Следует иметь в виду, что в отчете IP будет заменен на «Имя пользователя» из файла, указанного выше. Если в файле не будет искомого IP, то в отчете отобразится сам IP.
# Сортировка ТОП-пользователей (USER CONNECT BYTES TIME) topuser_sort_field CONNECT reverse
# Сортировка пользовательского отчета (USER CONNECT BYTES TIME) user_sort_field CONNECT reverse
# Кол-во сайтов в ТОП
topsites_num 50
# Параметры сортировки (CONNECT/BYTES)(A - по порядку, D - в обратном порядке) topsitessortorder CONNECT D
# ТОП пользователей topusernum 0
Правила для сортировки можно выбрать любые.
# Список формируемых отчетов
report type topusers topsites sitesusers userssites datetime denied auth_failures siteusertimedate useragent downloads
Рекомендуем установить типы отчетов:
topusers - пользователи, которые больше всего обращаются к Интернету; topsites - самые посещаемые сайты;
sites_users - список пользователей, посетивших сайт, для каждого сайта; users_sites - список посещенных сайтов для каждого пользователя; date_time - таблицы с ежедневным и почасовым загруженным количеством данных; denied - список сайтов, посещение которых по какой-то причине строго ограничено средствами Squid (не squidGuard), либо возникла проблема доступа к данным;
auth_failures - список сайтов, к которым отказано в доступе из-за неверных учетных данных пользователя;
site_user_time_date - таблица, в которой указаны дата и время посещения пользователем данного веб-сайта;
user_agent - показывает, какое программное обеспечение используется каждым пользователем для доступа в Интернет и общий трафик по каждому программному обеспечению; downloads - скачанные файлы для каждого пользователя.
В связи с тем, что мы намерены использовать отчеты Sarg для анализа действий пользователей, следует обратить отдельное внимание на тип отчета redirector - отчет о пользователях, пытающихся получить доступ к сайтам, заблокированным средствами редиректора. Особенность конфигурирования этого отчета состоит в том, что он не может быть указан в опции report_type. Значения по умолчанию нет. Необходимо добавить отдельную запись для редиректора в нашем случае SquidGuard:
squidguardconf /usr/local/squidGuard/squidGuard.conf
Sarg изучит местоположение файлов журналов SquidGuard и сформирует по ним отчет о пользователях, пытающихся получить доступ к заблокированным сайтам.
# Отображаем только название домена longjurl no
В этом случае будут отображаться полные ссылки на страницу.
# Не ограничивать количество отчетов lastlog 0
# Создаем индексную страницу при создании отчета index yes
Без индексной страницы серфинг между отчетами будет крайне неудобным.
# Тип генерируемого индекса indextree file
# Запятую вместо десятичной точки usecomma yes
# При формировании и сортировке ориентир на полученные байты date time by bytes
# Детальная статистика по завершении создания отчета showreadstatistics yes
# Параметры выводимой в отчете сравнительной активности пользователей topuserfields NUM DATE TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT
USED TIME MILISEC %TIME TOTAL AVERAGE
# Параметры выводимой в отчете индивидуальной активности
userreportjelds CONNECTBYTES %BYTES IN-CACHE-OUTUSEDTIME MILISEC %TIME TOTAL AVERAGE
# Расширения скачиваемых файлов downloadsuffix
"zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh, mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3 ,avi,mpg,mpeg"
Здесь можно добавить любые расширения.
Шаг 3. Настройка правил формирования отчета Sarg
Далее необходимо создать все указанные выше файлы:
5# touch /etc/sarg/exclude_codes && touch /etc/sarg/exclude_hosts && touch /etc/sarg/exclude_users && touch /etc/sarg/sarg.usr
Разумеется, в созданные файлы необходимо внести записи, соответствующие их назначению.
Шаг 4. Настройка страницы Sarg в Apache
Создадим каталоги и настроим необходимые права для веб-сервера:
6# mkdir /var/www/sarg &&mkdir /var/www/sarg/log
7# chown -R www-data: www-data /var/www/sarg/
Теперь следует настроить конфигурацию страницы:
8# nano /etc/apache2/sites-available/sarg.conf
Рекомендуем использовать следующие параметры:
<virtualhost *:80>
ServerAdmin [email protected]
ServerName sarg
DirectoryIndex index.html
DocumentRoot /var/www/sarg
LogLevel warn
ErrorLog /var/www/sarg/log/error.log CustomLog/var/www/sarg/log/access.log combined </virtualhost>
Далее создадим страницу sarg 9#a2ensite sarg.conf
Для применения измений необходимо перезапустить Apache 10#service apache2 reload
Шаг 5. Настройка генератора отчетов sarg-reports Создадим конфигурацию генератора отчетов:
# nano /etc/sarg/sarg-reports.conf Рекомендуем использовать следующие параметры: SARG=/usr/bin/sarg
# Путь к конфигурационному файлу Sarg CONFIG=/etc/sarg/sarg.conf
# Путь для выгрузки сформированных отчетов HTMLOUT=/var/www/sarg
Путь должен указывать на каталоги, созданные на Шаге 4.
# Название страницы отчета PAGETITLE="Access Reports $hostname" Имя можно задать любое.
# путь к изображению логотипа Sarg LOGOIMG=/sarg/images/sarg.png Логотип можно задать любой.
# Ссылка перехода, если нажать на логотип LOGOLINK=http://«IP»/sarg
Обязательно должен быть указан IP адрес прокси-сервера.
# Ежедневный отчет DAILY=Daily
# Еженедельный отчет WEEKLY= Weekly
# Ежемесячный отчет MONTHLY=Monthly
# Текст ошибок в случае аварийного завершения формирования отчета EXCLUDELOG1="SARG: Не найдено отчетов" EXCLUDELOG2="SARG: End"
Для русификации отчетов необходимо внести изменения в бинарный файл sarg-reports: 11# nano /usr/sbin/sarg-reports
В открывшемся окне необходимо найти и закомментировать строку:
# export LC_ALL=C
Для того чтобы избежать ошибок в Äpache, необходимо скопировать файлы стилей, например:
12# cp /usr/share/doc/python-simplejson/_static/basic.css/var/www/sarg/ 13# cp /usr/share/doc/python-simplejson/_static/default.css /var/www/sarg/ Шаг 6. Настройка планировщика задач (используется cron) В генераторе sarg-reports формирование отчетов осуществляется по командам: sudo sarg-reports today - отчет за сегодняшний день, на текущий момент; sudo sarg-reports daily - отчет за прошедший день; sudo sarg-reports weekly - отчет за прошедшую неделю; sudo sarg-reports monthly - отчет за прошедший месяц.
Именно эти команды следует использовать для заполнения таблицы планировщика задач cron:
14# crontab —u proxy -e
В открывшемся окне рекомендуем внести следующие параметры: 0 5 * * * sarg-reports daily 10 5 * * 1 sarg-reports weekly
30 21 * * * root if ( xdate -v +1d "+%d= 01) sarg-reports monthly
Следует иметь в виду, что для формирования месячного отчета в последний день каждого месяца должна быть настроена соответствующая ротация логов Squid.
В заключение можно сказать, что при соответствующей настройке специального режима Squid (ssl-bump), позволяющего осуществлять детальное логирование средствами Squid и фильтрацию трафика средствами SquidGuard, в том числе HTTPS трафика, Sarg может стать весьма эффективным инструментов для учета трафика и анализа действий пользователей.
Примечания:
1. Киздермишов А. А. Защита персональных данных при их обработке посредством информационно-телекоммуникационной сети «Интернет» // Вестник Адыгейского государственного университета. Сер. Естественно-математические и технические науки. 2015. Вып. 4 (171). С. 139-143. URL: http://vestnik.adygnet.ru
2. Киздермишов А.А. Вирус-вымогатель WANNACRY и те, кого он не атаковал // Информационные системы и технологии в моделировании и управлении: материалы всерос. науч.-практ. конф. / отв. ред. Н.Н. Олейников. Симферополь, 2017. С. 241-245.
3. Киздермишов А.А. Снижение риска возникновения предпосылок угроз информационной безопасности, связанных с ошибочными действиями и неверно принятыми решениями специалистов, ответ-
References:
1. Kizdermishov A.A. Protection of personal information at its processing by means of the Internet telecommunication network // Bulletin of the Adyghe State University. Ser. Natural-Mathematical and Technical Sciences. 2015. Iss. 4 (171). P. 139-143. URL: http://vestnik.adygnet.ru
2. Kizdermishov A.A. The virus-extortionist WANNACRY and those whom he did not attack // Information systems and technologies in modelling and management: Materials of the Russian scientific-practical conference / executive ed. by N.N. Oleynikov. Semfer-opol, 2017. P. 241-245.
3. Kizdermishov A.A. Reducing the risk of the emergence of prerequisites for information security threats related to erroneous actions and incorrectly accepted decisions of specialists responsible for protecting in-
ственных за защиту информации // Вестник Майкопского государственного технологического университета. 2009. № 3. С. 111-115.
4. Киздермишов А.А., Киздермишова С.Х. Установка и настройка специального режима Squid (ssl-bump) на Ubuntu 12.04 TLS // Вестник Адыгейского государственного университета. Сер. Естественно-математические и технические науки. 2017. Вып. 4 (211). С. 154-159. URL: http://vestnik.adygnet.ru
5. Киздермишов А.А., Киздермишова С.Х. Установка и настройка редиректора для Squid (ssl-bump) // Вестник Адыгейского государственного университета. Сер. Естественно-математические и технические науки. 2018. Вып. 1 (216). С. 154-159. URL: http://vestnik.adygnet.ru
6. Официальный сайт разработчика Squid. URL: http://www.squid-cache.org
7. Официальный сайт проекта Sarg. URL: https://sourceforge .net/proj ects/sarg/
8. IT-блог Жаконды. Анализируем трафик Squid с помощью Sarg. URL: http://jakondo.ru/analiziruem-trafik-squid-s-pomoshhyu-sarg/
formation // The Bulletin of Maikop State University of Technology. 2009. No. 3. P. 111-115.
4. Kizdermishov AA, Kizdermishova S.Kh. Installing and configuring a special Squid mode (ssl-bump) on Ubuntu 12.04 TLS // Bulletin of the Adyghe State University. Ser. Natural-Mathematical and Technical Sciences. 2017. Iss. 4. P. 154-159. URL: http://vestnik.adygnet. ru
5. Kizdermishov AA, Kizdermishova S.Kh. Installation and configuration of the redirector for Squid (ssl-bump) // Bulletin of the Adyghe State University. Ser. Natural-Mathematical and Technical Sciences. 2018. Iss. 1(216). P. 154-159. URL: http://vestnik.adygnet.ru
6. Official website of the Squid developer. URL: http://www.squid-cache.org
7. Official website of the Sarg project. URL: https://sourceforge .net/proj ects/sarg/
8. IT-blog of Jaconda. Let's analyze Squid traffic by means of Sarg. URL: http://jakondo.ru/analiziruem-trafik-squid-s-pomoshhyu-sarg/