28 марта, 2024

Основы системы обнаружения вторжений Snort. Часть 2 — Базовая конфигурация

Содержание:

С возвращением, мои хакеры!

Как вы знаете из предыдущей статьи, Snort — это самая используемая система обнаружения вторжений (IDS) в мире, и каждый хакер и специалист по ИТ-безопасности должен быть с ней знаком. Хакеры должны понимать это для ее обхода, а профессионалы ИТ-безопасности — для предотвращения вторжений. Таким образом, базовое понимание этой IDS имеет решающее значение.

В предыдущей статье этой серии мы рассматривали, как установить Snort либо с помощью пакетов, хранящихся в репозиториях Ubuntu, либо в результате компиляции из исходного кода, скачанного непосредственно с сайта Snort — http://www.snort.org//.

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

Шаг 1. Получение справки по Snort

Прежде чем начать настраивать Snort, посмотрим на его файл справки. Как и в большинстве команд и приложений в Linux, мы можем вызвать файл справки, набрав имя команды или приложения, а затем -? или —help.

kali> snort --help

Как видно на скриншоте выше, мы обвели несколько ключевых параметров

  • Первый — -c, вместе с местоположением файла правил Snort, указывает Snort использовать его правила. Правила в Snort похожи на сигнатуры вирусов; они предназначены для обнаружения вредоносных пакетов и программного обеспечения.
  • Второй — -d говорит Snort показывать прикладной уровень данных.
  • Третий — -e говорит Snort отображать информацию второго уровня или уровня канала передачи данных, который содержит MAC-адрес.

Если мы немного прокрутим файл вниз, то увидим еще больше параметров.

  • Параметр -i позволяет указать интерфейс, который мы хотим использовать. Snort по умолчанию использует интерфейс eth0, поэтому нам нужно его переопределять только в том случае, если мы хотим использовать другой интерфейс, например wlan0.
  • Параметр -l говорит Snort, в какой лог (журнал) записывать данные. Как мы увидим позже, в зависимости от конфигурации, Snort записывает по умолчанию в /var/log/snort, но здесь мы можем назначить и другое место, поместив путь после ключа -l.
  • Параметр -v говорит Snort о необходимости более подробного вывода, отображающего всю информацию.
Читать также:  Основы системы обнаружения вторжений Snort. Часть 3 — Запись предупреждений о вторжениях в MySQL

Шаг 2. Запуск Snort

Теперь, когда мы знаем основы некоторых параметров, попробуем запустить Snort. Его можно запускать как сниффер, регистратор пакетов или как NIDS (система обнаружения сетевых вторжений). Здесь мы просто рассмотрим режимы сниффера (пакетного дампа) и режим NIDS.

Чтобы запустить Snort в режиме пакетного дампа, введите в консоли:

kali> snort -vde

Чтобы запустить Snort как NIDS, нам нужно сказать Snort, чтобы он использовал свой конфигурационный файл и правила. В большинстве установок файл конфигурации находится по адресу /etc/snort/snort.conf, и этот же файл указывает на правила Snort. Мы должны использовать ключ -c, а затем указать местоположение файла конфигурации.

kali> snort -vde -c /etc/snort/snort.conf

Шаг 3. Откройте файл конфигурации

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

Давайте откроем конфигурационный файл Snort в любом текстовом редакторе. Мы будем использовать Leafpad. Файл конфигурации находится по адресу /etc/snort/snort.conf.

kali> leafpad /etc/snort/snort.conf

Когда snort.conf открывается в текстовом редакторе, он должен выглядеть как на скриншоте выше. Обратите внимание, что многие строки — это просто комментарии, начинающиеся с символа решетки — #. Если мы перейдем к строкам 25-37, то увидим в комментариях, что файл конфигурации имеет девять разделов.

  1. Set the network variables —Установка сетевых переменных
  2. Configure the decoder —Конфигурирование декодера
  3. Configure the base detection engine — Конфигурирование базового движка обнаружения
  4. Configure dynamic loaded libraries — Конфигурирование динамически загружаемых библиотек
  5. Configure preprocessors — Конфигурирование препроцессоров
  6. Configure output plugins — Конфигурирование плагинов вывода
  7. Customize your rule set — Конфигурирование своего набора правил
  8. Customize preprocessor and decoder rule set —Кастомизация набора правил препроцессора и декодера
  9. Customize shared object rule set — Кастомизация набора правил общих объектов
Читать также:  Набор эксплойтов Neptune распространяет Monero-майнер

В базовой конфигурации мы рассмотрим из этого списка только шаги 1, 6 и 7 (выделено жирным). Благодаря этим трем разделам, мы можем заставить Snort эффективно работать в большинстве случаев. Когда мы перейдем к более продвинутым конфигурациям, мы рассмотрим другие разделы.

Шаг 4. Установка переменных

В строке 45 мы видим «ipvar HOME_NET any». Это устанавливает защиту IP-адресов вашей сети. HOME_NET — это переменная, которой вы назначаете IP-адреса, и это может быть один IP-адрес, список IP-адресов, разделенных запятыми, подсеть в нотации CIDR или можно просто оставить эту переменную в значении any (любой).

Лучшей практикой считается установить значение переменной HOME_NET равное адресу подсети, которую вы защищаете в нотации CIDR, например:

ipvar HOME_NET 192.168.181.0/24

Шаг 5. Проверка вывода

Если мы перейдем к строкам 464-485, мы увидим раздел плагинов вывода. Здесь мы скажем Snort, куда и как отправлять нам журналы (логи) и предупреждения. По умолчанию строка 471 закомментирована, а 481 активна.

В этой конфигурации по умолчанию Snort отправляет журналы в формате tcpdump в директорию /var/log/snort. Строка 471 включает то, что Snort называет унифицированным логированием. Этот тип ведения журнала (логирования) записывает и пакет полностью и предупреждения. На данный момент давайте раскомментируем этот тип вывода (unified2) и закомментируем строку 481. В конце концов, мы настроим вывод так, чтобы он шел к базе данных, которую мы выберем (MS SQL, MySQL, Oracle и т.д.).

Шаг 6. Отключение правил

Чтобы заставить Snort работать правильно, нам нужно настроить его правила, на которые он опирается в своей работе. Иногда правило или набор правил приводят к ошибкам, поэтому бывает, что нам нужно временно закомментировать правило или целый их набор. Если мы прокрутим страницу вниз до строки 504, то здесь в файле конфигурации начинается шаг «Customize your rule set».

Читать также:  Выбор компьютера и операционной системы для хакера

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

Чтобы Snort не использовал определенный набор правил, просто закомментируйте ту часть, которая начинается со слова «include». Обратите внимание, что существует множество устаревших наборов правил, которые в данный момент закомментированы, но можно сделать их активными, просто удалив # перед ними.

Когда мы закончим внесение изменений в файл конфигурации, нужно просто его сохранить.

Шаг 7. Тестирование конфигурации

Прежде чем мы запустим Snort в продакшен, давайте протестируем нашу новую конфигурацию. Используем ключ -T, а затем файл конфигурации, чтобы ее протестировать

kali> snort -T -c /etc/snort/snort.conf

Обратите внимание, что Snort запустился в тестовом режиме.

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

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

Предыдущая статья
( 1).

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