Как настроить Snort в Debian

Snort - это бесплатная система обнаружения вторжений в сеть (IDS). В менее официальных терминах, это позволяет вам отслеживать вашу сеть на предмет подозрительной активности в режиме реального времени . В настоящее время Snort имеет пакеты для систем на базе Fedora, CentOS, FreeBSD и Windows. Точный метод установки зависит от операционной системы. В этом уроке мы будем устанавливать напрямую из исходных файлов Snort. Это руководство было написано для Debian.

Обновление, обновление и перезагрузка

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

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

Предварительная установка конфигурации

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

sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y

После того, как все пакеты установлены, вам нужно будет создать временный каталог для ваших исходных файлов - они могут быть где угодно. Я буду использовать /usr/src/snort_src. Чтобы создать эту папку, вам необходимо войти в систему как rootпользователь или иметь sudoправа доступа - rootпросто это упрощается.

sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src

Установка библиотеки сбора данных (DAQ)

Прежде чем мы сможем получить исходный код Snort, нам нужно установить DAQ. Это довольно просто установить.

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

Извлеките файлы из архива.

tar xvfz daq-2.0.6.tar.gz

Перейдите в каталог DAQ.

cd daq-2.0.6

Настройте и установите DAQ.

./configure; make; sudo make install

Эта последняя строка будет выполняться ./configureпервой. Тогда это выполнится make. Наконец, он будет выполнен make install. Здесь мы используем более короткий синтаксис, чтобы немного сэкономить при наборе текста.

Установка Snort

Мы хотим убедиться, что мы снова в /usr/src/snort_srcкаталоге, поэтому обязательно перейдите в этот каталог с помощью:

cd /usr/src/snort_src

Теперь, когда мы находимся в каталоге для источников, мы загрузим tar.gzфайл для источника. На момент написания этой статьи самая последняя версия Snort 2.9.8.0.

wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz

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

Распакуйте исходные файлы Snort.

tar xvfz snort-2.9.8.0.tar.gz

Перейдите в исходный каталог.

cd snort-2.9.8.0

Настройте и установите источники.

 ./configure --enable-sourcefire; make; sudo make install

Пост-установка Snort

После установки Snort мы должны убедиться, что наши общие библиотеки обновлены. Мы можем сделать это с помощью команды:

sudo ldconfig

После того, как мы это сделаем, проверьте вашу установку Snort:

snort --version

Если эта команда не работает, вам нужно создать символическую ссылку. Вы можете сделать это, набрав:

sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version

Полученный результат будет выглядеть следующим образом:

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.7.5 GRE (Build 262)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
           Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using libpcap version 1.6.2
           Using PCRE version: 8.35 2014-04-04
           Using ZLIB version: 1.2.8

Нерутинг Snort

Теперь, когда у нас установлен snort, мы не хотим, чтобы он работал как root, поэтому нам нужно создать snortпользователя и группу. Чтобы создать нового пользователя и группу, мы можем использовать эти две команды:

sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

Поскольку мы установили программу с использованием исходного кода, нам нужно создать файлы конфигурации и правила для snort.

sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules

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

sudo mkdir /var/log/snort

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

sudo mkdir /usr/local/lib/snort_dynamicrules

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

sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

Настройка файлов конфигурации

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

sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort

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

  • Вы можете включить Barnyard2
  • Или вы можете просто оставить конфигурационные файлы в покое и выборочно включить нужные правила.

В любом случае, вы все равно захотите изменить несколько вещей. Продолжай читать.

конфигурация

В /etc/snort/snort.confфайле вам нужно будет изменить переменную HOME_NET. Он должен быть настроен на IP-блок вашей внутренней сети, чтобы не регистрировать попытки вашей собственной сети войти на сервер. Это может быть 10.0.0.0/24или 192.168.0.0/16. В строке 45 /etc/snort/snort.confизмените переменную HOME_NETна это значение IP-блока вашей сети.

В моей сети это выглядит так:

ipvar HOME_NET 192.168.0.0/16

Затем вам нужно установить EXTERNAL_NETпеременную на:

any

Который просто превращается EXERNAL_NETво что бы то ни HOME_NETбыло.

Установление правил

Теперь, когда большая часть системы настроена, нам нужно настроить наши правила для этого маленького поросенка. Где - то около линии 104 в вашем /etc/snort/snort.confфайле, вы должны увидеть «вар» декларации и переменные RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, и BLACK_LIST_PATH. Их значения должны быть установлены на пути, которые мы использовали в Un-rooting Snort.

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

Как только эти значения установлены, удалите или закомментируйте текущие правила, начиная со строки 548.

Теперь давайте проверим правильность вашей конфигурации. Вы можете проверить это с snort.

 # snort -T -c /etc/snort/snort.conf

Вы увидите вывод, похожий на следующий (сокращен для краткости).

 Running in Test mode

         --== Initializing Snort ==--
 Initializing Output Plugins!
 Initializing Preprocessors!
 Initializing Plug-ins!
 .....
 Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
 Verifying Preprocessor Configurations!

         --== Initialization Complete ==--

    ,,_     -*> Snort! <*-
   o"  )~   Version 2.9.8.0 GRE (Build 229) 
    ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
            Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using libpcap version 1.7.4
            Using PCRE version: 8.35 2014-04-04
            Using ZLIB version: 1.2.8

            Rules Engine: SF_SNORT_DETECTION_ENGINE  Version 2.4  <Build 1>
            Preprocessor Object: SF_IMAP  Version 1.0  <Build 1>
            Preprocessor Object: SF_FTPTELNET  Version 1.2  <Build 13>
            Preprocessor Object: SF_SIP  Version 1.1  <Build 1>
            Preprocessor Object: SF_REPUTATION  Version 1.1  <Build 1>
            Preprocessor Object: SF_POP  Version 1.0  <Build 1>
            Preprocessor Object: SF_DCERPC2  Version 1.0  <Build 3>
            Preprocessor Object: SF_SDF  Version 1.1  <Build 1>
            Preprocessor Object: SF_GTP  Version 1.1  <Build 1>
            Preprocessor Object: SF_DNS  Version 1.1  <Build 4>
            Preprocessor Object: SF_SSH  Version 1.1  <Build 3>
            Preprocessor Object: SF_DNP3  Version 1.1  <Build 1>
            Preprocessor Object: SF_SSLPP  Version 1.1  <Build 4>
            Preprocessor Object: SF_SMTP  Version 1.1  <Build 9>
            Preprocessor Object: SF_MODBUS  Version 1.1  <Build 1>

 Snort successfully validated the configuration!
 Snort exiting

Теперь, когда все настроено без ошибок, мы готовы начать тестирование Snort.

Тестирование Snort

Самый простой способ проверить Snort - включить local.rules. Это файл, который содержит ваши пользовательские правила.

Если вы заметили в snort.confфайле где-то около строки 546, эта строка существует:

include $RULE_PATH/local.rules

Если у вас его нет, пожалуйста, добавьте его около 546. Затем вы можете использовать local.rulesфайл для тестирования. В качестве базового теста я просто использую Snort для отслеживания ping-запроса (ICMP-запроса). Вы можете сделать это, добавив следующую строку в ваш local.rulesфайл.

 alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)

Как только у вас есть это в вашем файле, сохраните его и продолжайте чтение.

Запустить тест

Следующая команда запустит Snort и напечатает оповещения «быстрого режима», как пользователь snort, в группе snort, используя config /etc/snort/snort.conf, и будет прослушивать сетевой интерфейс eno1. Вам нужно будет переключиться eno1на любой сетевой интерфейс, который прослушивает ваша система.

$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1

Запустив компьютер, пингуйте этот компьютер. Вы начнете видеть вывод, который выглядит следующим образом:

01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal

Вы можете нажать Ctrl + C, чтобы выйти из программы, и все. Snort все настроено. Теперь вы можете использовать любые правила, которые пожелаете.

Наконец, я хочу отметить, что существуют некоторые общедоступные правила, разработанные сообществом, которые можно загрузить с официального сайта на вкладке «Сообщество». Ищите «Snort», тогда просто под этим есть ссылка сообщества. Загрузите его, извлеките его и найдите community.rulesфайл.



Настройка NFS Share на Debian

Настройка NFS Share на Debian

NFS - это сетевая файловая система, которая позволяет компьютерам получать доступ к файлам через компьютерную сеть. Это руководство объясняет, как вы можете выставлять папки через NF

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

При настройке нового сервера Linux рекомендуется обновить ядро ​​системы и другие пакеты до последней стабильной версии. В этой статье

Использование MySQL Views в Debian 7

Использование MySQL Views в Debian 7

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

Настройка Chroot в Debian

Настройка Chroot в Debian

Эта статья научит вас, как настроить chroot-джейл в Debian. Я предполагаю, что вы используете Debian 7.x. Если вы используете Debian 6 или 8, это может сработать, но

Как установить PiVPN на Debian

Как установить PiVPN на Debian

Введение Простой способ настроить VPN-сервер в Debian - это PiVPN. PiVPN - это установщик и оболочка для OpenVPN. Это создает простые команды для вас т

Как собрать Brotli из исходного кода на Debian 9

Как собрать Brotli из исходного кода на Debian 9

Используете другую систему? Brotli - это новый метод сжатия с лучшей степенью сжатия, чем в Gzip. Его исходный код публично размещен на Github. Thi

Как установить Apache Cassandra 3.11.x на Debian 9

Как установить Apache Cassandra 3.11.x на Debian 9

Используете другую систему? Apache Cassandra - бесплатная система управления базами данных NoSQL с открытым исходным кодом, разработанная для обеспечения масштабируемости, высокой

Установите Lynis на Debian 8

Установите Lynis на Debian 8

Введение Lynis - это бесплатный инструмент для аудита системы с открытым исходным кодом, который используется многими системными администраторами для проверки целостности и защиты своих систем. я

Как установить InvoicePlane в Debian 9

Как установить InvoicePlane в Debian 9

Используете другую систему? InvoicePlane - это бесплатное приложение для выставления счетов с открытым исходным кодом. Его исходный код можно найти в этом хранилище Github. Этот гид

Как установить Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Как установить Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Использ��ете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Установите Plesk на Debian 7 (Wheezy)

Установите Plesk на Debian 7 (Wheezy)

Используете другую систему? Plesk - это проприетарная панель управления веб-хостинга, которая позволяет пользователям управлять своими личными и / или клиентскими веб-сайтами, базами данных.

Как установить BookStack в Debian 9

Как установить BookStack в Debian 9

Используете другую систему? BookStack - это простая, удобная и простая в использовании платформа для организации и хранения информации. BookStack полностью бесплатен и открыт

Как установить Pagekit 1.0 CMS на Debian 9 LAMP VPS

Как установить Pagekit 1.0 CMS на Debian 9 LAMP VPS

Используете другую систему? Pagekit 1.0 CMS - это красивая, модульная, расширяемая и легкая, бесплатная и с открытым исходным кодом система управления контентом (CMS) с

Как установить Subrion 4.1 CMS на Debian 9 LAMP VPS

Как установить Subrion 4.1 CMS на Debian 9 LAMP VPS

Используете другую систему? Subrion 4.1 CMS - это мощная и гибкая система управления контентом с открытым исходным кодом (CMS), которая обеспечивает интуитивно понятный и понятный контент.

Лучшие инструменты мониторинга для Ubuntu и CentOS

Лучшие инструменты мониторинга для Ubuntu и CentOS

Введение Системы Linux поставляются с инструментами мониторинга по умолчанию, такими как top, df и du, которые помогают отслеживать процессы и дисковое пространство. Хотя часто они

Настройте сервер синхронизации Firefox на Debian 9 или Ubuntu 16.04

Настройте сервер синхронизации Firefox на Debian 9 или Ubuntu 16.04

Используете другую систему? Firefox Sync - это функция синхронизации браузера, которая позволяет вам делиться своими данными и предпочтениями (такими как закладки, история

Как установить CMS за октябрь 1.0 на Debian 9 LAMP VPS

Как установить CMS за октябрь 1.0 на Debian 9 LAMP VPS

Используете другую систему? Октябрь 1.0 CMS - это простая и надежная, бесплатная система управления контентом (CMS) с открытым исходным кодом, построенная на платформе Laravel.

Как установить X-Cart 5 на Debian 10

Как установить X-Cart 5 на Debian 10

Используете другую систему? X-Cart - чрезвычайно гибкая платформа электронной коммерции с открытым исходным кодом, обладающая множеством функций и интеграций. Исходный код X-Cart доступен

Отслеживайте состояние сервера Debian с помощью Munin

Отслеживайте состояние сервера Debian с помощью Munin

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

Как включить TLS 1.3 в Apache на Debian 10

Как включить TLS 1.3 в Apache на Debian 10

Используете другую систему? TLS 1.3 - это версия протокола безопасности транспортного уровня (TLS), который был опубликован в 2018 году в качестве предлагаемого стандарта в RFC 8446.

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше