После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение? |
Системы обнаружения вторжений
Уникальные особенности Snort
- Открытые исходные тексты. Исходные тексты Snort открыты, он переносим практически на любую разновидность операционной системы UNIX. Доступны также версии для Windows и других операционных систем.
- Легковесность. В силу эффективной реализации Snort не требует мощного оборудования (см. врезку "Оборудование"). Это позволяет анализировать трафик в сети 100 Мбит/с практически в реальном масштабе времени, что кажется невероятным, если представить, что делается с каждым пакетом.
- Индивидуальные правила Snort. Snort предлагает простой способ расширения и индивидуализации программы путем написания собственных правил или сигнатур. Обширная документация помогает научиться этому, не говоря уже о сетевых форумах и справочных списках.
Установка Snort
Snort устанавливается довольно просто.
- В качестве предварительного условия требуется установить пакет libpcap. Если вы загрузили любой из пакетов из лекций с 4 по 6, то libpcap уже установлен. В противном случае его можно загрузить с http://www.tcpdump.org.
- После загрузки этих библиотек просто возьмите файл с компакт-диска, прилагаемого к книге, или загрузите самую свежую версию с web-сайта.
- Когда файл окажется в вашей машине, распакуйте его и выполните команды компиляции:
./configure make make install
Запуск Snort
Snort запускается из командной строки. Его можно выполнять в трех различных режимах: анализа, протоколирования и обнаружения вторжений. Последний режим является наиболее употребительным, но имеются применения и для первых двух.
Режим анализа пакетов
В этом режиме Snort действует просто как анализатор, показывая нефильтрованное содержимое среды передачи. Конечно, если вам требуется только анализатор, можно применить Tcpdump или Ethereal, однако данный режим позволяет убедиться, что все работает правильно и Snort видит пакеты. В табл. 7.1 перечислены ключи, которые можно использовать при выполнении Snort в режиме анализа. Необходимо включить как минимум команду -v, поскольку иначе Snort по умолчанию будет выполняться в одном из двух других режимов (протоколирования или обнаружения вторжений), ожидая других опций.
Испробовать этот режим можно, просто набрав в командной строке
snort -v
или
snort -vde
Выдача будет практически такой же, как от анализаторов, описанных в предыдущей лекции. Для выхода нажмите Ctrl+C, и вы увидите сводные данные сеанса анализа пакетов.
Режим протоколирования пакетов
Этот режим аналогичен предыдущему, но позволяет записывать пакеты на диск для последующего анализа, аналогично функциям протоколирования в описанных выше анализаторах. Чтобы запустить Snort в режиме протоколирования, воспользуйтесь той же командой, что и для режима анализа ( -v, -d и/или -e ), но с добавлением ключа -l каталог_журналов, задающего маршрутное имя каталога журналов, в которые Snort будет записывать пакеты. Пример:
snort -vde -l /var/log/snort
Эта команда создаст файлы журналов в каталоге /var/log/snort. Убедитесь, что указанный каталог существует, иначе программа не будет загружаться правильно. Snort протоколирует пакеты по IP-адресам, создавая отдельный каталог для каждого из них. Если вы протоколируете трафик в большой локальной сети с множеством адресов, ситуация может быстро выйти из-под контроля. Поэтому можно применить другую настройку, чтобы Snort протоколировал пакеты относительно вашей домашней сети, в которой вы находитесь. Это делается с помощью команды -h домашняя_сеть, где домашняя_сеть - диапазон IP-адресов локальной сети в нотации с косой чертой. В этом случае Snort будет помещать пакеты в каталоги на основе нелокального IP-адреса в пакете, что позволяет легко распознавать "неместный" трафик. Если оба хоста, целевой и исходный, являются локальными, Snort помещает пакет в каталог, соответствующий стороне с большим номером порта, как бы отдавая предпочтение подключающемуся хосту перед серверным. В случае равенства номеров портов Snort по умолчанию использует исходный адрес в качестве каталога для размещения данных пакета. Сейчас это может показаться несущественным, но если вы протоколируете сигналы о вторжении, важно быстро определить, откуда исходит подозрительный трафик.
Учитывая приведенные соображения, командной строке для режима протоколирования пакетов целесообразно придать следующий вид:
snort -vde -l /var/log/snort -h 192.168.1.0/24
Тем самым внутренняя сеть задается диапазоном 192.168.1.1-254.
Можно также применить опцию -b для протоколирования всех данных в одном бинарном файле, пригодном для последующего чтения с помощью анализатора пакетов, такого как Ethereal или Tcpdump. При протоколировании с опцией -b нет необходимости определять домашнюю сеть, так как данные будут записываться последовательно в один большой файл. Этот метод намного быстрее для протоколирования работы активно используемых сетей или на медленных машинах. Он также облегчает анализ с помощью более развитых средств, которые приходится применять при просмотре больших объемов перехваченных сетевых данных.
Режим обнаружения вторжений
В этом режиме Snort протоколирует подозрительные или требующие дополнительного внимания пакеты. Для перевода Snort в режим обнаружения вторжений достаточно добавить к приведенной выше инструкции ключ -c конфигурационный_файл, предписывающий использовать указанный конфигурационный файл для управления протоколированием пакетов. Конфигурационный файл определяет все настройки Snort, он очень важен. Snort поставляется с подразумеваемым конфигурационным файлом, но перед запуском в него целесообразно внести некоторые изменения, отражающие специфику вашей среды. Поэтому, набрав в командной строке
snort -de -l /var/log/snort -h 192.168.1.0/24 -c /etc/snort/snort.conf
вы запустите Snort в режиме обнаружения вторжений с использованием подразумеваемого конфигурационного файла snort.conf. Убедитесь, что указанный конфигурационный файл существует, или задайте маршрутное имя, соответствующее его расположению в вашей системе.
Обратите внимание, что я не использовал ключ -v для запуска Snort в режиме обнаружения вторжений. Если, помимо сопоставления всех пакетов с сигнатурами, заставлять Snort еще и выдавать на экран сигналы тревоги, это может привести к потере пакетов, особенно в загруженных сетях. Можно также не задавать ключ -e, чтобы повысить производительность, если не требуется протоколировать работу канального уровня. Если убрать ключ -l, то Snort будет использовать подразумеваемый каталог протоколов /var/log/snort. Опять-таки убедитесь, что этот каталог существует, иначе Snort не запустится. Можно также задать ключ -b, если вы хотите направить протокол в бинарный файл для последующего анализа отдельной программой. Команда для запуска Snort в режиме обнаружения вторжений в результате будет выглядеть следующим образом:
snort -h 192.168.1.0/24 -c /etc/snort/snort.conf
Режимы сигнализации Snort
При протоколировании пакетов, вызывающих сигналы тревоги, необходимо выбрать подходящий уровень детализации и формат "тревожных" данных. В табл. 7.2 перечислены опции, которые можно задавать в командной строке после ключа -A.
Имеются также опции вывода syslog, smb и database, но они используют не ключ -A, а отдельные модули вывода и предлагают более широкое разнообразие выходных форматов. Эти опции следует конфигурировать во время компиляции при помощи ключей инструкции configure.
-
SMB посылает сигналы тревоги службе всплывающих окон Windows, поэтому вы увидите сигналы всплывающими на вашем экране или экране машины, осуществляющей мониторинг. Однако, прежде чем использовать эту опцию, желательно тщательно настроить систему обнаружения вторжений, иначе вы не сможете ничего делать, кроме как наблюдать всплывающие то и дело окна! Для того чтобы включить этот метод сигнализации, при установке Snort задайте в инструкции configure опцию enable-smbalerts. Затем нужно запустить snort со следующими аргументами
snort -c /etc/snort.conf -M рабочие_станции
задав после -M имена хостов Windows, на которые отправляются сигналы.
- Syslog посылает сигналы тревоги Syslog-серверу UNIX. Syslog - это служба, выполняющаяся на машине (обычно UNIX), которая может подхватывать и сохранять различные файлы журналов. Это помогает консолидировать журналы вашей сети в одном месте, а также затрудняет хакеру удаление протоколов вторжений. В данной книге не рассматриваются особенности настройки сервера Syslog, но если он у вас есть, то при наличии в командной строке ключа -s Snort будет посылать сигналы туда. Можно также определить в конфигурационном файле различные форматы Syslog, которые рассматриваются в следующем разделе.
- Snort напрямую поддерживает четыре вида вывода в базу данных посредством своих модулей вывода. К числу поддерживаемых форматов принадлежат MySQL, PostgreSQL, Oracle и unixODBC. Это должно удовлетворить потребности большинства пользователей баз данных. И, естественно, если ваша база данных не поддерживается, можно взяться за проект по написанию нужного модуля расширения. Модуль вывода в базу данных требует как параметров времени компиляции, так и настроек в конфигурационном файле. Более подробные сведения - в следующем разделе.