📚

[AWS]セキュリティ(IAM,MFA,CloudTrail)

2025/02/20に公開

IAM(アイアム、Identity and Access Management)

  • AWSのユーザー管理とアクセス制御を行うサービス
  • 誰がどのAWSサービスにアクセスできるかを管理できる
  • AWSアカウントのセキュリティを強化するために必須の仕組み

IAMの主要な機能

機能 説明
AWSユーザーの作成・管理 各ユーザーにログイン用のID・パスワードを発行できる。アクセス権限(ポリシー)を設定し、操作できる範囲を制限可能。
IAMグループの作成・管理 複数のIAMユーザーをグループ化し、一括で権限を付与できる。開発チーム・運用チームなどで、権限管理を簡単にできる。
アクセス権限の設定 「どのAWSサービスを利用できるか」をユーザー・グループ単位で制御可能
認証情報の管理 ユーザーごとにID・パスワードを発行し、AWSにログインできる
IAMロール(IAM Role) AWSリソースに特定の権限を付与し、一時的なアクセスを可能にする

MFA(Multi-Factor Authentication:多要素認証)

ログインID(メールアドレス)とパスワード以外に、もう1つ認証を行う。

要素は下記3種類あり、この種類が被らないように認証を設定する。

  • 💭記憶しているもの・知ってるもの
    ID、パスワード、PINコード、秘密の質問
  • 🤳所持しているもの
    スマートフォン(SMS認証・アプリ認証)、ICカード、トークン(ワンタイムパスワード使う端末)
  • 🧍自分の体使ったもの
    顔、指紋、虹彩、声紋、静脈

上記は、基本情報の過去問でも出てきた!(2要素認証の範囲)
https://www.fe-siken.com/kakomon/04_menjo/q35.html
https://www.jbsvc.co.jp/useful/security/multi-factor-authentication.html

CloudTrail

AWSのアクション履歴(イベント)を記録する監査サービス。
誰が・いつ・どのAWSサービスを・どのように操作したかが記録される。
AWSコンソールの操作だけでなく、SDKやAPI、CLIでの操作も記録できる。

Amazon SDK(Software Development Kit)
AWSのサービスを簡単に操作するための開発ツールキット。
AWSのAPIを簡単に扱えるようにするライブラリやツールが含まれている。
AWSをプログラムで操作することができる。

📌CloudTrailを使うとできること

  • 不正アクセスや操作ミスの検出(「このEC2を誰が削除した?」がわかる)
  • AWS環境のセキュリティ監査(「どのIAMユーザーがどの操作をした?」が記録される)
  • コンプライアンス管理(監査ログを残すことで、規制対応が可能)

CloudTrailで記録されるイベントには、主に「管理イベント」と「データイベント」の2種類ある。

1. 管理イベント(Management Events)

AWSリソースの「管理操作」に関するイベントを記録する。
= AWSリソース (EC2,S3バケット,IAMポリシー,VPC,Lambda関数) の作成・削除・変更など

デフォルトで90日間記録
しかも、無料! それより長く保存・記録するには課金が必要。


2. データイベント(Data Events)

AWSリソースの「データ操作」に関するイベントを記録する。
AWSリソース内部のデータ操作(CRUD:作成・読み取り・更新・削除)を記録
(S3のオブジェクトアクセス、Lambdaの関数実行など、アップロード・ダウンロード)

デフォルトでは記録されない(証跡を作成し、明示的に設定する必要がある)
有料(イベント数に応じて課金)

よく出ることを軽くまとめとく

ここは次回以降よく調べる!

S3(Simple Storage Service)

AWSのオブジェクトストレージサービスで、あらゆるデータを保存できる。
静的ファイル、バックアップ、ログ保存、データ共有など幅広い用途で利用される。

Lambda(AWS Lambda、ラムダ)

渋谷ディヴィジョン
サーバーレスコンピューティングサービスで、サーバーを意識せずにコードを実行できる。
イベント駆動型で動作し、AWSの他のサービスと連携可能。

ウェブアプリケーションの主な脆弱性

脆弱性の種類 説明
アプリケーションのプログラムミス コーディングミスによって、予期しない動作やセキュリティホールが発生する
古いバージョンのソフトウェア 既知の脆弱性が修正されていない状態のソフトウェアを使うことで、攻撃の対象になりやすい
SQLインジェクション ユーザー入力を適切に処理しないと、SQLクエリが改ざんされ、データベースに不正アクセスされる可能性がある
クロスサイトスクリプティング(XSS) ユーザーが入力したデータをそのままHTMLに埋め込むと、悪意のあるスクリプトが実行される
強制ブラウジング 本来ユーザーがアクセスできないはずのURLに直接アクセスすることで、不正に情報を取得される
Cookieの濫用(改ざん) Cookieの値を改ざんされると、不正ログインやセッションハイジャックのリスクが高まる
バックドア・デバッグオプション 開発・デバッグ用の設定が本番環境に残っていると、外部からシステムに侵入される危険性がある

📌ポイント

  • 脆弱性は、プログラムのミスだけでなく、ソフトウェアの更新不足や不適切な設定でも発生する!
  • 攻撃者はこれらの脆弱性を悪用し、システムを乗っ取ったり、データを盗んだりする!

Discussion