Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20240717_AWS10分LT会 - vol.4 AWSでSplunkを動かしてみた

20240717_AWS10分LT会 - vol.4 AWSでSplunkを動かしてみた

野崎高弘

July 17, 2024
Tweet

More Decks by 野崎高弘

Other Decks in Business

Transcript

  1. 2 • 野崎 ⾼弘(のざき たかひろ) • 今まではインフラ構築・保守やSOCセキュリティアナリストをやってました • 現在は技術検証やドキュメント作業が主 •

    趣味︓資格取得、⽝の散歩、ドラマ鑑賞、巨⼈ファン • 資格︓現在、AWS・GCP全冠 • 2023 Japan AWS All Certifications Engineers 2024 Japan AWS All Certifications Engineers 2024 Japan AWS Top Engineers(Networking) 3 ⾃⼰紹介
  2. 前提条件 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 制限あり: リスト, 読み取り, 書き込み すべてのリソース
  3. 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": "*" } } } ] }
  4. 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" }
  5. 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"
  6. 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/*"
  7. 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" } }
  8. 感想 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を使う場合は、この辺りに注意し てください。