Table of Contents
はじめに
FundastA Inc.の鈴木です。
現在、AWS ソリューションアーキテクトアソシエイト試験合格に向けAWSについて勉強中です。
今回は 「セキュリティと運用」 について勉強したことを備忘録として、記述していきます。
セキュリティ
AWS内のデータ/システム/アセットを保護して、モニタリングによりセキュリティを高める考え方
設計事項
-
全てのレイヤーでのセキュリティを適用
-
アクセス追跡・モニタリングの確実な実施
-
条件ドリブンのアラートトリガーとしてセキュリティイベントへの応答を自動化
-
AWS責任共有モデルに基づく対象範囲の保護に集中
-
セキュリティのベストプラクティスを自動化
暗号化
サーバーサイド暗号化
-
AWSのサーバリソースを利用して、格納データの暗号化を実施
-
SSE-S3 SSE-KMS SSE-Cなどが該当する。
クライアントサイド暗号化
-
暗号化プロセスをユーザ側で管理
- クライアントサイドでデータを暗号化した上で、データを送信する方法
-
暗号化タイプ
-
AWSKMSで管理されたカスタマーキー
-
クライアントが管理するマスターキー
-
AWS KMS の活用
-
暗号鍵の作成・管理・運用を実施するマネージドサービスでAWS マネジメ ントコンソール、AWS SDK またはCLI を使用して、キーを作成、インポー ト、ローテーション、削除、管理する。
-
IAMと連携して鍵のアクセス管理を実施
-
カスタマーマスターキー(CMK)の無効化・有効化・削除を実施し、1年 ごとの自動キーローテーションすることが可能
-
AWS CloudTrail と統合されており、すべてのキーの使用ログを表示できる。
-
RDSやS3などの多数のAWSサービスに適用可能
KMSの暗号化方法
まずキーの種類を解説します。
- データキー
- データを暗号化する。
- AWS内分で永続化されない。
- ユーザがローカルにエクスポートできる。
- マスターキー
- データキーを暗号化する。
- AWS内部で永続化される。
- ユーザがローカルにエクスポートできない。
- マスターキーを作成
- マスターキーを使用してデータキーを作成、暗号化
- データキーを用いて、データを暗号化
- 暗号化された鍵とデータを受信したものはマスターキーを用いて、データを開封する。
おおまかな流れはこのようになっています。
KMSではユーザーは、管理をせずに保存はすべて AWS に任せることができます。
※データキーの削除はユーザー自身で行わなければいけないですが、この作業だけはユーザで行うことに局所化されている。
STS
-
リソースへのアクセスをコントロールできる一時的認証情報を持つ信頼されたユーザーを作成および提供することができる。
-
有効期限は数分から数時間に設定可能
-
アプリの長期のAWSセキュリティ認証情報を配布したり埋め込んだりするひつようなし
-
ユーザーに対してAWS ID を定義せずにAWSリソースへのアクセスを許可できる。
-
認証情報が不要になったときに取り消したりしなくてよい。
AmazonCognito
Webアプリやモバイルアプリに認証機能を提供し、不特定多数の一般ユーザーの認証・管理を行うことができるサービス
運用
AWSCloudTrail
-
ルートアカウント/IAMユーザのオペレーションをトラッキング
-
CloudTrailログファイルは暗号化されてS3に保存
-
KMSによる暗号化もサポート
AWSConfig
AWSのリソースのレポジトリ情報からリソース変更履歴や構成変更を管理するサービス
だれがいつ何を変更したのかを確認できる便利な管理サービス
-
定期的に構成情報のスナップショットをS3に保存
-
構成情報に基づきシステム構成があるべき状態になっているかを評価
-
評価基準にはAWSルールまたは独自ルールを適用
CloudWatch
AWSクラウドリソースとAWSで実行されるアプリケーションのモニタリングし、お知らせしてくれるサービス
-
AWS上で稼働するシステム監視サービスで、死活監視、性能監視、キャパシティ監視を実施
-
有料枠では確認内容や設定の柔軟性が充実化する
- EC2、DynamoDB、RDSなどのAWSリソースやログファイル、カスタムメトリクスをモニタリングできる。
CloudWatchLogs
システムやアプリケーションのモニタリングとトラブルシューティングを、ログファイルを使用して行う機能
-
EC2上のOS・アプリケーションのログやAWSマネジメントサービスのログを取得する。
-
ログの保存をして、可視化・分析する仕組みを提供
-
EC2インスタンスの場合はエージェント経由でログメッセージをCloudWatchエンドポイントに転送する。
-
ログデータは1日から永久に保存期間設定可能
-
AmazonS3にログをエクスポート可能
CloudWatchEvents
- イベント
- AWSの環境変化を指す。AWSリソース
- リソースの状態が変わったときにイベントを生成
- ルール
- 一致した受信イベントを検出し、処理のためにターゲットに振り分ける。
- ターゲットを振り分けることで、並列処理が可能になる。
- ターゲット
- イベントを処理する。
AWSGuardDuty
悪意のある操作や不正な動作をモニタリングし、検知するソリューション
- 特徴
- 既知の悪意のある IP からの API コールなどのアクティビティの検出に役立ちます。
- 脅威への対応の自動化してくれ、是正と復旧にかかる時間を短縮できる。
- アカウント全体における組織の調査結果を単一の管理アカウントに集約するなど簡単な管理が可能
AmazonInspector
自動的にアプリの脆弱性やベストプラクティスから逸脱していないかセキュリティ評価してくれる
- セキュリティ体制の強化
- アプリのセキュリティに問題点がないか識別できる。
- EC2インスタンスを可視化できる
- 既存のDevOpsプロセス内にInspectorによる評価を組み込んである。
- セキュリティコンプライアンスの効率化
- アプリ開発する際に実施されるセキュリティテストを監査人やセキュリティチームが可視化できる。
AWSWAF(ファイアウォール)
- アプリケーションレベルで通信の中身を解析し、特定の攻撃パターンに一致する通信を検知、遮断する。
AWSShield
- コスト効率良し
- シームレスな統合とデプロイ
- カスタマイズ可能な保護
おわりに
今回はセキュリティと運用について記述しました。(代表的なものを記載つもりです)
最近では企業での情報漏洩などセキュリティなどの導入は必須であり、運用にも気を付けなければいけなくなってきていると思います。
セキュリティといっても様々なサービスを駆使して、アプリなどのサービスを運用していかなければいけないので、知識不足な面が多いです。そのためセキュリティの知識を積み重ねていければと思います。
ご覧いただきありがとうございました。