Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Visualizenetworktraffic 20181108

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 19 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Visualizenetworktraffic 20181108 (20)

Publicité

Plus récents (20)

Visualizenetworktraffic 20181108

  1. 1. VagrantとAnsibleを用いた フロー情報の可視化環境作成 Takashi Umeno 2018/06/19 初版 2018/11/08 修正
  2. 2. 自己紹介と注意事項  氏名: 梅野 崇 (うめの たかし)  所属: 富士通株式会社  ※発表内容は発表者個人によるものであり、会場や組織を代表する ものではありません。  ※パケットや通信フローには機微な情報が含まれます。作成環境は 「通信の秘密」を尊重して使用してください。  ※KibanaはTCP 5601を使用して通信を行い、grafanaはTCP 3000を 使用して通信を行います。TCP 5601やTCP 3000に対して外部から 不正な通信を行われないための対策(IPフィルタなど)を行ってくだ さい。
  3. 3. はじめに  Wiresharkで大量のパケット(1GB以上)を追うのは大変  ネットワークのフロー情報から有用な情報を得たい  netflowやIPfixのフロー情報の可視化環境構築は面倒  →VagrantやAnsibleを用いてフロー情報の可視化環境をパソコン 上で簡単に作成できる様にした。  visualize network traffic by ELK6 https://github.com/t-umeno/visualize_network_traffic https://github.com/t- umeno/visualize_network_traffic/blob/master/README.ja.md
  4. 4. 動作環境  メモリ8GB以上のWindows,Mac,Linux  対象となるネットワークに接続可能なNIC  git  VirtualBox  Vagrant  vagrant-disksize plugin  vagrant-proxyconf plugin (http proxy使用環境)  vagrant-vbguest (オプション)  firefox or chrome (IE, edge不可)
  5. 5. 構成  YAFでNICから受信したパケット をIPfix形式のフロー情報に変換  IPfixをsuper_mediatorでJSON ファイルに変換  JSONファイルをLogstash経由で Elasticsearchに入力  Elasticsearchでフロー情報検索  Elasticsearchの検索結果をKibana でWebブラウザにダッシュボー ド表示  上記構成のVMをVagrantと Ansibleで生成 YAF • パケットをIPfix形式のフロー情報に変換 super_me diator • IPfixをJSONファイルに変換 Logstash • JSONファイルをElasticsearchに入力 Elasticsear ch • フロー情報の検索 Kibana • Elasticsearchの検索結果をダッシュボードに表示
  6. 6. インストール $ export http_proxy="http://aaa.bbb.ccc.ddd:8080/" # option $ export https_proxy="http://aaa.bbb.ccc.ddd:8080/" # option $ vagrant plugin install vagrant-proxyconf # if you use proxy $ vagrant plugin install vagrant-vbguest # option $ vagrant plugin install vagrant-disksize $ cd ansible/ELK6/playbooks $ vagrant up (snip) (select network interface for packet capture) ==> default: Available bridged network interfaces: 1) en1: Wi-Fi (AirPort) 2) bridge0 3) en0: Ethernet 4) en2: Thunderbolt 1 5) p2p0 ==> default: When choosing an interface, it is usually the one that is ==> default: being used to connect to the internet. default: Which interface should the network bridge to? 3
  7. 7. Git for Windows インストールの注意事項  Windows 環境で git for Widnows https://gitforwindows.org/ を使用する場合は改 行コードを一切変更しない設定(Checkout as-is, commit as-is)でインストールして ください。
  8. 8. 使用方法(shell) $ cd ansible/ELK6/playbooks $ vagrant ssh vagrant@ubuntu-xenial:~$ super_mediator.sh vagrant@ubuntu-xenial:~$ yaf.sh enp0s8 >& /dev/null &
  9. 9. 認証proxy(http,https)使用時の注意事項  ユーザ名 ”hoge”,パスワード ”1234”, proxy ”http://aaa.bbb.ccc.ddd:8080/ の場合  $ export http_proxy="http://hoge:1234@aaa.bbb.ccc.ddd:8080/"  $ export https_proxy=“http://hoge:1234@aaa.bbb.ccc.ddd:8080/”  ユーザ名 ”fuga.hoge@example.com”,パスワード ”1234”, proxy ”http://aaa.bbb.ccc.ddd:8080/ の場合  $ export http_proxy="http://fuga.hoge%40example.com:1234@aaa.bbb.ccc.ddd:8080/"  $ export https_proxy="http://fuga.hoge%40example.com:1234@aaa.bbb.ccc.ddd:8080/"
  10. 10. Kibana設定(ブラウザ)  ブラウザでKibanaを設定する方法は下記URLの「使用方法 (kibana)」を参照してください https://github.com/t- umeno/visualize_network_traffic/blob/master/README.ja. md#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95- kibana
  11. 11. Grafana設定(ブラウザ)  ブラウザでgrafanaを設定する方法は下記URLの「使用方法 (grafana)」を参照してください https://github.com/t- umeno/visualize_network_traffic/blob/master/README.ja. md#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95- grafana
  12. 12. ダッシュボード(bar2) その1  5タプル(src IP, dst IP, src port, dst port, protocol)以外 の情報も表示します。 フロー数推移(当日、1日 前、1週間前) DNS問い合わせ名 順方向、逆方向のオク テット数推移(当日、1日 前、1週間前)
  13. 13. ダッシュボード(bar2) その2  フロー数 src IP(IPv4, IPv6両方) src MAC dst IP(IPv4, IPv6両方) dst MAC
  14. 14. ダッシュボード(bar2) その3  フロー数 dst port(TCP) dst port(UDP) 順方向、逆方向の最初の TCPflag(SYN, SYN+ACK, RST,無応答等) src IP dst IP dst Port protocol(TCP, UDP)
  15. 15. ダッシュボード(bar2) その4  フロー数  http Host  ICMP(1),IGMP(2),TCP(6),UDP(17)等のプ ロトコル番号  http Referer  http Get  http UserAgent (右図の範囲外)  http ServerString (右図の範囲外)  bar2以外にもbar,circle,circle2,main等各 種ダッシュボードあり  YAFで取得したパラメタを表示する ダッシュボードを作成可能
  16. 16. Grafana  ElasticSearch YAF count  flow count  octetTotalCount (Sum flows octetTotalCount, Sum flows reverseOctetTotalCount)  packetTotalCount (Sum flows packetTotalCount, Sum flows reversePacketTotalCount)  flow count, octetTotalCount, packetTotalCountの値でアラートを送 信する際に使用してください。  メールやslackなどGrafanaで使用可能 な手段でアラートを通知できます。
  17. 17. ToDo  ドキュメント作成  設定ファイルでVMのディスク容量などを変更可能にする  リバースプロキシを利用してダッシュボードに認証機能追加
  18. 18. URL  Visualize network traffic by ELK6  https://github.com/t-umeno/visualize_network_traffic  https://t-umeno.github.io/visualize_network_traffic/  VirtualBox  https://www.virtualbox.org/  Vagrant  https://www.vagrantup.com/  Elasticsearch  https://www.elastic.co/jp/  YAF  https://tools.netsa.cert.org/yaf/
  19. 19. ご清聴ありがとうございました

×