Как установить и настроить Snort IDS в Linux для защиты вашей сети

Если вы серьезно относитесь к сетевой безопасности и улучшению защиты, то установка систем обнаружения и предотвращения вторжений (IPS или IDS) является обязательной для укрепления сетевого периметра и отклонения нежелательного сетевого трафика.

Snort — популярное бесплатное решение IPS/IDS с открытым исходным кодом. Давайте узнаем, как установить и настроить Snort в Linux для защиты вашей сети от кибератак. Проверять Что происходит, когда ваш телефон шпионит за вами?

Как установить и настроить Snort IDS в Linux для защиты вашей сети - Linux

Что такое фырканье?

Как установить и настроить Snort IDS в Linux для защиты вашей сети - Linux

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

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

Предварительные условия для установки Snort

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

Начните с обновления и модернизации вашей системы.

В дистрибутивах Linux на основе Ubuntu и Debian:

sudo apt update && apt upgrade -y

В Arch Linux и дистрибутивах на его основе:

sudo pacman -Syu

В RHEL и Fedora:

sudo dnf upgrade

По мере обновления вашей системы продолжайте устанавливать зависимости, которые требуются Snort. Вот команды, которые вам нужно выполнить:

В Ubuntu и Debian запустите:

sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev

В Arch Linux запустите:

sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pulledporkxz zlib cmake pkgconf

Для RHEL и Fedora введите следующую команду:

sudo dnf install gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y

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

Сначала загрузите исходные файлы LibDAQ с официального сайта с помощью команды Wget. Затем распакуйте zip-файл и перейдите в каталог с компакт-диском. Внутри каталога запустите загрузку и настройте сценарии, а затем приступите к подготовке файлов с помощью команды сделать установку.

wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./bootstrap
./configure
make
sudo make install

После установки LibDAQ вам необходимо установить последнюю зависимость: gperftools. Начните с извлечения исходных файлов из репозитория GitHub. Извлеките файлы, перейдите в каталог и запустите сценарий конфигурации. Наконец, установите пакет с помощью команд сделать установку.

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./configure
make 
sudo make install

После установки этих зависимостей вы можете перейти к следующим шагам по установке Snort.

Установите Snort из исходников в Linux

Как установить и настроить Snort IDS в Linux для защиты вашей сети - Linux

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

Используйте команду wget или загрузите файлы вручную с официальной страницы загрузки:

wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz

Скачать: фырканье

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

tar -xzvf snort*

Перейдите в извлеченную папку, запустите скрипт конфигурации и используйте команду сделать Чтобы подготовить файлы, а затем, наконец, установить его с помощью сделать установку:

cd snort*
./configure_cmake.sh — prefix=/usr/local — enable-tcmalloc
cd build
make
sudo make install

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

Чтобы избежать этой проблемы, вам нужно запустить команду ldconfig. Он синхронизирует кеш системной общей библиотеки с недавно установленными библиотеками и двоичными файлами. Запустите команду ldconfig С правами root или с использованием префикса Sudo:

sudo ldconfig

Теперь я рассмотрел все важные шаги, необходимые для установки Snort. Для проверки установки запустите команду snort с флагом -V , и вы должны увидеть выходные данные, которые возвращают имя версии и другие данные.

snort -V

Убедившись, что Snort установлен, выполните следующие шаги, чтобы настроить его как полнофункциональную IDS/IPS.

Первоначальная настройка Snort в Linux

Как установить и настроить Snort IDS в Linux для защиты вашей сети - Linux

Эффективность Snort почти полностью зависит от качества наборов правил, которыми он снабжен.

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

Вам нужно установить сетевой интерфейс в неразборчивый режим:

sudo ip link set dev interface_name promisc on

с помощью эттоол , отключите глобальную разгрузку приема (GRO) и разгрузку большого приема (LRO), чтобы предотвратить обрезку больших сетевых пакетов:

sudo ethtool -K interface_name gro off lro off

Как установить и настроить Snort IDS в Linux для защиты вашей сети - Linux

Проверьте, как Snort работает с конфигурацией по умолчанию:

snort -c /usr/local/etc/snort/snort.lua

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

Устанавливайте и применяйте правила с помощью Snort

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

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

sudo mkdir -p /usr/local/etc/{lists,so_rules,rules} 
sudo touch /usr/local/etc/rules/local.rules 
sudo touch /usr/local/etc/lists/default.blocklist

Создав эти руководства, вы можете загрузить набор правил сообщества с официального сайта с помощью команды Wget:

wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz

После завершения загрузки набора правил извлеките его и скопируйте в каталог /USR/местные/и т.д./правила/.

tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/

Как установить и настроить Snort IDS в Linux для защиты вашей сети - Linux

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

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none

объяснение команды:

  1. -c Указывает путь к файлу конфигурации по умолчанию.
  2. -R Указывает путь к применяемому правилу.
  3. -i Определяет интерфейс.
  4. -s игнорирует ограничение snaplen.
  5. -k Он игнорирует контрольную сумму.

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

Если вы хотите создать и внедрить свой собственный набор правил, вы можете узнать о них больше на Страницы официальной документации. Проверять Лучшие брандмауэры веб-приложений для защиты веб-сайтов.

Установление рекордов с помощью Snort

Как установить и настроить Snort IDS в Linux для защиты вашей сети - Linux

По умолчанию Snort не выводит никаких журналов. Необходимо указать с помощью тега -L Чтобы запустить Snort в режиме ведения журнала, укажите тип файла журнала и тег -l Устанавливает каталог реестра для Snort для дампа журналов.

Вот команда для запуска Snort с включенными журналами:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none -L file_type -l /var/log/snort

объяснение команды:

  1. -c Указывает путь к файлу конфигурации по умолчанию.
  2. -R Указывает путь к применяемому правилу.
  3. -i Определяет интерфейс.
  4. -s игнорирует ограничение snaplen.
  5. -k Он игнорирует контрольную сумму.
  6. -L Включает режим записи и указывает тип файла журнала.
  7. Он указывает -l Записывает путь хранения.

Обратите внимание, что в предыдущем примере команды для каталога реестра задано значение /var/журнал/фыркать. Хотя это рекомендуемая практика, вы можете хранить свои записи в другом месте.

Вы можете прочитать файлы журнала из Snort из указанного вами каталога или передать их в приложение SIEM, такое как Splunk, для дальнейшего анализа.

Добавьте Snort в качестве процесса-демона, чтобы запустить его вместе с системой.

Как установить и настроить Snort IDS в Linux для защиты вашей сети - Linux

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

Вот как добавить процесс демона для запуска Snort в Linux:

  • Начните с создания служебного файла Systemd новый:
touch /lib/systemd/system/snort.service
  • Откройте файл в текстовом редакторе по вашему выбору и заполните его следующими данными. Вы можете изменить теги в соответствии с вашими потребностями:
[Unit]
Description=Snort Daemon
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var/log/snort -D -L pcap -i ens33 
[Install]
WantedBy=multi-user.target
  • Сохраните и закройте файл. После этого с помощью двух команд обслуживание و systemctl , включите и запустите скрипт:
sudo systemctl enable snort.service
sudo snort start

Демон Snort теперь должен быть запущен. Вы можете проверить статус скрипта с помощью команды. Он должен вернуть положительный результат.

systemctl status snort

Теперь вы знаете, как защитить свою сеть с помощью Snort IDS.

Хотя IDS является хорошей практикой, это скорее пассивное действие, чем активное. Лучший способ улучшить и обеспечить безопасность вашей сети — постоянно тестировать ее и искать недостатки, которые необходимо исправить.

Тестирование на проникновение — отличный способ найти и исправить уязвимости, которые можно использовать. Вы можете просмотреть сейчас Лучшие инструменты тестирования на проникновение для профессионалов в области кибербезопасности.

Перейти к верхней кнопке