Подсчет трафика в InJoy Firewall 3.027 декабря 2005 22:36, 6 комментариев

InJoy Firewall, Разработки

В одном из лучших межсетевых экранов InJoy Firewall имеется приятная недокументированная возможность - подсчет проходящего через интерфейс трафика с сохранением результатов в ASCII-файле. Упоминания об этом есть только в двух местах: в прилагаемых примерах Sample Rules и в параметрах правил, причем так, что трудно сразу понять о чем речь. Я сам узнал об этом только из переписки с разработчиками файрвола.

Для начала стоит объяснить особенности низкоуровневой установки и настройки InJoy Firewall. Основное отличие установки InJoy Firewall от других файрволов, с которыми мне приходилось иметь дело, в том, что он состоит из двух частей - драйвера, привязывающегося к интерфейсу, и сервера, общающегося с драйвером. Причем, во время установки файрвола (или после, с командной строки) можно указать, пропускать трафик в случае незапуска сервера или нет. Поскольку InJoy Firewall жестко привязывается к одному из интерфейсов, он может видеть только трафик, проходящий непосредственно через данный интерфейс.

Проходящий через интерфейс трафик можно видеть тремя способами: в мониторах Info Monitor, в котором отображается общая статистика интерфейса, NAT Client Statistics, где показывается статистика для каждого компьютера, работающего через NAT (эти мониторы изображены на скриншоте) и в файле статистики, речь о котором пойдет далее.

Оба монитора, показывающие текущую статистику, теряют данные во время перезапуска сервера файрвола или во время перезагрузки компьютера. Такой метод не годится, если мы хотим видеть статистику в перспективе или сохранять и обрабатывать ее после сохранения.

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

Включение функции сохранения результатов статистики в файл производится созданием правила. Надо отметить, что InJoy Firewall имеет шесть очередей правил c разным приоритетом, которые сами по себе являются темой отдельной статьи. Для сохранения результатов статистики в файл можно использовать, например, очередь User Rules. Самый простой способ - это скопировать любое правило, начинающееся с Account из очереди Sample Rules, воспользовавшись штатной функцией копирования правил.

Для непосредственного включения функции сохранения статистики в параметре Account ветки Rule Processing текущего правила необходимо указать относительный путь файла без расширения, исходя из корневой директории файрвола (Accounting File), и тип обсчета статистики (Accounting Type). Без расширения имя файла нужно указывать потому, что расширение файла задается файрволом автоматически, руководствуясь следующей последовательностью. Каждый месяц файрвол создает новый файл с расширением, соответствующим трехбуквенному сокращению текущего месяца, основываясь на языке системы. Например, в Авроре декабрьская статистика будет сохранена в файле с расширением Dec. Тип обсчета статистики в нашем случае необходимо поставить либо Destination IP, либо Source IP в зависимости от того, что мы хотим обсчитывать. Также необходимо учесть, что в один и тот же файл могут одновременно сохранять статистику несколько правил, что дает дополнительную гибкость в настройке. Например, можно указать два разных правила, в одном из которых параметр Accounting Type будет иметь значение Destination IP, в другом - Source IP. При таких настройках в одном файле будет сохранена информация как входящего трафика для каждого компьютера, проходящего через NAT, так и исходящего. При этом необходимо выставить соответствующие IP-адреса в полях Source и Destination в параметре TCP/IP ветки Packet Matching правила.

При включенном сохранении результатов статистики InJoy Firewall ведет себя следующим образом. Сервер накапливает информацию о проходящем через интерфейс трафике в течение заданного промежутка времени, после истечения которого сохраняет результаты в файл, и цикл повторяется. Промежуток времени, на котором основывается файрвол при сохранении накопленных результатов, задается в секундах параметром Account-Interval в файле firewall/firewall.cnf, исходя из корневой директории файрвола.

По словам разработчиков, при незапланированном отключении питания компьютера информация в файле не теряется, исключая случай когда отключение питания произошло непосредственно в момент записи в файл. Таким образом, оптимальное значение параметра Account-Interval будет таким, при котором временной интервал не будет слишком большим, чтобы уменьшить вероятность потери большой порции данных в случае отключения питания и не слишком маленьким, чтобы уменьшить вероятность совпадения моментов отключения питания и записи в файл статистики.

Файл статистики за два часа одних суток выглядит примерно вот так (весь файл слишком большой, чтобы приводить его здесь):

[Firewall accounting log - Period: Dec, 2003]
[Last revised 03.01.2004 - 03:19:47]

[DATE: 01.12.2003]

               | Time of day
               +------------------+------------------+
HOST           | 00:00            | 01:00            |
---------------+------------------+------------------+
IP-ADDRESS     | inbytes/outbytes | inbytes/outbytes |
---------------+------------------+------------------+
192.162.1.2    | 0/0              | 0/0              |
192.162.1.32   | 0/0              | 0/0              |
other          | 0/0              | 0/0              |
---------------+------------------+------------------+
total          | 0/0              | 0/0              |

В следующих публикациях я расскажу о структуре файла статистики и об импорте данных в базу данных.

Продолжение следует

Добавьте свой комментарий

К этой статье в настоящий момент 6 комментариев. Если вам есть, что добавить, вы можете оставить здесь и свой комментарий. Поля имя и почтовый адрес обязательны для заполнения. Адрес на сайте не публикуется.

Цитаты оформляются так: /* Цитируемый текст */.