Павлов А. Ю. Ибс42 Установить сетевую сов snort в Kali Linux
Скачать 2.83 Mb.
|
Павлов А.Ю. ИБС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: |