Вы находитесь на странице: 1из 13

Лабораторная работа.

Правила Snort и правила межсетевого


экрана
Топология

Задачи
Часть 1. Подготовка виртуальной среды
Часть 2. Межсетевой экран и журналы IDS
Часть 3. Завершение и очистка процесса Mininet

Общие сведения и сценарий


В защищенной производственной сети сетевые оповещения выдаются разными типами устройств,
такими как устройства обеспечения безопасности, межсетевые экраны, устройства IPS,
маршрутизаторы, коммутаторы, серверы и так далее. Проблема заключается в том, что не все
оповещения создаются одинаково. Например, оповещения, созданные на сервере, и оповещения,
созданные межсетевым экраном, будут отличаться с точки зрения содержимого и формата.
В этой лабораторной работе вы познакомитесь с правилами межсетевого экрана и сигнатурами IDS.

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 1 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана

Необходимые ресурсы
• Виртуальная машина рабочей станции CyberOps
• Интернет-подключение
Примечание. В этой лабораторной работе ВМ CyberOps Workstation — это контейнер для
развертывания среды Mininet, показанной в топологии. Если при запуске какой-либо команды
возникает ошибка памяти, завершите выполнение данного шага, перейдите в раздел параметров ВМ и
увеличьте объем памяти. Значение по умолчанию — 1 ГБ; попробуйте значение 2 ГБ.

Часть 1: Подготовка виртуальной среды


a. Запустите Oracle VirtualBox и при необходимости переведите CyberOps Workstation в режим
мостового соединения. Выберите Machine > Settings > Network (Машина > Параметры > Сеть). В
разделе Attached To (Присоединение к) выберите Bridged Adapter (Мостовой адаптер) (или,
если вы используете сеть Wi-Fi с прокси-сервером, может потребоваться режим NAT adapter
(адаптер NAT)), затем щелкните ОК.

b. Запустите ВМ CyberOps Workstation, откройте терминал и настройте ее сеть путем выполнения


сценария configure_as_dhcp.sh.
Поскольку сценарий требует прав суперпользователя, введите пароль для пользователя analyst.
[analyst@secOps ~] $ sudo./lab.support.files/scripts/configure_as_dhcp.sh
[sudo] пароль для analyst:
[analyst@secOps ~]$

c. Используйте команду ifconfig , чтобы проверить, что у ВМ CyberOps Workstation теперь настроен IP-

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 2 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана

адрес из вашей локальной сети. Также можно проверить возможность подключения к какомулибо
общедоступному веб-серверу, например командой ping www.cisco.com. Используйте сочетание клавиш
Ctrl + C, чтобы остановить эхозапросы.

Часть 2: Межсетевой экран и журналы IDS


Межсетевые экраны и системы обнаружения вторжений (IDS) часто развертываются для частичной
автоматизации задач мониторинга трафика. Межсетевые экраны и IDS сравнивают входящий трафик
с административными правилами. Межсетевые экраны обычно проверяют на соответствие правилам
заголовок пакета, а IDS часто сравнивают с набором правил полезные данные пакета. Поскольку
межсетевые экраны и IDS применяют предварительно определенные правила к различным частям
IPпакета, то правила IDS и правила межсетевого экрана имеют различные структуры.
Несмотря на различия в структуре правил, остаются некоторые сходства между компонентами правил.
Например, правила межсетевого экрана и IDS содержат компоненты соответствия и действия.
Действия предпринимаются после обнаружения соответствия.

• Компонент соответствия определяет интересующие элементы пакета, такие как источник пакета,
назначение пакета, протоколы транспортного уровня и порты, а также данные, включенные в
полезную нагрузку пакета.
• Компонент действия определяет, что следует сделать с пакетом, у которого компонент
соответствует условиям, например принять и переслать пакет, пропустить пакет или отправить
пакет на дополнительный набор правил для дальнейшей проверки.
Стандартно межсетевой экран предназначен для отбрасывания всех пакетов по умолчанию при
определении вручную, какой трафик должен быть разрешен. Известное под названием «отбрасывание
по умолчанию», такое устройство экрана имеет преимущество при защите сети от неизвестных атак и
протоколов. В рамках этой структуры обычно события отбрасывания пакетов записываются в журнал,
поскольку они соответствуют пакетам, которые не были явно разрешены и таким образом нарушали
политику организации. Такие события должны быть записаны для последующего анализа.

Шаг 1: Мониторинг журнала IDS в режиме реального времени


a. На виртуальной машине CyberOps Workstation выполните сценарий для запуска mininet.
[analyst@secOps ~]
$ sudo./lab.support.files/scripts/cyberops_extended_topo_no_fw.py
[sudo] пароль для analyst:
*** Adding controller

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 3 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана
*** Add switches
*** Add hosts
*** Add links
*** Starting network
*** Configuring hosts
R1 R4 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11
*** Starting controllers
*** Starting switches
*** Add routes
*** Post configure switches and hosts
*** Starting CLI: mininet>

Должна появиться командная строка mininet, указывая, что среда mininet готова к выполнению
команд.
b. В командной строке mininet откройте оболочку на узле R1 следующей командой:
mininet> xterm R1 mininet>
Оболочка R1 открывается в окне терминала с черным текстом на белом фоне. Какой пользователь
вошел в систему в этой оболочке? Как это можно определить?

c. В оболочке узла R1 запустите IDS на основе Linux под названием Snort.


[root@secOps analyst]# ./lab.support.files/scripts/start_snort.sh
Running in IDS mode
--== Initializing Snort ==-- Initializing
Output Plugins!
Initializing Preprocessors!
Initializing Plug-ins!
Parsing Rules file "/etc/snort/snort.conf"
<output omitted>

Примечание. Приглашение командной строки не будет отображаться, поскольку теперь в этом


окне работает Snort. Если по какой-либо причине Snort прекращает выполнение и на экран
выводится командная строка [root@secOps analysts] #, то нужно повторно запустить сценарий
для запуска Snort. Далее для перехвата предупреждений в рамках этой лабораторной работы
среда Snort должна быть запущена.
d. Из командной строки среды mininet в ВМ CyberOps Workstation откройте оболочки для хостов
H5 и H10.

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 4 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана
mininet> xterm H5 mininet>
xterm H10 mininet>
e. H10 имитирует сервер в Интернете, который содержит вредоносное ПО. На H10 запустите
сценарий mal_server_start.sh для запуска соответствующего сервера.
[root@secOps analyst]# ./lab.support.files/scripts/mal_server_start.sh
[root@secOps analyst]#

f. На H10 проверьте работу веб-сервера с помощью команды netstat с параметрами -tunpa. При
запуске с показанными ниже параметрами netstat выводит список всех портов, которые в
настоящий момент назначены службам.
[root@secOps analyst] # netstat tunpa
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name tcp 0 0 0.0.0.0:6666 0.0.0.0:*
LISTEN 1839/nginx: master
[root@secOps analyst]#

Как видно из приведенных выходных данных, веб-сервер nginx запущен и прослушивает


подключения через порт TCP 6666.
g. В окне терминала R1 работает экземпляр Snort. Для того чтобы ввести дополнительные команды
на R1, откройте другой терминал R1, введя еще раз команду xterm R1 в окне терминала ВМ
CyberOps Workstation, как показано ниже. Также можно упорядочить окна терминала таким
образом, чтобы можно было видеть информацию от всех устройств и взаимодействовать с
каждым из них. На рисунке ниже показано удобное размещение окон для оставшейся части данной
лабораторной работы.

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 5 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана

h. В новой вкладке терминала R1 выполните команду tail с параметром -f для мониторинга файла
/var/log/snort/alert в режиме реального времени. Это файл, настроенный в snort для записи
оповещений.
[root@sec0ps analyst]# tail -f /var/log/snort/alert

Поскольку оповещения еще не записывались, то журнал должен быть пустым. Однако, если
данная лабораторная работа выполнялась ранее, могут отображаться старые записи оповещений.
В любом случае после ввода данной команды приглашение командной строки не появится. В этом
окне будут отображаться оповещения по мере их формирования.
i. С хоста H5 командой wget загрузите файл с именем W32.Nimda.Amm.exe. Разработанная для
загрузки содержимого по протоколу HTTP команда wget — это отличное средство для загрузки
файлов непосредственно с веб-серверов из командной строки.
[root@secOps analyst]# wget 209.165.202.133:6666/W32.Nimda.Amm.exe
--2017-04-28 17:00:04-- http://209.165.202.133:6666/W32.Nimda.Amm.exe

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 6 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана
Connecting to 209.165.202.133:6666... connected. HTTP request sent,
awaiting response... 200 OK
Length: 345088 (337K) [application/octet-stream]
Saving to: 'W32.Nimda.Amm.exe'

W32.Nimda.Amm.exe 100%[==========================================>] 337.00K


--.-KB/s in 0.02s

2017-04-28 17:00:04 (16.4 MB/s) - 'W32.Nimda.Amm.exe' saved [345088/345088]


[root@secOps analyst]#

j. По мере передачи вредоносного файла на R1 используемая IDS Snort могла изучить его
содержимое. Содержимое, которое соответствует хотя бы одной сигнатуре, настроенной в Snort,
приводило к формированию оповещения в окне второго терминала R1 (вкладка, где выполняется
tail -f). Запись оповещения показана ниже. Метка времени может отличаться.
04/28-17:00:04.092153 [**] [1:1000003:0] Malicious Server Hit! [**] [Priority: 0]
{TCP} 209.165.200.235:34484 -> 209.165.202.133:6666

Определите по этому оповещению, когда произошла загрузка.

На H5 используйте команду tcpdump

для захвата этого события и повторно загрузите файл вредоносного ПО. Таким образом вы сможете
перехватить данную транзакцию. Введите следующую команду для начала перехвата пакетов:

[root@secOps analyst]# tcpdump –i H5-eth0 –w nimda.download.pcap &


[1] 5633
[root@secOps analyst]# tcpdump: listening on H5-eth0, link-type EN10MB (Ethernet), capture

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 7 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана
size 262144 bytes

Эта команда указывает tcpdump перехватывать пакеты через интерфейс H5 eth0 и сохранять
захваченные данные в файл с именем nimda.download.pcap.
Символ & в конце команды говорит, что оболочка должна выполнять tcpdump в фоновом режиме.
Без этого символа tcpdump сделает невозможным ввод команд с этого терминала. Обратите
внимание на строку [1] 5633, которая означает, что один процесс был отправлен в фоновый режим
и идентификатор этого процесса (PID) — 5366. Ваш PID, скорее всего, будет отличаться.
k. Несколько раз нажмите клавишу ENTER (Ввод), чтобы вернуться к управлению оболочкой, в то
время как tcpdump работает в фоновом режиме.
l. Теперь, когда tcpdump захватывает пакеты, повторно загрузите вредоносное ПО. На H5 повторно
выполните данную команду или используйте стрелку вверх для вызова ее из истории команд.
[root@secOps analyst]# wget 209.165.202.133:6666/W32.Nimda.Amm.exe
--2017-05-02 10:26:50-- http://209.165.202.133:6666/W32.Nimda.Amm.exe
Connecting to 209.165.202.133:6666... connected. HTTP request sent,
awaiting response... 200 OK
Length: 345088 (337K) [application/octet-stream]
Saving to: 'W32.Nimda.Amm.exe'

W32.Nimda.Amm.exe 100%[===================>] 337.00K --.-KB/s in 0.003s


2017-05-02 10:26:50 (105 MB/s) - 'W32.Nimda.Amm.exe' saved [345088/345088]

m. Остановите перехват данных путем перевода tcpdump в интерактивный режим с помощью


команды fg. Поскольку tcpdump была единственным процессом, отправленным в фоновый режим,
то PID указывать не нужно. Остановите процесс tcpdump с помощью сочетания клавиш Ctrl + C.
Процесс tcpdump останавливается, и отображается сводка по перехвату данных. Количество
пакетов для вашего перехвата данных может отличаться.
[root@secOps analyst]# fg tcpdump -i
h5-eth0 -w nimda.download.pcap
^C316 packets captured
316 packets received by filter
0 packets dropped by kernel
[root@secOps analyst]#

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 8 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана

n. На H5 используйте команду ls, чтобы проверить, что файл pcap был действительно сохранен на
жестком диске и его размер больше нуля.
[root@secOps analyst]# ls -l total 1400 drwxr-xr-x 2 analyst
analyst 4096 Sep 26 2014 Desktop drwx------ 3 analyst analyst
4096 Jul 14 11:28 Downloads drwxr-xr-x 8 analyst analyst 4096 Jul
25 16:27 lab.support.files -rw-r--r-- 1 root root 371784 Aug
17 14:48 nimda.download.pcap drwxr-xr-x 2 analyst analyst 4096 Mar
3 15:56 second_drive -rw-r--r-- 1 root root 345088 Apr 14
15:17 W32.Nimda.Amm.exe
-rw-r--r-- 1 root root 345088 Apr 14 15:17 W32.Nimda.Amm.exe.1
[root@secOps analyst]#

Примечание. Список каталогов может содержать раз


ные сочетания файлов, но вы в любом случае должны увидеть файл nimda.download.pcap.
Какую пользу может представлять этот файл PCAP для аналитика кибербезопасности?
___Файл з розширенням рсар корисний тим що зберігає дані мережевого трафіку , які згодом можна
проаналізувати за допомогою такої програми як wireshark.

Примечание. Анализ полученного файла PCAP будет выполняться в другой лабораторной работе.

Шаг 2: Настройка правил межсетевого экрана на основе оповещений IDS


На шаге 1 был запущен вредоносный сервер, размещенный в Интернете. Для того чтобы
предотвратить попадание других пользователей на этот сервер, рекомендуется блокировать его в
граничном межсетевом экране.
В топологии данной лабораторной работы на R1 работает не только IDS, но и очень популярный
межсетевой экран на основе Linux под названием iptables. На этом этапе вы будете блокировать
трафик на вредоносный сервер, определенный на шаге 1, изменив правила межсетевого экрана,
установленные в данный момент на R1.
Примечание. Хотя подробное изучение средства iptables выходит за рамки данного курса, базовая
логика и структура правил iptables довольно просты и понятны.
Межсетевой экран iptables использует понятия цепочек и правил для фильтрации трафика.
Цепочка INPUT (ВХОДНАЯ) обрабатывает трафик, поступающий на межсетевой экран и
адресованный самому устройству межсетевого экрана. Примерами этого трафика являются пакеты
эхозапроса, поступающие от любого другого устройства в любой сети, и отправляемые какие-либо
интерфейсы межсетевого экрана.
Трафик, созданный в самом устройстве межсетевого экрана и адресованный в другие места,
обрабатывается в цепочке OUTPUT (ВЫХОДНАЯ). Примерами этого трафика являются ответы на
эхозапросы, созданные самим устройством межсетевого экрана.

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 9 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана

Трафик, созданный где-либо еще и проходящий через устройство межсетевого экрана,


обрабатывается цепочкой FORWARD (ПЕРЕАДРЕСАЦИЯ). Примерами этого трафика являются
пакеты, перенаправляемые межсетевым экраном.
Каждая цепочка может обладать собственным набором независимых правил, указывающих на то,
каким образом будет происходить фильтрация трафика для данной цепочки. Цепочка может
содержать практически любое количество правил, включая вариант полного отсутствия правил.
Правила создаются для проверки конкретных характеристик пакетов, что позволяет администраторам
создавать фильтры для любых ситуаций. Если пакет не соответствуют данному правилу, то
межсетевой экран переходит к следующему правилу и повторно выполняет проверку. При
обнаружении совпадения межсетевой экран выполняет действие, определенное в правиле
совпадения. Если были проверены все правила в цепочке и совпадение еще не было найдено, то
межсетевой экран выполняет действие, указанное в политике цепочки, обычно разрешая пакету
проходить или отклоняя его.
a. В виртуальной машине CyberOps Workstation запустите третье окно терминала R1.
mininet > xterm R1
b. В новом окне терминала R1 используйте команду iptables, чтобы вывести список используемых в
настоящий момент цепочек и их правил.
[root@secOps ~]# iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt
in out source destination
Chain FORWARD (policy ACCEPT 6 packets, 504 bytes) pkts bytes target prot
opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt
in out source destination
[root@secOps ~]#
Какие цепочки используются в данный момент на R1?
Input
forward
Output

c. Подключения к вредоносному серверу создают пакеты, которые должны проходить межсетевой


экран iptables на R1. Пакеты, проходящие межсетевой экран, обрабатываются правилом
FORWARD, поэтому это именно та цепочка, в которой должно присутствовать правило
блокировки. Для того чтобы не допустить соединения компьютеров пользователей с вредоносным
сервером, определенным на шаге 1, добавьте в цепочку FORWARD на R1 следующее правило:

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 10 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана
[root@secOps ~]# iptables -I FORWARD -p tcp -d 209.165.202.133 --dport 6666 j
DROP
[root@secOps ~]#
Где:
o -I FORWARD: вставляет новое правило в цепочку FORWARD.
o tcp -p: указывает протокол TCP.
o -d 209.165.202.133: указывает адрес назначения пакетов.
o --dport 6666: указывает порт назначения.
o -j DROP: задает действие отбросить.

d. Повторно используйте команду iptables и убедитесь, что в цепочку FORWARD было добавлено
данное правило. Для создания выходных данных ВМ CyberOps Workstation может потребоваться
несколько секунд.
[root@secOps analyst]# iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP tcp -- any any anywhere 209.165.202.133
tcp dpt:6666

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)


pkts bytes target prot opt in out source destination
[root@secOps analyst]#

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco Стр. 11 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана

e. На H5 попробуйте еще раз загрузить данный файл:


[root@secOps analyst]# wget 209.165.202.133:6666/W32.Nimda.Amm.exe
--2017-05-01 14:42:37-- http://209.165.202.133:6666/W32.Nimda.Amm.exe Connecting
to 209.165.202.133:6666... failed: Connection timed out.
Retrying.

--2017-05-01 14:44:47-- (try: 2) http://209.165.202.133:6666/W32.Nimda.Amm.exe


Connecting to 209.165.202.133:6666... failed: Connection timed out.
Retrying.

При необходимости введите Ctrl + C, чтобы отменить загрузку. Загрузка была успешной в этот раз?
Дайте пояснение.
Ні. Тому, що ми заблокували доступ до ресурсу створивши правило для ланцюга forward.

Часть 3: Завершение и очистка процесса Mininet


a. Перейдите к терминалу, используемому для запуска Mininet. Завершите работу Mininet, введя
команду quit в главном окне терминала виртуальной машины CyberOps.

b.
c. После выхода из Mininet очистите систему от процессов, запущенных Mininet. При появлении
соответствующего запроса введите пароль cyberops.
[analyst@secOps scripts]$ sudo mn –c [sudo]

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco 12 из 13 www.netacad.com
Лабораторная работа. Правила Snort и правила межсетевого экрана

Стр.

 Cisco и/или ее дочерние компании. Все права защищены.


Конфиденциальная информация корпорации Cisco 13 из 13 www.netacad.com

Вам также может понравиться