Snort IDS для хакеров, часть 3: отправка оповещений о вторжениях в MySQL

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
153
Депозит
-8.95$
Добро пожаловать обратно, мои хакеры-новички!

Если вы следили за этой новой серией статей о Snort, то знаете, что Snort — самая распространённая в мире система обнаружения и защиты от вторжений. Будучи частью Cisco, крупнейшего в мире производителя сетевого оборудования, она, вероятно, встречается повсюду в той или иной форме. Это весомый аргумент в пользу изучения её использования, поскольку она, вероятно, будет необходима на любой должности, связанной с безопасностью.

6a4a49_e6a53484250d403aa293a9406d2dd0a2~mv2.jpg


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

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

В предыдущих руководствах я использовал Kali в качестве базовой ОС. К сожалению, некоторые библиотеки, необходимые для запуска Barnyard2, некорректно работают в Kali. Поэтому последующие руководства этой серии будут основаны на Ubuntu. Всё, что вы делали до сих пор по настройке Snort, отлично работает в Ubuntu без каких-либо изменений. На самом деле, это гораздо более логично, поскольку вы вряд ли будете использовать атакующую систему, такую как Kali, в качестве сервера для Snort в рабочей среде.

Почему Barnyard2?

Преобразование двоичных данных в удобочитаемый вид (обычно из двоичных в ASCII) очень требовательно к ресурсам процессора для любого приложения. Это особенно актуально для Snort, и поскольку мы хотим выделить как можно больше ресурсов на перехват и анализ пакетов, мы хотели бы максимально снизить нагрузку на эти ресурсоёмкие задачи. Именно для этого и предназначен Barnyard2.

В рабочей среде мы хотим отправлять данные о событиях из Snort в базу данных. Snort может использовать любую базу данных ODBC, такую как Oracle, Microsoft SQL Server, PostgreSQL и MySQL. В данном случае мы будем использовать MySQL, поскольку это наиболее распространённая конфигурация Snort. Если мы можем отправлять оповещения в базу данных, то мы можем запросить эту информацию с помощью другого инструмента. Например, мы можем узнать, по каким правилам были сгенерированы оповещения, с каких IP-адресов были совершены атаки, каков был уровень серьёзности вторжений и т. д.

Здесь мы настроим Snort для обработки оповещений в двоичной форме (это самая простая и наименее ресурсоемкая для процессора форма), а затем воспользуемся Barnyard2 для чтения этих событий, преобразования в удобочитаемую форму и помещения их в базу данных MySQL.

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

Шаг 1: Установка необходимых компонентов Barnyard

Прежде чем начать, нам необходимо установить некоторые библиотеки и приложения, которые являются необходимыми условиями для Barnyard2.

ubuntu > sudo apt-get install -y mysql-server libmysqlclient-dev mysql-client autoconf libtool

6a4a49_86b69e3f98674f33aa70e54e881d7bf8~mv2.png


ubuntu > sudo apt-get install libpcap-dev libmysql-dev libprelude-dev

6a4a49_339fa0688f114a79873be76c84195a10~mv2.png


Шаг 2: Установка Git

Мы скачаем и установим последнюю версию Barnyard2 с GitHub. Если Git ещё не установлен в вашей системе, вам нужно установить его сейчас.

ubuntu> sudo apt-get update

ubuntu> sudo apt-get install git

Шаг 3: Редактирование файла конфигурации Snort


Чтобы направлять оповещения в базу данных, нам потребуется отредактировать файл snort.conf. Откройте его в любом текстовом редакторе и перейдите в раздел «Вывод» (раздел №6). Там мы укажем Snort использовать нашу базу данных MySQL (которую мы создадим позже в этом руководстве с выбранными вами именем пользователя и паролем).

В этом примере я использовал несколько простых вариантов имени базы данных, пользователя и пароля (все — snort). Конечно, замените их своими (см. шаг 6 ниже).

6a4a49_cbd07719c7384f6dae5322f2e989e709~mv2.png


Шаг 4: Загрузите Barnyard2

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

Давайте продолжим и скачаем Barnyard2 с GitHub.

ubuntu > git clone git://github.com/firnsy/barnyard2.git

6a4a49_39cf18d82d384cc0a9cb0930c1e9eb64~mv2.png


Теперь давайте проверим, было ли оно загружено и установлено, выполнив длинный список в этом каталоге.

убунту > ls -l

6a4a49_3591b6b6e3354fc797a3d17340e6b648~mv2.png


Как видите, создан каталог barnyard2. Давайте перейдём в него и посмотрим его содержимое.

ubuntu > cd barnyard2

убунту > ls -l


6a4a49_bd546c929aae4bed944e254a14f328f1~mv2.png


Обратите внимание на самый первый файл с именем autogen.sh . Давайте выполним этот скрипт.

убунту > ./autogen.sh

6a4a49_87e6be8beee548bb88dcc1b7567f6a97~mv2.png


Далее введите следующую строку.

ubuntu > CFLAGS = '-lpthread'

Затем выполните соответствующую команду настройки для вашей системы.

Если вы используете 64-битную архитектуру (а я надеюсь, что так и есть), вот подходящая команда настройки:

ubuntu> ./configure –with-mysql-libraries=/usr/lib/x86_64-linux-gnu –prefix=$HOME/barnyard2-install

Если вы используете 32-битную архитектуру, то команда configure немного изменится:

ubuntu > ./configure –with-mysql-libraries=/usr/lib/i386-linux-gnu –prefix=$HOME/barnyard2-instal l

6a4a49_443d5a8dbc3447df82370e66810f31d6~mv2.png


Есть ещё одна библиотека, необходимая Ubuntu для Barnyard2, — libdumbnet-dev. Давайте скачаем её из репозитория.

sudo apt-get install libdumbnet-dev

Поскольку скрипт make для Barnyard2 ожидает файл зависимостей с именем dnet.h, нам необходимо создать символическую ссылку между dumbnet.h и dnet.h (имена файлов изменились с момента написания скрипта).

Ubuntu > ln -s /usr/include/dumbnet.h /usr/include/dnet.h

Затем обновите библиотеки.

ubuntu> sudo ldconfig

Теперь мы можем создать Barnyard2.

ubuntu > сделать

6a4a49_8d98396ae65b44b4aba34c386626c07e~mv2.png


Наконец, нам нужно изготовить и установить.

ubuntu > sudo make install

Шаг 5: Настройка Barnyard2


Нам необходимо выполнить базовую настройку Barnyard2, чтобы убедиться в его корректной работе. Для начала скопируем файл конфигурации Barnyard2 в каталог /etc/snort.

ubuntu > sudo cp /snort_source /etc/barnyard2.conf /etc/snort

Теперь нам нужно создать файл, необходимый Barnyard2, в каталоге var/log. Это файл закладок.

ubuntu > коснитесь /var/log/snort/barnyard2.waldo

6a4a49_22b1af9741de4bdbb803d25d0ea45c49~mv2.png


Шаг 6 : Настройка MySQL

Теперь, когда Barnyard2 установлен, скомпилирован и настроен, нам нужно настроить MySQL для получения оповещений. Для этого необходимо:

  • создать базу данных
  • создать схему базы данных для оповещений
  • создать пользователя
  • предоставить пользователю соответствующие привилегии
Начнем с входа в систему базы данных MySQL.

ubuntu > sudo mysql -u root -p

При запросе пароля введите snort .

6a4a49_b160bdd980ca4e288c36857b373f0a11~mv2.png


Теперь вы находитесь в системе MySQL и должны получить приглашение MySQL. Давайте создадим базу данных для использования системой Snort.

mysql > создать базу данных snort;

(Обратите внимание, что snort здесь — это просто имя базы данных, в которой мы будем хранить наши оповещения. Ее можно назвать как угодно, но давайте сделаем так, чтобы ее было легко запомнить.)

Затем давайте сообщим системе, что мы хотим использовать эту базу данных.

mysql > использовать snort;

6a4a49_ad9cff9a9a5048e5b5e8e8852bb370f5~mv2.png


Barnyard2 поставляется со скриптом для создания схемы для базы данных Snort. Он находится по адресу /snort_source/barnyard2/schemas/create_mysql. Запустить скрипт можно, введя:

mysql > /snort_source/barnyard2/schemas/create_mysql

6a4a49_19ae997da97642f48ad615ac33ebf180~mv2.png


Далее нам необходимо создать пользователя для базы данных snort в MySQL.

mysql > СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'snort'@'localhost' С ИДЕНТИФИКАЦИЕЙ 'snort'

Эта команда создаёт пользователя snort на локальном сервере с паролем snort. Имя пользователя и пароль могут отличаться, но должны соответствовать тем, которые вы указали в файле snort.conf на шаге 3 выше.

Теперь предоставим этому пользователю необходимые разрешения.

mysql > предоставить права на создание, вставку, выбор, удаление, обновление для snort.* для 'snort'@'localhost';

Это дает пользователю snort права на создание объектов, вставку данных, выбор данных, удаление данных и обновление данных в базе данных snort на локальном хосте.

6a4a49_1e4b6891aa94462ca2e4bb7cd5083f84~mv2.png


Вот и всё! Теперь мы настроили Snort для отправки оповещений в файл, откуда Barnyard2 будет их собирать, преобразовывать в удобочитаемый вид и помещать в нашу базу данных Snort в MySQL.
 
Назад
Сверху Снизу