Пожалуй, многие из тех, кто хотя бы раз озадачивался поиском программы-анализатора NetFlow v.9, знают, что бесплатных решений не так уж и много.
Особенно, если это решение с открытым исходным кодом.
В моем случае мне нужно было получить, проанализировать и визуализировать трафик NetFlow v.9 cisco ASA 5585. Для этого я использовал ELK (Elasticsearch+Logstash+Kibana):
Вот ссылка на официальный сайт .
Спойлер Этот продукт представляет собой решение с открытым исходным кодом, а это значит, что в нем было и будет много «багов», с которыми мне посчастливилось столкнуться.
Ниже представлена рабочая сборка.
1. Эта сборка была развернута на ОС Red Hat Enterprise Linux 7 .
2. Сначала давайте установим Джава , как того требует их инструкция на сайте:
# sudo yum установить Java
3. Установить Эластичный поиск (решение для полнотекстового поиска, построенное на базе Apache Lucene, но с дополнительными удобствами, такими как простое масштабирование, репликация и другие радости, которые сделали elasticsearch очень удобным и хорошим решением для высоконагруженных проектов с большими объемами данных) :
# sudo yum установить download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.4/elasticsearch-2.3.4.rpm
# запуск службы sudo elasticsearch 4. Установить Логсташ (для сборки, фильтрации и последующего перенаправления в итоговое хранилище данных) :
# sudo yum установить download.elastic.co/logstash/logstash/packages/centos/logstash-2.3.4-1.noarch.rpm
# запуск службы logstash sudo 5. Установить Кибана (позволяет брать\искать данные с помощью elasticsearch и строить множество красивых графиков) :
# sudo yum установить download.elastic.co/kibana/kibana/kibana-4.5.3-1.x86_64.rpm
# systemctl включить kibana.service
# запуск службы sudo kibana 6. Теперь у вас должен быть доступ к сайту по адресу локальный хост :5601 во вкладке статуса вы можете проверить, все ли модули у вас подключены.
7. Теперь нам нужно установить плагин logstash-codec-netflow: # /opt/logstash/bin/logstash-plugin install logstash-codec-netflow 8. Теперь, после успешной установки, сверху установите новую рабочую версию 2.1.1 logstash-codec-netflow: # /opt/logstash/bin/logstash-plugin install --version 2.1.1 logstash-codec-netflow 9. Готовый! После установки можем настроить конфиг (/etc/logstash/conf.d): # cd /etc/logstash/conf.d # нано netflow.conf
10. Из нашего конфига следует, что на Cisco ASA нужно настроить сброс NetFlow v.9 на IP-адрес нашего сервера, слушающего порт 9996 (при желании его можно изменить на свой).input { udp { port => 9996 type => "netflow" codec => netflow { versions => [5,9,10] } } } output { if [type] == "netflow" { elasticsearch { hosts => localhost index => "netflow-%{+YYYY.MM.dd}" } } }
Пример настройки: список доступа global_mpc расширенное разрешение ip любой любой пункт назначения потока-экспорта внутри ВАШ IP 9996 карта классов global_class совпадение со списком доступа global_mpc карта политики global_policy класс global_class тип события flow-export все назначения ВАШ IP 11. Итак, теперь мы можем проверить результат наших усилий.
Воспользуемся командой и проверим, что наши усилия не прошли даром:
# /opt/logstash/bin/logstash -e 'input { udp { порт => кодек 9996 => netflow }} вывод { stdout { codec => Rubydebug }}'
Сначала мы увидим только это: :message=>"No matching template for flow id 265", :level=>:warn}
:message=>"No matching template for flow id 263", :level=>:warn}
:message=>"No matching template for flow id 256", :level=>:warn}
:message=>"No matching template for flow id 265", :level=>:warn}
:message=>"No matching template for flow id 263", :level=>:warn}
:message=>"No matching template for flow id 260", :level=>:warn}
Это может занять пару минут, не волнуйтесь, запись изменится и мы получим желаемый результат. 12. Далее мы идем локальный хост :5601 проверяем, что вы получили данные и оформляем нужные вам значения в таблицы и графики.
P.S.
Итак, что хотелось бы сказать напоследок.Начнем с того, что вам, скорее всего, придется устанавливать самописные плагины, а это непростая задача (по крайней мере для меня), для этого вам придется нужен такой пакет (чтобы смонтировать ваш «gem», «gemspec»): # ням устанавливаем RubyGem-Bundler И вот этот пакет для получения некоторых пользовательских плагинов.
# ням, установи git На самом деле, я потратил много времени на поиск решения этого вопроса, что и побудило меня написать эту статью (не хочу, чтобы кто-то еще тоже напрягался).
Я надеюсь, что это руководство было полезным.
Удачи в ваших начинаниях! Теги: #cisco #cisco #хранилище данных #конфигурация Linux #logstash-codec-netflow #анализатор netflow cisco ASA.
-
Колония. Глава 19: Питер
19 Oct, 24 -
Время Забросить Свои Сети
19 Oct, 24 -
Фриланс Ручная Работа
19 Oct, 24 -
Netsuite Становится Публичной
19 Oct, 24