MRTG + SNORT
«Лучше один раз увидеть, чем сто раз услышать» гласит пословица. Многие вещи мы лучше
понимаем, представляем и запоминаем, если видели их собственными глазами. При этом не
всякое нами увиденное воспринимается одинаково хорошо. Очень сильно на процесс восприятия
влияет наглядность. В этой статье будет рассмотрен именно такой вариант отображения данных
об интенсивности атак, регистрируемых с помощью Snort. В качестве средства отображения
используется MRTG.
ПАВЕЛ ЗАКЛЯКОВ
22
безопасность
Предполагается, что имеется СОА Snort, данные с одного от имени пользователя snort. Выполним подключение ко-
или нескольких сенсоров которой заносятся в БД инци- мандой:
дентов. Необходимо организовать визуальное отображе-
ние среднего уровня атак в зависимости от времени. Для # mysql -u snort -p
отображения удобнее всего использовать штатное сред-
ство большинства Linux-систем – MRTG (The Multi Router введя после соответствующий пароль, если он был задан.
Traffic Grapher) [1, 2 стр. 52-53, 3 стр. 316, 4 стр. 208-216]. Далее выберем БД snort командой:
Предполагается, что MRTG у вас уже установлен. Рассмот-
рим его настройку. Конфигурационный файл MRTG обыч- mysql> USE snort;
но называется mrtg.cfg и находится в директории /etc/mrtg.
Нам необходимо отредактировать или создать заново этот и выполним вышеописанный SQL-запрос. В результате на
файл, добавив туда следующие строки: экране у вас может быть примерно следующее:
mrtg.cfg
24
безопасность
щен веб-сервер, просмотрите любым графическим брау- Второе замечание касается подсчёта числа атак в еди-
зером файл http://yourserver/mrtg/snort/snort.html, либо файл ницу времени при построении графика. В случае если по
/var/www/html/mrtg/snort/snort.html локально в противном каким-то причинам придётся запускать mrtg в разные интер-
случае. В результате вы увидите картинку, подобную ни- валы времени, то, возможно, вам пригодится следующая
жеследующей: информация. Сейчас, когда запускается mrtg то, так как в
Options указано слово absolute, осуществляется деление
переданного значения от скрипта на время, равное разнице
между текущим запуском mrtg и предыдущим. Это время
приблизительно равно 300 секундам и там, и там, поэтому
получается примерно точно. Однако если по каким-то при-
чинам с момента последнего запуска mrtg прошло другое
количество времени, то как легко предположить, среднее чис-
ло атак будет подсчитано неправильно. Несколько исправить
ситуацию может использование опции gauge вместо absolute,
но не всегда. Если указана опция gauge, то значение не де-
лится на интервал времени, а принимается равным тому, что
передали. Соответственно, для правильного подсчёта и ото-
бражения в скрипте snort_stat.pl необходимо будет делить
выводимое значение на 5. Этот способ подсчёта также яв-
ляется грубым, но может помочь вам несколько уменьшить
ошибку, поменяв правила её подсчёта.
Литература, ссылки:
1. MRTG: The Multi Router Traffic Grapher http://
people.ee.ethz.ch/~oetiker/webtools/mrtg/
2. Закляков П. Разводной мост на Linux. – //Журнал «Си-
После того как, казалось бы, всё рассказано и показа- стемный администратор» №4(5), апрель 2003 г.
но, хочется сделать пару замечаний. 3. Манн С., Крелл М. Linux. Администрирование сетей
Первое касается точности построения графиков. Как TCP/IP. Пер. с англ. – М.: ООО «Бином-Пресс», 2003 г.
легко заметить, для запуска используется демон crond, ко- 4. Колисниченко Д.Н. Linux-сервер своими руками. – СПб:
торый запускается после указанного времени, когда не толь- Наука и Техника, 2002 г.
ко загрузка системы позволит это сделать, но и будет ниже 5. Закляков П. Удобнее, эффективнее, лучше: snort +
определённой. В результате следует понимать, что запуск MySQL – //Журнал «Системный администратор» №11(12),
происходит не точно каждые 5 минут. Если будет запозда- ноябрь 2003 г.
ние, то скрипт, подсчитывающий атаки, запустится позже, 6. Холзнер С. Perl: Специальный справочник – СПб: Пи-
в результате его пятиминутный интервал не перекроется с тер, 2000 г.
предыдущим и будет дырка, то есть часть атак не будет 7. Дюбуа П. Применение MySQL и Perl в Web-приложе-
подсчитано. Если же после «запоздавшего» задания сле- ниях.: Пер. с англ. – М.:Издательский дом «Вильямс»,
дующее будет вовремя, то произойдёт перекрытие и неко- 2002 г.
торые атаки будут подсчитаны дважды. Для систем с гру- 8. Как получить доступ к базе данных из cgi-скриптов?
бой оценкой это не важно, так как отклонения эти не боль- (Техническая поддержка Zenon N.S.P.: Виртуальные
шие и примерно компенсируются и не накапливаются в силу unix-серверы : Вопросы по MySQL) http://www.host.ru/
случайно флуктуирующего числа атак в единицу времени. documentation/v-www/0025.html#11
Для более точных оценок данный метод следует корректи- 9. Тейнсли Д. Linux и UNIX: программирование в shell. Ру-
ровать. Именно по причине грубости данного метода я не ководство разработчика: Пер. с англ. – К.: Издательс-
вижу смысла запускать mrtg чаще чем раз в 5 минут. кая группа BHV, 2001 г.