Полнофункциональная система реагирования на нарушения сетевой безопасности

 на базе IDS Snort.

 

А.Аникеев

ids-tech@narod.ru

 

На сегодняшний день теме систем обнаружения вторжений (Intrusion detection systems, IDS) посвящено немало статей и книг, как лежащих на полках магазинов, так и опубликованных в Интернете. Было немало сказано о принципах работы этих систем, об их преимуществах и недостатках, приведено множество их сравнений. Но когда начинающий специалист берется за настройку такой системы, он сталкивается со следующей проблемой: он находит либо подробное объяснение того, как создавать и изменять готовые сигнатуры, либо находит краткое объяснение того, как нужно устанавливать пакет в совокупности с теми или иными программными продуктами без объяснения технологии их функционирования. Причем изложение материала в большинстве случаев ведется на языке, не понятном для новичка.

 

В данной статье автор ставит перед собой цель ознакомить читателя с самой технологией построения комплексных IDS на примере конкретных программных продуктов. Уже после ознакомления с ней можно будет непосредственно браться за установку комплекса программ.

 

Итак, за основу построения нашей системы реагирования на нарушения сетевой безопасности берем самую распространенную на сегодняшний день IDS Snort. Она, являясь сенсором, первая обнаруживает атаку и первая реагирует на нее согласно заранее заданному алгоритму. Чаще всего она подает сигнал о проводимой атаке какому-либо внешнему средству, которое предпринимает меры по ее ликвидации. Предупреждение может быть отправлено системному администратору по электронной почте, в виде короткого сообщения на мобильный телефон или выдано на монитор, следя за которым, специалист вручную блокирует действия нарушителя. Это также может быть и программа, выполняющая действия по блокировке нарушений автоматически, если администратор не имеет в данный момент возможности предпринять какие-либо действия. Здесь нужно заметить, что очень часто невозможно успеть уследить вручную за всеми проводимыми атаками. А также не всегда специалист обладает достаточным количеством знаний для того, чтобы отличить действительно опасную атаку от ложной тревоги, которых в его повседневной деятельности случается огромное количество. Например, установив IDS на компьютер, непосредственно граничащий с Интернетом, в БД или файле регистрации атак уже в течение первой минуты скапливается приличное количество записей о проведенных нарушениях. IDS лишь выдает в той или иной форме сообщение, что пришедший пакет или группа пакетов совпали с одной из известных ей сигнатур. Реакция же может последовать моментально, а может и нет. Кому как нравится. У нас в качестве такой системы реагирования выступит Snortsam. Он обладает значительными преимуществами перед большинством других широко используемых программных продуктов.

 

Так как необходимо постоянное обновление сигнатур, вручную делать это неудобно. К тому же не всегда стандартные правила являются актуальными для конкретной заданной системы. Для того чтобы не заниматься этой рутинной работой вручную, мы рассмотрим скрипт, обновляющий сигнатуры автоматически. И, наконец, будет рассмотрена Acid – поисковая машина, работающая с базой данных Snort’а.

 

Итак, Snort-это бесплатная система обнаружения вторжений распространяемая согласно лицензии GNU, разработанная Мартином Рошем (Martin Roesh). Первоначально Мартин создал Snort для перехвата трафика при повседневной работе, а затем она была улучшена до многофункциональной сетевой системы обнаружения вторжений. Мартину удалось завоевать симпатии многих программистов, коллективные усилия которых позволили усовершенствовать программный код программы и выпустить ее новые версии. На сегодняшний день IDS Snort является самой распространенной среди специалистов компьютерной безопасности всего мира. Она может работать на разных платформах с разными операционными системами, такими как: Linux, *BSD, Solaris, SunOS, MacOS, Microsoft Windows и др.

 

Принцип работы этой IDS основан на сравнении с сигнатурами (они же правила). Пришедшие пакеты сравниваются с эталоном и на основании этих сравнений предпринимаются определенные, заданные заранее системным аналитиком или же самим системным администратором, меры. Чаще всего если удалось идентифицировать атаку, то в БД или в определенный файл записывается название атаки. Также есть возможность задавать динамические правила, которые выполняются при наступлении какого-либо события. Шаблон, по которому создается БД, с которой в дальнейшем будет работать Snort, поставляется вместе с программой и создание такой БД не отнимает много времени. Файл или БД, куда ведется запись, может находиться как на локальном хосте, так и на удаленном, что очень надежно при построении больших систем. Физически IDS может располагаться перед фаерволлом, в демилитаризованной зоне, на маршрутизаторе, может быть подключена к зеркальному порту коммутатора или находиться в комбинации этих вариантов, - в зависимости от сложности решения (см. рис. 1). Также может быть установлено несколько таких сенсоров в разных частях сети.

      

Рисунок 1. Пример расположения элементов сетевой безопасности.

 

Как было сказано ранее, Snort лишь сообщает о нарушениях. Меры по их ликвидации у нас предпринимает Snortsam. Это плагин для Snort, обеспечивающий блокировку атак и имеющий много возможностей. Он был написан группой программистов под руководством Франка Кнобба (Frank Knobbe) и также работает на базе различных платформ, с операционными системами Linux, *BSD, Solaris, и Microsoft Windows, распространяется с открытыми исходными кодами. Основное его преимущество – работа с различными фаерволлами. Т.е. каждый может приспособить его к такому средству, которое считает более надежным, а также привычным для себя. Snortsam физически может быть расположен на фаерволле или маршрутизаторе отдельно или вместе с IDS. Ниже представлен краткий перечень его возможностей.

 

- Идентификация сенсора IDS в случае его физической удаленности. Проверка обычно проводится как по адресу, так и по паролю.

 

- Может слушать различные порты, что придает системе большую гибкость.

 

- Создание списка доверенных хостов/сетей. Это важно в случае с DoS-атаками. В противном случае нарушитель мог бы провести атаку, представившись IDS или хостом ее БД.

 

- Наличие предела блокировок. Это позволяет снять лишнюю нагрузку с   фаерволла. При приближении количества блокировок к пределу, они отключаются.

 

- Наличие временных блокировок. Т.е. таких, которые действуют лишь в течение заданного интервала времени и потом отключаются. Это очень важное качество, которое в некоторых случаях дает Snortsam непревзойденные преимущества перед другими программами такого рода.

 

- Отправка сообщения о блокировке по электронной почте или на мобильный телефон.

 

 

Таким образом, Snortsam представляет собой очень гибкую систему реагирования на атаки, информацию о которых она получает от IDS Snort. Каждый специалист может так настроить эту систему, как считает наиболее рациональным и удобным в конкретно его ситуации.

 

В повседневной деятельности рядового системного администратора в 99 процентах случаев не придется создавать сигнатуры самостоятельно. Зачем делать то, что уже сделано до тебя? Такая необходимость может возникнуть только в случае, если какая-либо неизвестная заранее атака была обнаружена самостоятельно и есть желание помочь обществу также защититься от этой атаки. В остальных же случаях сигнатуры обычно обновляются с официального сайта IDS Snort. От их актуальности немало зависит надежность всего комплекса системы безопасности. Постоянно обновлять сигнатуры вручную неудобно, кроме того, часто возникает ситуация, когда закомментированные или удаленные сигнатуры, которые не являются актуальными для конкретной системы или даже являются лишними, мешающими, восстанавливаются снова при первом же обновлении. С целью решения таких задач Андреасом Остлингом (Andreas Ǒstling) была написана программа Oinkmaster. Это простой скрипт, написанный на языке программирования Perl и распространяемый на основании лицензии BSD. Он позволяет постоянно содержать сигнатуры в обновленном состоянии и при этом не удалять каждый раз ненужные сигнатуры вручную. Он также работает под различными операционными системами.

 

Как он работает?  Выделим три основных шага, которые выполняет Oinkmaster  при обновлении сигнатур.

1.                                Копирует архив правил Snort с официального сайта и помещает его во временную директорию.

2.                                Распаковывает этот архив и просматривает директорию rules, полученную из этого архива. Все полученные сигнатуры хранятся здесь. При этом он действует точно по правилам, заданным в своем конфигурационном файле. Обычно он открывает каждый файл правил, корректирует его, как считает необходимым, и сохраняет результаты проделанной работы. Все действия до сих пор происходят во временной директории.

3.                                После этого такие новые файлы проходят сравнение построчно с файлами правил, действующими сейчас. Если новое найденное правило не занесено в черный список (он задан в конфигурационном файле и содержит идентификаторы тех сигнатур, которые системный администратор считает неактуальными для своей системы), оно добавляется к действующим.

Oinkmaster может запускаться как вручную, так и с помощью демона cron, присутствующего во всех операционных системах и выполняющего задания согласно расписанию.

 

Acid – это аналитический инструмент, написанный на языке программирования PHP. Он проводит поиск в БД IDS и в результате несложных операций возвращает html-код, удобный для чтения человеком с помощью обычного браузера. Работает на многих операционных системах, поддерживающих PHP (Linux, *BSD, Microsoft Windows, Solaris). Acid был разработан Романом Денилью (Roman Danyliw), распространяется в открытых кодах согласно лицензии GPL.

 

Это очень удобная форма представления результатов работы всей системы обнаружения вторжений. Что интересно, она также предоставляет возможность отправки электронной почты в случае выполнения заданных условий. Работает с различными IDS и идеально подходит для Snort. Системный администратор может просматривать состояние системы безопасности, находясь дома, в командировке или в любом другом месте, где есть доступ к Интернету. Веб-сервер может быть настроен так, чтобы при запросе страниц спрашивались логин и пароль. Возможна настройка Acid таким образом, чтобы сообщение системному администратору отправлялось при обнаружении, например, 50 атак. После получения такого сообщения системный администратор может зайти на веб-сервер и уже своими силами определить, была ли действительно система подвергнута нападению или же IDS просто выдала ложную тревогу.

 

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

 

Конечно, если основная деятельность организации связана с обработкой огромнейших массивов информации и потоков данных, значимость защиты информации повышается на порядок. В таком случае возможно приобретение дорогого оборудования, такого как CISCO IDS. Продукты этой марки показали себя как непревзойденные на протяжении всего времени существования Интернета. Но они, кроме того, что дороги сами по себе, дороги также и в обслуживании. Для обеспечения их беспрерывной работы, нужно нанимать высокопрофессиональных специалистов. Рассмотренный же в данной статье вариант системы реагирования на нарушения сетевой безопасности дешев, гибок, прост в установке и настройке, а также считается очень надежным и стабильным средством. Об этом можно судить хотя бы по тому, что им пользуются миллионы специалистов информационной безопасности всего мира.

 

Источники:

1. http://www.snort.org

2. http://sourceforge.net

3. http://www.snortsam.net

4. http://www.andrew.cmu.edu

5. http://www.samag.ru

6. http://www.opennet.ru

 

Внимание! Все предложения по содержанию статьи просьба высылать сюда.

Copyright © 2004. A.Anikeev

Hosted by uCoz