Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elastic StackでWebサーバのログ解析を始めた件について / Web server access log analysis using Elastic Stack
Search
takahoyo
December 02, 2017
Technology
0
88
Elastic StackでWebサーバのログ解析を始めた件について / Web server access log analysis using Elastic Stack
元祖濱せっく#1 のLTで発表した資料です #HamaSec
takahoyo
December 02, 2017
Tweet
Share
More Decks by takahoyo
See All by takahoyo
OSEP取るまでにやったこと
takahoyo
0
1.2k
"申" (猿)がつくセキュリティツールを検証してみた
takahoyo
4
920
おうちで出来るセキュリティチャレンジ / cyber security challenge from home
takahoyo
4
1.7k
malspamの情報収集と解析 / malspam information gathering and analysis
takahoyo
0
77
Scapyで作る・解析するパケット/ network packets craft and analysis by Scapy
takahoyo
2
1.7k
パケットで遊ぼう / let's play using network packet
takahoyo
0
130
hpingで作るパケット / network packet craft by hping
takahoyo
0
240
低対話型サーバハニーポットの運用結果及び考察 / Operation result of low interaction honeypots
takahoyo
0
51
Other Decks in Technology
See All in Technology
沒想過的前端錯誤處理可能比你有做的還多
line_developers_tw
PRO
0
1.9k
技術広報経験0のEMがエンジニアブランディングをはじめてみた
coconala_engineer
1
130
Oracle Database で機械学習を始めよう! Oracle Machine Learning
oracle4engineer
PRO
1
140
KubeCon EU: Unlocking new Platform Experiences with Open Interfaces
salaboy
1
370
期待しすぎずに取り組む両面 TypeScript
shozawa
2
280
LLMプロダクト事業の立ち上げにおける挑戦
layerx
PRO
7
1.4k
初心者が行く!サーバレスWebアプリ開発の道
nagaharutogawa
0
440
データマネジメントを支える武器としてのメタデータ管理
10xinc
1
160
『QAという人』が必要ではなく、『QAという技術』が必要
sadonosake
2
460
ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
yuitosato
29
11k
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
1
140
これまでのキャリアとこれからMLエンジニアとしてどう動くか
masatakashiwagi
0
100
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
19
1.6k
Navigating Team Friction
lara
177
13k
A Philosophy of Restraint
colly
195
15k
Infographics Made Easy
chrislema
237
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
YesSQL, Process and Tooling at Scale
rocio
160
13k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
We Have a Design System, Now What?
morganepeng
42
6.7k
Statistics for Hackers
jakevdp
789
220k
Ruby is Unlike a Banana
tanoku
95
10k
Imperfection Machines: The Place of Print at Facebook
scottboms
257
12k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
111
35k
Transcript
Elastic Stackで Webサーバのログ解析を 始めた件について @takahoyo 元祖 濱せっく #1
今日の内容 Elastic Stackを使ってWebサーバのログ解析を 始めた ログ解析して特徴的だった情報を紹介
モチベーション 学生の頃にWebサーバをVPS上に立てた 勉強がてらWebページ作ってみよう Webアプリケーション作ってみよう ログは時々アクセスログをgrepで眺めるくらい
社会人になって… Webサーバにどんな攻撃来てるのか気になる 社会人力を使って自宅サーバを買ったので何かで きないかな そうだ ログ解析基盤、作ろう 最近Elastic Stack流行ってるし、やってみよう
VPS HOME ログ解析基盤 の構成 VPN USER Log Server ログ収集・解析に使用するソフトウェア •
filebeat:access logをサーバからESへ転送する • elasticsearch:log dataを保存 • kibana:elasticsearchのデータを参照・可視化 ログ転送に使用するネットワーク • VPNを使ってVPSとHOMEを接続 – 認証・暗号化を実施 – FWで必要なホスト・ポートのみアクセスを許可 Firewall Web Server (nginx)
ログ解析基盤 への転送設定 filebeatのnginx moduleを使用 意外と簡単にelasticsearchへ取り込みが出来た さらに、GeoIP情報やUser-Agent解析も自動で行う
通常、Logをparseする処理が必要 デフォルトではDashboardも自動生成 設定ファイルは以下の通り filebeat.modules: - module: nginx access: enabled: true var.pipeline: with_plugins var.paths: - /var/log/nginx/access.log error: enabled: true var.paths: - /var/log/nginx/error.log filebeat.prospectors: output.elasticsearch: enabled: true hosts: [“elasticsearch:9200"] filebeat.yml
None
可視化してわかったこと ブラジルから激しいアクセスが なんじゃこりゃ…
ログを見る “/”を“GET” してるだけ User-Agentが”Other“? ingest-user-agent モジュールで自動で解析されてしまった
ログを見る しょうがないので生ログを見る User-Agentは、"curl/7.17.1 (mips-unknown-linux-gnu) libcurl/7.17.1 OpenSSL/0.9.8i zlib/1.2.3”
mips ってことは組み込み系? 168.0.xxx.yyy - - [01/Dec/2017:23:37:23 +0900] "GET / HTTP/1.1" 200 612 "-" "curl/7.17.1 (mips-unknown- linux-gnu) libcurl/7.17.1 OpenSSL/0.9.8i zlib/1.2.3” 177.101.xxx.yyy - - [01/Dec/2017:23:00:59 +0900] "GET / HTTP/1.1" 200 612 "-" "curl/7.17.1 (mips-unknown- linux-gnu) libcurl/7.17.1 OpenSSL/0.9.8i zlib/1.2.3” 168.0.xxx.yyy - - [01/Dec/2017:22:54:08 +0900] "GET / HTTP/1.1" 200 612 "-" "curl/7.17.1 (mips-unknown- linux-gnu) libcurl/7.17.1 OpenSSL/0.9.8i zlib/1.2.3” 187.120.xxx.y - - [01/Dec/2017:22:44:37 +0900] "GET / HTTP/1.1" 200 612 "-" "curl/7.17.1 (mips-unknown- linux-gnu) libcurl/7.17.1 OpenSSL/0.9.8i zlib/1.2.3” 168.0.xx.yyy - - [01/Dec/2017:22:38:39 +0900] "GET / HTTP/1.1" 200 612 "-" "curl/7.17.1 (mips-unknown- linux-gnu) libcurl/7.17.1 OpenSSL/0.9.8i zlib/1.2.3"
Shodanで調べてみる いくつかのIPをShodanで調べたところ、すべてのIPで2000/tcpが動 いていた これが原因?何かのネットワーク機器ぽい
まとめ Elastic Stackを使うことでログ収集が簡単に可能 集めた情報を可視化することでログ解析が楽しく、 簡単にできる 可視化して見つけた情報をもとにOSINTしてみる と新たなことがわかるかも
今後はさらに多くのホストから、さらに多くのロ グを収集して、Elasticに入れて解析したい