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
20240717_AWS10分LT会 - vol.4 AWSでSplunkを動かしてみた
Search
野崎高弘
July 17, 2024
Business
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20240717_AWS10分LT会 - vol.4 AWSでSplunkを動かしてみた
野崎高弘
July 17, 2024
More Decks by 野崎高弘
See All by 野崎高弘
LT⑤Transit Gatewayのアプライアンスモード
tnozakitakahiro
0
340
プライベートサブネットにあるLinux EC2からファイルを手元のMAcに持ってくる方法
tnozakitakahiro
0
160
Other Decks in Business
See All in Business
会社紹介資料/Idein株式会社 ※URLが変わりました
ideininc
0
57k
BizDev視点で見る、Snowflake最新動向!/ snowflake-trend
finanori
1
180
経営管理について / About Corporate Planning
loglass2019
1
38k
タケウチグループRecruit
takeuchigroup
0
12k
今日から始めるセルフマネジメント/A Practical Guide to Self-Management
ikuodanaka
1
3k
アッテル会社紹介資料/culture deck
attelu
11
17k
Decentier_Corporate Deck_2026
decentier
PRO
0
750
株式会社ルクレ新卒向け採用ピッチ
lecre
0
430
Mercari-Fact-book_jp
mercari_inc
7
190k
روشهای افزایش ممبر ایتا
maronpocar12
1
230
【結果報告】Claude×Linearで会社のタスク管理をAIにまかせて1ヶ月。業務効率150%向上したが、AIネイティブカンパニーを目指すならもっと「加速への狂気」が必要
nagatsu
1
570
ClaudeCode × Hubspot 営業・マーケティングAI段階的成長ロードマップ
nagatsu
0
530
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
320
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Context Engineering - Making Every Token Count
addyosmani
9
990
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
620
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
350
The Curious Case for Waylosing
cassininazir
1
410
Raft: Consensus for Rubyists
vanstee
141
7.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
210
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Side Projects
sachag
455
43k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Transcript
2024年7⽉17⽇ AWS10分LT会 - vol.4 LT② AWSでSplunkを動かしてみた
2 • 野崎 ⾼弘(のざき たかひろ) • 今まではインフラ構築・保守やSOCセキュリティアナリストをやってました • 現在は技術検証やドキュメント作業が主 •
趣味︓資格取得、⽝の散歩、ドラマ鑑賞、巨⼈ファン • 資格︓現在、AWS・GCP全冠 • 2023 Japan AWS All Certifications Engineers 2024 Japan AWS All Certifications Engineers 2024 Japan AWS Top Engineers(Networking) 3 ⾃⼰紹介
本LTの⽬的 3 AWSのVPCフローログを集中監視し、可視化することで、ネットワークトラフィックの状況を把握し、セ キュリティリスクを検知したいとします。 この⽬的を達成するため、SIEMとしてSplunkを使⽤します。AWS上のログデータをSplunkに取り込み、 Splunkの監視・分析機能を活⽤します。具体的には、Splunk側でAWS側のVPCフローログを受信できるよ う設定を⾏います。 本LTでは、主にそのSplunk側の設定で必要な部分に焦点を当て、AWSでのSplunk活⽤術を紹介します。
全体像 4
前提条件 5 • Splunk on EC2の構築(AWSマーケットプレイスAMI︓Splunk Enterprise バージョン 9.2.2) •
Splunk Add-on for AWS(バージョン 7.6.0)のインストール が完了している • Splunk on EC2のロールには、あらかじめ以下を許可したAmazonEC2RoleforSSMポリシーと、 AmazonSQSFullAccessポリシーを付与 • S3バケット(nozaki-bucket2)は作成済み EC2 制限あり: リスト すべてのリソース EC2 Messages フルアクセス すべてのリソース S3 制限あり: リスト, 読み取り, 書き込み すべてのリソース SSM Messages フルアクセス すべてのリソース Systems Manager 制限あり: リスト, 読み取り, 書き込み すべてのリソース
⼿順概要 6 1. VPCフローログの設定 2. SQSの作成 3. SNSの作成 4. S3の設定
5. Splunk側での検証(demo)
VPCフローログの設定 7 nozaki-vpcというVPCで、このような設定でフ ローログを作成します。 発⾏先は s3://nozaki-bucket2/vpcflowlog/ で す。(ARNで指定)
SQSの作成 8 1. 先にSQS-DLQを作成しておく。 キュータイプ︓標準にします。 可視性タイムアウト︓5分にして おきます (それ以外はデフォルトでOK)
SQSの作成 9 アクセスポリシー︓アドバンストにして、以下内容を⼊れておく { "Version": "2012-10-17", "Id": "__default_policy_ID", "Statement": [
{ "Sid": "SQS_DLQ_PUSH", "Effect": "Allow", "Principal": { "AWS": ”123456789012" }, "Action": "SQS:*", "Resource": "arn:aws:sqs:ap-northeast-1:123456789012:nozaki-vpcflowlog-dlq”, "Condition": { "ArnLike": { "aws:SourceArn": "*" } } } ] }
SQSの作成 10 2. 通常のSQSキューを作成 キュータイプ︓標準 可視性タイムアウト︓5分 (それ以外はデフォルトで OK)
SQSの作成 11 サーバー側の暗号化︓検証段階では無効にしておきます。 アクセスポリシー︓アドバンストにして、SNSがSQSにSendMessageできる権限(”SNS_SQS_PUSH”) と、 "Sid": "SNS_SQS_PUSH", "Effect": "Allow", "Principal":
{"AWS": ”123456789012"}, "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:ap-northeast-1:123456789012:nozaki-vpcflowlog-sqs", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sns:ap-northeast-1:123456789012:nozaki- vpcflowlog-topic" }
SQSの作成 12 Splunk on EC2等がSQSを確認できる権限(”Sid”: “SQS_PULL”)を⼊れておきます。 "Sid": "SQS_PULL", "Effect": "Allow",
"Principal": {"AWS": "123456789012"}, "Action": "sqs:*", "Resource": "arn:aws:sqs:ap-northeast-1:123456789012:nozaki-vpcflowlog-sqs"
SQSの作成 13 デッドレターキュー︓ 有効にして、1.で作成した DLQを指定します。
SNSの作成 14 • SNSトピックの作成
SNSの作成 15 • アクセスポリシー︓アドバンスドにして、S3がSNSにPublishできる権限(”Sid”: “S3_to_SNS_Publish”) "Sid": "S3_to_SNS_Publish", "Effect": "Allow", "Principal":
{ "AWS": "*" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:ap-northeast-1:123456789012:nozaki-vpcflowlog-topic", "Condition": { "ArnLike": { "aws:SourceArn": [ "arn:aws:s3:::nozaki-bucket2", "arn:aws:s3:::nozaki-bucket2/*"
SNSの作成 16 SQSがこのSNSトピックをSubscribeできる権限(”Sid”: “SQS_Subscribe”)を⼊れておきます。 "Sid": "SQS_Subscribe", "Effect": "Allow", "Principal": {
"AWS": "*" }, "Action": "SNS:Subscribe", "Resource": "arn:aws:sns:ap-northeast-1:123456789012:nozaki-vpcflowlog-topic", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sqs:ap-northeast-1:123456789012:nozaki-vpcflowlog- sqs" } }
SNSの作成 17 • サブスクリプションの作成 トピック︓先ほど作成したもの を選択 プロトコル︓SQS エンドポイント︓先ほど作成し たSQSキューのARNを指定 rawメッセージ配信の有効化︓
チェックは外したままにしてお く
S3の設定 18 • バケットポリシーの修正 VPCフローログを設定すると、にS3のバケットポリシーが勝⼿に書き換わってしまいます。 このため、Splunk on EC2のロールがS3にアクセスできるよう、最下部に「”Sid”: “EC2PULL”」を追加して おきます。
・・・ { "Sid": "EC2PULL", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/SSMAgentRoleforEC2" }, "Action": "s3:*", "Resource": "arn:aws:s3:::nozaki-bucket2/vpc-flowlog/*" }
S3の設定 19 • イベント通知設定(SNSへの通知) 最後に、S3に新規書き込みがあった際のイベント通知設定を⾏います。 プレフィックス︓(始まり)記載なくてもいいですが、「AWSLogs/123456789012/vpcflowlogs/ap- northeast-1/」は不変だったので記載しておきました。 サフィックス︓(終わり)拡張⼦が.gzのファイルがアップロードされるので、拡張⼦だけ記載しておきまし た。なくてもいいです。 イベントタイプ︓念のため「すべてのオブジェクト作成イベント」s3:ObjectCreated:*にチェックを⼊れて
おきます 送信先︓先ほど作成したSNSトピック「nozaki-vpcflowlog-topic」を指定して通知します
Splunk側での設定 20 (5分ほどDemo)
感想 21 Splunkの知識はそんなになくても構築できました。 AWSネイティブ⼀択でいくのであれば、SIEMはOpenSearchでいくのがスムーズですが、Splunkを使いた いケースもあるかと思います。その場合、Splunk側ではAWS連携⽤としてSplunk Add-on for AWSを使 い、⼊⼒⽅式もSQS Based
S3というSNS⇨SQSからの通知によりS3から取得しに⾏く⽅式です。 これが結構曲者で、S3 File DecoderやSource Typeを正しいものを選ばないと、Splunk側で正しく取り込 めず、ログが表⽰されません。特にSQS Based S3だとどれを選べばいいのか、デフォルトのままでいいの か、情報がネットにもあまりありません。なのでSplunk Add-on for AWSを使う場合は、この辺りに注意し てください。
拙いところがあったかと思いますが、 ご清聴ありがとうございました。m(_ _)m