SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Elastic Stack
Technology Innovation Group
2017.06.20(Tue)
Masamitsu Maehara
世界にさらしたサーバを可視化してみた
自己紹介
 前原 応光(まえはら まさみつ)
 Future Architect, Inc.
 Technology Innovation Group
 AWSをゴニョゴニョやってますー
 ゆるふわエンジニア
@micci184
目的
 Elastic Stackの魅力を知ってもらう
 ログを可視化する楽しさを知ってもらう
Elastic Stack??
Elastic Stack
Elastic CLoud
LogStash Beats
Elasticsearch
Kibana
+
Security
Alert
Monitor
Graph
 Logstash/Beats:取込み
 Elasticsearch:保存/インデックス/分析
 Kibana:ユーザインターフェース
世界にさらす?
HoneyPot
??
HoneyPot
 高対話型ハニーポット
 本物のOSやアプリケーションを利用する
 情報が得られやすい
 リスク高い
 低対話型ハニーポット
 OSやアプリケーションをエミュレートして監視する
 機能制限がある
 攻撃者にバレる可能性がある
 高対話型より安全
Dionaea
 低対話型ハニーポット
 マルウェア収集するよ
 SMB/HTTP/HTTPS/FTP/TFTP/MSSQL/SIP
 それっぽくするために、フロントの画面はつくる
 低対話型ハニーポット
 SSH特化
 Kippoよりもよくできている
Cowrie
今回の構成について
 AWSを使用
 ハニーポットにBeatsをインストール
 Elastic Stackにデータを統合
Dionaea
Region@Virginia
HaneyPot VPC
Public Subnet
Cowrie Elastic
Stack
Wordpress
Client・
・
・
Monitoring
Attack
Logging
Install Dionaea
### Ubuntu 14.04
$ sudo apt-get update
$ sudo apt-get dist-upgrade
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:honeynet/nightly
$ sudo apt-get update
$ sudo apt-get install dionaea
### Start Dionaea
$ sudo service dionaea start
Install Cowrie
### Ubuntu 16.04
$ sudo apt-get install git python-virtualenv libmpfr-dev libssl-dev libmpc-dev libffi-dev build-essential
libpython-dev python2.7-minimal authbind
### adduser Cowrie
$ sudo adduser --disabled-password cowrie
$ sudo su - cowrie
### Setup Virtual Enviroment
$ virtualenv cowrie-env
$ source cowrie-env/bin/activate
### Install configuration file
$ export PYTHONPATH=/home/cowrie/cowrie
### Start Cowrie
$ bin/cowrie start
Activating virtualenv “cowrie-env”
Starting cowrie: [twistd -l log/cowrie.log --umask 0077 --pidfile var/run/cowrie.pid cowrie ]...
$ bin/cowrie status
cowrie is running (PID: 5979).
Beats
 データシッパー
 Beatsには家族がいるよ
 Filebeat:ログファイルを送る
 Metricbeat:メトリックデータ(CPU/Mem..etc)を送る
 Packetbeat:パケットキャプチャデータを送る
 Winlogbeat:Windowsイベントログを送る
 Hearbeat:稼働状況の監視
Data Flow
 WordPressのApache/MySQLは直接Elasticsearchにストア
 ハニーポットが出力するログをLogstashを介してElasticsearchにストア
Dionaea Filebeat
Ubuntu
+ Log/dionaea.log
/binalies/*
Amazon Linux
Logstash
+ Input
+ Filter
+ Output
Cowrie Filebeat
Ubuntu
+ Log/cowrie.log
Elastic
search
KibanaMetric
Beat
Filebeat
Amazon Linux
+ Apache
Apache
WordPress
Packetbeat
+ MySQL
Filebeat Modules
 Filebeat をインスール
$ curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.0-alpha2-x86_64.rpm
$ sudo rpm -vi filebeat-6.0.0-alpha2-x86_64.rpm
### Configuring
$ vim /etc/filebeat/filebeat.yml
#------------------------------- Apache2 Module ------------------------------
- module: apache2
# Access logs
access:
enabled: true
var.paths: ["/var/log/httpd/access_log"]
error:
enabled: true
var.paths: ["/var/log/httpd/error_log"]
#-------------------------- Elasticsearch output -------------------------------
output.elasticsearch:
hosts: [“xxx.xxx.xxx.xxx:9200"]
Ingest Plugins
 Ingest Geoip & Ingest user agent をインストール
 Ingest Geoip:IPアドレスの地図マッピングをよしなに
 Ingest user agent:ユーザーエージェントをよしなに
 Ingenst Pluginsは、Elastic Stackサーバにインストール
### Ingest Geoip
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-geoip
### Ingest user agent
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-user-agent
!!Attention #01
 プロキシ環境は気を付けて
 Ingest Pluginsインストール時にタイムアウトエラー
 起動スクリプトにプロキシ設定を実施し、インストール
$ sudo /usr/share/elasticsearch/bin//elasticsearch-plugin install ingest-user-agent
-> Downloading ingest-user-agent from elastic
Exception in thread "main" java.net.ConnectException: 接続がタイムアウトしました (Connection timed out)
### Setup Proxy
$ export ES_JAVA_OPTS="-Dhttp.proxyHost=xxx -Dhttp.proxyPort=xxx -Dhttps.proxyHost=xxx -
Dhttps.proxyPort=xxx"
### Install ingest-user-agent
$ /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-user-agent
-> Downloading ingest-user-agent from elastic
[=================================================] 100% ### Ingest Geoip
!!Attention #02
 プロキシ環境は気を付けて
 Filebeat起動時にDashboardsをインポートしてくれる優れもの
#filebeat.ymlのDashbords設定で起動時にインポートが可能
 ただし、プロキシ環境だと起動できずに死亡。。Orz
 なので手で入れましょう
$ sudo vim /etc/filebeat/filebeat.yml
#============================== Dashboards =====================================
- #setup.dashboards.enabled: false
+ #setup.dashboards.enabled: enable
$ sudo /usr/share/filebeat/scripts/import_dashboards -file /tmp/beats-dashboards-x.x.zip -es
http://xxx:9200
Visualization♥
素敵♥
今までは…
 Filebeatで可視化したいログをLogstashに送る
 Logstashが受け付けたログを正規化して、Elasticsearchにストア
 Kibanaでいい感じに見れるようにDashbordを作成
あれ?
Logstash不要説?
そんなことはない!
Logstash & Dionaea
Malware
 Dionaeaに仕込まれたマルウェア?
 /opt/dionaea/var/dionaea/binariesにウヨウヨ…
$ ll /opt/dionaea/var/dionaea/binaries
-rw------- 1 dionaea dionaea 53 Jun 6 02:59 d41d8cd98f00b204e9800998ecf8427e.gz
-rw------- 1 dionaea dionaea 162168 Jun 7 22:56 dc8c32d7f26352c8484bc490b6467843.gz
-rw------- 1 dionaea dionaea 153820 Jun 7 02:34 dd0400bed68d272b08d1d0272bc18462.gz
-rw------- 1 dionaea dionaea 129803 Jun 5 01:01 de1e602b2452a95ba57ef53347e50094.gz
-rw------- 1 dionaea dionaea 22778 Jun 6 17:38 e0ddd8bf8e3b97ad25855721dc75daae.gz
-rw------- 1 dionaea dionaea 155154 Jun 7 04:33 e53ed987e82ad7bf076c23d91401cac7.gz
-rw------- 1 dionaea dionaea 1189 Jun 8 15:32 ead49a9b7b0c8ad6894be45674cebf77.gz
-rw------- 1 dionaea dionaea 22777 Jun 6 17:39 eb18a7d302bbc8c0b3ed2cd1612e8d59.gz
…
-rw------- 1 dionaea dionaea 21966 Jun 5 16:52 ee0efafc69a13cd57d714ffdc603d8fc.gz
-rw------- 1 dionaea dionaea 154329 Jun 4 16:48 f09ee5028fd1b1eaaf22df1538de159b.gz
-rw------- 1 dionaea dionaea 156637 Jun 9 08:51 f5f1fd0d093d81a4a769c20aca1d6232.gz
-rw------- 1 dionaea dionaea 29643 Jun 8 15:34 fc9b0b8b711e44ce0d4f91b0cedb1c76.gz
ClamScan
 マルウェア?ってことで、スキャン実行
 FOUNDがマルウェア判定
$ clamscan /opt/dionaea/var/dionaea/binaries/
/opt/dionaea/var/dionaea/binaries/f09ee5028fd1b1eaaf22df1538de159b.gz: Win.Worm.Kido-200 FOUND
/opt/dionaea/var/dionaea/binaries/621c0b356c49edc5ce4cf3ee88c30f82.gz: OK
/opt/dionaea/var/dionaea/binaries/90e02a26204ade7771acf7e8521bdf09.gz: Win.Worm.Kido-297 FOUND
/opt/dionaea/var/dionaea/binaries/02830b424d88664cc3576941dd9841f9.gz: Win.Worm.Kido-307 FOUND
/opt/dionaea/var/dionaea/binaries/a7bc14c1bd7271a45391f1e1541afe43.gz: Win.Worm.Downadup-110 FOUND
/opt/dionaea/var/dionaea/binaries/87136c488903474630369e232704fa4d.gz: Win.Worm.Kido-113 FOUND
/opt/dionaea/var/dionaea/binaries/1195dfde6305980ed050a9751b157f42.gz: Win.Worm.Kido-293 FOUND
/opt/dionaea/var/dionaea/binaries/1b4cd56e54d3f9030a153590fb3fa9e5.gz: Win.Worm.Kido-316 FOUND
/opt/dionaea/var/dionaea/binaries/fc9b0b8b711e44ce0d4f91b0cedb1c76.gz: OK
/opt/dionaea/var/dionaea/binaries/cae8a8524eeb0e7de1fb3704bd14b7ba.gz: Win.Trojan.Ramnit-1847 FOUND
/opt/dionaea/var/dionaea/binaries/7bb455ea4a77b24478fba4de145115eb.gz: Win.Worm.Kido-197 FOUND
/opt/dionaea/var/dionaea/binaries/eb18a7d302bbc8c0b3ed2cd1612e8d59.gz: OK
/opt/dionaea/var/dionaea/binaries/smb-az4poq4s.tmp.gz: OK
/opt/dionaea/var/dionaea/binaries/16acf30169d089b8a967f40d9a38d8f7.gz: Win.Trojan.Agent-129152 FOUND
仕込まれたマルウェアを
リアルタイムに監視したい…
Data Flow
 定期的にClamScanを実行し、ログ出力
 FilebeatがログをElastic Stackサーバに送る
 Logstashはインプットしたデータを正規化し、Elasticsearchにストアする
 Kibanaで可視化
Dionaea Filebeat
Ubuntu
+ Log
/binalies/*
/log/scan.log
clamscan.sh
Amazon Linux
Logstash
+ Input
+ Filter
+ Output
Elastic
search
KibanaMetric
Beat
ちなみに、みなさん使ってます?
Logstash
Logstash vs fluentd
 Google Trendで比較
 国別で比較
 青:Logstash
 赤:fluentd
Grok filter
Grok Filter
 ClamScanした結果が、以下でしたね
 これをいい感じに正規化して必要なKey-Valueを抽出する必要あり
 欲しい値
 OK/FOUND (Key : check)
 マルウェア名 (Key : malware)
$ clamscan /opt/dionaea/var/dionaea/binaries/
/opt/dionaea/var/dionaea/binaries/f09ee5028fd1b1eaaf22df1538de159b.gz: Win.Worm.Kido-200 FOUND
/opt/dionaea/var/dionaea/binaries/621c0b356c49edc5ce4cf3ee88c30f82.gz: OK
/opt/dionaea/var/dionaea/binaries/90e02a26204ade7771acf7e8521bdf09.gz: Win.Worm.Kido-297 FOUND
/opt/dionaea/var/dionaea/binaries/02830b424d88664cc3576941dd9841f9.gz: Win.Worm.Kido-307 FOUND
つらい…
Grok Constructorhttp://grokconstructor.appspot.com/do/match
Grok Constructor
 Webブラウザでテスト可能
 Logstashで標準出力で試すのもあり
 Logstash.conf書き換えるの面倒とかだったら便利
ここにログを貼る
Grok Filter
貼っつけたらGO!!
Grok Constructor
 結果は、こんな感じ
 checkにOK/FOUNDが抽出できている
 ただし、マルウェア名が抽出できていない
 再度、Grok Filter
dataで抽出した値を対象とする
Grok Filter
貼っつけたらGO!!
Grok Constructor
 結果は、こんな感じ
 malwareにマルウェア名が抽出できている
Logstash.conf
 最終的にこんな感じ
input {
beats {
port => 5044
}
}
filter {
grok {
match => [ "message", "/[^/]+/[^/]+/[^/]+/[^/]+/(?<field>[^/]+)/%{GREEDYDATA:data}%{WORD:check}"]
remove_field => [ "host", "message" ]
}
grok {
match => [ "data", "(?:[¥w._/%-]+)%{WORD}(?:[:]*)%{GREEDYDATA:malware}"]
remove_field => [ "data" ]
}
}
output {
elasticsearch {
hosts => "http://xxx.xxx.xxx.xxx:9200/"
}
}
いい感じに取れてる
Malware♥
まとめ
 Elastic Stackを活用することで、インプットからアウトプットまで、全てを任せ
ることができる
 Beatsを使うことで簡単に可視化できる
 とりあえずサーバを公開すれば、ログの幅が広がる
 この発表を聞いて今すぐにでもサーバ公開したくなったはず?
 Logstashに負けないで!
Thanks

Weitere ähnliche Inhalte

Was ist angesagt?

【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮Hibino Hisashi
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKensuke Maeda
 
【Log Analytics Tech Meetup】Beatsファミリーの紹介
【Log Analytics Tech Meetup】Beatsファミリーの紹介【Log Analytics Tech Meetup】Beatsファミリーの紹介
【Log Analytics Tech Meetup】Beatsファミリーの紹介Hibino Hisashi
 
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.Hibino Hisashi
 
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)VirtualTech Japan Inc.
 
【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?
【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?
【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?Hibino Hisashi
 
Japan elasticusergroup01 Acroquest
Japan elasticusergroup01 AcroquestJapan elasticusergroup01 Acroquest
Japan elasticusergroup01 AcroquestHiroshi Yoshioka
 
Customize the openstack horizon as you like
Customize the openstack horizon as you likeCustomize the openstack horizon as you like
Customize the openstack horizon as you likeTakahiro Shida
 
Elasticsearch as a Distributed System
Elasticsearch as a Distributed SystemElasticsearch as a Distributed System
Elasticsearch as a Distributed SystemSatoyuki Tsukano
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)VirtualTech Japan Inc.
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002Takeshi Kuramochi
 
OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習Etsuji Nakai
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点d-shen
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Yurika Kakiuchi
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演VirtualTech Japan Inc.
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月
OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月
OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月VirtualTech Japan Inc.
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseHideki Saito
 

Was ist angesagt? (20)

【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
 
【Log Analytics Tech Meetup】Beatsファミリーの紹介
【Log Analytics Tech Meetup】Beatsファミリーの紹介【Log Analytics Tech Meetup】Beatsファミリーの紹介
【Log Analytics Tech Meetup】Beatsファミリーの紹介
 
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
 
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
 
【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?
【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?
【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?
 
Japan elasticusergroup01 Acroquest
Japan elasticusergroup01 AcroquestJapan elasticusergroup01 Acroquest
Japan elasticusergroup01 Acroquest
 
Customize the openstack horizon as you like
Customize the openstack horizon as you likeCustomize the openstack horizon as you like
Customize the openstack horizon as you like
 
Elasticsearch as a Distributed System
Elasticsearch as a Distributed SystemElasticsearch as a Distributed System
Elasticsearch as a Distributed System
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
 
OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習
 
Jetson x Azure ハンズオン DeepStream With Azure IoT 事前準備
Jetson x Azure ハンズオン DeepStream With Azure IoT 事前準備Jetson x Azure ハンズオン DeepStream With Azure IoT 事前準備
Jetson x Azure ハンズオン DeepStream With Azure IoT 事前準備
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月
OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月
OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - Icehouse
 

Andere mochten auch

Elastic{on}オープンな世界へようこそ
Elastic{on}オープンな世界へようこそElastic{on}オープンな世界へようこそ
Elastic{on}オープンな世界へようこそMasamitsu Maehara
 
Machine Learning Bootstrap
Machine Learning BootstrapMachine Learning Bootstrap
Machine Learning BootstrapTakahiro Kubo
 
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知daisuke-a-matsui
 
[ElasticStack]What happens when you visualize servers exposed to the world?
[ElasticStack]What happens when you visualize servers exposed to the world? [ElasticStack]What happens when you visualize servers exposed to the world?
[ElasticStack]What happens when you visualize servers exposed to the world? Masamitsu Maehara
 
みんなが安全にクラウドを使うために色々考えた結果
みんなが安全にクラウドを使うために色々考えた結果みんなが安全にクラウドを使うために色々考えた結果
みんなが安全にクラウドを使うために色々考えた結果Masamitsu Maehara
 
もうすぐ春だしAWSでさくらをやってみた
もうすぐ春だしAWSでさくらをやってみたもうすぐ春だしAWSでさくらをやってみた
もうすぐ春だしAWSでさくらをやってみたMasamitsu Maehara
 
Security threat analysis points for enterprise with oss
Security threat analysis points for enterprise with ossSecurity threat analysis points for enterprise with oss
Security threat analysis points for enterprise with ossHibino Hisashi
 
世界はつながっている!VyOSで実現するマルチリージョン
世界はつながっている!VyOSで実現するマルチリージョン世界はつながっている!VyOSで実現するマルチリージョン
世界はつながっている!VyOSで実現するマルチリージョンMasamitsu Maehara
 
第一回バイナリゆるゆる勉強会スライド
第一回バイナリゆるゆる勉強会スライド第一回バイナリゆるゆる勉強会スライド
第一回バイナリゆるゆる勉強会スライドRyosuke Shimizu
 
Azureで始めるDevOps
Azureで始めるDevOpsAzureで始めるDevOps
Azureで始めるDevOpsAtsushi Kojima
 
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英CODE BLUE
 
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだいCODE BLUE
 
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』Saya Katafuchi
 
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜Saya Katafuchi
 
Edomae 2015 - マルウェアを解析してみよう
Edomae 2015 - マルウェアを解析してみようEdomae 2015 - マルウェアを解析してみよう
Edomae 2015 - マルウェアを解析してみようSatoshi Mimura
 
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策wintechq
 
[CB16] Keynote: How much security is too much? by Karsten Nohl
[CB16] Keynote: How much security is too much? by Karsten Nohl[CB16] Keynote: How much security is too much? by Karsten Nohl
[CB16] Keynote: How much security is too much? by Karsten NohlCODE BLUE
 
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten NohlCODE BLUE
 
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...CODE BLUE
 

Andere mochten auch (19)

Elastic{on}オープンな世界へようこそ
Elastic{on}オープンな世界へようこそElastic{on}オープンな世界へようこそ
Elastic{on}オープンな世界へようこそ
 
Machine Learning Bootstrap
Machine Learning BootstrapMachine Learning Bootstrap
Machine Learning Bootstrap
 
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
 
[ElasticStack]What happens when you visualize servers exposed to the world?
[ElasticStack]What happens when you visualize servers exposed to the world? [ElasticStack]What happens when you visualize servers exposed to the world?
[ElasticStack]What happens when you visualize servers exposed to the world?
 
みんなが安全にクラウドを使うために色々考えた結果
みんなが安全にクラウドを使うために色々考えた結果みんなが安全にクラウドを使うために色々考えた結果
みんなが安全にクラウドを使うために色々考えた結果
 
もうすぐ春だしAWSでさくらをやってみた
もうすぐ春だしAWSでさくらをやってみたもうすぐ春だしAWSでさくらをやってみた
もうすぐ春だしAWSでさくらをやってみた
 
Security threat analysis points for enterprise with oss
Security threat analysis points for enterprise with ossSecurity threat analysis points for enterprise with oss
Security threat analysis points for enterprise with oss
 
世界はつながっている!VyOSで実現するマルチリージョン
世界はつながっている!VyOSで実現するマルチリージョン世界はつながっている!VyOSで実現するマルチリージョン
世界はつながっている!VyOSで実現するマルチリージョン
 
第一回バイナリゆるゆる勉強会スライド
第一回バイナリゆるゆる勉強会スライド第一回バイナリゆるゆる勉強会スライド
第一回バイナリゆるゆる勉強会スライド
 
Azureで始めるDevOps
Azureで始めるDevOpsAzureで始めるDevOps
Azureで始めるDevOps
 
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英
 
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
 
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』
 
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜
 
Edomae 2015 - マルウェアを解析してみよう
Edomae 2015 - マルウェアを解析してみようEdomae 2015 - マルウェアを解析してみよう
Edomae 2015 - マルウェアを解析してみよう
 
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
 
[CB16] Keynote: How much security is too much? by Karsten Nohl
[CB16] Keynote: How much security is too much? by Karsten Nohl[CB16] Keynote: How much security is too much? by Karsten Nohl
[CB16] Keynote: How much security is too much? by Karsten Nohl
 
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl
 
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...
 

Ähnlich wie Elastic stack 世界にさらしたサーバを可視化してみた

OSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツールOSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツールIsao Takaesu
 
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch MeetupAmazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch MeetupHibino Hisashi
 
できる!KickstartとAnsible!
できる!KickstartとAnsible!できる!KickstartとAnsible!
できる!KickstartとAnsible!Wataru NOGUCHI
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギMasaki Yamakawa
 
SolidFire を Kibana(ELK Stack)で可視化(需要予測)する
SolidFire を Kibana(ELK Stack)で可視化(需要予測)するSolidFire を Kibana(ELK Stack)で可視化(需要予測)する
SolidFire を Kibana(ELK Stack)で可視化(需要予測)するKensuke Maeda
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstartHideki Saito
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016VirtualTech Japan Inc.
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
Treasure data demo.0517
Treasure data demo.0517Treasure data demo.0517
Treasure data demo.0517BigData Sios
 
OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化Hideki Saito
 
OSSを活用したダッシュボード の紹介
OSSを活用したダッシュボード の紹介OSSを活用したダッシュボード の紹介
OSSを活用したダッシュボード の紹介BigData Sios
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~Takeshi Kuramochi
 
About OpenStack DBaas (trove)
About OpenStack DBaas (trove)About OpenStack DBaas (trove)
About OpenStack DBaas (trove)Ikuo Kumagai
 
もうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとはもうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとはKoji Kawamura
 

Ähnlich wie Elastic stack 世界にさらしたサーバを可視化してみた (20)

OSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツールOSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツール
 
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch MeetupAmazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
 
linux基礎_新卒エンジニア勉強会20130404
linux基礎_新卒エンジニア勉強会20130404linux基礎_新卒エンジニア勉強会20130404
linux基礎_新卒エンジニア勉強会20130404
 
できる!KickstartとAnsible!
できる!KickstartとAnsible!できる!KickstartとAnsible!
できる!KickstartとAnsible!
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
SolidFire を Kibana(ELK Stack)で可視化(需要予測)する
SolidFire を Kibana(ELK Stack)で可視化(需要予測)するSolidFire を Kibana(ELK Stack)で可視化(需要予測)する
SolidFire を Kibana(ELK Stack)で可視化(需要予測)する
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstart
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016
 
141030ceph
141030ceph141030ceph
141030ceph
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
BBBBB
BBBBBBBBBB
BBBBB
 
1MB
1MB1MB
1MB
 
Treasure data demo.0517
Treasure data demo.0517Treasure data demo.0517
Treasure data demo.0517
 
OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化
 
OSSを活用したダッシュボード の紹介
OSSを活用したダッシュボード の紹介OSSを活用したダッシュボード の紹介
OSSを活用したダッシュボード の紹介
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
 
About OpenStack DBaas (trove)
About OpenStack DBaas (trove)About OpenStack DBaas (trove)
About OpenStack DBaas (trove)
 
HBase on EC2
HBase on EC2HBase on EC2
HBase on EC2
 
もうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとはもうひとつのNo sql couchdbとは
もうひとつのNo sql couchdbとは
 

Elastic stack 世界にさらしたサーバを可視化してみた

  • 1. Elastic Stack Technology Innovation Group 2017.06.20(Tue) Masamitsu Maehara 世界にさらしたサーバを可視化してみた
  • 2. 自己紹介  前原 応光(まえはら まさみつ)  Future Architect, Inc.  Technology Innovation Group  AWSをゴニョゴニョやってますー  ゆるふわエンジニア @micci184
  • 3. 目的  Elastic Stackの魅力を知ってもらう  ログを可視化する楽しさを知ってもらう
  • 5. Elastic Stack Elastic CLoud LogStash Beats Elasticsearch Kibana + Security Alert Monitor Graph  Logstash/Beats:取込み  Elasticsearch:保存/インデックス/分析  Kibana:ユーザインターフェース
  • 8. ??
  • 9.
  • 10. HoneyPot  高対話型ハニーポット  本物のOSやアプリケーションを利用する  情報が得られやすい  リスク高い  低対話型ハニーポット  OSやアプリケーションをエミュレートして監視する  機能制限がある  攻撃者にバレる可能性がある  高対話型より安全
  • 11. Dionaea  低対話型ハニーポット  マルウェア収集するよ  SMB/HTTP/HTTPS/FTP/TFTP/MSSQL/SIP  それっぽくするために、フロントの画面はつくる  低対話型ハニーポット  SSH特化  Kippoよりもよくできている Cowrie
  • 12. 今回の構成について  AWSを使用  ハニーポットにBeatsをインストール  Elastic Stackにデータを統合 Dionaea Region@Virginia HaneyPot VPC Public Subnet Cowrie Elastic Stack Wordpress Client・ ・ ・ Monitoring Attack Logging
  • 13. Install Dionaea ### Ubuntu 14.04 $ sudo apt-get update $ sudo apt-get dist-upgrade $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:honeynet/nightly $ sudo apt-get update $ sudo apt-get install dionaea ### Start Dionaea $ sudo service dionaea start
  • 14. Install Cowrie ### Ubuntu 16.04 $ sudo apt-get install git python-virtualenv libmpfr-dev libssl-dev libmpc-dev libffi-dev build-essential libpython-dev python2.7-minimal authbind ### adduser Cowrie $ sudo adduser --disabled-password cowrie $ sudo su - cowrie ### Setup Virtual Enviroment $ virtualenv cowrie-env $ source cowrie-env/bin/activate ### Install configuration file $ export PYTHONPATH=/home/cowrie/cowrie ### Start Cowrie $ bin/cowrie start Activating virtualenv “cowrie-env” Starting cowrie: [twistd -l log/cowrie.log --umask 0077 --pidfile var/run/cowrie.pid cowrie ]... $ bin/cowrie status cowrie is running (PID: 5979).
  • 15. Beats  データシッパー  Beatsには家族がいるよ  Filebeat:ログファイルを送る  Metricbeat:メトリックデータ(CPU/Mem..etc)を送る  Packetbeat:パケットキャプチャデータを送る  Winlogbeat:Windowsイベントログを送る  Hearbeat:稼働状況の監視
  • 16. Data Flow  WordPressのApache/MySQLは直接Elasticsearchにストア  ハニーポットが出力するログをLogstashを介してElasticsearchにストア Dionaea Filebeat Ubuntu + Log/dionaea.log /binalies/* Amazon Linux Logstash + Input + Filter + Output Cowrie Filebeat Ubuntu + Log/cowrie.log Elastic search KibanaMetric Beat Filebeat Amazon Linux + Apache Apache WordPress Packetbeat + MySQL
  • 17. Filebeat Modules  Filebeat をインスール $ curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.0-alpha2-x86_64.rpm $ sudo rpm -vi filebeat-6.0.0-alpha2-x86_64.rpm ### Configuring $ vim /etc/filebeat/filebeat.yml #------------------------------- Apache2 Module ------------------------------ - module: apache2 # Access logs access: enabled: true var.paths: ["/var/log/httpd/access_log"] error: enabled: true var.paths: ["/var/log/httpd/error_log"] #-------------------------- Elasticsearch output ------------------------------- output.elasticsearch: hosts: [“xxx.xxx.xxx.xxx:9200"]
  • 18. Ingest Plugins  Ingest Geoip & Ingest user agent をインストール  Ingest Geoip:IPアドレスの地図マッピングをよしなに  Ingest user agent:ユーザーエージェントをよしなに  Ingenst Pluginsは、Elastic Stackサーバにインストール ### Ingest Geoip $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-geoip ### Ingest user agent $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-user-agent
  • 19. !!Attention #01  プロキシ環境は気を付けて  Ingest Pluginsインストール時にタイムアウトエラー  起動スクリプトにプロキシ設定を実施し、インストール $ sudo /usr/share/elasticsearch/bin//elasticsearch-plugin install ingest-user-agent -> Downloading ingest-user-agent from elastic Exception in thread "main" java.net.ConnectException: 接続がタイムアウトしました (Connection timed out) ### Setup Proxy $ export ES_JAVA_OPTS="-Dhttp.proxyHost=xxx -Dhttp.proxyPort=xxx -Dhttps.proxyHost=xxx - Dhttps.proxyPort=xxx" ### Install ingest-user-agent $ /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-user-agent -> Downloading ingest-user-agent from elastic [=================================================] 100% ### Ingest Geoip
  • 20. !!Attention #02  プロキシ環境は気を付けて  Filebeat起動時にDashboardsをインポートしてくれる優れもの #filebeat.ymlのDashbords設定で起動時にインポートが可能  ただし、プロキシ環境だと起動できずに死亡。。Orz  なので手で入れましょう $ sudo vim /etc/filebeat/filebeat.yml #============================== Dashboards ===================================== - #setup.dashboards.enabled: false + #setup.dashboards.enabled: enable $ sudo /usr/share/filebeat/scripts/import_dashboards -file /tmp/beats-dashboards-x.x.zip -es http://xxx:9200
  • 22.
  • 23.
  • 24.
  • 30. Malware  Dionaeaに仕込まれたマルウェア?  /opt/dionaea/var/dionaea/binariesにウヨウヨ… $ ll /opt/dionaea/var/dionaea/binaries -rw------- 1 dionaea dionaea 53 Jun 6 02:59 d41d8cd98f00b204e9800998ecf8427e.gz -rw------- 1 dionaea dionaea 162168 Jun 7 22:56 dc8c32d7f26352c8484bc490b6467843.gz -rw------- 1 dionaea dionaea 153820 Jun 7 02:34 dd0400bed68d272b08d1d0272bc18462.gz -rw------- 1 dionaea dionaea 129803 Jun 5 01:01 de1e602b2452a95ba57ef53347e50094.gz -rw------- 1 dionaea dionaea 22778 Jun 6 17:38 e0ddd8bf8e3b97ad25855721dc75daae.gz -rw------- 1 dionaea dionaea 155154 Jun 7 04:33 e53ed987e82ad7bf076c23d91401cac7.gz -rw------- 1 dionaea dionaea 1189 Jun 8 15:32 ead49a9b7b0c8ad6894be45674cebf77.gz -rw------- 1 dionaea dionaea 22777 Jun 6 17:39 eb18a7d302bbc8c0b3ed2cd1612e8d59.gz … -rw------- 1 dionaea dionaea 21966 Jun 5 16:52 ee0efafc69a13cd57d714ffdc603d8fc.gz -rw------- 1 dionaea dionaea 154329 Jun 4 16:48 f09ee5028fd1b1eaaf22df1538de159b.gz -rw------- 1 dionaea dionaea 156637 Jun 9 08:51 f5f1fd0d093d81a4a769c20aca1d6232.gz -rw------- 1 dionaea dionaea 29643 Jun 8 15:34 fc9b0b8b711e44ce0d4f91b0cedb1c76.gz
  • 31. ClamScan  マルウェア?ってことで、スキャン実行  FOUNDがマルウェア判定 $ clamscan /opt/dionaea/var/dionaea/binaries/ /opt/dionaea/var/dionaea/binaries/f09ee5028fd1b1eaaf22df1538de159b.gz: Win.Worm.Kido-200 FOUND /opt/dionaea/var/dionaea/binaries/621c0b356c49edc5ce4cf3ee88c30f82.gz: OK /opt/dionaea/var/dionaea/binaries/90e02a26204ade7771acf7e8521bdf09.gz: Win.Worm.Kido-297 FOUND /opt/dionaea/var/dionaea/binaries/02830b424d88664cc3576941dd9841f9.gz: Win.Worm.Kido-307 FOUND /opt/dionaea/var/dionaea/binaries/a7bc14c1bd7271a45391f1e1541afe43.gz: Win.Worm.Downadup-110 FOUND /opt/dionaea/var/dionaea/binaries/87136c488903474630369e232704fa4d.gz: Win.Worm.Kido-113 FOUND /opt/dionaea/var/dionaea/binaries/1195dfde6305980ed050a9751b157f42.gz: Win.Worm.Kido-293 FOUND /opt/dionaea/var/dionaea/binaries/1b4cd56e54d3f9030a153590fb3fa9e5.gz: Win.Worm.Kido-316 FOUND /opt/dionaea/var/dionaea/binaries/fc9b0b8b711e44ce0d4f91b0cedb1c76.gz: OK /opt/dionaea/var/dionaea/binaries/cae8a8524eeb0e7de1fb3704bd14b7ba.gz: Win.Trojan.Ramnit-1847 FOUND /opt/dionaea/var/dionaea/binaries/7bb455ea4a77b24478fba4de145115eb.gz: Win.Worm.Kido-197 FOUND /opt/dionaea/var/dionaea/binaries/eb18a7d302bbc8c0b3ed2cd1612e8d59.gz: OK /opt/dionaea/var/dionaea/binaries/smb-az4poq4s.tmp.gz: OK /opt/dionaea/var/dionaea/binaries/16acf30169d089b8a967f40d9a38d8f7.gz: Win.Trojan.Agent-129152 FOUND
  • 33. Data Flow  定期的にClamScanを実行し、ログ出力  FilebeatがログをElastic Stackサーバに送る  Logstashはインプットしたデータを正規化し、Elasticsearchにストアする  Kibanaで可視化 Dionaea Filebeat Ubuntu + Log /binalies/* /log/scan.log clamscan.sh Amazon Linux Logstash + Input + Filter + Output Elastic search KibanaMetric Beat
  • 35. Logstash vs fluentd  Google Trendで比較  国別で比較  青:Logstash  赤:fluentd
  • 37. Grok Filter  ClamScanした結果が、以下でしたね  これをいい感じに正規化して必要なKey-Valueを抽出する必要あり  欲しい値  OK/FOUND (Key : check)  マルウェア名 (Key : malware) $ clamscan /opt/dionaea/var/dionaea/binaries/ /opt/dionaea/var/dionaea/binaries/f09ee5028fd1b1eaaf22df1538de159b.gz: Win.Worm.Kido-200 FOUND /opt/dionaea/var/dionaea/binaries/621c0b356c49edc5ce4cf3ee88c30f82.gz: OK /opt/dionaea/var/dionaea/binaries/90e02a26204ade7771acf7e8521bdf09.gz: Win.Worm.Kido-297 FOUND /opt/dionaea/var/dionaea/binaries/02830b424d88664cc3576941dd9841f9.gz: Win.Worm.Kido-307 FOUND
  • 40. Grok Constructor  Webブラウザでテスト可能  Logstashで標準出力で試すのもあり  Logstash.conf書き換えるの面倒とかだったら便利
  • 42. Grok Constructor  結果は、こんな感じ  checkにOK/FOUNDが抽出できている  ただし、マルウェア名が抽出できていない  再度、Grok Filter
  • 44. Grok Constructor  結果は、こんな感じ  malwareにマルウェア名が抽出できている
  • 45. Logstash.conf  最終的にこんな感じ input { beats { port => 5044 } } filter { grok { match => [ "message", "/[^/]+/[^/]+/[^/]+/[^/]+/(?<field>[^/]+)/%{GREEDYDATA:data}%{WORD:check}"] remove_field => [ "host", "message" ] } grok { match => [ "data", "(?:[¥w._/%-]+)%{WORD}(?:[:]*)%{GREEDYDATA:malware}"] remove_field => [ "data" ] } } output { elasticsearch { hosts => "http://xxx.xxx.xxx.xxx:9200/" } }
  • 47.
  • 49. まとめ  Elastic Stackを活用することで、インプットからアウトプットまで、全てを任せ ることができる  Beatsを使うことで簡単に可視化できる  とりあえずサーバを公開すれば、ログの幅が広がる  この発表を聞いて今すぐにでもサーバ公開したくなったはず?  Logstashに負けないで!