Системы обнаружения вторжений (IDS) играют важную роль в защите компьютерных сетей от несанкционированного доступа и потенциальных опасностей в области кибербезопасности. Snort IDS выделяется среди множества доступных IDS как надежное и широко используемое решение с открытым исходным кодом для обнаружения и предотвращения сетевых вторжений. Это руководство покажет вам, как установить и настроить Snort IDS на Linux, обеспечивая вас знаниями, необходимыми для повышения безопасности вашей сети.
Как работает Snort IDS
Snort IDS – это система обнаружения вторжений в сеть, которая отслеживает сетевой трафик, анализирует его на предмет подозрительной активности и генерирует предупреждения о потенциальных угрозах. Как система обнаружения вторжений на основе сигнатур, Snort анализирует сетевой трафик, используя базу данных известных шаблонов атак, известных как правила, для обнаружения вредоносной активности. Snort IDS обнаруживает и предотвращает широкий спектр сетевых атак, включая сканирование портов, DoS атаки и SQL инъекции, и широко известна благодаря своим возможностям анализа трафика в режиме реального времени.
Базовая конфигурация
Перед тем, как приступить к установке Snort IDS, необходимо выполнить базовую конфигурацию. Она включает в себя обновление и модернизацию системы и установку зависимостей, необходимых Snort для эффективной работы.
- Обновление и модернизация системы Linux. Для Ubuntu и других систем на базе Debian:
sudo apt update && apt upgrade -y
- Установите зависимости, необходимые для работы 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
- Правильное функционирование 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
- Последней зависимостью является 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
- Скачайте Snort IDS с официального сайта Snort или с помощью
wget
в терминале:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
- Начните распаковывать файл.
tar -xzvf snort3-3.1.58.0
- Перейдите в извлеченный каталог и выполните скрипт конфигурации, подготовьте файлы командой
make
, затем установите их командойmake install
.
cd snort3-3.1.58.0 ./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc cd build make sudo make install
- 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 как автозапускаемую системную службу, программа будет работать и защищать вашу систему всегда, когда она находится в сети.
- Создайте новый файл службы systemd, выполнив нижеуказанную команду.
touch /lib/systemd/system/snort.service
- Откройте файл с помощью
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
- Сохраните и выйдите из файла. Включите и запустите скрипт:
sudo systemctl enable snort.service sudo snort start
Snort IDS готов к работе и защите вашей Linux системы. Чтобы найти больше подобных инструментов безопасности с открытым исходным кодом для Linux, перейдите по ссылке.
Мониторинг сетевого трафика с помощью Snort
Мы узнали о Snort и о том, как он работает. Теперь давайте проверим несколько основных принципов использования Snort для мониторинга сетевого трафика и поиска вероятных угроз безопасности.
- Чтобы начать использовать Snort для мониторинга сетевого трафика, сначала выберите сетевой интерфейс. Выполните нижеприведенную команду, чтобы узнать имена сетевых интерфейсов, имеющихся в системе.
ifconfig -a
- Запустите 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 с обновленными правилами не только обнаружит угрозы безопасности, но и поможет их устранить.
Комментарии (0)