№ 1 2006
Н. В. Гришина
Интернет-трафик: защита сетевых ресурсов организации
Если первоначально термин «статистика» употреблялся в значении «политическое состояние», то в настоящее время он отражает деятельность человека практически во всех областях. Специалисты отмечают, что благодаря результатам обработки статистической информации можно существенно повысить эффективность деятельности анализируемой системы, а порой предотвратить многие проблемы.
Постобработку статистики обращений к Интернету применяют многие корпорации, в основном для анализа и контроля использования ресурсов.
Задача эта важна с точки зрения как безопасности доступа к открытым сетям, так и более эффективной деятельности организации.
Средства постобработки статистической информации обычно нацелены на выполнение следующих задач:
1) защита внутренней сети от проникновения вредоносных программ за счет ограничения, запрета или организации специализированного доступа пользователей к потенциально опасным ресурсам сети;
2) обнаружение во внутренней сети вирусов и «троянских» программ, которые самостоятельно обращаются к внешним ресурсам;
3) фиксация использования ресурсов сети, не относящихся к работе, с целью блокирования доступа к ним, экономии рабочего времени и снижения трафика;
4) обеспечение возможности снижения внешнего трафика за счет выявления ресурсов и информации, к которым пользователи обращаются наиболее часто;
5) определение наиболее востребованных и часто используемых в работе категорий ресурсов и сайтов;
6) определение подразделений, наиболее активно работающих с ресурсами сети.
Анализ использования ресурсов сети Интернет осуществляется обычно путем обработки и исследования лог-файлов. Для этих целей создан достаточно широкий спектр программных продуктов — как бесплатных, так и коммерческих, как небольших скриптов, так и крупных программных комплексов, способных поддерживать и обрабатывать лог-файлы сразу с нескольких серверов. Одни программные продукты могут обрабатывать различные форматы лог-файлов, другие предназначены для конкретных прокси-серверов. С помощью одних можно получить очень специфическую информацию (например, среднее время обработки запросов различных типов), благодаря другим — детализированные общие отчеты. Отчеты, как правило, можно получить в текстовом или html-формате. Например, быстро получить детальные отчеты в формате html позволяет Webalizer — программа для анализа лог-файлов с открытым исходным кодом, написанная на языке С. Она поддерживает несколько форматов лог-файлов, выдает общую информацию по месяцам: число запросов, полученных файлов, страниц, переданных Кбайт, что позволяет оценить общую загрузку прокси-сервера и уровень активности пользователей. Детальный отчет содержит более подробную информацию: число уникальных пользователей и броузеров, максимальное и среднее за день количество запросов, файлов, страниц и переданных Кбайт, распределе-
№ 1 2006
ние запросов по коду ответа. Отчет по часам позволяет оценить среднюю и максимальную нагрузку на сервер. Программа также выдает информацию о посещаемых сайтах и страницах по числу запросов и переданных Кбайт, о распределении запросов по странам, данные о броузерах.
Еще один продукт с открытым исходным кодом — Logrep, написанный на языке Perl и состоящий из клиентской и серверной части. На серверной части хранятся сжатые копии лог-файлов и отчеты в формате html. Программа легко настраивается и поддерживает множество форматов лог-файлов.
Для анализа лог-файлов можно использовать также pwebstats. Статистические отчеты он выдает в формате html-страниц и графиков по дням, неделям и месяцам.
Созданы программы, служащие для работы с определенными серверами (например, Squeezer — для работы с прокси-сервером Squid). Он написан на языке Perl и распространяется бесплатно, выдает информацию, отсортированную по различным категориям: время, mime type, код ответа и т. д. Есть и другие программы для работы со Squid: например, Squidalizer, Squid-Log-Analyser.
Среди коммерческих продуктов по своей функциональности и универсальности выделяется WebTrends Analysis Suite. Для анализа содержимое лог-файла может быть отсортировано по сайтам, файлам, пользователям, отделам, времени обращения для ограничения объема данных, подлежащих анализу. Для создания отчетов имеется несколько шаблонов, выдаваться отчеты могут в 4 форматах. В отчетах отражаются все аспекты активности на сайтах (сколько людей посетило сайт, какие страницы их интересуют). Анализ показывает, куда «ходят» в сети Интернет пользователи и сколько времени они там проводят. В первую очередь выдается общая статистическая информация: число запросов, полученных файлов, страниц, переданных Кбайт. Также выдаются отчеты о наиболее популярных сайтах и пользователях,
их посещающих, информация об активных пользователях, о типах файлов и наиболее часто скачиваемых файлах, отчет по странам, по поисковым запросам и машинам, о суммарной активности по дням, отчет об ошибках клиентов.
Однако, несмотря на такое разнообразие программ, они решают отнюдь не все задачи, которые может решать постобработка. В работе любой организации важным является определение пользователей, нарушающих установленные правила работы с Интернетом (правила доступа): использующих ресурсы не по работе, посещающих сайты с небезопасным содержимым, нарушающих общий порядок работы и т. д.
Рассмотрим типовую схему доступа сотрудников предприятия к ресурсам Интернета.
1. Для доступа используется прокси-сервер — программа, управляющая связью защищенной сети с остальной частью Интернета. В Интернете технология прокси-серверов используется не только для защиты сетей, но и для увеличения скорости доступа отдельных пользователей. Если пользователь не хочет выходить в сеть под своим уникальным то он «поручает» прокси-серверу соединить его с предоставленным адресом, после чего прокси-сервер под своим ^ скачивает требуемую информацию и предоставляет ее пользователю. Таким образом, уникальный ^-адрес пользователя никуда не распространяется, а в записях запрашиваемого сервера остается только ^-адрес прокси-сервера.
2. Прокси-сервер собирает статистику доступа пользователей в лог-файл. Обычно в лог-файле содержится подробная информация о каждом запросе пользователя к сети Интернет: входящий и исходящий трафик, версия броузера и ОС, ^ порт, время в момент запроса, тип запрашиваемого файла, тип операции, время выполнения запроса, используемый протокол, запрашиваемый сервер и URL, код результата и т. д.
Н. В. Гришина
Интернет-трафик: защита сетевых ресурсов организации
№ 1 2006
3. Лог-файл прокси-сервера транслируется в БД SQL-сервера.
4. Периодически данные с SQL-сервера подвергаются обработке и анализу.
5. В результате анализа формируются отчеты с таблицами и диаграммами, которые могут быть просмотрены с помощью вебброузера с компьютера администратора.
Всех пользователей можно разделить на 2 группы:
• использующие ресурсы в соответствии с правилами организации;
• не соблюдающие эти правила.
Следовательно, для повышения эффективности работы пользователей с ресурсами сети Интернет одной из важнейших является задача определения сотрудников, нарушающих требования работы с этими ресурсами. Пользователей-нарушителей можно разделить на 3 категории:
• использующие ресурсы не по рабочему предназначению (скачивание музыки и видео, просмотр порносайтов и т. д.);
• использующие небезопасное подключение (посещающие сайты с небезопасным содержимым, например, хакерские);
• нарушающие общий порядок работы (например, подключение сети компьютеров вместо одного, использование нестандартного (не принятого) ПО — программы массовой закачки, старые версии ОС и броузеров и т. д.
В этом случае схема доступа пользователей к ресурсам Интернет имеет вид, представленный на рис. 1.
Запрос любого пользователя к сети Интернет анализируется системой доступа в соответствии с правилами доступа и либо пропускается (если не нарушает правила доступа), либо нет. Система доступа формирует лог-файл с информацией обо всех действиях пользователей по доступу к Интернету, который хранится на SQL-сервере. Обычно лог-файл представлен в виде SQL-таблицы, в которой содержится вся информация о запросе каждого пользователя
Интернет
( Польз. 1 ) Система •4 Ґ Правила \
доступа у доступа у
1_од-файл на БО!.-сервере
Администратор
Рис. 1. Схема доступа пользователей к ресурсам Интернет
№ 1 2006
к сети Интернет. Она включает входящий и исходящий трафики, версию броузера и ОС, 1Р, порт, время в момент запроса, тип запрашиваемого файла, тип операции, время выполнения запроса, используемый протокол, запрашиваемый сервер и и^, код результата и т. д. При каждом новом запросе пользователя в таблицу вносится соответствующая запись.
Каким же образом выявить пользователей, нарушающих правила доступа? Задача поиска подсоединения сети компьютеров с одного 1Р может быть решена несколькими способами.
1. Пусть п — случайная величина, характеризующая количество запросов от компьютеров сети, Мп—ее матожидание. Тогда, если с одного 1Р подключено к сети к компьютеров, то матожидание числа запросов с этого 1Р составляет ккМ . Таким образом, это матожидание по крайней мере в 2 раза будет превосходить значение матожида-ния числа запросов от остальных 1Р (учитывая, что с них выходит в сеть только 1 компьютер, к>2). Путем пробных запросов к конкретной базе данных было получено, что за каждый конкретный день примерно 10 1Р отправляют количество запросов, более чем вдвое превышающее среднее. На этом и может быть построена программа, реализующая этот путь. Вначале она ищет в БД все различные значения 1Р, а потом для каждого 1Р п подсчитывает число дней в месяце, в течение которых этот 1Р был в верхней десятке по числу произведенных запросов. Для исключения фактора случайности лучше всего задавать интервал работы, равный месяцу. В этом случае можно будет избежать влияния случайных факторов.
2. Как правило, пользователь работает в конкретной ОС, а в Интернете — с одним конкретным броузером. Но если с одного 1Р выходят в сеть сразу несколько компьютеров, то вполне возможно, что на них будут установлены различные версии ОС и / или броузеров. Реализуя эту идею, можно найти в БД значения !Р, с которых были
обращения к Интернету из различных ОС и / или броузеров. Для каждого !Р подсчитывается число дней из интервала, заданного пользователем программы, в которые были такие обращения, и выдается Мт!-страни-ца с таблицей, где для каждого !Р строится диаграмма на основе этой таблицы.
3. Многие пользователи при работе с Интернетом пользуются услугами электронной почты, при этом для удобства обычно заводят только один почтовый ящик. Поскольку почтовых служб много, если с одного !Р выходят в сеть несколько компьютеров, может оказаться, что с него в течение дня будут обращения на различные почтовые серверы. Путем анализа БД можно выделить наиболее популярные почтовые серверы. Программа для каждого !Р в каждый день может определить, на какие из этих серверов были заходы и сколько за этот день. Эта информация выдается в виде таблицы.
4. При работе сразу нескольких компьютеров с одного !Р может возникать такой эффект, как одновременные запросы с этого !Р к разным серверам (сделанные в течение 1 с), которые маловероятны при работе одного компьютера. Для отработки этой версии может быть написана программа, которая по итогам дня находит все такие одновременные обращения. При этом она игнорирует некоторые специальные типы файлов, которые могут автоматически загружаться с других серверов при обращении к web-страничке (баннеры, счетчики, таблицы стилей и т. д.).
Для решения задачи поиска нестандартного (не принятого) ПО (в качестве которого в данной работе были рассмотрены программы массовой закачки и устаревшие версии ОС / броузеров) можно предложить следующие алгоритмы.
1. Рассмотрим такой пример: про-
грамма массовой закачки пытается зайти на определенный сайт и скачать оттуда информацию, которая была удалена. В ответ ей будет выдан один из кодов ошибок,
Н. В. Гришина
Интернет-трафик: защита сетевых ресурсов организации
№ 1 2006
она снова попытается скачать, снова получит ошибку и т. д. Чтобы выявить такие ситуации, можно использовать программу, фиксирующую ошибочные запросы к одному и тому же URL. При этом она игнорирует некоторые случаи, когда ошибки могут возникнуть естественным путем (например, попытку загрузки несуществующего рисунка, которая может происходить при каждом обращении к странице сайта (файлы gif, jpg, баннеры), таблицы стилей (файлы css), скрипты (файлы php, js)). Программа выдаст таблицу, в которой указаны IP этих ошибочных запросов, запрашиваемый URL, код ошибки, а также показатель периодичности времени запросов (который подобран таким образом, что если он равен 100 — значит, запросы были периодичными или почти периодичными; чем больше отклонение от 100 — тем меньше степень периодичности), заданный как степень достоверности полученного результата (если какая-то ошибка возникала случайно, без участия программ массовой закачки, то ее время запросов с большой степенью вероятности будет малопериодичным).
2. Другой путь поиска программ массовой закачки — это поиск часто повторяющихся запросов, закончившихся успешно. Например, если такая программа каждые 10 мин. заходит на определенный сайт и скачивает оттуда все свежие поступления.
3. Наконец, третий вариант поиска следов работы программ массовой закачки — строго периодические запросы с очень большим заранее заданным периодом. Например, если каждый день в одну и ту же секунду с одного IP следует обращение к URL — это вряд ли может быть вызвано случайными факторами. Программе задается период в секундах, и она выдает таблицу со всеми запросами, которые произошли с одного IP к одному URL именно с этим периодом. Период выбирается пользователем исходя из конкретной ситуации, он необязательно равен 1 дню. Чтобы избежать влияния случайных факторов, не-
желательно задавать слишком маленькие значения периода.
4. Для поиска старых версий ОС (броузеров) можно использовать тот же подход, что и для поиска обращений с различных ОС, но с небольшими изменениями — на выходе выдается таблица, где указаны IP, с которых были обращения со старых версий ОС, и количество таких обращений.
Наконец, для поиска небезопасных подключений или неправомерного использования ресурсов можно использовать такой алгоритм. Программа считывает URL, относящиеся к первой группе (например, хакерские сайты) или ко второй (например, музыкальные), из специальной БД. В эту базу занесена информация о соответствующих сайтах, которая пополняется администратором системы. Далее программа ищет обращения к этим сайтам и выбирает IP, с которых выполнялись обращения, а также количество таких обращений.
В рамках одной статьи невозможно рассмотреть все аспекты проблематики постобработки, да такая задача и не ставилась. Основной вывод: постобработка статистической информации является универсальным виртуальным инструментом, с помощью которого могут решаться две важные для любой системы функциональные задачи — повышение эффективности функционирования корпоративной сети и защита информационных ресурсов организации от скрытых, неявных, несанкционированных действий пользователей.
Литература
1. Муссиано Ч., Кеннеди Б. HTML и XHTML. Подробное руководство. СПб.: Символ-плюс, 2002.
2. Кнут Д. Искусство программирования. Том 1. СПб.: Вильямс, 2000.
3. Олифер В. Г, Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы. СПб.: Питер, 2004.
4. Пасько В. П. Эффективная работа в Интернет. СПб.: Питер, 2004.