お約束になってきましたが、自分自身忘れないようにコンセプトを毎回書いておこうと思います。
コンセプト
・お金かけてまでやりたくないので基本的に無料でAWSを勉強する
→ちょっとしたサービスを起動すると結構高額になりやすい。
・高いレベルのセキュリティ確保を目指す
→アカウントを不正に使われるととんでもない額を請求されるので防ぐ
しゃーないのでCloudtrailを設定してみる
前回早くも無料で対応するのが難しそうなことがわかってきたので、Cloudtrailをとりあえず設定してみようと思います。
まずは項目から確認。
証跡名は名前なんで適当に。
全リージョンに適用は
https://dev.classmethod.jp/cloud/aws/cloudtrail-multiregiontrail/
の記事を見ると後発の機能であることがわかります。今後リージョンが追加されるかもしれませんし、リージョン個別にしたい要件もないので全リージョンを適用することにします。
ちなみに料金は
https://aws.amazon.com/jp/cloudtrail/faqs/
で確認すると、
Q: 管理イベントを含む証跡が 1 つのみあり、それをすべてのリージョンに適用する場合、料金は発生しますか?
いいえ。管理イベントの最初のコピーは各リージョンで無料で配信されます。
とあり、無料のようです。無料、いい響きですwwwここも設定してから確認してみよう。
続いて管理イベントです。
https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html#logging-management-events
を読むとわかりますが、要は管理操作の証跡を取ります。データイベントのほうはデータに関する情報取得です。今回の場合、不正利用検知が目的なので、データイベントは不要です。
書き込み、読み取りの設定は以下のような内容です。
[Read-only] 読み取り専用イベントには、リソースの読み取りのみ行い、変更を行わない API オペレーションが含まれます。たとえば、Amazon EC2 の DescribeSecurityGroups および DescribeSubnets API オペレーションは読み取り専用イベントです。これらのオペレーションは、Amazon EC2 リソースに関する情報のみを返し、設定は変更しません。
[Write-only] 書き込み専用イベントには、リソースを変更する (または変更する可能性がある) API オペレーションが含まれます。たとえば、Amazon EC2 の RunInstances および TerminateInstances API オペレーションはインスタンスを変更します。
すべて 証跡は両方をログに記録します。
なし 証跡のログは、読み取り専用でも書き込み専用管理イベントのどちらでもありません。
ここはすべて、でいいでしょうね。てか、なしって何の意味があるんだ???
KMSの設定ですが、ここは入れておこうと思います。料金を確認すると
https://aws.amazon.com/jp/kms/pricing/
安いですし無料枠もあります。ちなみに、KMS暗号化しなくてもSSE-S3では暗号化されています。物理ディスクとしては暗号化されますが、鍵管理はできないのでAPI経由などでアクセスした場合は透過的にデータアクセスできてしまいます。ファイルを暗号化しているというよりもストレージの暗号化に近いイメージですね。
ログファイルの検証も有効化してみます。
SNSの通知についてはマニュアルに
バケットにログが配信されるたびに通知を受け取る場合は、[Send SNS notification for every log file delivery (ログファイルの配信ごとに SNS 通知を送信する)] で [Yes (はい)] を選択します。CloudTrail は、1 つのログファイルに複数のイベントを保存します。SNS 通知は、ログファイルごとに送信されます (イベントごとではありません)。
とあります。ファイル単位だとタイムリーではないでしょうし、無くてもいいように思うので、ここはいいえでいいでしょう。
バケット作成できました。
Cloudtrail側からCloudwatchLogsの設定をします。
設定できたようです。
今日はここまで。。。