GuardDuty のログを Splunk で取り込む
はじめに
Splunk を使って、GuardDuty のデータを収集するとの事。
出来るかどうか知らないので、調べて作ってみたのが今回のお話。
GuardDuty?
AWS のマネージド型脅威検出サービス。
悪意のある操作や不正な動作を継続的に監視し、AWS アカウントとワークロードを保護する。
Splunk?
スプランクと読む。
あらゆる種類のログ、テキスト、数値データをリアルタイムでインデックス化し、検索を出来るようにするソフトウェア。
GuardDuty のログを取り込む事が出来るとの事。
作ってみた
Splunk のインストール
適当に Linux サーバを立てます。今回は、AmazonLinux2 を使いました。
Splunk は Enterprise 版が60日間試用出来るとの事なので、DL してみた。
https://www.splunk.com/ja_jp/download.html
RedHat 系 OS なので、rpm をダウンロードし、インストールした。
# wget のコマンドをコピペできるようになっていたので、そのまま使った
wget -O splunk-7.1.2-a0c72a66db66-linux-2.6-x86_64.rpm 'https://www.splunk.com/~~~~~~'
rpm -ivh splunk-7.1.2-a0c72a66db66-linux-2.6-x86_64.rpm
ダウンロード完了後は、/opt 配下にインストールされるので、下記コマンドで Splunk を起動する。
# systemd の登録はめんどくさいからやらなかった
cd /opt/splunk/bin/
./splunk start
初回起動時は利用規約?の表示と管理者ユーザのパスワード設定がある。
起動後は、http://IPアドレス:8000 でコンソールにログイン出来る。
ログイン後、/en-US/app/launcher/home ってなっている URL を /ja-JP/app/launcher/home に変えると、日本語化される。
日本語表示をデフォルトにする方法は調べていない。
プラグインの追加
GuardDuty はそのままでは取り込めないようで、プラグイン?を追加する必要がある
画面左側の Find More Apps をクリックし、guardduty で検索する。
すると、Amazon GuardDuty Add-on for Splunk が検索結果に表示されるので、インストールをする。
インストールする際、Splunk をダウンロード時に作成したユーザID/パスワードを入力する必要あり。
エンドポイントの作成
GuardDuty のログを受け付けるエンドポイント(のトークン)を作成する。
画面上部のメニューに表示されている設定から、データ入力を選択する。
HTTP イベントコレクタを選択する。
グローバル設定から、全トークンを有効に設定する。
次に、新規トークンを作成する。
適当な名前を入力し、次の設定に進む。
ソースタイプを選択に設定し、aws:cloudwatch:guardduty に設定する。
App コンテキストは、aws_guardduty(TA-aws_guardduty) に設定する。
インデックスは分からないから全部選択。デフォルトインデックスもよく分からないから、main を選択した。
で、作成されたトークンは次のステップで使うから忘れないように。
GuardDuty の有効化
前回、CloudFormation で有効化したから割愛。
Lambda の用意
GuardDuty は CloudWatch Events でしか拾えない。拾ったものを Splunk に投げつけるには何かしらの仕組みが必要。
Lambda にそんな設計図(splunk-logging)があらかじめ用意されているので、それを使う。
- SPLUNK_HEC_URL:http://IPアドレス:8088/services/collector
- SPLUNK_HEC_TOKEN:さっき作ったトークン
関数をデプロイ後、一部ソースを修正する。
logger.logEvent({
time: Date.now(),
host: 'serverless',
source: `lambda:${context.functionName}`,
//sourcetype: 'httpevent', ←これを↓に
sourcetype: 'aws:cloudwatch:guardduty',
event: event,
});
CloudWatch Events の設定
ルールを作成し、GuardDuty に関するイベントを、さっき作った Lambda に紐づける。
完成
あとはデータが流れてくるのを待てばいいだけ。
最初から用意されているダッシュボードを眺めてよう。
あとは、これを使うなら、GuardDuty のマスターアカウントとメンバーの設定をやらないと。。
最後にいつものやつ
弊社ではエンジニアを募集中です。インフラからアプリ、ユーザサポートまで幅広く業務を行ってます。
https://www.nittsu-infosys.com/recruit/2019/index.html
Author And Source
この問題について(GuardDuty のログを Splunk で取り込む), 我々は、より多くの情報をここで見つけました https://qiita.com/nis_nagaid_1984/items/a5e936cbaed1b25b9b80著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .