Лабораторная работа №14. NIPS/NIDS: Snort

Основные теоретические сведения

Цель: Получить сведения о том, как осуществляется защита с помощью систем обнаружения и предотвращения вторжений. Научиться использовать SNORT.

Система обнаружения вторжений (IDS) — программное или аппаратное средство, предназначенное для выявления фактов неавторизованного доступа в компьютерную систему или сеть либо несанкционированного управления ими в основном через Интернет.

Сетевая система обнаружения вторжений (англ. network intrusion detection system, NIDS) — система обнаружения вторжений, которая отслеживает такие виды вредоносной деятельности, как DoS атаки, сканирование портов или даже попытки проникновения в сеть.

В пассивной IDS при обнаружении нарушения безопасности, информация о нарушении записывается в лог приложения, а также сигналы опасности отправляются на консоль и/или администратору системы по определенному каналу связи. В активной системе, также известной как Система Предотвращения Вторжений (IPS — Intrusion Prevention system (англ.)), IDS ведет ответные действия на нарушение, сбрасывая соединение или перенастраивая межсетевой экран для блокирования трафика от злоумышленника. Ответные действия могут проводиться автоматически либо по команде оператора.

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

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

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

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

Большая часть правил Snort умещается в 1 строку. Это следствие того, что до версии 1.8 нельзя было использовать многострочные записи. В более поздних версиях правила можно растягивать на несколько строк, вставляя в конец строки символ “” (без кавычек).

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

Задания к лабораторной работе

  • Узнайте свой ip адрес командой ifconfig
  • Установите SNORT <sudo apt-get install snort>
  • При установке будет нужно указать защищаемую сеть. ВВедите ..*.0/24 (Где ..* - первые три числа вашего ip-адреса, например эот будет 192.168.1.0/24, если вы используете VirtualBox и у вас в настройках сети стоит сетевой мост)
  • Запустите SNORT <sudo service snort start>
  • Настройка правил
  • Перейдите в каталог /etc/snort/rules < cd /etc/snort/rules)
  • Создайте файл с правилами <nano test.rules>
alert tcp any any -> any any (content:»https://www.google.ru/» ; msg:»Someone open Google website» ; sid: 12312313;)
  • Перейдите в каталог /etc/snort <cd /etc/snort)
  • Теперь нужно изменить содержимое конфигурационного файла Snort < sudo nano snort.conf>
  • Найдите строчки с правилами (они начинаются с include $RULE_PATH, это в части Step 7) и добавьте файл с нашими правилами
include $RULE_PATH/test.tules
  • В файле snort.conf так же укажите домашнюю сеть. В Step 1 измените строчку «ipvar HOME_NET any» , на
ipvar HOME_NET 192.168.1.0/24
  • Запустите snort <sudo snort -A console -i eth0 -c snort.conf>
  • Зайдите на https://www.google.ru/ и проверьте в терминале, как работает правило.
  • Теперь нам понадобиться еще одна виртуальная машина, на ней должен быть установлен nmap.
  • Со второй ВМ используйте ping, посмотрите, как реагирует SNORT
  • Используйте различные методы сканирования nmap( используйте -sS, -sT, -sN, -sU, -sX, -sF и посмотрите, как реагирует SNORT;
  • В файл test.rules добавьте правило обнаружения сканирования nmap -sN (NULL Scan)
alert tcp any any -> any any (msg:»NULL Scan»; flags: 0; sid:322222;)
  • Запустите snort <sudo snort -A console -i eth0 -c snort.conf>
  • Со второй виртуальной машины произведите NULL сканирование <sudo nmap -sN>, проверьте, как работает правило.
  • Можно загрузить обновленные правила SNORT, для этого:
  • Зарегистрируйтесь на сайте https://www.snort.org/ и скачайте последнюю версию правил
  • Разархивируйте скачанный архив и скопируйте каталоги rules, so_rules и preproc_rules в /etc/snort :

sudo cp -R ./rules/ /etc/snort/

sudo cp -R ./so_rules/ /etc/snort/

sudo cp -R ./preproc_rules/ /etc/snort/

Вопросы к лабораторной работе

  1. Что такое IDS?
  2. Что такое сетевая система обнаружения вторжений?
  3. Чем отличаются пассивные и активные IDS?
  4. Что такое SNORT?
  5. Какие задачи выполняет SNORT?
  6. Как работают правила SNORT?
  7. Как писать правила для SNORT?
  8. Зачем писать собственные правила SNORT?
  9. Зачем загружать обновление правил SNORT?
  10. Как в SNORT создавать логи?

Составьте отчет о выполнении лабораторной работы.

Включите в него копии экрана и ответы на вопросы лабораторной работы.