Montag, 27. April 2015

Traffic capture on cisco ASA

http://xgu.ru/wiki/Cisco_ASA/Troubleshooting
Итак команда capture позволяет перехватывать трафик, для дальнейшего анализа.
Синтаксис (минимальный)
ASA1(config)# capture test-cap interface SWS1_ASA1
дополнительные параметры:
access-list <acl-name> — перехватывать пакеты, которые совпадают с указанным ACL;

buffer <buffer-size> — настроить размер буфера (в байтах) в который помещаются перехваченные пакеты. По умолчанию размер буфера 512 Kb;
circular-buffer — после заполнения буфера заполнять его сначала заново. По умолчанию буфер не перезаписывается;
ethernet-type <type> — перехватывать Ethernet-пакеты определенного типа. По умолчанию IP;
headers-only — перехватывать только заголовки 2, 3 и 4 уровней без данных. Доступен с версии 8.2;
interface <intf-name> — перехватывать пакеты на указанном интерфейсе. Могут быть указаны такие интерфейсы:
  • имя настроенного интерфейса,
  • asa_dataplane,
  • cplane;
match — перехватывать пакеты совпадающие с указанными далее критериями (критерии аналогичны синтаксису ACL);
packet-length <length> — максимальный размер данных, который будет перехвачен из каждого пакета. По умолчанию 68 байт, возможные значения от 14 до 9216 байт;
real-time — отображать перехватываемые пакеты в реальном времени. Доступен с версии 8.2;
trace [trace-count <count>] — позволяет отслеживать каким образом ASA обрабатывает пакеты внутри себя (если этот параметр не указан при задании правила, то при просмотре информации опция trace не будет отображать как ASA обрабатывала пакет). Параметр trace-count позволяет задать максимальное количество пакетов, которые будут отслеживаться. По умолчанию 50, диапазон значений от 1 до 1000;
type — перехватывать пакеты указанного типа:
  • asp-drop — перехватывать пакеты отброшенные по определенной причине,
  • isakmp — перехватывать зашифрованные и расшифрованные пакеты ISAKMP,
  • raw-data — перехватывать входящие и исходящие пакеты на одном или боле интерфейсах. Значение по умолчанию,
  • tls-proxy — перехватывать зашифрованные входящие и исходящие данные от TLS proxy на одном или более интерфейсах. Доступен с версии 8.2,
  • webvpn user <username> — перехватывать пакеты WebVPN для конкретного пользователя.
Правила capture не сохраняются в конфигурации ASA. Посмотреть настроенные правила можно командой show capture.

Параметры просмотра


При просмотре перехваченных пакетов, можно использовать фильтры в самой команде show capture.

Просмотр пакетов, которые были перехвачены конкретным правилом:
ASA1# show capture test-cap
Параметры команды show capture <capture-name>:
access-list <acl-name> — показывать пакеты, которые совпадают с указанным ACL;
count <number> — показывать указанное количество пакетов;
decode — показывать decode information для каждого пакета;
detail — показывать больше информации для каждого пакета;
dump — показывать шестнадцатеричный dump для каждого пакета;
packet-number <number> — показать пакет с указанным номером;
trace — показать расширенную информацию об обработке пакеты внутри ASA (если этот параметр не указан при задании правила, то при просмотре информации опция trace не будет отображать как ASA обрабатывала пакет).
Кроме просмотра информации непосредственно в командной строке, функция capture позволяет просматривать перехваченную информацию с помощью браузера или анализатора трафика.
https://192.168.1.1/admin/capture/web_cap
Чтобы сохранить файл и затем открыть его с помощью анализатора трафика:
https://192.168.1.1/admin/capture/web_cap/pcap
Затем списываем файл на машину с WIreschark:
ASA1(config)# copy /pcap capture:web_cap tftp
При применении на ASA шифрования des (не 3des) зайти по https не получается.

Из практики:

Захватывать весь трафик с порта обычно не нужно - быстро забивается буфер, большое количество не нужных в анализе данных. Поэтому при захвате трафика можно пользоваться фильтрами.
1. Создается access-list описывающий нужный нам трафик
access-list acl-SSH line 2 extended permit icmp host 172.28.29.97 any4
! Если в access-list указать просто any, а не any4 или any6, то при задании правила capture вылезет ошибка:
ERROR: Capture doesn't support access-list <cap> containing mixed policies

2. Создается правило capture к которому привязывается access-list:
ASA1(config)#capture test-cap type access-list acl-SSH interface SWS1_ASA1
Данные будут собираться, пока не заполнится полностью буфер.

Более удобно, на мой взгляд, собирать данные в реальном времени с выводом на экран (Ctrl+c остановка сбора) :
ASA1(config)# capture cap access-list acl-SSH interface SWS1_ASA1 real-time
Также бывает удобно, при применении не сложных правил захватывать трафик без применения access-list, используя параметр match в правиле capture:
ASA1(config)# capture cap interface SWS1_ASA1 real-time match icmp host 10.100.6.251 any

Keine Kommentare:

Kommentar veröffentlichen