Сбор дампа трафика Ревизора средствами Carbon Reductor 7

Skip to end of metadata
Go to start of metadata

Устанавливаем wireshark

yum install -y wireshark

Включаем сбор дампов по cron

Для этого, добавляем в /etc/crontab строчку:

45 * * * * root /usr/local/Reductor/bin/revisor_dump.sh 1.1.1.1 eth1 3600 1

Где

  • 1.1.1.1 - IP-адрес Ревизора/Carbon Reductor Satellite;
  • eth1 - интерфейс, принимающий зеркало;
  • 3600 - время сбора дампа в секундах;
  • 1 - тип трафика (0 - весь трафик, 1 только http/https/dns).

После того, как дамп собран, открываем отчет от АС "Ревизор" с зафиксированными нарушениями. В нем нас интересует url/ip и время пропуска. Также при анализе стоит учитывать, что существует поле "Адрес перенаправления". Это именно тот адрес, на который обращался АС "Ревизор".

Скачиваем сформированный, например, в три часа ночи дамп с Carbon Reductor на машину с установленным wireshark.

#scp /var/revisor_dump/1.1.1.1/2017.03.16/03/duplex.pcap root@2.2.2.2:/home/user/dump/duplex.pcap

Приступаем к анализу

1. Нам необходимо найти tcp-stream по которому был зафиксирован пропуск. Сделать это можно с помощью tshark

Для примера возьмем пропуск в четвертом часу "www1.kasparov.ru"

tshark -T fields -e tcp.stream -e frame.time -e ip.src -e ip.dst -e _ws.col.Info -e http.host -r /home/user/dump/duplex.pcap | grep "kasparov.ru"

Допустим, пропуск был зафиксирован в 03:04:34, ищем GET запрос по времени.

# tshark -T fields -e tcp.stream -e frame.time -e ip.src -e ip.dst -e _ws.col.Info -e http.host -r /home/user/dump/duplex.pcap | grep "kasparov.ru"

4937 May 16, 2017 03:04:33.277118000 +05 1.2.3.4 52.0.182.227 GET / HTTP/1.1 www1.kasparov.ru
4942 May 16, 2017 03:04:33.424510000 +05 1.2.3.4 52.0.80.30 GET / HTTP/1.1 www1.kasparov.ru
4944 May 16, 2017 03:04:34.935537000 +05 1.2.3.4 54.236.109.144 GET / HTTP/1.1 www1.kasparov.ru
4946 May 16, 2017 03:04:35.224281000 +05 1.2.3.4 52.22.237.157 GET / HTTP/1.1 www1.kasparov.ru

В левой колонке видим tcp-stream с  IP-адресом,который указан в отчете АС "Ревизора" и время совпадает, а именно 54.236.109.144, следовательно наш tcp-stream 4944.

2. Сортируем дамп по полю tcp-stream

# tshark -R "tcp.stream eq 4944" -2 -T fields -e frame.time -e frame.number -e ip.src -e ip.dst -e _ws.col.Info -e http.host -r /home/user/dump/duplex.pcap

May 16, 2017 03:04:34.794475000 +05 1 1.2.3.4 54.236.109.144 33819 → 80 [SYN] Seq=0 Win=1460 Len=0 MSS=1460 SACK_PERM=1 TSval=37755423 TSecr=0 WS=1
May 16, 2017 03:04:34.934989000 +05 2 1.2.3.4 54.236.109.144 33819 → 80 [ACK] Seq=1 Ack=1 Win=1460 Len=0 TSval=37755437 TSecr=3815877753
May 16, 2017 03:04:34.935537000 +05 3 1.2.3.4 54.236.109.144 GET / HTTP/1.1 www1.kasparov.ru
May 16, 2017 03:04:34.935581000 +05 4 54.236.109.144 1.2.3.4 HTTP/1.1 302 Moved Temporarily (text/html)
May 16, 2017 03:04:34.935587000 +05 5 54.236.109.144 1.2.3.4 80 → 33819 [RST, ACK] Seq=1 Ack=254 Win=252 Len=0
May 16, 2017 03:04:34.936544000 +05 6 1.2.3.4 54.236.109.144 33819 → 80 [ACK] Seq=254 Ack=333 Win=1460 Len=0 TSval=37755437 TSecr=3815877753
May 16, 2017 03:04:34.938385000 +05 7 1.2.3.4 54.236.109.144 33819 → 80 [RST, ACK] Seq=254 Ack=333 Win=1460 Len=0 TSval=37755437 TSecr=3815877753
May 16, 2017 03:04:35.076308000 +05 8 1.2.3.4 54.236.109.144 33819 → 80 [RST] Seq=254 Win=0 Len=0
May 16, 2017 03:04:35.079443000 +05 9 1.2.3.4 54.236.109.144 33819 → 80 [RST] Seq=254 Win=0 Len=0
May 16, 2017 03:04:35.079687000 +05 10 1.2.3.4 54.236.109.144 33819 → 80 [RST] Seq=254 Win=0 Len=0

Видим что со стороны Carbon Reductor была реакция, сформирован REDIRECT 302 и отправлен tcp-rst:

May 16, 2017 03:04:34.935537000 +05 3 1.2.3.4 54.236.109.144 GET / HTTP/1.1 www1.kasparov.ru
May 16, 2017 03:04:34.935581000 +05 4 54.236.109.144 1.2.3.4 HTTP/1.1 302 Moved Temporarily (text/html)
May 16, 2017 03:04:34.935587000 +05 5 54.236.109.144 1.2.3.4 80 → 33819 [RST, ACK] Seq=1 Ack=254 Win=252 Len=0

В данном случае ответ Carbon Reductor по каким-то причинам не дошел до Ревизора. Необходимо снимать дампы на промежуточном оборудовании и искать "слабое звено".

После сбора дампа необходимо удалить, либо закомментировать с помощью символа "#" строчку в crontab, во избежание переполнения жесткого диска.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.