Лабораторная работа. Правила Snort и правила межсетевого экрана
Топология
Задачи
В защищенной производственной сети сетевые оповещения выдаются разными типами устройств, такими как устройства обеспечения безопасности, межсетевые экраны, устройства IPS, маршрутизаторы, коммутаторы, серверы и так далее. Проблема заключается в том, что не все оповещения создаются одинаково. Например, оповещения, созданные на сервере, и оповещения, созданные межсетевым экраном, будут отличаться с точки зрения содержимого и формата.
В этой лабораторной работе вы познакомитесь с правилами межсетевого экрана и сигнатурами IDS.
Виртуальная машина рабочей станции CyberOps
Интернет-подключение
Примечание. В этой лабораторной работе ВМ CyberOps Workstation — это контейнер для развертывания среды Mininet, показанной в топологии. Если при запуске какой-либо команды возникает ошибка памяти, завершите выполнение данного шага, перейдите в раздел параметров ВМ и увеличьте объем памяти. Значение по умолчанию — 1 ГБ; попробуйте значение 2 ГБ.
Запустите Oracle VirtualBox и при необходимости переведите CyberOps Workstation в режим мостового соединения. Выберите Machine > Settings > Network (Машина > Параметры > Сеть). В разделе Attached To (Присоединение к) выберите Bridged Adapter (Мостовой адаптер) (или, если вы используете сеть Wi-Fi с прокси-сервером, может потребоваться режим NAT adapter (адаптер NAT)), затем щелкните ОК.
Запустите ВМ CyberOps Workstation, откройте терминал и настройте ее сеть путем выполнения сценария configure_as_dhcp.sh.
Поскольку сценарий требует прав суперпользователя, введите пароль для пользователя analyst.
Используйте команду ifconfig , чтобы проверить, что у ВМ CyberOps Workstation теперь настроен IP-адрес из вашей локальной сети. Также можно проверить возможность подключения к какому-либо общедоступному веб-серверу, например командой ping www.cisco.com. Используйте сочетание клавиш Ctrl + C, чтобы остановить эхозапросы.
Межсетевые экраны и системы обнаружения вторжений (IDS) часто развертываются для частичной автоматизации задач мониторинга трафика. Межсетевые экраны и IDS сравнивают входящий трафик с административными правилами. Межсетевые экраны обычно проверяют на соответствие правилам заголовок пакета, а IDS часто сравнивают с набором правил полезные данные пакета. Поскольку межсетевые экраны и IDS применяют предварительно определенные правила к различным частям IP-пакета, то правила IDS и правила межсетевого экрана имеют различные структуры.
Несмотря на различия в структуре правил, остаются некоторые сходства между компонентами правил. Например, правила межсетевого экрана и IDS содержат компоненты соответствия и действия. Действия предпринимаются после обнаружения соответствия.
Компонент соответствия определяет интересующие элементы пакета, такие как источник пакета, назначение пакета, протоколы транспортного уровня и порты, а также данные, включенные в полезную нагрузку пакета.
Компонент действия определяет, что следует сделать с пакетом, у которого компонент соответствует условиям, например принять и переслать пакет, пропустить пакет или отправить пакет на дополнительный набор правил для дальнейшей проверки.
Стандартно межсетевой экран предназначен для отбрасывания всех пакетов по умолчанию при определении вручную, какой трафик должен быть разрешен. Известное под названием «отбрасывание по умолчанию», такое устройство экрана имеет преимущество при защите сети от неизвестных атак и протоколов. В рамках этой структуры обычно события отбрасывания пакетов записываются в журнал, поскольку они соответствуют пакетам, которые не были явно разрешены и таким образом нарушали политику организации. Такие события должны быть записаны для последующего анализа.
На виртуальной машине CyberOps Workstation выполните сценарий для запуска mininet.
Должна появиться командная строка mininet, указывая, что среда mininet готова к выполнению команд.
В командной строке mininet откройте оболочку на узле R1 следующей командой:
mininet> xterm R1
mininet>
Оболочка R1 открывается в окне терминала с черным текстом на белом фоне. Какой пользователь вошел в систему в этой оболочке? Как это можно определить?
Пользователь root. На это указывает знак #
В оболочке узла R1 запустите IDS на основе Linux под названием Snort.
Примечание. Приглашение командной строки не будет отображаться, поскольку теперь в этом окне работает Snort. Если по какой-либо причине Snort прекращает выполнение и на экран выводится командная строка [root@secOps analysts] #, то нужно повторно запустить сценарий для запуска Snort. Далее для перехвата предупреждений в рамках этой лабораторной работы среда Snort должна быть запущена.
Из командной строки среды mininet в ВМ CyberOps Workstation откройте оболочки для хостов H5 и H10.
mininet> xterm H5
mininet> xterm H10
mininet>
H10 имитирует сервер в Интернете, который содержит вредоносное ПО. На H10 запустите сценарий mal_server_start.sh для запуска соответствующего сервера.
На H10 проверьте работу веб-сервера с помощью команды netstat с параметрами -tunpa. При запуске с показанными ниже параметрами netstat выводит список всех портов, которые в настоящий момент назначены службам.
Как видно из приведенных выходных данных, веб-сервер nginx запущен и прослушивает подключения через порт TCP 6666.
В окне терминала R1 работает экземпляр Snort. Для того чтобы ввести дополнительные команды на R1, откройте другой терминал R1, введя еще раз команду xterm R1 в окне терминала ВМ CyberOps Workstation, как показано ниже. Также можно упорядочить окна терминала таким образом, чтобы можно было видеть информацию от всех устройств и взаимодействовать с каждым из них. На рисунке ниже показано удобное размещение окон для оставшейся части данной лабораторной работы.
В новой вкладке терминала R1 выполните команду tail с параметром -f для мониторинга файла /var/log/snort/alert в режиме реального времени. Это файл, настроенный в snort для записи оповещений.
[root@sec0ps analyst]# tail -f /var/log/snort/alert
Поскольку оповещения еще не записывались, то журнал должен быть пустым. Однако, если данная лабораторная работа выполнялась ранее, могут отображаться старые записи оповещений. В любом случае после ввода данной команды приглашение командной строки не появится. В этом окне будут отображаться оповещения по мере их формирования.
С хоста H5 командой wget загрузите файл с именем W32.Nimda.Amm.exe. Разработанная для загрузки содержимого по протоколу HTTP команда wget — это отличное средство для загрузки файлов непосредственно с веб-серверов из командной строки.
Какой порт используется при взаимодействии с веб-сервером вредоносного ПО? Как это можно определить?
Порт 6666. Порт был указан в URL-адресе после разделителя :
Файл был полностью загружен? Да
В IDS были созданы оповещения, связанные с загрузкой файла? Да
По мере передачи вредоносного файла на R1 используемая IDS Snort могла изучить его содержимое. Содержимое, которое соответствует хотя бы одной сигнатуре, настроенной в Snort, приводило к формированию оповещения в окне второго терминала R1 (вкладка, где выполняется tail -f). Запись оповещения показана ниже. Метка времени может отличаться.
Определите по этому оповещению, каков был источник и назначение адресов IPv4, используемых в этой транзакции.
Источник IP: 209.165.200.235; IP назначения: 209.165.202.133
Определите по этому оповещению, каковы были порты источника и назначения, используемые в этой транзакции.
Исходный порт: 44810; Порт назначения: 6666
Определите по этому оповещению, когда произошла загрузка.
Определите по этому оповещению, какое сообщение было зарегистрировано сигнатурой IDS.
Злонамеренный удар по серверу
На H5 используйте команду tcpdump для захвата этого события и повторно загрузите файл вредоносного ПО. Таким образом вы сможете перехватить данную транзакцию. Введите следующую команду для начала перехвата пакетов:
Эта команда указывает tcpdump перехватывать пакеты через интерфейс H5 eth0 и сохранять захваченные данные в файл с именем nimda.download.pcap.
Символ & в конце команды говорит, что оболочка должна выполнять tcpdump в фоновом режиме. Без этого символа tcpdump сделает невозможным ввод команд с этого терминала. Обратите внимание на строку [1] 5633, которая означает, что один процесс был отправлен в фоновый режим и идентификатор этого процесса (PID) — 5366. Ваш PID, скорее всего, будет отличаться.
Несколько раз нажмите клавишу ENTER (Ввод), чтобы вернуться к управлению оболочкой, в то время как tcpdump работает в фоновом режиме.
Теперь, когда tcpdump захватывает пакеты, повторно загрузите вредоносное ПО. На H5 повторно выполните данную команду или используйте стрелку вверх для вызова ее из истории команд.
Остановите перехват данных путем перевода tcpdump в интерактивный режим с помощью команды fg. Поскольку tcpdump была единственным процессом, отправленным в фоновый режим, то PID указывать не нужно. Остановите процесс tcpdump с помощью сочетания клавиш Ctrl + C. Процесс tcpdump останавливается, и отображается сводка по перехвату данных. Количество пакетов для вашего перехвата данных может отличаться.
На H5 используйте команду ls, чтобы проверить, что файл pcap был действительно сохранен на жестком диске и его размер больше нуля.
Примечание. Список каталогов может содержать разные сочетания файлов, но вы в любом случае должны увидеть файл nimda.download.pcap.
Какую пользу может представлять этот файл PCAP для аналитика кибербезопасности?
Файлы PCAP содержат пакеты, относящиеся к трафику, наблюдаемому захватывающим сетевым адаптером. Таким образом, PCAP очень полезен для повторного отслеживания сетевых событий, таких как обмен данными со злонамеренными конечными точками. Для облегчения анализа PCAP можно использовать такие инструменты, как Wireshark
Примечание. Анализ полученного файла PCAP будет выполняться в другой лабораторной работе.
На шаге 1 был запущен вредоносный сервер, размещенный в Интернете. Для того чтобы предотвратить попадание других пользователей на этот сервер, рекомендуется блокировать его в граничном межсетевом экране.
В топологии данной лабораторной работы на R1 работает не только IDS, но и очень популярный межсетевой экран на основе Linux под названием iptables. На этом этапе вы будете блокировать трафик на вредоносный сервер, определенный на шаге 1, изменив правила межсетевого экрана, установленные в данный момент на R1.