Как установить и настроить Snort IDS в Linux

Системы обнаружения вторжений (IDS) играют важную роль в защите компьютерных сетей от несанкционированного доступа и потенциальных опасностей в области кибербезопасности. Snort IDS выделяется среди множества доступных IDS как надежное и широко используемое решение с открытым исходным кодом для обнаружения и предотвращения сетевых вторжений. Это руководство покажет вам, как установить и настроить Snort IDS на Linux, обеспечивая вас знаниями, необходимыми для повышения безопасности вашей сети.

Как работает Snort IDS

Snort IDS – это система обнаружения вторжений в сеть, которая отслеживает сетевой трафик, анализирует его на предмет подозрительной активности и генерирует предупреждения о потенциальных угрозах. Как система обнаружения вторжений на основе сигнатур, Snort анализирует сетевой трафик, используя базу данных известных шаблонов атак, известных как правила, для обнаружения вредоносной активности. Snort IDS обнаруживает и предотвращает широкий спектр сетевых атак, включая сканирование портов, DoS атаки и SQL инъекции, и широко известна благодаря своим возможностям анализа трафика в режиме реального времени.

Базовая конфигурация

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

  1. Обновление и модернизация системы Linux. Для Ubuntu и других систем на базе Debian:
    sudo apt update && apt upgrade -y
  2. Установите зависимости, необходимые для работы Snort IDS:
    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
  3. Правильное функционирование Snort требует ручной установки библиотеки сбора данных LibDAQ. Чтобы установить LibDAQ, загрузите файлы с официального сайта, распакуйте архив и перейдите в соответствующую директорию, затем выполните сборку и компиляцию.
    wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
    tar -xzvf libdaq-3.0.11
    cd libdaq-3.0.11
    ./bootstrap
    ./configure
    make
    sudo make install
  4. Последней зависимостью является gperftools. Начните с получения исходных файлов из репозитория GitHub. Распакуйте файлы, перейдите в выбранную директорию и выполните скрипт configure, чтобы начать процесс установки. Затем выполните команды make и make install
    для установки пакета.
    wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
    tar -xvzf gperftools-2.10 && cd gperftools-2.10
    ./configure
    make 
    sudo make install

    Следующим шагом будет установка Snort.

Установка Snort IDS

  1. Скачайте Snort IDS с официального сайта Snort или с помощью wget в терминале:
    wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
  2. Начните распаковывать файл.
    tar -xzvf snort3-3.1.58.0
  3. Перейдите в извлеченный каталог и выполните скрипт конфигурации, подготовьте файлы командой make, затем установите их командой make install.
    cd snort3-3.1.58.0
    ./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
    cd build
    make
    sudo make install
  4. Snort готов к работе в вашей системе. Перед настройкой Snort IDS обновите общую библиотеку. В противном случае, когда вы попытаетесь запустить Snort, вы можете получить ошибку:
    sudo ldconfig

Этот процесс синхронизирует кэш общих библиотек системы с недавно установленными библиотеками и двоичными файлами.

Для проверки Snort, команда snort -V отобразит версию Snort IDS в окне терминала:

Конфигурирование и настройка правил с помощью Snort IDS

Чтобы настроить сетевое окружение системы Linux для взаимодействия с Snort IDS, узнайте имя сетевой карты вашей системы:

nmcli device status

Настройте сетевую карту следующей командой:

sudo ip link set dev interface_name promisc on

Заметьте, что «имя_интерфейса» в команде – это имя карты Ethernet вашей системы.Чтобы избежать обрезания больших сетевых пакетов, отключите Generic Receive Offload (GRO) и Large Receive Offload (LRO) с помощью ethtool:

sudo ethtool -K interface_name gro off lro off

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

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

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

Внедрение правил Snort IDS для работы в системе Linux.

Snort считывает наборы правил и конфигурации из определенных каталогов:

sudo mkdir /usr/local/etc/rules
sudo mkdir /usr/local/etc/so_rules/
sudo mkdir /usr/local/etc/lists/
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist
sudo mkdir /var/log/snort

После создания необходимых каталогов, загрузите нужные правила с сайта Snort:

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

Распакуйте файл и скопируйте правила в каталог «/usr/local/etc/rules/»:

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

Для запуска Snort с конфигурацией правил, введите следующую команду:

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

Настройка Snort IDS в режиме запуска

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

  1. Создайте новый файл службы systemd, выполнив нижеуказанную команду.
    touch /lib/systemd/system/snort.service
  2. Откройте файл с помощью nano в окне терминала и добавьте следующую информацию.
    [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

  3. Сохраните и выйдите из файла. Включите и запустите скрипт:
    sudo systemctl enable snort.service
    sudo snort start

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

Мониторинг сетевого трафика с помощью Snort

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

  1. Чтобы начать использовать Snort для мониторинга сетевого трафика, сначала выберите сетевой интерфейс. Выполните нижеприведенную команду, чтобы узнать имена сетевых интерфейсов, имеющихся в системе.
    ifconfig -a
  2. Запустите Snort с помощью нижеприведенной команды. Это откроет консоль в окне терминала, которая будет активно следить за сетевым интерфейсом и обновлять его в случае обнаружения потенциальных угроз.
    sudo snort -i [Network_Interface] -c /etc/snort/snort.conf -A console

    Здесь в команде сетевой интерфейс – это порт Ethernet, который вы выбрали для мониторинга, «etc/snort/snort.conf» – это местоположение файла конфигурации Snort, а -A – это консоль для отображения предупреждений, генерируемых Snort IDS.
    Таким образом Snort используется для мониторинга угроз безопасности и уязвимых атак. Регулярно обновляйте правила. Snort IDS с обновленными правилами не только обнаружит угрозы безопасности, но и поможет их устранить.

Часто задаваемые вопросы

Как я могу получить и обновить правила Snort?

Правила Snort очень важны для эффективной работы IDS, поскольку они определяют критерии для обнаружения конкретных сетевых вторжений. Вы можете получить правила Snort с официального сайта Snort. Существует три различных типа архивов правил: Community, который доступен бесплатно; Registered, который доступен вам после регистрации в Snort; и Subscription, для которого вы должны подписаться на платный тарифный план Snort, подробно описанный на официальном сайте.

Можно ли внедрить Snort в огромную сеть?

Да, его можно распространить для повышения безопасности сети на несколько систем, используя централизованную систему управления, такую как Security Onion или Snorby.

Подходит ли Snort IDS для малых предприятий или домашних сетей?

Snort IDS – это эффективное решение безопасности, которое может быть полезно для малых предприятий и домашних сетей. Доступность и экономичность системы объясняется ее открытым исходным кодом. Snort Intrusion Detection System (IDS) может быть внедрена как на одной системе, так и на нескольких.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.maketecheasier.com

Похожие статьи

Комментарии (0)