SlideShare a Scribd company logo
1 of 39
Packetbeatの基礎から、
IoTデバイス異常検知への応用まで
2017-07-31
Acroquest Technology
束野 仁政(つかの さとゆき)
第20回Elasticsearch勉強会
自己紹介
• 束野仁政(Acroquest Technology株式会社)
• 活動
1. ネットワーク監視システム
2. 分散処理・ビッグデータ関連システム
(Hadoop, Storm, Spark, Flink, etc.)
3. Elasticsearch関連システム
• @snuffkin
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2
http://qiita.com/snuffkin/items/19b33797b8b5f828b1b6
Elasticsearch勉強会の
発表資料まとめページ
Acroquest Technology
• Elasticsearch社のパートナー
http://www.acroquest.co.jp/elastic/
• Elasticテクニカルワークショップ
https://info.elastic.co/japan-technical-workshop.html
• 会社を元気にする51の「仕組み」
日本実業出版社
 社員が長く気持ちよく働ける会社のユニークな「仕組み」
• Java本格入門
~モダンスタイルによる基礎から
オブジェクト指向・実用ライブラリまで
技術評論社
 現場で使える実践的な内容が詰まっています
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3
目次
1. Packetbeatとは?
2. Packetbeatの主な機能
① Network device
② Transaction protocols
③ Processors
④ Outputs
⑤ Logging
3. ユースケース・実践例
① パケットが流れて1秒で検索したい
② 送信元IPアドレスによる独自パラメータ付与
③ IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4
1. Packetとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
5
Packetbeatとは?
参考:Packetbeat公式ページ(https://www.elastic.co/products/beats/packetbeat)
1. Packetbeatとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
6
Packetbeat is
Lightweight Shipper for
Network Data
Beats Platformのひとつ
ネットワークパケット解析し、Elasticsearch等に送信
Go言語で記述されており、軽量に動作する
1. Packetbeatとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
7
Packetbeatを使ったシステム構成の例
送信元機器
モニタ
送信先機器
①解析した情報の送信
②蓄積、可視化
httpなど
httpなど
1. Packetbeatとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
8
Packetbeatの機能構成イメージ
Network
device
OutputsProcessors
Transaction
protocols
Logging
Elasticsearch
Packetbeat
④
①
② ③
堅牢にするなら
Kafka等を挟む
ネットワークインタフェースから情報を取得するため、
ループバックアドレスの通信状況は取得できない
1. Packetbeatとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
9
取得できる主な内容
1. 送信元IPアドレス/ポート
2. 送信先IPアドレス/ポート
3. 送信/受信バイト数
4. プロトコル名
5. 応答時間(HTTPなど)
取得可能な項目:
https://www.elastic.co/guide/en/beats/packetbeat/mast
er/exported-fields.html
2. Packetbeatの主な機能
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
10
Packetbeatの主な機能
設定ファイルをベースに
Packetbeatの主な機能を紹介します
2. Packetbeatの主な機能
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
11
Packetbeatの機能を知るには、
1. 全体像は「packetbeat.full.yml」を見ると良い
これを「packetbeat.yml」にリネームし、
それを元に設定変更するのがオススメ
https://github.com/elastic/beats/blob/v5.5.0/packetbeat/packetbeat.full.yml
2. 詳細はPacketbeat Referenceで分かる
https://www.elastic.co/guide/en/beats/packetbeat/index.html
2-1. Network device
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
12
【必須】インタフェース指定
インタフェースのdevice id(Packetbeatの概念)を確認
packetbeat -devices
packetbeat.interfaces.device: eth0
packetbeat.yml
コマンドライン
packetbeat.full.ymlにdevice idを設定(例:id=eth0)
「any」を指定すれば全deviceを監視可能
インタフェースを通過しない通信は取得できない
ESPacketbeat
2-1. Network device
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
13
snifferモジュール指定
snifferに利用するモジュールを指定
packetbeat.interfaces.type: pcap
packetbeat.yml
packetbeat.full.ymlにIDを設定(例:device id=0)
1. pcap デフォルト。多くのOSで動作する。
2. af_packet pcapより高速。Linux固有。
3. pf_ring 最高速。Kernel moduleが必要。
ESPacketbeat
2-1. Network device
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
14
memory bufferのサイズ指定
shared memory bufferに利用するサイズを指定
単位はMB
packetbeat.interfaces.buffer_size_mb: 30
packetbeat.yml
1. デフォルト値は30MB
2. 多いほど、メモリに蓄積できる
3. メモリを利用するケースでチューニング
(HTTPのように応答を待つケースなど)
ESPacketbeat
2-1. Network device
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
15
BPF指定
Berkeley Packet Filter (BPF)を指定
packetbeat.interfaces.bpf_filter:
packetbeat.yml
1. デフォルトはフィルタなし
2. IPアドレスやポート番号を絞ることができる
3. 後で説明するProcessorsより、
ここでフィルタする方が負荷が軽いと思われる
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-
interfaces.html#_bpf_filter
ESPacketbeat
2-2. Transaction protocols
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
16
対応プロトコル・アプリケーション
1. ICMP
2. AMQP
3. Cassandra
4. DNS
5. HTTP →次ページで説明
6. Memcache
7. Mysql
8. PostgreSQL
9. Redis
10. Thrift-RPC
11. MongoDB
12. NFS
デフォルトはenable
設定をコメントアウトしても無効にならないため、
不要なら明示的に disable にする
例: ICMP情報の取得を無効にする場合
packetbeat.protocols.icmp:
enabled: false
packetbeat.yml
ESPacketbeat
2-2. Transaction protocols
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
17
HTTP指定
次のブロックに設定
packetbeat.protocols.http:
packetbeat.yml
HTTPの要求/応答単位で情報を取得し、
Elasticsearchの1ドキュメントとして蓄積
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-
protocols.html#_http_configuration_options
ESPacketbeat
2-2. Transaction protocols
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
18
HTTP設定
詳細な設定項目(抜粋)
No. 設定項目 デフォルト値 内容
1 ports [80, 8080,
8000, 5000,
8002]
HTTPを監視するポート
2 real_ip_header なし 送信元IPがIPヘッダでなく、HTTP
ヘッダに含まれるときに設定する。
“X-Forwarded-For”など。
3 send_request false 要求の生情報を取得するか
4 send_response false 応答の生情報を取得するか
5 transaction_timeout 10s 要求と応答を紐づける処理のタイ
ムアウト時間
ESPacketbeat
2-3. Processors
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
19
Processors指定
Packetbeat内でフィルタしたり、パラメータ追加できる
次のブロックに設定
processors:
packetbeat.yml
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-
processors.html
ESPacketbeat
2-3. Processors
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
20
Processors指定
例: “http.code”が200のときにイベントを破棄する
processors:
- drop_event:
when:
equals:
http.code: 200
packetbeat.yml
ESPacketbeat
2-3. Processors
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
21
Processors設定
詳細な設定項目
No. プロセッサ 内容
1 add_cloud_metadata クラウドサービスを利用している場合に、
instance_idなどを付与する。
2 decode_json_fields JSON文字列を、フィールドにパースする。
3 drop_event イベントを破棄する。
4 drop_fields 指定したフィールドを削除する。
(ブラックリスト)
5 include_fields 指定したフィールドを残し、他は削除する。
(ホワイトリスト)
ESPacketbeat
2-4. Outputs
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
22
標準で対応しているアウトプット先
1. Elasticsearch →次ページで説明
2. Logstash
3. Kafka
4. Redis
5. File
6. Console
ESPacketbeat
2-4. Outputs
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
23
Outputs - Elasticsearch設定
次のブロックに設定
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/elasticsearch-
output.html
output.elasticsearch:
packetbeat.yml
ESPacketbeat
2-4. Outputs
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
24
Outputs - Elasticsearch設定
詳細な設定項目(抜粋)
No. 設定項目 デフォルト値 内容
1 hosts ["localhost:9200"] 送信先のElasticsearchを指定。
2 index "packetbeat-
%{+yyyy.MM.dd}"
インデックスを指定する。日付インデッ
クスも利用可能。
3 pipeline なし Elasticsearchのパイプライン(Ingest
Nodeで実行される)を指定。
4 bulk_max_size 50 バルク送信の最大数を指定。
5 flush_interval 1s Elasticsearchに情報を送信する間隔
を指定する。単位はmsも利用可能。
ESPacketbeat
2-5. Logging
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
25
Logging指定
設定例
logging.level: info # critical, error, warning, info, debug
logging.to_files: true
logging.to_syslog: false
logging.files:
path: /var/log/packetbeat
name: packetbeat
rotateeverybytes: 10485760 # = 10MB
keepfiles: 7
packetbeat.yml
詳細:
https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-
logging.html
ESPacketbeat
3. ユースケース・実践例
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
26
ユースケース・実践例
3-1. パケットが流れて1秒で検索したい
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
27
ユースケース例:
Packetbeatにパケットが流れて
1秒以内にElasticsearchで
検索できるようにしたい
3-1. パケットが流れて1秒で検索したい
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
28
時間がかかる要素を
短縮する
Network
device
OutputsProcessors
Transaction
protocols
Logging
Elasticsearch
Packetbeat
④
①
② ③
どこか?
3-1. パケットが流れて1秒で検索したい
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
29
時間がかかる要素を
短縮する
Network
device
OutputsProcessors
Transaction
protocols
Logging
Elasticsearch
Packetbeat
④
①
② ③
Elasticsearchが受信しても
インデクシングされなければ
検索できない
index.refresh_interval
5000ms→100ms
Packetbeatが受信しても
Elasticsearchに送信しなければ
検索できない
flush_interval 1s→100msに変更
intervalを短くするとCPU負荷が
上がる点はトレードオフ
3-2. IPアドレスによる独自パラメータ付与
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
30
ユースケース例:
送信元IPアドレスを見て、
独自パラメータを付与したい
3-2. IPアドレスによる独自パラメータ付与
独自パラメータを付与・変換したいが、
Packetbeatでは複雑な加工はできない
加工する場所は選択の余地がある
1. Elasticsearchより前段で加工したい
ノードにより加工内容が異なる、ES負荷軽減
 Logstashで加工する
2. Elasticsearch側で一括して加工したい
 Ingest Nodeで加工する
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
31
3-2. IPアドレスによる独自パラメータ付与
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
32
独自設定を読み、パラメータを付与するケース
 Elasticsearch側のIngest Node Pluginで付与
Ingest NodePacketbeat
Elasticsearch
設定ファイル
④
①
②
③
Pluginを実装
3-2. IPアドレスによる独自パラメータ付与
1. まず、標準機能での実現を検討する
https://www.elastic.co/guide/en/elasticsearch/reference/current/ing
est-processors.html
標準機能の例:
① 値が固定のフィールドの追加
② フィールド名の変更
③ フィールドの削除
④ 簡易なパース処理
2. 1ドキュメント内に完結した処理
フィールドの追加・変更・削除など
 他のドキュメントにはアクセスできません
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
33
3-2. IPアドレスによる独自パラメータ付与
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
34
Ingest Node Pluginの実装イメージ(初期化などは略)
a_field(文字列)の末尾に「add」を付与したものをb_fieldに設定する例
public class MyProcessor extends AbstractProcessor {
@Override
public void execute(IngestDocument document) throws Exception {
if ((document.hasField("a_field") == true)) {
String value
= document.getFieldValue("a_field", String.class);
document.setFieldValue("b_field", value + "add");
}
}
}
MyProcessor.java
1. 引数に渡ってくるドキュメントを編集することができる
2. ドキュメント毎にexecute が1度呼び出される
3. getFieldValueの引数に存在しないフィールドを指定する例外が発生する
3-3. IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
35
ユースケース例:
IoTデバイスのセキュリティが
世の中で問題となっている
自社のデバイスに問題ないか
異常検知したい
3-3. IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
36
SORACOM Junction と連携し、セキュアな環境でパケット解析が可能になります。
これにより、IoTデバイスの動作不良や不正通信などの異常をリアルタイムで
検知することができます。
Torrentio Flow for Packet Analytics
デバイス
基地局
お客様のサーバ
セキュアな
パケット転送
• パケット解析
• 機械学習
キャリア
不正通信検知
デバイスの
異常検知
通知
Junction
http://www.site.torrentio.tech/torrentio/torrentio-flow/
Torrentio Flow(弊社提供のサービス)
Packetbeat
X-Pack ML
GRE対応
3-3. IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
37
パケットのフローを
分かりやすく可視化。
プロトコルやデータの流
れを簡単に把握。
SIM
データ送信先
通信内容一覧
利用しているSIMに対して、通信の内容を可視化します。
どのSIMから、どのようにデータを送信しているかが一目で分かります。
3-3. IoTデバイスの異常検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
38
SORAOM SIMグループ毎で、ジョブを設定・実行します。
自動的にパターンを分析して、異常が検知されると、通知を行います。
異常検知の結果を可視化。
異常があったところが、
カラーで表示される。
簡単な設定だけで、
異常検知のジョブを
設定。
SIM
分析データ値
ご清聴ありがとうございました
39
ネットワークの流量をモニタしたり、
ネットワークセキュリティにも
Packetbeatは適用できます。
ぜひ、使ってみてください!

More Related Content

What's hot

CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...NTT DATA Technology & Innovation
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdfYasunori Goto
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門Akihiro Kuwano
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話Kazuho Oku
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法Takuya ASADA
 
Hadoop and Kerberos
Hadoop and KerberosHadoop and Kerberos
Hadoop and KerberosYuta Imai
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...Yahoo!デベロッパーネットワーク
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎ken_kitahara
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...NTT DATA Technology & Innovation
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)Panda Yamaki
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)Shota Shinogi
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409稔 小林
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介AdvancedTechNight
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめTetsuya Hasegawa
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinarsFIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinarsfisuda
 

What's hot (20)

CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdf
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
Hadoop and Kerberos
Hadoop and KerberosHadoop and Kerberos
Hadoop and Kerberos
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
Hokkaido.cap#4 ケーススタディ(ネットワークの遅延と戦う:前編)
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinarsFIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
 

Viewers also liked

Elasticsearchと機械学習を利用したbot基盤
Elasticsearchと機械学習を利用したbot基盤Elasticsearchと機械学習を利用したbot基盤
Elasticsearchと機械学習を利用したbot基盤takahito takabayashi
 
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみたJupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみたSatoshi Yazawa
 
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API GatewayMigrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API GatewayAmazon Web Services
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Takuro Sasaki
 
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発真吾 吉田
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017Carol Smith
 

Viewers also liked (6)

Elasticsearchと機械学習を利用したbot基盤
Elasticsearchと機械学習を利用したbot基盤Elasticsearchと機械学習を利用したbot基盤
Elasticsearchと機械学習を利用したbot基盤
 
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみたJupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
 
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API GatewayMigrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
 

Similar to Packetbeatの基礎から、IoTデバイス異常検知への応用まで

2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet ServicesNaoto Gohko
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコシステムズ合同会社
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)NTT DATA Technology & Innovation
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
Ingest node scripting_deep_dive
Ingest node scripting_deep_diveIngest node scripting_deep_dive
Ingest node scripting_deep_diveHiroshi Yoshioka
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Hironobu Isoda
 
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~Takanori Suzuki
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...Tomoya Hibi
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreCLOUDIAN KK
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)Mr. Vengineer
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門openrtm
 
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類shinhiguchi
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlowToshiki Tsuboi
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報yoyamasaki
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with KarateTakanori Suzuki
 
cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)iret, Inc.
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1Tomoya Hibi
 

Similar to Packetbeatの基礎から、IoTデバイス異常検知への応用まで (20)

2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
Ingest node scripting_deep_dive
Ingest node scripting_deep_diveIngest node scripting_deep_dive
Ingest node scripting_deep_dive
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
 
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStore
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
 
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類第45回elasticsearch勉強会 BERTモデルを利用した文書分類
第45回elasticsearch勉強会 BERTモデルを利用した文書分類
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
 
Elastic ML Introduction
Elastic ML IntroductionElastic ML Introduction
Elastic ML Introduction
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
 
cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 

More from Satoyuki Tsukano

あなたのスキルを量子技術に活かそう!
あなたのスキルを量子技術に活かそう!あなたのスキルを量子技術に活かそう!
あなたのスキルを量子技術に活かそう!Satoyuki Tsukano
 
オープンソースの量子コンピュータ・クラウド基盤開発
オープンソースの量子コンピュータ・クラウド基盤開発オープンソースの量子コンピュータ・クラウド基盤開発
オープンソースの量子コンピュータ・クラウド基盤開発Satoyuki Tsukano
 
Quantum Computer: Now and Future
Quantum Computer: Now and FutureQuantum Computer: Now and Future
Quantum Computer: Now and FutureSatoyuki Tsukano
 
Quantum computer applications in serverless architecture and challenges
Quantum computer applications in serverless architecture and challengesQuantum computer applications in serverless architecture and challenges
Quantum computer applications in serverless architecture and challengesSatoyuki Tsukano
 
How to Contributet o Quantum Computer
How to Contributet o Quantum ComputerHow to Contributet o Quantum Computer
How to Contributet o Quantum ComputerSatoyuki Tsukano
 
a story about an application that uses a real quantum computer
a story about an application that uses a real quantum computera story about an application that uses a real quantum computer
a story about an application that uses a real quantum computerSatoyuki Tsukano
 
Introduction to Quantum Programming Studio
Introduction to Quantum Programming StudioIntroduction to Quantum Programming Studio
Introduction to Quantum Programming StudioSatoyuki Tsukano
 
量子コンピュータのプログラミング・コンテスト体験記
量子コンピュータのプログラミング・コンテスト体験記量子コンピュータのプログラミング・コンテスト体験記
量子コンピュータのプログラミング・コンテスト体験記Satoyuki Tsukano
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタSatoyuki Tsukano
 
数学好きから見た量子コンピュータ~57を因数分解した話~
数学好きから見た量子コンピュータ~57を因数分解した話~数学好きから見た量子コンピュータ~57を因数分解した話~
数学好きから見た量子コンピュータ~57を因数分解した話~Satoyuki Tsukano
 
Elasticsearch as a Distributed System
Elasticsearch as a Distributed SystemElasticsearch as a Distributed System
Elasticsearch as a Distributed SystemSatoyuki Tsukano
 

More from Satoyuki Tsukano (11)

あなたのスキルを量子技術に活かそう!
あなたのスキルを量子技術に活かそう!あなたのスキルを量子技術に活かそう!
あなたのスキルを量子技術に活かそう!
 
オープンソースの量子コンピュータ・クラウド基盤開発
オープンソースの量子コンピュータ・クラウド基盤開発オープンソースの量子コンピュータ・クラウド基盤開発
オープンソースの量子コンピュータ・クラウド基盤開発
 
Quantum Computer: Now and Future
Quantum Computer: Now and FutureQuantum Computer: Now and Future
Quantum Computer: Now and Future
 
Quantum computer applications in serverless architecture and challenges
Quantum computer applications in serverless architecture and challengesQuantum computer applications in serverless architecture and challenges
Quantum computer applications in serverless architecture and challenges
 
How to Contributet o Quantum Computer
How to Contributet o Quantum ComputerHow to Contributet o Quantum Computer
How to Contributet o Quantum Computer
 
a story about an application that uses a real quantum computer
a story about an application that uses a real quantum computera story about an application that uses a real quantum computer
a story about an application that uses a real quantum computer
 
Introduction to Quantum Programming Studio
Introduction to Quantum Programming StudioIntroduction to Quantum Programming Studio
Introduction to Quantum Programming Studio
 
量子コンピュータのプログラミング・コンテスト体験記
量子コンピュータのプログラミング・コンテスト体験記量子コンピュータのプログラミング・コンテスト体験記
量子コンピュータのプログラミング・コンテスト体験記
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
数学好きから見た量子コンピュータ~57を因数分解した話~
数学好きから見た量子コンピュータ~57を因数分解した話~数学好きから見た量子コンピュータ~57を因数分解した話~
数学好きから見た量子コンピュータ~57を因数分解した話~
 
Elasticsearch as a Distributed System
Elasticsearch as a Distributed SystemElasticsearch as a Distributed System
Elasticsearch as a Distributed System
 

Packetbeatの基礎から、IoTデバイス異常検知への応用まで

  • 2. 自己紹介 • 束野仁政(Acroquest Technology株式会社) • 活動 1. ネットワーク監視システム 2. 分散処理・ビッグデータ関連システム (Hadoop, Storm, Spark, Flink, etc.) 3. Elasticsearch関連システム • @snuffkin Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2 http://qiita.com/snuffkin/items/19b33797b8b5f828b1b6 Elasticsearch勉強会の 発表資料まとめページ
  • 3. Acroquest Technology • Elasticsearch社のパートナー http://www.acroquest.co.jp/elastic/ • Elasticテクニカルワークショップ https://info.elastic.co/japan-technical-workshop.html • 会社を元気にする51の「仕組み」 日本実業出版社  社員が長く気持ちよく働ける会社のユニークな「仕組み」 • Java本格入門 ~モダンスタイルによる基礎から オブジェクト指向・実用ライブラリまで 技術評論社  現場で使える実践的な内容が詰まっています Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3
  • 4. 目次 1. Packetbeatとは? 2. Packetbeatの主な機能 ① Network device ② Transaction protocols ③ Processors ④ Outputs ⑤ Logging 3. ユースケース・実践例 ① パケットが流れて1秒で検索したい ② 送信元IPアドレスによる独自パラメータ付与 ③ IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4
  • 5. 1. Packetとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 5 Packetbeatとは? 参考:Packetbeat公式ページ(https://www.elastic.co/products/beats/packetbeat)
  • 6. 1. Packetbeatとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 6 Packetbeat is Lightweight Shipper for Network Data Beats Platformのひとつ ネットワークパケット解析し、Elasticsearch等に送信 Go言語で記述されており、軽量に動作する
  • 7. 1. Packetbeatとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 7 Packetbeatを使ったシステム構成の例 送信元機器 モニタ 送信先機器 ①解析した情報の送信 ②蓄積、可視化 httpなど httpなど
  • 8. 1. Packetbeatとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 8 Packetbeatの機能構成イメージ Network device OutputsProcessors Transaction protocols Logging Elasticsearch Packetbeat ④ ① ② ③ 堅牢にするなら Kafka等を挟む ネットワークインタフェースから情報を取得するため、 ループバックアドレスの通信状況は取得できない
  • 9. 1. Packetbeatとは? Copyright © Acroquest Technology Co., Ltd. All rights reserved. 9 取得できる主な内容 1. 送信元IPアドレス/ポート 2. 送信先IPアドレス/ポート 3. 送信/受信バイト数 4. プロトコル名 5. 応答時間(HTTPなど) 取得可能な項目: https://www.elastic.co/guide/en/beats/packetbeat/mast er/exported-fields.html
  • 10. 2. Packetbeatの主な機能 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 10 Packetbeatの主な機能 設定ファイルをベースに Packetbeatの主な機能を紹介します
  • 11. 2. Packetbeatの主な機能 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 11 Packetbeatの機能を知るには、 1. 全体像は「packetbeat.full.yml」を見ると良い これを「packetbeat.yml」にリネームし、 それを元に設定変更するのがオススメ https://github.com/elastic/beats/blob/v5.5.0/packetbeat/packetbeat.full.yml 2. 詳細はPacketbeat Referenceで分かる https://www.elastic.co/guide/en/beats/packetbeat/index.html
  • 12. 2-1. Network device Copyright © Acroquest Technology Co., Ltd. All rights reserved. 12 【必須】インタフェース指定 インタフェースのdevice id(Packetbeatの概念)を確認 packetbeat -devices packetbeat.interfaces.device: eth0 packetbeat.yml コマンドライン packetbeat.full.ymlにdevice idを設定(例:id=eth0) 「any」を指定すれば全deviceを監視可能 インタフェースを通過しない通信は取得できない ESPacketbeat
  • 13. 2-1. Network device Copyright © Acroquest Technology Co., Ltd. All rights reserved. 13 snifferモジュール指定 snifferに利用するモジュールを指定 packetbeat.interfaces.type: pcap packetbeat.yml packetbeat.full.ymlにIDを設定(例:device id=0) 1. pcap デフォルト。多くのOSで動作する。 2. af_packet pcapより高速。Linux固有。 3. pf_ring 最高速。Kernel moduleが必要。 ESPacketbeat
  • 14. 2-1. Network device Copyright © Acroquest Technology Co., Ltd. All rights reserved. 14 memory bufferのサイズ指定 shared memory bufferに利用するサイズを指定 単位はMB packetbeat.interfaces.buffer_size_mb: 30 packetbeat.yml 1. デフォルト値は30MB 2. 多いほど、メモリに蓄積できる 3. メモリを利用するケースでチューニング (HTTPのように応答を待つケースなど) ESPacketbeat
  • 15. 2-1. Network device Copyright © Acroquest Technology Co., Ltd. All rights reserved. 15 BPF指定 Berkeley Packet Filter (BPF)を指定 packetbeat.interfaces.bpf_filter: packetbeat.yml 1. デフォルトはフィルタなし 2. IPアドレスやポート番号を絞ることができる 3. 後で説明するProcessorsより、 ここでフィルタする方が負荷が軽いと思われる 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/configuration- interfaces.html#_bpf_filter ESPacketbeat
  • 16. 2-2. Transaction protocols Copyright © Acroquest Technology Co., Ltd. All rights reserved. 16 対応プロトコル・アプリケーション 1. ICMP 2. AMQP 3. Cassandra 4. DNS 5. HTTP →次ページで説明 6. Memcache 7. Mysql 8. PostgreSQL 9. Redis 10. Thrift-RPC 11. MongoDB 12. NFS デフォルトはenable 設定をコメントアウトしても無効にならないため、 不要なら明示的に disable にする 例: ICMP情報の取得を無効にする場合 packetbeat.protocols.icmp: enabled: false packetbeat.yml ESPacketbeat
  • 17. 2-2. Transaction protocols Copyright © Acroquest Technology Co., Ltd. All rights reserved. 17 HTTP指定 次のブロックに設定 packetbeat.protocols.http: packetbeat.yml HTTPの要求/応答単位で情報を取得し、 Elasticsearchの1ドキュメントとして蓄積 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/configuration- protocols.html#_http_configuration_options ESPacketbeat
  • 18. 2-2. Transaction protocols Copyright © Acroquest Technology Co., Ltd. All rights reserved. 18 HTTP設定 詳細な設定項目(抜粋) No. 設定項目 デフォルト値 内容 1 ports [80, 8080, 8000, 5000, 8002] HTTPを監視するポート 2 real_ip_header なし 送信元IPがIPヘッダでなく、HTTP ヘッダに含まれるときに設定する。 “X-Forwarded-For”など。 3 send_request false 要求の生情報を取得するか 4 send_response false 応答の生情報を取得するか 5 transaction_timeout 10s 要求と応答を紐づける処理のタイ ムアウト時間 ESPacketbeat
  • 19. 2-3. Processors Copyright © Acroquest Technology Co., Ltd. All rights reserved. 19 Processors指定 Packetbeat内でフィルタしたり、パラメータ追加できる 次のブロックに設定 processors: packetbeat.yml 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/configuration- processors.html ESPacketbeat
  • 20. 2-3. Processors Copyright © Acroquest Technology Co., Ltd. All rights reserved. 20 Processors指定 例: “http.code”が200のときにイベントを破棄する processors: - drop_event: when: equals: http.code: 200 packetbeat.yml ESPacketbeat
  • 21. 2-3. Processors Copyright © Acroquest Technology Co., Ltd. All rights reserved. 21 Processors設定 詳細な設定項目 No. プロセッサ 内容 1 add_cloud_metadata クラウドサービスを利用している場合に、 instance_idなどを付与する。 2 decode_json_fields JSON文字列を、フィールドにパースする。 3 drop_event イベントを破棄する。 4 drop_fields 指定したフィールドを削除する。 (ブラックリスト) 5 include_fields 指定したフィールドを残し、他は削除する。 (ホワイトリスト) ESPacketbeat
  • 22. 2-4. Outputs Copyright © Acroquest Technology Co., Ltd. All rights reserved. 22 標準で対応しているアウトプット先 1. Elasticsearch →次ページで説明 2. Logstash 3. Kafka 4. Redis 5. File 6. Console ESPacketbeat
  • 23. 2-4. Outputs Copyright © Acroquest Technology Co., Ltd. All rights reserved. 23 Outputs - Elasticsearch設定 次のブロックに設定 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/elasticsearch- output.html output.elasticsearch: packetbeat.yml ESPacketbeat
  • 24. 2-4. Outputs Copyright © Acroquest Technology Co., Ltd. All rights reserved. 24 Outputs - Elasticsearch設定 詳細な設定項目(抜粋) No. 設定項目 デフォルト値 内容 1 hosts ["localhost:9200"] 送信先のElasticsearchを指定。 2 index "packetbeat- %{+yyyy.MM.dd}" インデックスを指定する。日付インデッ クスも利用可能。 3 pipeline なし Elasticsearchのパイプライン(Ingest Nodeで実行される)を指定。 4 bulk_max_size 50 バルク送信の最大数を指定。 5 flush_interval 1s Elasticsearchに情報を送信する間隔 を指定する。単位はmsも利用可能。 ESPacketbeat
  • 25. 2-5. Logging Copyright © Acroquest Technology Co., Ltd. All rights reserved. 25 Logging指定 設定例 logging.level: info # critical, error, warning, info, debug logging.to_files: true logging.to_syslog: false logging.files: path: /var/log/packetbeat name: packetbeat rotateeverybytes: 10485760 # = 10MB keepfiles: 7 packetbeat.yml 詳細: https://www.elastic.co/guide/en/beats/packetbeat/current/configuration- logging.html ESPacketbeat
  • 26. 3. ユースケース・実践例 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 26 ユースケース・実践例
  • 27. 3-1. パケットが流れて1秒で検索したい Copyright © Acroquest Technology Co., Ltd. All rights reserved. 27 ユースケース例: Packetbeatにパケットが流れて 1秒以内にElasticsearchで 検索できるようにしたい
  • 28. 3-1. パケットが流れて1秒で検索したい Copyright © Acroquest Technology Co., Ltd. All rights reserved. 28 時間がかかる要素を 短縮する Network device OutputsProcessors Transaction protocols Logging Elasticsearch Packetbeat ④ ① ② ③ どこか?
  • 29. 3-1. パケットが流れて1秒で検索したい Copyright © Acroquest Technology Co., Ltd. All rights reserved. 29 時間がかかる要素を 短縮する Network device OutputsProcessors Transaction protocols Logging Elasticsearch Packetbeat ④ ① ② ③ Elasticsearchが受信しても インデクシングされなければ 検索できない index.refresh_interval 5000ms→100ms Packetbeatが受信しても Elasticsearchに送信しなければ 検索できない flush_interval 1s→100msに変更 intervalを短くするとCPU負荷が 上がる点はトレードオフ
  • 30. 3-2. IPアドレスによる独自パラメータ付与 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 30 ユースケース例: 送信元IPアドレスを見て、 独自パラメータを付与したい
  • 32. 3-2. IPアドレスによる独自パラメータ付与 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 32 独自設定を読み、パラメータを付与するケース  Elasticsearch側のIngest Node Pluginで付与 Ingest NodePacketbeat Elasticsearch 設定ファイル ④ ① ② ③ Pluginを実装
  • 33. 3-2. IPアドレスによる独自パラメータ付与 1. まず、標準機能での実現を検討する https://www.elastic.co/guide/en/elasticsearch/reference/current/ing est-processors.html 標準機能の例: ① 値が固定のフィールドの追加 ② フィールド名の変更 ③ フィールドの削除 ④ 簡易なパース処理 2. 1ドキュメント内に完結した処理 フィールドの追加・変更・削除など  他のドキュメントにはアクセスできません Copyright © Acroquest Technology Co., Ltd. All rights reserved. 33
  • 34. 3-2. IPアドレスによる独自パラメータ付与 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 34 Ingest Node Pluginの実装イメージ(初期化などは略) a_field(文字列)の末尾に「add」を付与したものをb_fieldに設定する例 public class MyProcessor extends AbstractProcessor { @Override public void execute(IngestDocument document) throws Exception { if ((document.hasField("a_field") == true)) { String value = document.getFieldValue("a_field", String.class); document.setFieldValue("b_field", value + "add"); } } } MyProcessor.java 1. 引数に渡ってくるドキュメントを編集することができる 2. ドキュメント毎にexecute が1度呼び出される 3. getFieldValueの引数に存在しないフィールドを指定する例外が発生する
  • 35. 3-3. IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 35 ユースケース例: IoTデバイスのセキュリティが 世の中で問題となっている 自社のデバイスに問題ないか 異常検知したい
  • 36. 3-3. IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 36 SORACOM Junction と連携し、セキュアな環境でパケット解析が可能になります。 これにより、IoTデバイスの動作不良や不正通信などの異常をリアルタイムで 検知することができます。 Torrentio Flow for Packet Analytics デバイス 基地局 お客様のサーバ セキュアな パケット転送 • パケット解析 • 機械学習 キャリア 不正通信検知 デバイスの 異常検知 通知 Junction http://www.site.torrentio.tech/torrentio/torrentio-flow/ Torrentio Flow(弊社提供のサービス) Packetbeat X-Pack ML GRE対応
  • 37. 3-3. IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 37 パケットのフローを 分かりやすく可視化。 プロトコルやデータの流 れを簡単に把握。 SIM データ送信先 通信内容一覧 利用しているSIMに対して、通信の内容を可視化します。 どのSIMから、どのようにデータを送信しているかが一目で分かります。
  • 38. 3-3. IoTデバイスの異常検知 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 38 SORAOM SIMグループ毎で、ジョブを設定・実行します。 自動的にパターンを分析して、異常が検知されると、通知を行います。 異常検知の結果を可視化。 異常があったところが、 カラーで表示される。 簡単な設定だけで、 異常検知のジョブを 設定。 SIM 分析データ値

Editor's Notes

  1. ・締めの文章を入力する。