Файл: Павлов А. Ю. Ибс42 Установить сетевую сов snort в Kali Linux.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 50

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Павлов А.Ю. ИБС42

  1. Установить сетевую СОВ Snort в Kali Linux.

Т.к. snort больше нет в репозиториях kali linux, пришлось добавлять репозитории ubuntu в





Также нужно было добавить два публичных ключа



После чего обновляемся из репозиториев ubuntu



Установка SNORT



  1. Вывести на экран список доступных сетевых интерфейсов.

Список доступных сетевых интерфейсов(команда ifconfig):



  1. Запустить Snort на выбранном интерфейсе в режиме анализатора пакетов с выводом информации на экран.

Команда для запуска snort на интерфейсе eth0 в режиме анализатора пакетов с выводом информации на экран. Функция -v означает подробный режим. С ней будет показан более подробный вывод с обнаруженных пакетов.



Результат команды:



  1. Выполнить любые действия, которые приведут к отправке или приему сетевых пакетов (например, отправить эхо-запрос на любой IP-адрес командой ping). Убедиться, что пакеты перехватываются и отображаются на экране.

Отправка эхо-запроса:



Результат, отловленный при помощи snort:



  1. Настроить в файле конфигурации «snort.conf» переменные, задающие адреса внутренней и внешней подсетей, пути к каталогам с правилами и логами.


Заходим в конфигурационный файл snort.conf



Файл snort.conf:



Находим переменную HOME_NET, которая определяет внутреннюю подсеть, и заменяем ее на значение нашей внутренней подсети 192.168.1.0/24:





Далее находим переменную EXTERNAL_NET, которая определяет внешнюю подсеть и заменяем ее значение на нашу подсеть 213.80.217.0/24



Значение по умолчанию:



После замены:



Находим переменную RULE_PATH и ее значение, содержащее директории, где находиться файл с правилами:



Добавляем переменную файла с логами LOG_DIR и путь к нему:



Перезапускаем snort после внесения изменений:



  1. Настроить в файле конфигурации «snort.conf», указав в нем необходимые препроцессоры и их опции для корректной обработки фрагментированных IP-пакетов, и сборки TCP-сегментов. (привести описание значений заданных опций препроцессоров).

Открываем конфигурационный файл:



Находим раздел Preprocessors:



За обработку фрагментированных IP-пакетов отвечает препроцессор frag3:



У этого препроцессора есть следующие опции:

  • preprocessor frag3_global: max_frags <количество>: Задает максимальное количество фрагментированных IP-пакетов, которые Snort будет обрабатывать.

  • preprocessor frag3_global: fragment_timeout <время>: Устанавливает время ожидания для сбора всех фрагментов одного IP-пакета. Если время ожидания истекает, то фрагменты, которые не были собраны, будут удалены.

  • preprocessor frag3_global: detection <тип>: Задает тип обнаружения фрагментированных пакетов. Доступные значения для <тип>: bsd, sum, lowmem, all.

  • preprocessor frag3_global: min_frag_len <длина>: Задает минимальную длину фрагмента для обработки. Фрагменты, короче указанной длины, будут проигнорированы.

  • preprocessor frag3_engine: memcap <размер>: Задает максимальный объем памяти, который может использоваться для обработки фрагментированных пакетов.

  • preprocessor frag3_engine: policy <политика>: Задает политику обработки фрагментированных пакетов. Доступные значения для <политика>: bsd, windows, linux.




Заранее были установлены следующие опции:

  • max_frags 65536: Задает максимальное количество фрагментированных IP-пакетов, которые Snort будет обрабатывать.

  • policy windows: Указывает политику обработки фрагментированных пакетов, настроенную для Windows.

  • detect_anomalies: Включает обнаружение аномалий в фрагментированных пакетах.

  • overlap_limit 10: Устанавливает максимальное количество перекрывающихся фрагментов для одного IP-пакета в 10.

  • min_fragment_length 100: Задает минимальную длину фрагмента для обработки в 100 байт.

  • timeout 180: Устанавливает время ожидания для сбора всех фрагментов одного IP-пакета в 180 секунд.

За сборку TCP-сегментов отвечает препроцессор stream5:



Для него заданы следующие опции:

  • stream5_global: track_tcp yes: Включает отслеживание TCP-соединений.

  • stream5_global: track_udp yes: Включает отслеживание UDP-соединений.

  • stream5_global: track_icmp no: Отключает отслеживание ICMP-соединений.

  • stream5_global: max_tcp 262144: Задает максимальное количество активных TCP-соединений, которые могут быть отслеживаемыми одновременно.

  • stream5_global: max_udp 131072: Задает максимальное количество активных UDP-соединений, которые могут быть отслеживаемыми одновременно.

  • stream5_global: max_active_responses 2: Задает максимальное количество активных ответных пакетов, которые могут быть отслеживаемыми одновременно.

  • stream5_global: min_response_seconds 5: Задает минимальное время в секундах, в течение которого должен быть получен ответный пакет, чтобы считаться действительным.

  • stream5_tcp: policy windows: Указывает политику обработки TCP-соединений, настроенную для Windows.

  • stream5_tcp: detect_anomalies: Включает обнаружение аномалий в TCP-соединениях.

  • stream5_tcp: require_3whs 180: Устанавливает время ожидания для завершения трех пакетов рукопожатия TCP (3-way handshake) в 180 секунд.

  • stream5_tcp: overlap_limit 10: Задает максимальное количество перекрывающихся TCP-сегментов для одного TCP-соединения в 10.

  • stream5_tcp: small_segments 3 bytes 150: Определяет, что TCP-сегменты, состоящие из 3 байт до 150 байт, считаются малыми и подлежат особой обработке.

  • stream5_tcp: timeout 180: Устанавливает время ожидания для сборки TCP-сегментов в 180 секунд.

  • stream5_tcp: ports client: Указывает порты, используемые клиентами, которые должны быть отслеживаемыми.

  • stream5_tcp: ports both: Указывает порты, используемые как клиентами, так и серверами, которые должны быть отслеживаемыми.

  • stream5_udp: timeout 180: Устанавливает время ожидания для сборки UDP-дейтаграмм




  1. Настроить в файле конфигурации «snort.conf» препроцессор sfPortscan, позволяющий выявлять сканирование портов защищаемой системы (привести описание значений заданных опций препроцессора). Для проверки запустить сканирование с помощью nmap с другого компьютера.



В разделе sfPortscan препроцессора были следующие настройки:

  • proto { all }: Задает типы протоколов, для которых будет выполняться обнаружение сканирования портов. В данном случае, указано all, что означает обнаружение сканирования для всех протоколов.

  • memcap { 10000000 }: Устанавливает предельное значение памяти (в байтах), которое препроцессор sfportscan может использовать для хранения информации о сканировании портов. В данном примере установлено значение 10 000 000 байт (10 МБ).

  • sense_level { low }: Определяет уровень обнаружения сканирования портов. В данном случае, установлено значение low, что указывает на низкую чувствительность обнаружения.

Добавим следующие правила:

  • sense_level { high }: Определяет уровень обнаружения сканирования портов. В данном случае, установлено значение high, что указывает на повышенную чувствительность обнаружения.

  • logfile { sfp}: Устанавливает файл для записи событий сканирования портов.



Сканирование портов с помощью nmap:



События сканирования портов(записи файла sfp):



  1. Добавить в файл конфигурации строку «include $RULE_PATH/local.rules».

Создайте в каталоге с правилами пустой текстовый файл local.rules

Открываем файл конфигурации и ищем заголовок с # site specific rules. Добавляем туда строку include $RULE_PATH/local.rules: