# Установка, настройка и тестирование Snort и Suricata
Установка IDS,IPS систем будет производится на следующей инфраструктуре

## Установка Snort
Установка Snort будет осуществляться в pfSense FW-WAN.
1) После того как осуществлен вход в веб-интерфейс pfSense, необходимо перейти на вкладку:
System -> Package Manager
2) Затем переходим во вкладку "Available Packages" для установки Snort, в поле Search term вводим "sno" и нажимаем кнопку поиска, после чего в Packages появится Snort
3) Далее нажимаем install + confirm
## Настройка Snort
1) Далее для настройки Snort необходимо перейти в раздел Global Settings и там установить следующие пункты:
* Click to enable download of Snort free Registered User or paid Subscriber rules
при этом нужно указать Snort Oinkmaster Code который нужно получить с сайта:
* Click to enable download of Snort GPLv2 Community rules
* Click to enable download of Emerging Threats Open rules
* Click to enable download of Sourcefire OpenAppID Detectors - позволяет идентифицировать приложения которые генерируют траффик
* Click to enable download of the AppID Open Text Rules
* Click to enable download of FEODO Tracker Botnet C2 IP rules
Update interval 1 DAY
* Click to retain Snort settings after package removal.
Сохраняем настройки
2) Далее для обновления правил необходимо перейти в раздел Update.
* Находясь в Services/Snort Переходим во вкладку Updates
* Нажимаем кнопку Update
* После чего из заданных нами ранее настроек все правила будут обновлены.
В качестве интерфейса укажем WAN(em0).
## Установка Suricata
Установка Suricata также будет осуществляться в pfSense в FW-LAN.
1) Необходимо перейти на вкладку: System -> Package Manager
2) Затем переходим на вкладку "Available Packages"
3) Для установки Suricata, в поле Search term вводим "sur" и нажимаем кнопку поиска, после чего в Packages появится suricata
4) Далее нажимаем install + confirm
После того как suricata установилась нужно перейти в настройки её интерфейса Services -> Suricata -> Global Settings
## Настройка Suricata
1) Переходим в Global Settings
Здесь есть разделы: Install ETOpen Emerging Threats rules - бесплатные правила, Install ETPro Emerging Threats rules - платные правила.
**Бесплатаные правила отличаются от платных, тем что они устаревшие на один месяц.**
* Устанавливаем пункт ETOpen is a free open source set of Suricata rules whose coverage is more limited than ETPro из раздела Install ETOpen Emerging Threats rules.
* Устанавливаем пункт Snort free Registred User or paid Subscriber rules, для этого предварительно нужно будет зарегистрироваться нажав на ссылку "Sign Up for free Registred User Rules Account"
* После того как регистрация на snort.org пройдена, нужно зайти в личный профиль snort.org перейти на вкладку Oinkcode и скопировать отображенный код
* Скопированный код нужно вставить в Snort Oinkmaster Code в интерфейсе глобальных настроек Suricata
* Далее нужно снова вернуться на сайт snort.org и перейти на страницу загрузки правил snort.org/downloads, **т.к. правила от Snort v3 для Suricata использовать нельзя**, то копируем последние правила из раздела Snort v 2.9 (на 11022022 - это snortrules-snapshot-2983.tar.gz)
* Вставляем скопированное имя файла в Snort Rules Filename в интерфейсе глобальных настроек Suricata
* Устанавливаем пункт The Snort Community Ruleset is a GPLv2 Talos-certified ruleset that is distributed free of charge without any Snort Subscriber License restrictions в разделе Install Snort GPLv2 Community rules
* Устанавливаем пункт The Feodo Botnet C2 IP Ruleset contains Dridex and Emotet/Heodo botnet command and control servers (C&Cs) tracked by Feodo Tracker в разделе Install Feodo Tracker Botnet C2 IP rules
* Устанавливаем пункт The ABUSE.ch SSL Blacklist Ruleset contains the SSL cert fingerprints of all SSL certs blacklisted by ABUSE.ch. в разделе Install ABUSE.ch SSL Blacklist rules
* Интервал для обновления установить 1 день
* Установить флаг отвечающий за горячее обновление правил, т.е. после обновления не потребуется перезагрузка suricata. Для этого нужно включить пункт "Enable "Live Swap" reload of rules after downloading an update. Default is Not Checked" раздела "Live Rule Swap on Update"
* Отключаем флаг отвечающий гео определение IP адреса флаг "Enable downloading of free GeoLite2 Country IP Database updates. Default is Not Checked" раздела "GeoLite2 DB Update"
Сохраняем настройки
2) Далее для обновления правил необходимо перейти в раздел Update.
* Находясь в Services/Suricata Переходим во вкладку Updates
* Нажимаем кнопку Update
* После чего из заданных нами ранее настроек все правила будут обновлены.
3) Настройка интерфейса (порта) на suricata
* Переходим Services->Suricata вкладка Interfaces, нажимаем Add
* Выбираем Interface, в примере выбран DMZ (em0)
* Отключаем все пункты логирования в блоке "Logging Settings"
* Остальные настройки оставляем по умолчанию и нажимаем сохранить
* Затем находясь Services/Suricata/Interface Settings/ переходим во вкладку WAN-Categories здесь выбираем необходимые правила и сохраняем.
* После чего снова возвращаемся на вкладку Interfaces, появился интерфейс который мы настраивали, в столбце Suricata Status нужно нажать кнопку с иконкой "Play" (hint: Start Suricata on this interface)
4) Настройка направления траффика при котором будут работать правила
Для начала нам нужно определить что для suricata является "домашней сетью" (Home Net), а что "внешней сетью" (External Net).


Также возможно указать свой список сетей. Для этого нужно создать алиас IP адресов и использовать в списках HOME_NET, EXTERNAL_NET созданный алиас.
В Snort и Suricata есть "пропускной список" Pass Lists если в него добавить IP-адреса или алиасы - то IDP, IPS системы будут пропускать траффик без проведения анализа на обнаружение, либо блокировку.
## Тестирование Snort и Suricata
Далее проверим как Snort и Suricata обнаруживают потенциальные угрозы в траффике сети.
Выполним сканирование портов шлюза FW-WAN с помощью nmap и проверим что обнаружит установленная на FW-WAN IDS-система Snort.

Вот такие события появились в Snort:

На FW-WAN был заранее настроен проброс портов для проведения потенциальных атак.
**1) Проведем атаку eternal blue. **
* Для этого на kali-2021 необходимо запустить msfconsole.
* После выполнить поиск эксплойта выполнив команду search eternalblue
* По результату поиска выбираем эксплойт EternalBlue - индекс 0 вводим команду - use 0

* Затем просматриваем опции которые нужно заполнить введя options

* После чего вводим IP адрес узла на который будет проводиться атака

* Далее вводим run
Получаем следующий результат

В итоге вот что обнаружил snort

Suricata:

**2) Проведем атаку blue keep. **
Всё делаем по аналогии с атакой eternal blue, в соответствии с командами указанными на скринах:



Атака не удалась Windows 7 переходит в режим синего экрана.
Но наша задача была проверить обнаружение в Snort и Suricata
И вот что они зафиксировали
Snort:

Suricata
