まえがき

cloudpack 木村(富)です。

近年も 不正使用行為 は発生し続けており、減少しておりません。
AWSからの不正使用行為(Abuse Report)の連絡を受け、驚かれるお客様もいらっしゃいます。
AWSアカウントの侵害、AWSリソースの不正使用などセキュリティの問題は考慮すべき事項となっております。
オンプレミス環境の運用より、AWS環境の方がセキュリティ侵害は多いと思われます。
簡単に申しますと、オンプレミス環境時は開発環境や個人のちょっとした検証環境などは外部に接続されず内部で開発が行われていました。
しかし、AWS環境ではこの開発環境や個人のちょっとした検証環境含め全てがリモートアクセス可能なクラウド環境になったため、リスクが倍増していると考えてよろしいかと思います。

いずれかのAWS環境にログインして不正使用できればよいと考える侵害者が存在しています。
例えば、AWS環境に不正ログインし、普段使用されていないリージョンでEC2インスタンスを起動、かつポート25を使用したEメール送信の制限緩和を実施し不正なメールを送付し続ける。

このようにAWS環境においてセキュリティ面はオンプレミス環境以上に考慮しなければなりません。

そのため今回は簡単にセキュリティ強化可能な AWS GuardDuty を有効化し、実施にどのようなものか簡単に理解する記事を作成しようと思います。
本記事は以下について記載しております。

・Amazon GuardDuty について
・Amazon GuardDuty 有効化手順
・Amazon GuardDuty 有効化後
・30日の無料トライアル期間
・Amazon GuardDuty 無効化手順
・Amazon GuardDuty 一時停止手順

本文

Amazon GuardDuty について

Amazon GuardDuty は、 AWS 環境内の特定の AWS データソースとログを継続的にモニタリング、分析、処理する脅威検出サービスです。

What is Amazon GuardDuty?より抜粋

具体的に何を検出するか

以下のイベント・ログに関して異常な点があれば教えてくれます。
これらは無効化できません。しかし、後述する「GuardDuty を一時停止」にて止めることは可能です。

・AWS CloudTrail イベントログ
・AWS CloudTrail 管理イベント
・VPC フローログ (Amazon EC2 インスタンスから)
・DNS ログ

保護プランで以下については自由に有効化、無効化できます。

・EC2マルウェアスキャン (デフォルト:設定なしにより無効状態)
・S3 保護 (デフォルト:有効
・EKS 保護 (デフォルト:有効
・ランタイムモニタリング (デフォルト:無効)
・EC2のマルウェア 保護 (デフォルト:有効
・S3のマルウェア 保護 (デフォルト:設定なしにより無効状態)
・RDS 保護 (デフォルト:有効
・Lambda 保護 (デフォルト:有効

GuardDuty は、基本的なデータ ソースを使用して、既知の悪意のあるドメインおよび IP アドレスとの通信を検出し、潜在的に異常な動作や不正なアクティビティを特定します。これらのソースから GuardDuty への転送中、すべてのログ データは暗号化されます。
GuardDuty は、プロファイリングと異常検出のためにこれらのログ ソースからさまざまなフィールドを抽出し、これらのログを破棄します。

GuardDuty foundational data sources より抜粋

Amazon GuardDuty 使用時における他のリソースの有効化は不要

AWS アカウントで GuardDuty を有効にすると、次のセクションで説明するログソースの監視が自動的に開始されます。GuardDuty がこれらのデータソースの分析と処理を開始し、関連するセキュリティ検出結果を生成するために、他に何かを有効にする必要はありません。

GuardDuty foundational data sources より抜粋

注意点

  1. 各AWSサービスのイベント・ログを有効化せずに AWS GuardDuty を有効化した場合、異常を検知してもそれらの詳細なイベント・ログは確認できません。原因を調査する場合は各AWSサービスのイベント・ログの有効化が必要になります。
  2. AWS GuardDuty の機能も対象のイベント・ログの全てをサポートするものではありません。実際に運用に利用される場合はAWSドキュメントでサポート外のものについて確認してください。
    GuardDuty foundational data sources 参照

以上の内容より、Amazon GuardDutyは有効化するだけでも構いません。
ただし、原因究明のログは見れません。
Amazon GuardDutyのログを確認されたい場合は別途Amazon GuardDutyのログを「設定」にてS3にエクスポートするようにしてください。
ログのエクスポート設定時にはAWS KMS カスタマーマネージド キーが必要となります。
詳細は下記AWSドキュメントをご確認ください。
※本稿では割愛致します。

・検出結果のエクスポート
https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty_exportfindings.html

 

Amazon GuardDuty 有効化手順

1.Amazon GuardDuty 画面
[今すぐ始める]を押下

2.GuardDutyにようこそ 画面
[GuardDuty を有効にする]を押下

3.GuardDuty 要約 画面
[GuardDuty が正常に有効になりました。]が表示される

これで終わりです。
あとはデフォルトで有効化されるサービスについて AWS GuardDuty が独自にログを収集(90 日間保持)しており、問題があれば「検出結果」に表示されます。

 

Amazon GuardDuty 有効化後

気になるのは①費用と②デフォルトの有効/無効状態と③30 日の無料トライアル期間ではないかと思います。
安易にAWS GuardDutyを有効化するとこの無料トライアル期間がスタートしてしまうのではないか、と意外に踏ん切りが付かない方もおられるのではないでしょうか。

本記事を作成するにあたり、色々調べましたが費用についてはやはり他の脅威検出サービスに比べ比較的安価であることは見かけますが、デフォルト有効化についてと30日の無料トライアル期間についての記述があまり分からなかったことから確認した結果をお知らせしようと思いました。

①費用について

Amazon GuardDuty の料金

上記AWSドキュメントにて計算可能です。
一概にどの程度になるか料金例も記載されております。

②デフォルトの有効/無効状態

GuardDuty での機能の有効化

上記AWSドキュメントの各機能についての説明にてデフォルトで有効・無効が記載されていますが、Amazon GuardDutyを有効化する前ではよく分からないものもあります。
こちらについて以下それぞれのデフォルト画像を交えて記載致します。

・検出結果 – デフォルト画面
有効化直後なので何も検出していません。

・使用状況 – デフォルト画面
有効化直後なのでまだ費用が発生していません。その後徐々に加算されていきます。
無料トライアル期間でどれほど費用が発生するか確認してから利用が可能です。

・EC2マルウェアスキャン- デフォルト「設定なし」

・S3 Protection – デフォルト「有効

・EKS Protection – デフォルト「有効

・ランタイムモニタリング – デフォルト「無効」

・EC2のMalware Protection – デフォルト「有効

S3のMalware Protection – デフォルト「無効」

・RDS Protection – デフォルト「有効

・Lambda 保護 – デフォルト「有効

・アカウント – デフォルト「設定なし」

・設定 – デフォルト画面

・リスト – デフォルト「設定なし」

・パートナーのリンク先ドキュメント
パートナーで下記リンク先が表示されます。

Amazon GuardDuty partners

③30日の無料トライアル期間

GuardDuty には、これまでサービスを有効にしたことがないアカウント向けに、AWS 無料利用枠の 30 日間のトライアルが付属しています。 無料トライアル期間中およびそれ以降は、GuardDuty コンソールの使用状況ページで、データソースごとに分類された推定月間使用量をいつでも監視できます。

Amazon GuardDuty の料金 – 脅威検出の基本価格

こちらですが、Amazon GuardDuty 有効化手順にて記載しておりますAmazon GuardDuty 画面の[今すぐ始める]を押下した瞬間からカウントダウンが開始されます。

色々試したましたのでご参考ください。

1,保護プランはデフォルトで有効化されていても無効化可能なのでAmazon GuardDutyを有効化した後に無効化しました。

結果:30日の無料トライアル期間は止まりませんでした。

2,設定からGuardDuty を一時停止しました。

結果:30日の無料トライアル期間は止まりませんでした。

3,Amazon GuardDutyを有効化した後にAmazon GuardDuty自体を無効化しました。

結果:30日の無料トライアル期間は止まりませんでした。

結論:Amazon GuardDutyを有効化後、以下3つのデータソース以外は30日の無料トライアル期間は止まりません。
※以下3つのデータソースはランタイムモニタリングを有効化しても実際に利用しなければ30日の無料トライアル期間は始まりません。

・EKS ランタイムモニタリング
・ECS ランタイムモニタリング
・EC2 ランタイムモニタリング

そのため、有効化の際は予めこの点を踏まえ、実施いただきますようよろしくお願い致します。

また、30日間の無料トライアル期間が終了すると下記画像の無料トライアル:30日の部分が表示されなくなります。

 

Amazon GuardDuty 無効化手順

1.Amazon GuardDuty – 設定画面にて
[無効にする]を押下

2.GuardDuty を無効にする ポップアップ画面にて
[無効にする] を押下する

3.GuardDutyにようこそ 画面に遷移したら無効化完了

 

Amazon GuardDuty 一時停止手順

1.Amazon GuardDuty – 設定画面にて
[停止]を押下する

2.GuardDuty を一時停止 ポップアップ画面にて
[停止] を押下する

3.GuardDuty を一時停止より、[GuardDuty を再度有効にする] となっていれば停止完了

 

まとめ

Amazon GuardDuty の有効化・無効化はボタンを2回押下するだけで可能です。
とても簡単なものです。
しかし、私はそう簡単に押下できませんでした。30日間の無料トライアル期間が開始されてしまうため有効化前に慎重を期しました。
検証の結果、一度有効化するとこの30日間の無料トライアル期間はカウントダウンされます。
他の記事をみてもこの点について記載されていなかったのですが、実際有効化する際にはかなり障壁となるかと思いますので、改めてご認識の程よろしくお願い致します。

もう一つ有効化する際の障壁と考えたのはデフォルトで有効化されるオプションがあることでした。
AWS CloudTrail や VPC フローログのためにAWS GuardDutyを有効化したいのに他のものが自動的に有効化され、これらについて課金される点が腑に落ちませんでした。
なので本記事にて予めどのようになるか知っていただきご利用の一助になりましたら幸いでございます。

 

<参考資料>
・What is Amazon GuardDuty?
https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html
・GuardDuty foundational data sources
https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_data-sources.html