FUJITSU Advent Calendar 2018 の11日目の記事です。
(注意)この記事は個人の見解であり、所属する会社、組織を代表するものではありません。
はじめに
Wiresharkで1GB以上のPCAPファイルを追うのは大変
課題
ネットワークのフロー情報から有用な情報を得たいがnetflowやIPfixのフロー情報の可視化環境構築は面倒
解決方法
VagrantやAnsibleを用いてElasticStackやGrafanaを使ったフロー情報の可視化するVM(Ubuntu 16.04ベース)を作成した。
VagrantとAnsibleで作成するVMの構成
- ネットワークインタフェースで受信したパケットをYAFでIPfix形式のフロー情報に変換
- super_mediatorでIPfixをJSON形式のファイルに変換
- JSON形式のファイルをLogstashを経由してElasticsearchに入力
- Elasticsearchでフロー情報検索
- Elasticsearchの検索結果をKibana および Grafanaで可視化
動作環境
- メモリ8GB以上のWindows,Mac,Linux
- 対象となるネットワークに接続可能なNIC
- git
- VirtualBox
- Vagrant
- vagrant-disksize plugin
- vagrant-proxyconf plugin (http proxy使用環境)
- vagrant-vbguest (オプション)
- firefox or chrome (IE, edge不可)
リポジトリ
インストール方法等の詳細
発表資料
2018/06/16のセキュリティマイスター道場(SecDojo) ~夏場所~ のLT枠の発表資料(2018/11/08 修正)
Ansible Night in Osaka 2018.11 LT
Kibana 表示例
##ダッシュボード(bar2)
- フロー数推移(当日、1日前、1週間前)
- DNS問い合わせ名
- オクテット数推移
- フロー数(IP,Port,MAC,TCPフラグ,プロトコル番号で分類)
- http Host
- http Referer
- http Get
- http UserAgent
- http ServerString
##JSONファイルに含まれる情報は追加表示可能
例
- SSL証明書有効期限
- SIPの電話番号
Grafana 表示例
- フロー数
- オクテット数(順方向、逆方向)
- パケット数(順方向、逆方向)
- フロー数、オクテット数、パケット数でアラートを送信する際に使用
URL
CERT NetSA Security Suite
YAF
super_mediator