Система обнаружения вторжения Snort
Салимжанов Р.Д
Введение
Snort — свободная сетевая система предотвращения вторжений (IPS) и обнаружения вторжений (IDS) с открытым исходным кодом, способная выполнять регистрацию пакетов и в реальном времени осуществлять анализ трафика в IP-сетях.
В этой статье я расскажу, как установить и настроить SNORT в Kali Linux.
Для начала перед установкой надо понимать принцип работы Snort. Вообще принцип работы очень погост: когда сетевой трафик проходит через Snort, система анализирует его согласно установленным правилам. Если обнаруживается подозрительная активность, Snort генерирует предупреждение и может выполнить определенные действия, например, заблокировать соединение или отправить уведомление администратору. А если конкретнее процесс состоит из 4 этапов:
Шаг 1: Установка SNORT
Стоит естественны вопрос, а по чему не перейти на официальный сайт: http://www.snort.org/ и не сделать все по уму. Ответ очевиден, VPN и делай. Соответственно я так и поступлю. НО если вам очень сильно хочется провести установку без VPN, то один прекрасный человек подобный способ описал: Ссылка https://vaiti.io/obzor-snort-dlya-obnaruzheniya-vtorzhenij/
Переходим на официальный сайт и качаем архив:
После разархивируем его:
tar xvzf daq-2.0.7.tar.gz
Далее переходим в разархивированный файл и запускаем конфигурацию:
Тоже самое, проделываем со вторым архивом:
И конечным этапом запускаем установку:
apt install snort
Шаг 2: Настройка SNORT
Для начала посмотрим справочную информацию. При использовании команды snort -? мы увидим список доступных параметров и опций, которые могут быть использованы при запуске Snort, такие как режимы работы, настройки вывода данных, фильтры трафика и т.д. Зная эти параметры, мы сможем настроить Snort для конкретных потребностей сетевой защиты.
Быстро проверим корректность установки Snort.
Выведем версию Snort и версии используемых библиотек при помощи команды:
snort –V
Далее ведем команду snort -c /etc/snort/snort.lua – эта опция командной строки, которая указывает на использование конфигурационного файла. Этот файл обычно содержит настройки и правила для работы Snort, такие как сетевые интерфейсы для мониторинга, правила обнаружения атак и т. д.
Здесь нам нужна нижняя строка, где написано, что Snort успешно потвердел конфигурацию с 0 предупреждениями.
Теперь нужно настроить его конфигурационный файл. По умолчанию он находится в /etc/snort/snort.lua откроем этот файл и найдем следующие строки:
Заменим any на IP-адрес сети.
Эти настройки определяют, какие IP-адреса будут считаться внутренними (HOME_NET) и внешними (EXTERNAL_NET).
Теперь переведем сетевой интерфейс в режим promiscuous mode — это режим работы сетевого интерфейса, который позволяет устройству прослушивать и анализировать весь сетевой трафик, проходящий через сеть, включая пакеты, которые адресованы другим устройствам в сети.
ip link set dev eth0 promisc on
ip address show eth0
На этом первоначальная настройка окончена.
Шаг 3: Настройка Snort в режиме IDS
Создаем директорию и файл, в котором будут храниться правила:
mkdir /usr/local/etc/rules
vim /usr/local/etc/rules/local.rules
А далее открываем созданный файл и прописываем правила:
alert any any -> any any (msg:"All Traffic Detected"; sid:10000002;)
Разберем данное правило:
- alert - указывает на то, что при срабатывании этого правила будет отправлено предупреждение.
- any any -> any any - указывает на то, что правило применимо ко всем адресам и портам как для исходящего, так и для входящего трафика.
- msg: "All Traffic Detected" - сообщение, которое будет связано с событиями срабатывания этого правила.
- sid:10000002 - уникальный номер идентификатора сигнатуры данного правила.
Итак, как мы поняли теперь, это правило обнаруживает весь трафик в сети и отправляет предупреждение с сообщением "All Traffic Detected".
Проверим на наличие ошибок:
snort -c /etc/snort/snort.lua -R /usr/local/etc/rules/local.rules
Как можно увидеть, правило успешно прошло проверку, о чем говорит сообщение Snort successfully validated the configuration (with 0 warnings).
Теперь можно запускать Snort в режиме IDS.
snort -c /etc/snort/snort.lua -R /usr/local/etc/rules/local.rules -i eth0
где -i задает сетевой интерфейс, который принимает трафик;
После окончания работы можно посмотреть отчет:
Все мы запустили Snort класса IDS для обнаружения и предотвращения сетевых атак.
Естественно, это только базовые настройки, далее сам пользователь настраивает под себя.
PS: Кстати, изменения в конфигурации сетевого интерфейса временные, после перезапуска сервера они сбросятся. Поэтому обязательно нужно создать файл с сохранением и автозапуском.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1) Snort 101: How to Install and Configure Snort// [электронный ресурс]. URL: https://yandex.ru/video/preview/8461101674999966353/ (дата обращения 20.07.2024).
2) Обзор Snort для обнаружения вторжений// [электронный ресурс]. URL: https://vaiti.io/obzor-snort-dlya-obnaruzheniya-vtorzhenij/ / (дата обращения 21.07.2024).
3) Система обнаружения вторжения // [электронный ресурс]. URL: https://www.securitylab.ru/analytics/549975.php (дата обращения 20.07.2024).