Файл: Павлов А. Ю. Ибс42 Установить сетевую сов snort в Kali Linux.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 50
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Павлов А.Ю. ИБС42
-
Установить сетевую СОВ Snort в Kali Linux.
Т.к. snort больше нет в репозиториях kali linux, пришлось добавлять репозитории ubuntu в
Также нужно было добавить два публичных ключа
После чего обновляемся из репозиториев ubuntu
Установка SNORT
-
Вывести на экран список доступных сетевых интерфейсов.
Список доступных сетевых интерфейсов(команда ifconfig):
-
Запустить Snort на выбранном интерфейсе в режиме анализатора пакетов с выводом информации на экран.
Команда для запуска snort на интерфейсе eth0 в режиме анализатора пакетов с выводом информации на экран. Функция -v означает подробный режим. С ней будет показан более подробный вывод с обнаруженных пакетов.
Результат команды:
-
Выполнить любые действия, которые приведут к отправке или приему сетевых пакетов (например, отправить эхо-запрос на любой IP-адрес командой ping). Убедиться, что пакеты перехватываются и отображаются на экране.
Отправка эхо-запроса:
Результат, отловленный при помощи snort:
-
Настроить в файле конфигурации «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 после внесения изменений:
-
Настроить в файле конфигурации «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-дейтаграмм
-
Настроить в файле конфигурации «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):
-
Добавить в файл конфигурации строку «include $RULE_PATH/local.rules».
Создайте в каталоге с правилами пустой текстовый файл local.rules
Открываем файл конфигурации и ищем заголовок с # site specific rules. Добавляем туда строку include $RULE_PATH/local.rules: