Skip to content

Latest commit

 

History

History
 
 

15_defence

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Домашнее задание к занятию «Организация безопасности сети (часть 2)»

В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте netology.ru.

Suricata

Вводная

Мы уже посмотрели, как настраивать Suricata на лекции. Сейчас стоит задача выяснить, как она по умолчанию реагирует на попытки DoS'а (например, с помощью ab).

Задача

  1. Настройте suricata согласно материалам из лекций
  2. Отключите fail2ban, если он у вас был включен
  3. Уберите из nginx rate limit
  4. Проведите с машины с Kali с помощью ab в трёх вариантах (последовательно):
    1. 10_000 запросов по 100 одновременно
    2. 10_000 запросов по 1000 одновременно
    3. 10_000 запросов по 10 одновременно

В качестве ответа пришлите описание реакции Suricata на подобное воздействие (п.4) в ЛК студента Нетологии.

Описание выполнения

У вас должно быть две виртуальные машины:

  • Ubuntu с nginx (10.0.0.1)
  • Kali (10.0.0.2)

У вас уже должен быть настроенный nginx, если вдруг так случилось, что его нет, то вернуться к соответствующему уроку.

Ubuntu

1. Удостоверяетесь, что сервис nginx запущен, порт 80 открыт.

2. Если вы не устанавливали nginx, то:

sudo apt update
sudo apt install nginx

3. Редактируете конфигурацию sudo mcedit /etc/nginx/sites-enabled/default, чтобы она выглядела следующим образом:

4. Сохраняете изменения

5. Проверяете корректность конфигурации sudo nginx -t

6. Применяете конфигурацию sudo nginx -s reload

7. Отключаете fail2ban с помощью команды sudo systemctl stop fail2ban (чтобы отключить полностью и он не запускался после перезагрузки машины, нужно дополнительно ввести команду sudo systemctl disable fail2ban)

8. Устанавливаете suricata с помощью следующих команд:

sudo apt install software-properties-common
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt update
sudo apt install suricata
sudo suricata-update

Примечание*: suricata-update скачивает набор правил от ET Labs.

9. Проверяете, что сервис запустился после установки

sudo systemctl status suricata

10. Меняете значение EXTERNAL_NET в /etc/suricata/suricata.yaml на "any":

11. Перезапускаете suricata:

sudo systemctl restart suricata

12. Смотрим доступные сетевые интерфейсы:

ip addr show

Выбираем тот, на который у вас настроен ip 10.0.0.1 (в примере enp0s8):

13. Запускаем suricata на выбранном интерфейсе:

sudo suricata -c /etc/suricata/suricata.yaml -i enp0s8

14. В другой консоли запускаете просмотр лога:

sudo tail -f /var/log/suricata/fast.log

Полностью посмотреть лог вы можете с помощью уже знакомых вам инструментов, например, sudo mcedit /var/log/suricata/fast.log (хотя более правильным будет просмотр с помощью специальных pager'ов sudo less /var/log/suricata/fast.log, выход из которых осуществляется с помощью клавиши q).

Kali

Для генерации запросов мы будем использовать утилиту Apache Benchmarks.

ab --help

Если у вас выводится сообщение о том, что программа не найдена (bash: ab command not found), то установите её:

sudo apt update
sudo apt install ab

Далее делаем 10_000 запросов по 100 одновременно:

ab -n 10000 -c 100 http://netology.local

Далее делаем 10_000 запросов по 1000 одновременно:

ab -n 10000 -c 1000 http://netology.local

Далее делаем 10_000 запросов по 10 одновременно:

ab -n 10000 -c 10 http://netology.local

Опишите поведение suricata (сообщения, появляющиеся в log-файле) после:

  1. 10_000 запросов по 100
  2. 10_000 запросов по 1000
  3. 10_000 запросов по 10

Ответ пришлите в свободной форме в ЛК студента Нетологии.

Suricata Rules*

Важно: это бонусная задача, выполнять её не обязательно (её (не)выполнение не влияет на зачёт по ДЗ).

Если вы ставили nginx по умолчанию, так, как описано в ДЗ, то в логах suricata обнаружите запись:

ET INFO Unconfigured nginx Access

Правила, которые мы использовали в предыдущем ДЗ, располагаются в файле /var/lib/suricata/rules/suricata.rules.

Найдите среди правил правило, которое отвечает за эту строку (ET INFO Unconfigured nginx Access) и кратко опишите:

  1. На основании чего происходит срабатывание данного правила
  2. Ваше предположение о том, на что оно направлено

Ответ пришлите в свободной форме в ЛК студента Нетологии.