Система обнаружения атак Snort

Страницы работы

Содержание работы

Лабораторная работа 

Система обнаружения атак Snort

Вводная информация

IDS Snort – свободно распространяемая программа (www.snort.org). Snort может работать, как обычный анализатор сетевых пакетов, перехватывая все пакеты сетевого трафика. Чтобы Snort работал как система обнаружения атак, нужно настроить файл правил регистрации пакетов (по умолчанию Snort.conf ). Тогда Snort будет регистрировать только те пакеты, которые соответствуют правилам. Правила должны описывать признаки, по которым мы можем считать, что происходит атака. Таким признаком чаще всего является некоторая последовательность данных, которая должна быть обнаружена в сетевом пакете.

Инсталляция и запуск системы

Для нормальной работы системы Snort необходима предварительная установка свободно распространяемой библиотеки WinPCap. По умолчанию система инсталлируется в каталог C:\Snort. Исполняемый модуль находится в C:\Snort\bin. Программа не имеет графического интерфейса, вся работа происходит в режиме командной строки.              Общий формат команды Snort:

Snort   [-options]   <filter options>

Список опций можно посмотреть командой  snort  -?

Режимы работы программы Snort

Программа работает в трех режимах:

  1. Сниффинг – режим перехвата сетевого трафика (простого прослушивания сетевого адаптера) с выводом протокола на экран
  2. Режим записи в файл – программа записывает перехваченный трафик в указанный файл
  3. Режим обнаружения атак (Network Intrusion Detection Mode, NIDS) – режим анализа сетевого трафика в соответствии с составленными пользователем правилами. 

Для запуска программы в режиме простого сниффинга нужно задать команду:

            Snort  –v

Для запуска программы в режиме записи в файл нужно задать команду с указанием имени каталога, в который будем помещать файлы с протоколом трафика:

            Snort  –dev  -l   <имя каталога>

В указанном каталоге программа создаст отдельный файл протокола для каждого IP-адреса, пакеты с которого будут перехвачены. Если указанного в команде каталога не существует, программа выдаст сообщение об ошибке.

Для запуска программы в режиме NIDS нужно задать команду с указанием выходного каталога и имени файла конфигурации, например:

            Snort  –dev  -l   c:\temp  -c  c:\snort\etc\snort.conf

Файл c:\snort\etc\snort.conf  создается по умолчанию при установке системы, и содержит стандартный набор правил фильтрации. В указанном каталоге программа создаст отдельный файл для протоколов каждого IP-адреса, и общий файл предупреждений Alert.ids.

Настройка вида выходного протокола в режиме NIDS

По умолчанию выходной протокол выводит содержимое сетевых пакетов в виде символов ASCII, и использует формат полного предупреждения (full alerts). Программа дает возможность выводить предупреждения в 6 различных форматах. Формат предупреждений задается в командной строке опцией –A:

            -A  fast            - «быстрый» формат, выдает необходимый минимум информации

            -A  full                        - формат по умолчанию

            -A  unsock      - посылает предупреждения на сокет UNIX-системы, на которой его прослушивает другая программа

            -A  none          - режим отсутствия (отключения) предупреждений

            -A  console     - выводит «быстрые» предупреждения на экран

            -A  cmg           - выводит предупреждения в специальном формате cmg

Например:

            Snort  –dev  -l   c:\temp  -c  snort.conf  -A  fast

Задание маски подсети в Snort

Маска подсети в Snort указывается числом, следующим за IP-адресом и отделенным знаком “/”. Число 24 указывает на сеть класса С, число 16 – на сеть класса В, число 32 означает задание точного IP-адреса. Например:

            192.168.5.0/24          

- задает подсеть класса С, т.е. адреса в диапазоне от 192.168.5.1 до 192.168.5.255.

Определение переменных в Snort

В программе Snort могут быть определены переменные. Это делает команда var:

            Var  MY_NET  [192.168.5.0/24]

Приведенная команда определяет переменную MY_NET, задающую адрес сети (число 24 указывает количество битов, отведенных под адрес сети). Применяется переменная с символом $, например:

            Alert  tcp  any  any ->  $MY_NET  any

Правила системы Snort

Правила системы Snort похожи на правила для пакетных фильтров. Они могут отбирать пакеты, основываясь на IP-адресах, портах, данных заголовка, флагах, и на содержании пакета. Snort имеет три вида правил:

·  Правила предупреждений – пакеты, которые удовлетворяют этим правилам, будут зарегистрированы в указанном вами формате и будет послано предупреждение.

·  Правила пропуска  - пакеты, которые удовлетворяют этим правилам, будут пропущены и игнорированы.

·  Правила регистрации - пакеты, которые удовлетворяют этим правилам, будут зарегистрированы, но без предупреждения.

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

            Правила содержатся (по умолчанию) в файле snort.conf, в котором командой include могут быть подключены другие файлы правил (файлы с расширением .rules). Это позволяет разбивать правила на логические разделы.

Синтаксис правил Snort

Правила Snort состоят из двух частей: заголовка и опций. Заголовок содержит:

·  тип правила (предупреждение, регистрация, пропуск – alert, log, pass)

·  протокол (tcp, ip, udp, icmp). Протоколы только эти (перечисленные) !

·  оператор направления (-> определяет направление от отправителя к получателю, <> определяет пакеты обоих направлений)

·  IP-адрес и порт отправителя и получателя.

Диапазоны портов могут быть указаны с помощью двоеточия ( :1024 означает все порты от 1 до 1024, 1024:  означает 1024 и выше, 1024:6000 означает порты от 1024 до 6000). Ключевое слово any указывает все IP-адреса и порты.

Например:

            Alert  tcp  any  any ->  192.168.1.0/24  111

            Log  udp  any  any ->  192.168.1.0/24  1:1024      

Если нужно указать несколько IP-адресов, они перечисляются через запятую в квадратных скобках:

Alert  tcp  any  any ->  [192.168.1.0/24,192.168.5.0/24]  111      

Опции правил заключаются в круглые скобки и могут содержать:

·  Предупреждающее сообщение

·  Информацию о том, какую часть пакета нужно проверять, если правило будет применено.

Например:

            Alert  tcp  any  any ->   any 21 (msg: “FTP root”; content: “USER root”)

В этом примере опция msg указывает сообщение, которое надо выводить, а опция content указывает строку символов, которую нужно искать в пакете.

            Применение опций не обязательно !  Их добавляют, только если есть необходимость.

Правила записывают в виде текста в файлы с расширением .rules, а файл конфигурации snort.conf содержит ссылки на эти файлы правил.

Формат предупреждения системы Snort

Пример предупреждения:

Alert:

[**]    IDS024  -  RPC  -  portmap-request-ttdbserv     [**]

07/27-13:33:58.314512  10.0.0.69 : 896 ->  192.168.38.15 : 111

UDP  TTL:64  TOS:0x0  ID:33481

Len:  64

Здесь:             IDS024  -  RPC  -  portmap-request-ttdbserv – имя предупреждения

07/27-13:33:58.314512  - дата и время

            10.0.0.69 : 896  - IP-адрес и порт отправителя

            ->  - направление трафика

            192.168.38.15 : 111  - IP-адрес и порт получателя

            UDP  - тип протокола

            TTL:64  - время жизни (Time To Live)

            TOS:0x0  - тип службы (Type Of Service)

            ID:33481  - идентификатор сеанса

Задание к лабораторной работе

1.  Запустить программу Snort в режиме снифера. Программа должна перехватывать весь трафик, направленный на ваш компьютер, и выводить протокол в указанный каталог. Команду на запуск программы и часть полученного протокола поместить в отчет по лабораторной работе.

2.  Запустить программу Snort в режиме обнаружения атак с использованием стандартного файла конфигурации. Программа должна перехватывать весь трафик, направленный на ваш компьютер, и выводить протокол и предупреждения в указанный каталог.

3.  Сделать анализ полученного протокола предупреждений. Команду на запуск программы и часть полученного протокола поместить в отчет по лабораторной работе. В отчете по лабораторной работе указать, какие виды нарушений безопасности или подозрительных действий обнаружены программой Snort.

4.  Создать свой собственный файл конфигурации, в котором указать ссылку только на правила обнаружения сканирования вашего компьютера scan.rules. Запустить Snort с этим файлом конфигурации. На соседнем компьютере запустить сканер Superscan, сканирующий ваш компьютер. Правильно настроенный Snort должен обнаружить сканирование. Полученные предупреждения о сканировании должны быть приведены в отчете по лабораторной работе.

5.  Создать свой собственный файл конфигурации, в котором указать ссылку только на правила обнаружения подозрительного ICMP-трафика icmp.rules. Проверить, предупреждает ли программа Snort об исследовании маршрута к вашему компьютеру с помощью утилиты traceroute.

6.  Создать свой собственный файл правил проверки трафика student.rules. Указать его в файле конфигурации. Файл должен содержать следующие правила:

Похожие материалы

Информация о работе

Тип:
Методические указания и пособия
Размер файла:
57 Kb
Скачали:
0