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...
Search
takahoyo
December 02, 2017
Technology
0
100
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.8k
"申" (猿)がつくセキュリティツールを検証してみた
takahoyo
4
1.1k
おうちで出来るセキュリティチャレンジ / cyber security challenge from home
takahoyo
4
1.8k
malspamの情報収集と解析 / malspam information gathering and analysis
takahoyo
0
80
Scapyで作る・解析するパケット/ network packets craft and analysis by Scapy
takahoyo
2
2k
パケットで遊ぼう / let's play using network packet
takahoyo
0
180
hpingで作るパケット / network packet craft by hping
takahoyo
0
320
低対話型サーバハニーポットの運用結果及び考察 / Operation result of low interaction honeypots
takahoyo
0
65
Other Decks in Technology
See All in Technology
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2.1k
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
Active Directoryハッキング
cryptopeg
1
110
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
1k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
110
君も受託系GISエンジニアにならないか
sudataka
2
440
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
140
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
200
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
150
Featured
See All Featured
Docker and Python
trallard
44
3.3k
Scaling GitHub
holman
459
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Facilitating Awesome Meetings
lara
52
6.2k
Navigating Team Friction
lara
183
15k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Building Your Own Lightsaber
phodgson
104
6.2k
Optimizing for Happiness
mojombo
376
70k
Fireside Chat
paigeccino
34
3.2k
Done Done
chrislema
182
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
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に入れて解析したい