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
96
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.6k
"申" (猿)がつくセキュリティツールを検証してみた
takahoyo
4
1k
おうちで出来るセキュリティチャレンジ / cyber security challenge from home
takahoyo
4
1.8k
malspamの情報収集と解析 / malspam information gathering and analysis
takahoyo
0
78
Scapyで作る・解析するパケット/ network packets craft and analysis by Scapy
takahoyo
2
1.9k
パケットで遊ぼう / let's play using network packet
takahoyo
0
170
hpingで作るパケット / network packet craft by hping
takahoyo
0
280
低対話型サーバハニーポットの運用結果及び考察 / Operation result of low interaction honeypots
takahoyo
0
64
Other Decks in Technology
See All in Technology
なぜ Rack を理解すべきかプレトーク / Why should you understand Rack - Pre-talk
hogelog
0
250
KaigiOnRails2024
igaiga
6
520
マルチテナントのサービスインフラに大きなテナントを受け入れるまで
7474
0
840
Databricksワークショップ - 生成AIとDWH
taka_aki
2
4.4k
JPOUG_10_20241018_OracleDB_AWS_v1.3.pdf
asahihidehiko
1
200
Reality is not an End-to-End Prediction Problem: Applied NLP in the Age of Generative AI
inesmontani
PRO
0
230
AWS CDKで大量のパラメータストアを作りたい
haku__hime
1
120
いまからでも遅くない!コンテナでWebアプリを動かしてみよう入門(2-2)WebAPIハンズオン
nomu
0
130
안드로이드 기술 이력서의 최소 조건
pluu
1
1.2k
自動テストの信頼性を高めるミューテーションテストの活用に向けて
tarappo
2
110
Overview of file type identifiers
ange
0
150
Publication dès la conception : restitution et perspectives - MENJ / Code Lutin
bluehats
0
170
Featured
See All Featured
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.3k
YesSQL, Process and Tooling at Scale
rocio
167
14k
How to Ace a Technical Interview
jacobian
275
23k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
We Have a Design System, Now What?
morganepeng
50
7.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Docker and Python
trallard
40
3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
How to train your dragon (web standard)
notwaldorf
88
5.6k
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に入れて解析したい