メモ > サーバ > サービス: AWS > GuardDuty
■GuardDuty
GuardDutyの有効化は、このファイル内の「AWSの初期設定」を参照
以降では、後から機能追加されたマルウェア対策について確認する
■設定
いったん以下を参考に試してみる
[神アップデート]GuardDutyがEC2やECSのマルウェア検知時のスキャンに対応したので実際にスキャンさせてみた #reinforce | DevelopersIO
https://dev.classmethod.jp/articles/guardduty-support-malware-protection/
GuardDuty → 保護プラン → Malware Protection
「GuardDuty が開始するマルウェアスキャン」内のステータスを確認すると、
「GuardDuty が開始するマルウェアスキャン が有効になっていません」となっている
30日間の無料トライアルがあるらしいので、「有効にする」ボタンを押す
有効にするか確認ダイアログが表示されるので、「確認」ボタンを押す
ステータスが「GuardDuty が開始するマルウェアスキャン が有効になっています」になった
同画面の「全般設定」にある「マルウェアが検出された場合、スキャンされたスナップショットを保持します。」をONにしておく
■検出
引き続き、マルウェアの検出を試してみる
テスト用に適当なEC2を起動し、マルウェアのテストファイルを配置する
$ wget https://secure.eicar.org/eicar.com
$ wget https://secure.eicar.org/eicar_com.zip
$ ll
total 8
-rw-rw-r-- 1 ec2-user ec2-user 68 Jul 1 2020 eicar.com
-rw-rw-r-- 1 ec2-user ec2-user 184 Jul 1 2020 eicar_com.zip
マルウェアを配置するだけでは、GuardDutyからは検知されない
不審とされる挙動も行う(コインマイニングに関するドメインの名前解決を行う)
$ nslookup pool.supportxmr.com
$ curl pool.supportxmr.com
GuardDuty → マルウェアスキャン
検知されたものがこの画面に表示されるが、すぐには表示されない(今回は1時間ほどで検知された)
一覧で選択すると、画面の右側に詳細情報が表示された
詳細情報の「概要 → CloudWatch」にあるリンクをクリックすると、以下のクエリが表示されている。
fields @timestamp, @message
| filter @message like '46d701a8ebceb6c93f75de1809b2220a'
| sort @timestamp desc
| limit 200
「クエリの実行」をクリックすると、以下2つの結果が表示された。
これは単に「脅威が検知された」というイベントが表示されているだけか。
フィールド: 値
@ingestionTime: 1690342987254
@log: 123456789012:/aws/guardduty/malware-scan-events
@logStream: c058d4e2-1a8d-4565-8b88-bc00e3c3e310
@message: {"eventDetails":{"accountId":"123456789012","eventType":"EC2_SCAN_COMPLETED","eventTime":"2023-07-26T03:42:49Z","detectorId":"4ec053a368f1c72497f5ad67e38dc04a","schemaVersion":"1.0"},"scanRequestDetails":{"requestType":"GUARDDUTY_FINDING_INITIATED","scanId":"46d701a8ebceb6c93f75de1809b2220a","guardDutyRequestDetails":{"findingId":"26c4c820d2c1b86d979c479dea6990ce"}},"resourceDetails":{"resourceType":"EC2_INSTANCE","instanceDetails":{"instanceId":"i-088a619d669f14c2d","volumeDetailsList":[{"volumeId":"vol-0a506a40eeea1edd1","deviceName":"/dev/xvda","volumeSizeGb":8,"volumeSnapshotId":"snap-05844b5e699b8bad8"}]}},"scanResultsSummary":{"scanResultStatus":"THREATS_FOUND","scannedItemCount":{"totalGb":2,"files":44446}}}
@timestamp: 1690342969000
eventDetails.accountId: 123456789012
eventDetails.detectorId: 4ec053a368f1c72497f5ad67e38dc04a
eventDetails.eventTime: 2023-07-26T03:42:49Z
eventDetails.eventType: EC2_SCAN_COMPLETED
eventDetails.schemaVersion: 1.0
resourceDetails.instanceDetails.instanceId: i-088a619d669f14c2d
resourceDetails.instanceDetails.volumeDetailsList.0.deviceName: /dev/xvda
resourceDetails.instanceDetails.volumeDetailsList.0.volumeId: vol-0a506a40eeea1edd1
resourceDetails.instanceDetails.volumeDetailsList.0.volumeSizeGb: 8
resourceDetails.instanceDetails.volumeDetailsList.0.volumeSnapshotId: snap-05844b5e699b8bad8
resourceDetails.resourceType: EC2_INSTANCE
scanRequestDetails.guardDutyRequestDetails.findingId: 26c4c820d2c1b86d979c479dea6990ce
scanRequestDetails.requestType: GUARDDUTY_FINDING_INITIATED
scanRequestDetails.scanId: 46d701a8ebceb6c93f75de1809b2220a
scanResultsSummary.scanResultStatus: THREATS_FOUND
scanResultsSummary.scannedItemCount.files: 44446
scanResultsSummary.scannedItemCount.totalGb: 2
フィールド: 値
@ingestionTime: 1690342522740
@log: 123456789012:/aws/guardduty/malware-scan-events
@logStream: c058d4e2-1a8d-4565-8b88-bc00e3c3e310
@message: {"eventDetails":{"accountId":"123456789012","eventType":"EC2_SCAN_STARTED","eventTime":"2023-07-26T03:35:00.795Z","detectorId":"4ec053a368f1c72497f5ad67e38dc04a","schemaVersion":"1.0"},"scanRequestDetails":{"requestType":"GUARDDUTY_FINDING_INITIATED","scanId":"46d701a8ebceb6c93f75de1809b2220a","guardDutyRequestDetails":{"findingId":"26c4c820d2c1b86d979c479dea6990ce"}},"resourceDetails":{"resourceType":"EC2_INSTANCE","instanceDetails":{"instanceId":"i-088a619d669f14c2d","volumeDetailsList":[{"volumeId":"vol-0a506a40eeea1edd1","deviceName":"/dev/xvda","volumeSizeGb":8}]}}}
@timestamp: 1690342500795
eventDetails.accountId: 123456789012
eventDetails.detectorId: 4ec053a368f1c72497f5ad67e38dc04a
eventDetails.eventTime: 2023-07-26T03:35:00.795Z
eventDetails.eventType: EC2_SCAN_STARTED
eventDetails.schemaVersion: 1.0
resourceDetails.instanceDetails.instanceId: i-088a619d669f14c2d
resourceDetails.instanceDetails.volumeDetailsList.0.deviceName: /dev/xvda
resourceDetails.instanceDetails.volumeDetailsList.0.volumeId: vol-0a506a40eeea1edd1
resourceDetails.instanceDetails.volumeDetailsList.0.volumeSizeGb: 8
resourceDetails.resourceType: EC2_INSTANCE
scanRequestDetails.guardDutyRequestDetails.findingId: 26c4c820d2c1b86d979c479dea6990ce
scanRequestDetails.requestType: GUARDDUTY_FINDING_INITIATED
scanRequestDetails.scanId: 46d701a8ebceb6c93f75de1809b2220a
GuardDuty → 検出結果
検出結果の一覧に、重大な検出結果として「Execution:EC2/MaliciousFile」と「CryptoCurrency:EC2/BitcoinTool.B!DNS」が表示されている
「Execution:EC2/MaliciousFile」をクリックして詳細を確認する
2 security risk(s) detected including EICAR-Test-File (not a virus) on EC2 instance i-088a619d669f14c2d.
とあり、EICAR-Test-File が検出されたとなっている
下の方の「検出された脅威」部分で、ファイルの場所も確認できる
/home/ec2-user/eicar.com
/home/ec2-user/eicar_com.zip
「CryptoCurrency:EC2/BitcoinTool.B!DNS」をクリックして詳細を確認する
EC2 instance i-088a619d669f14c2d is querying a domain name that is associated with Bitcoin-related activity.
とあり、ビットコイン関連の活動に関連するドメイン名が照会されたとなっている
■通知
検出結果の通知方法について、以下などで紹介されている
Amazon GuardDutyのマルウェア対策機能を使用する&通知方法 - NRIネットコムBlog
https://tech.nri-net.com/entry/guardduty_malware_protection
Amazon GuardDutyのマルウェアスキャン結果を受動的に受け取ることができるか確認してみた + 裏側の仕組みを推測してみた | DevelopersIO
https://dev.classmethod.jp/articles/check-guardduty-malware-scan-event-spec/
通知のためにはEventBridgeが必要みたい
以下などを参考に、改めて確認しておきたい
Amazon EventBridge (サーバーレスイベントバスでアプリ同士を簡単に接続) | AWS
https://aws.amazon.com/jp/eventbridge/
Amazon EventBridgeとは何か - Qiita
https://qiita.com/ishibashi-futoshi/items/586ebe17b174a478eb6a
見せてやるよ、EventBridge の本気ってやつをな / The art of EventBridge - Speaker Deck
https://speakerdeck.com/_kensh/the-art-of-eventbridge
ひとまず以下をもとに、EventBridgeで「EC2の自動停止&自動起動」を試してみるのが良さそう
【AWS】Amazon EventBridge SchedulerでEC2を定期的に停止・起動し料金を節約する方法|サービス|法人のお客さま|NTT東日本
https://business.ntt-east.co.jp/content/cloudsolution/ih_column-08.html
引き続き確認したい