Показаны сообщения с ярлыком IDM. Показать все сообщения
Показаны сообщения с ярлыком IDM. Показать все сообщения

суббота, 2 августа 2014 г.

Пример конфигурации cisco IPS/IDS для защиты сети

Схема, которую будем собирать сегодня, выглядит следующим образом:


Я предлагаю не сильно заострять внимание на эмуляции полной сети. Для демонстрации работы IPS/IDS нам будет достаточно и этой схемы.
Итак, что мы имеем. Есть локальная сеть 192.168.1.х/24, где находится web-Server (192.168.1.11). Весь трафик, направленный как в сторону web-Server, так и от него, проходит через устройство cisco IPS/IDS. Есть внешняя сеть 192.168.2.x/24, в которой находится компьютер злоумышленника Attacker (192.168.2.10). Еще есть сеть 3.3.3.x/24, в которой находится машина Test_PC (3.3.3.10), она нам пригодится для некоторых проверок. Также имеется сеть 10.10.10.x/24, где находится консоль, для управления IPS/IDS (Console_PC 10.10.10.200).
На компьютере злоумышленника установлена программа XSpider v7.5. С помощью неё будем эмулировать атаки на web-Server. 
В процессе подготовки данного поста, столкнулся с одной небольшой проблемкой (касается эмуляции IPS/IDS в GNS3). Дело в том, что запускается IPS/IDS нормально, IDM работает исправно, но когда начинаешь делать настройки, включать или создавать сигнатуры, он либо выдает ошибку, либо вообще зависает. Почитав форумы, нашел путь исправления данного бага. Для этого, после того, как вы добавите устройство IPS/IDS на рабочую область, зайдите в его настройки (правой клавишей мыши по устройству – Configure) и поменяйте существующие параметры на вот эти: -smbios type=1,product=IDS-4235,serial=12345789012,uuid=E0A32395-8DFE-D511-8C31-001FC641BA6B,sku=011,family=IDS-4235/4250 в поле, показанном на рисунке:


Нажмите «Apply», а затем «OK». После этого, можно смело запускать устройство, больше баг не повторялся.
Все, теперь запускаем IPS/IDS и сделаем настройки для подключения консоли:
  • sensor# conf t
    sensor(config)#service host
    sensor(config-hos)#network-settings
    sensor(config-hos-net)#host-ip 10.10.10.30/24,10.10.10.200
    sensor(config-hos-net)#host-name IPS4235
    sensor(config-hos-net)#telnet-option enabled
    sensor(config-hos-net)#access-list 10.10.10.0/24
    sensor(config-hos-net)#ftp-timeout 300
    sensor(config-hos-net)#no login-banner-text
    sensor(config-hos-net)#exit
    sensor(config-hos)#time-zone-settings
    sensor(config-hos-tim)#offset 0
    sensor(config-hos-tim)#standard-time-zone-name UTC
    sensor(config-hos-tim)#exit
    sensor(config-hos)#summertime-option disabled
    sensor(config-hos)#ntp-option disabled
    sensor(config-hos)#exit
    sensor(config)#service web-server
    sensor(config-web)#port 443
    sensor(config-web)#exit
    sensor(config)#exit
    sensor#exit
Прежде чем продолжить настройку IPS/IDS, настроим наш роутер, чтобы сразу была сетевая доступность:
  • R1>en
    R1#conf t
    R1(config)#hostname Router
    Router(config)#int fa 0/0
    Router(config-if)#ip address 192.168.2.1 255.255.255.0
    Router(config-if)#no shutdown
    Router(config-if)#exit
    Router(config)#int fa 0/1
    Router(config-if)#ip address 192.168.1.1 255.255.255.0
    Router(config-if)#no shutdown
    Router(config-if)#exit
    Router(config)#int fa 1/0
    Router(config-if)#ip address 3.3.3.1 255.255.255.0
    Router(config-if)#no shutdown
    Router(config-if)#exit
    Router(config)#exit
    Router#wr
    Building configuration...
    [OK]
    Router#
Теперь заходим на устройство IPS/IDS через web-интерфейс. Должно появиться главное окно:


Замечу, что у IPS/IDS только один интерфейс используется для настройки (Management, e0) и только на него вешается IP – адрес. Остальные интерфейсы (e1 и e2) включаются «в разрез».
Итак, далее нам надо настроить оставшиеся интерфейсы, пропустить через них трафик для дальнейшего анализа, подключить базу сигнатур. 
Идем в закладку «Configuration». На ней можно посмотреть, какие параметры уже настроены (через CLI), если необходимо, то поменять их и т.д. Идем на пункт «Interface Configuration» -- «Interfaces». Затем, выбрав первый интерфейс, нажимаем на кнопку «Edit» (справа):


В появившемся окне прописываем vlan, в котором находится интерфейс:


Те же действия проделываем для второго интерфейса. После всех действий не забудьте нажать на «Apply».
Далее можно идти по нескольким путям. Можно добавлять для анализа и мониторинга каждый интерфейс по отдельности, можно парами, можно добавлять отдельные vlan-ы, можно группы vlan-ов. Мы пойдем по пути создания пары интерфейсов (у нас их всего два и они в одном и том же vlan). Для создания пары идем на вкладку «Interface Pairs» и там нажимаем на кнопку «Add» (справа):


Здесь задаем имя нашей пары (1) и выбираем интерфейсы (2). Нажимаем «OK». Созданная пара интерфейсов должна появиться в списке, далее нажимаем «Apply».
Теперь осталось прикрепить к этой паре так называемый анализатор, к которому, в свою очередь, подключен набор сигнатур и прописаны некоторые правила. Для этого переходим на вкладку «Virtual Sensors», выбираем существующий сенсор (vs0) и нажимаем «Edit»:


Здесь выбираем набор сигнатур (1), правила оповещения (2), правила и условия детектирования аномального трафика (3), режим работы детектора аномального трафика (4) и режим, который используется для разделения представлений одного и того же потока данных, если этот поток проходит через сенсор несколько раз (5). В принципе, так как у нас только один виртуальный сенсор (vs0 по умолчанию), то все параметры можно оставить как они и есть. Ниже выбираем нашу пару интерфейсов и нажимаем кнопку «Assign». В параметре Assigned должно отобразиться «Yes». Затем нажимаем «OK». 
После закрытия малого окна, в параметрах Assigned interfaces (or Pairs) должна появиться наша пара. Не забываем нажать на кнопку «Apply», только тогда конфигурация применится к устройству IPS/IDS.
Все, основные настройки сделаны. Теперь перейдем на виртуальные машины и проверим сетевую доступность. 
Заходим на Attacker (192.168.2.10).



Видно, что ping есть, сайт открывается и ftp – сервер тоже доступен. Теперь запускаем программу XSpide 7.5 и добавляем хост для сканирования:


После добавления хоста включаем сканирование:


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


Да, довольно много :). Теперь перейдем на устройство IPS/IDS и посмотрим, зафиксировало ли оно что-нибудь подозрительное :). Идем в закладку «Monitoring» -- «Denied Attackers»:


Видно, что тут ничего нет, но давайте посмотрим log. Идем на «Events» и там нажимаем на «View»:

Видно, что IPS/IDS все-таки не спал :). Но ничего он не заблокировал. Это связано с тем, что в параметрах сигнатур, под которые попал зловредный трафик, не прописано блокировать соединение. Но это легко исправить и в следующий раз, наш атакующий будет заблокирован. Я предлагаю выбрать первую появившуюся сигнатуру, так как после блокирования, продолжения сканирования не последует. 
Итак, смотрим на номер первой в списке сигнатуры (Sig ID 3002). Переходим на вкладку «Configuration» -- «Policies» -- «Signature Definitions» -- «sig0»:


Выберете в «Select By» Sig ID и найдите сигнатуру по номеру. Затем нажмите «Edit»:


В появившемся окне находим пункт «Event Action», там, в выпадающем меню (зажав Ctrl), выбираем пункт Deny Attacker Inline. Нажимаем «OK», затем снова «OK» и затем на основном окне «Apply». 
Теперь вернемся на компьютер атакующего и снова запустим XSpide 7.5:


Видно, что сканирование не удалось, но почему то в этот раз он вычитал имя компьютера :). Посмотрим, что твориться на устройстве IPS/IDS:


А вот и наш атакующий. Попался :). Если вы сейчас вернетесь на машину Attacker (192.168.2.10) и попробуете открыть сайт, то все получится, а вот ftp-соединение, уже не будет работать, так как если посмотреть на сигнатуру, которую мы правили, то видно, что она отвечает за TCP SYN пакеты и, соответственно, соединения нет.
Но, в то же время, и сайт и ftp – сервер доступны со второго компьютера (Test_PC 3.3.3.10), так как он не заблокирован на IPS/IDS:


Ну что, вроде все работает :). Да, чтобы снова открыть доступ для компьютера, надо его удалить из списка заблокированных. Если после удаления все равно ничего не соединяется, то перегрузите IPS/IDS.
Осталось нам написать свою сигнатуру. Я предлагаю написать запрет на любое подключение по telnet к серверу по 23-му порту. Проверим, есть ли сейчас доступ по telnet к серверу. Перейдем на Attacker и попробуем:


Доступ на данный момент присутствует. Теперь переходим на устройство IPS/IDS и на вкладке «Configuration» -- «Policies» -- «Signature Definitions» -- «sig0» находим закладку «Custom Signature Wizard». Нажимаем «Start the Wizard»:


Откроется первое окно:


Здесь, если вы не хотите использовать стандартные сигнатуры, то выбираем «No» и нажимаем «Next».


Здесь выбираем «TCP». Нажимаем «Next».


Выбираем единичный пакет (Single Packet). Нажимаем «Next».


Здесь выбирается номер сигнатуры, название, пояснения и так далее. Можно оставить все по умолчанию. Запомните только номер, он нам еще пригодится. Нажимаем «Next».


Здесь выбираем порт, на который будут осуществляться попытки подключения. Ставим порт 23 (telnet). Также указываем, что надо заблокировать эти попытки соединения (Event Action). Конечно, можно прописать и многие другие параметры (вплоть до содержимого пакетов), но возьмем только порт. Нажимаем «Next».


Здесь оставляем все по умолчанию. Нажимаем «Next».


Если вам не надо задавать какие-то специфические параметры для сигнатуры, то смело жмите «Finish». Нам они не нужны, поэтому нажимаем. Вам предложат создать сигнатуру и сразу ее включить. Нажимаем «Yes».
Посмотрим на созданную сигнатуру. Находим ее, как делали немного ранее:


Все готово. Сигнатура присутствует, она активна. Переходим на компьютер атакующего и пробуем открыть telnet теперь:


Ничего не вышло. Вернемся на IPS/IDS и посмотри в список атакующих:


Интересная ситуация :). Атакующим у нас выступил сам сервер. Посмотрим log:


Да, так и есть. Немного не понятная ситуация, скорее всего IPS/IDS среагировал на ответный пакет от сервера и заблокировал его. Но самое главное, цель достигнута, доступа по порту 23 нет :). Да и принцип написания собственных сигнатур я думаю понятен.
На этом я хочу закончить этот пост. В этот раз он выдался уж очень объемным :). Так что если надо, могу потом его разбить на две части. А так, надеюсь, что он стал для вас полезным и вы, прочитав его, сможете применить эти навыки на практике. Поле для экспериментов просто огромное!!! Сначала можно в GNS3, ну а потом и на живой сети.

Источник: go-to-easyit.com/2011/09/cisco-ipsids.html

Запускаем IPS/IDS в GNS3

Intrusion Detection System (IDS) – это система обнаружения атак и вторжений, на базе специальных сигнатур. Способна лишь обнаружить атаку и подать сигнал, но сделать что-то по предотвращению, не может.
Intrusion Prevention System (IPS) - это система, которая предназначена для мониторинга и предотвращения вторжений. Она идентифицирует, классифицирует и предотвращает вторжение известных и неизвестных вирусов, атак и эксплоитов.
IPS в этом плане, конечно выгоднее, чем IDS. Эти системы реализованы как на отдельном «железе», так и в составе модульных решений сетевого оборудования.
Более подробную информацию по данному вопросу можно найти на просторах интернета. А мы, пожалуй, начнем :).
Для начала, нам необходимо скачать так называемый «IOS» для IDS/IPS. Сделать это можно вот по этим ссылкам:
После скачивания файлов с ними ничего не надо делать, просто разархивируйте их в папку GNS3, где находятся ваши IOS.
После этого, запускаем GNS3 и создаем новый проект. Затем идем на вкладку Edit – Preferences – Qemu – IDS:



    Где:
  • 1 – произвольное название;
  • 2 – путь к первому файлу (disk1);
  • 3 – путь ко второму файлу (disk2);
  • 4 – выделяемая память (поставьте 1024);
  • 5 – тип интерфейсов;
  • 6 – поменяйте тип продукта с 4215 на 4235 (так как IOS для IPS/IDS версии 4235).
Далее нажимаем сначала на кнопку «Save», в списке ниже должно появиться созданное устройство. Затем нажимаем «Apply» и «OK».
Теперь добавим устройство IDS в рабочую область и подключим его к «внешнему миру» (к физической сети). Схема будет следующая:



Как подключать GNS3 к физической сети, можно посмотреть тут. Только одно лишь уточнение. Здесь я использую подключение не к физической машине, а к VMWare workstation (принцип подключения один и тот же).
Продолжаем. Запускаем IDS («Start»). Откроется окно консоли:



Выбираем Cisco IPS. Начнется загрузка. Подождите, пока не появится приглашение ввести «login» (если при загрузке в окне консоли вы увидите сообщения «Warning», не обращайте внимание):



Вводим следующее:
  • Login: cisco
  • Password: ciscoips4215
Вы попадете в привилегированный режим конфигурации («sensor#»). Теперь сделаем начальные настройки, чтобы можно было подключиться к IPS/IDS через веб-интерфейс (IDM):
  • sensor# conf t
    sensor(config)#service host
    sensor(config-hos)#network-settings
    sensor(config-hos-net)#host-ip 10.10.10.10/24,10.10.10.220
    sensor(config-hos-net)#host-name IPS4235
    sensor(config-hos-net)#telnet-option enabled
    sensor(config-hos-net)#access-list 10.10.10.0/24
    sensor(config-hos-net)#ftp-timeout 300
    sensor(config-hos-net)#no login-banner-text
    sensor(config-hos-net)#exit
    sensor(config-hos)#time-zone-settings
    sensor(config-hos-tim)#offset 0
    sensor(config-hos-tim)#standard-time-zone-name UTC
    sensor(config-hos-tim)#exit
    sensor(config-hos)#summertime-option disabled
    sensor(config-hos)#ntp-option disabled
    sensor(config-hos)#exit
    sensor(config)#service web-server
    sensor(config-web)#port 443
    sensor(config-web)#exit
    sensor(config)#exit
    sensor#exit
После следующего «login»-а у вас должно уже появиться название, которое вы настроили выше.
Начальные настройки сделаны. Попробуем проверить сетевую доступность IPS/IDS и локального компьютера:



Сетевая доступность присутствует. Идем на нашу локальную машину и попробуем зайти на IPS/IDS через веб-интерфейс:



Набираем в строке адрес (https) нашего устройства IPS/IDS. Нажимаем «Я понимаю риск» -- «Добавить исключение» -- «Подтвердить исключение безопасности». Должно открыться следующее окно:



Нажимаем на «Run IDM».



Отмечаем всегда доверять содержимому от этого поставщика и нажимаем «Yes». Запустится Java applet IDM.



Вводим login и password, которые мы уже использовали при подключении по консоли. Нажимаем «OK».
Теперь, есть два варианта развития событий :). Первый, у вас сразу загрузится IDM и все заработает. Второй, ничего не запустится :).
Поговорим о плохом варианте. После нажатия «OK» у вас может появиться следующее окно:



Здесь говорится, что выделение памяти для приложений Java меньше, чем 256 Мб (Java memory heap size is less than 256 MB), что недостаточно для IDM. Следует сначала увеличить размер этой памяти, а потом запускать приложение (перевод вольный и на уровень «переводчика» не претендует :)).
Чтобы это сделать, надо пройти в «Пуск» -- «Панель управления» и там найти значок настройки Java:



Заходим по этому значку и идем на вкладку «Java»:



Нажимаем «View»:



Двойной щелчок по «Runtime Parameters» и прописываем –Xmx512m (тем самым мы повышаем порог выделяемой памяти). Нажимаем «OK». Затем, на другом окне, «Apply» и снова «OK». Затем пробуем снова зайти на наш IPS/IDS через веб-интерфейс, как описывалось выше.
У меня стояла Java 6 (на рисунке видно) и после увеличения памяти ничего не произошло, то есть выскакивала та же ошибка. Помотавшись по многим форумам и почитав информацию, я так и не понял суть проблемы. Но решение состоит в том, чтобы удалить Java версии 6 и поставить Java версии 5. Если у вас заработало на Java 6, то напишите, как у вас это получилось, буду признателен.
А мне пришлось поставить Java 5 (JRE 1.5.0_16), увеличить память тем же способом, который описан выше, и, в итоге, мне открылось приветственное окно IPS/IDS :):



Надеюсь, у вас все получилось. Теперь можно и познакомится с IPS/IDS поближе и более углубленно подготовиться к экзаменам или собрать виртуальный стенд, для последующей реализации на реальном оборудовании. Но это уже новые ресурсы для будущих постов :).

Источник: go-to-easyit.com/2011/08/ipsids-gns3.html