Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSのセキュリティサービスを学ぶ

fumiakiueno
February 17, 2023

 AWSのセキュリティサービスを学ぶ

fumiakiueno

February 17, 2023
Tweet

More Decks by fumiakiueno

Other Decks in Technology

Transcript

  1. セキュリティはAWSで最優先事項 Security is our top priority at AWS(*) *出典:「AWS Security

    Incident Response Guide」 https://docs.aws.amazon.com/ja_jp/whitepapers/latest/aws-security-incident-response-guide/introduction.html
  2. セキュリティはどこでも出てくる セキュリティ対応やサービスはたくさんある 監査ログ取った?アクセス制御最低限?IAMの権限は最小限? アプリケーション攻撃対策は?など・・ AWS Cloud VPC Public subnet Private

    subnet Application Load Balancer Private subnet Amazon EC2 Amazon Aurora AWS WAF Amazon Inspector Amazon GuardDuty AWS CloudTrail AWS Config Flow logs Network access control list Security group Amazon CloudWatch AWS Identity and Access Management (IAM)
  3. クラウド特有のセキュリティ設定がある AWS IAM Long-term security credential Permissions (Bucket Policy) Permissions

    (IAM Policy) Amazon S3 クレデンシャル使って大丈夫? 公開しすぎじゃない?
  4. (情報)セキュリティの3要素 機密性 完全性 可用性 情報 機密情報、ソースコ ード、財務情報など 侵入 破壊 ウイ

    ルス 盗聴 被害の可能性 =リスク 設定不備など 脆弱性 を減らしていく 脅威へ対策する
  5. IDおよびアクセス管理 AWSのセキュリティ関連サービス 検出 ネットワークと アプリケーションの保護 データ保護 コンプライアンス IAM Amazon Cognito

    AWS Directory Service AWS Organizations AWS Resource Access Manager AWS IAM Identity Center AWS CloudTrail Amazon GuardDuty Amazon Inspector AWS Config AWS Security Hub Amazon CloudWatch AWS Shield AWS WAF Amazon Detective AWS Network Firewall Amazon Route 53 Amazon VPC Amazon Macie AWS CloudHSM AWS KMS AWS Secrets Manager AWS Certificate Manager (ACM) AWS Artifact AWS Systems Manager AWS Trusted Advisor AWS Control Tower インシデント対応 Amazon S3 Amazon Athena Amazon EventBridge Amazon OpenSearch Service
  6. AWS Identity and Access Management (IAM) • そのユーザーは誰?という認証と、何が使えるの?という認可を管理するサービス • 基本項目をまずは理解する

    • IAMユーザー:個人ごとに作成し認証、ID/PWまたはアクセスキーを使用 • IAMグループ:複数ユーザーをまとめて管理するもの • IAMポリシー:何にアクセスできるか認可情報をまとめたもの、 ユーザー、グループ、ロールに設定できる • IAMロール:AWSリソースに付与する形でリソースがAWS操作権限を持つ ユーザーが引き受け(assume)し、ロールの権限を使用することも可能 IAMユーザー IAMグループ IAMロール IAMポリシー IAMユーザー 所属 Instance IAMロール IAMポリシー IAMポリシー 引き受け (assume)
  7. AWS Identity and Access Management (IAM) • IAMポリシーの書き方 ⇒何(Resource)に、どの操作(Action)を、許可/拒否(Effect)するのか指定する 必要に応じて条件(Condition)を追加する

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*" ], "Resource": [ "arn:aws:s3:::test-data”, “arn:aws:s3:::test-data/*" ], "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}} } ] } ①test-dataバケット 内のデータに ②Get~で始まる操作を ③許可する ④条件:MFAが有効な場合
  8. AWS Identity and Access Management (IAM) • IAMロールの信頼関係やS3バケットポリシーには、「誰が」というPrincipalも指定する { "Version":

    "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "ec2.amazonaws.com" ] } } ] } IAMロール IAMポリシー 信頼関係 どこからアクセスできるのか指定 (この例ではEC2) • Resource、Action、Effect、Condition、Principalという基本を知っていると、 バケットポリシーやキーポリシーなどAWSに関するポリシーを幅広く理解できる Instance 引き受け (assume)
  9. AWS Organizations • 複数アカウントをまとめて管理するサービス • 組織単位(OU)というグループを使用してグループごとに管理できる • 各アカウントのセキュリティ情報集約機能、自動設定機能もある • Service

    Control Policy(SCP)によって、予防ガードレールを設定できる • AWS Resource Access Manager(RAM)で組織内リソース共有ができる AWS Organizations Management Organizational unit (OU) Organizational unit (OU) SCP IAM Policy SCP IAM Policy 有効なポリシー IAM Policy 1アカウントに自動集約 &各アカウント自動ON GuardDuty GuardDuty GuardDuty GuardDuty GuardDuty
  10. AWS Control Tower • ベストプラクティスなマルチアカウント 環境を自動セットアップするサービス • IAM Identity Center、CloudTrail、

    Config、通知用SNS Topicを自動設定 してくれる • 予防的、発見的ガードレール(コントロ ール)を簡単に設定、管理できる • マルチリージョン設定にも対応している AWS Control Tower Management S3 • CloudTrail Logs • Config Logs Log Archive Audit AWS Config Aggregator AWS Organizations AWS IAM Identity Center Prod Security Baseline Amazon VPC (Network Baseline) Amazon SNS Security OU Workloads OU CloudTrail AWS Config
  11. AWS Config • 設定がルールに準拠しているかチェックするConfigルールという機能もある • たとえば以下のようなチェックが可能 • CloudTrailの証跡が有効か • Security

    GroupでSSHポートが公開されていないか • 修復アクションを設定して、自動修復も可能 • Systems ManagerのAutomation機能が修復アクションとして使用できる AWS Config Rule Security group Instance ①チェック Automation (修復アクション) ②修復
  12. Amazon CloudWatch • メトリクス収集、ログ、監視ができるAWSのモニタリングサービス • 基本機能であるメトリクス(指標)、ログ、アラームをまずは覚える • イベントはより新しいEventBridgeの利用を推奨 • Synthetics、RUM、Evidentlyという比較的新しい機能もある

    • Agentをインストールすることで、オンプレミス環境のサーバも使用可能 Instance または ログ Amazon CloudWatch サーバ アプリ Amazon Aurora メトリクス CloudWatch (Agent) アラーム 通知
  13. Amazon GuardDuty • AWS環境内の脅威を検知してくれるサービス、有効にするだけで使用可能 • インプット情報はVPC Flow Logs、 CloudTrail、S3データアクセスログ、 DNSログ、Kubernetes

    auditログ、EBS(マルウェア)、RDSログインで、 年々増えている • 通知をしたい場合はEventBridgeを使用する GuardDuty Flow logs CloudTrail Amazon RDS Amazon EKS S3 Amazon EBS DNS Logs 検知 Event EventBridge 通知 SNS Topic 2022年1月 2020年7月 2022年7月 2022年11月 (Preview)
  14. AWS Security Hub • 各種AWSセキュリティサービスの集約場所(Hub)として機能するサービス • サードパーティのセキュリティサービスも合わせて集約できる • 業界標準およびベストプラクティスに照らした環境チェックもできる •

    CIS AWS Foundations Benchmark • Payment Card Industry Data Security Standard (PCI DSS) • AWS Foundational Security Best Practices GuardDuty Amazon Macie Amazon Inspector AWS Config AWS Security Hub 集約 など AWS Config (ルール) 標準チェックとして Configルール(コントロール) を自動展開 ルール展開
  15. Amazon VPC • AWS上にプライベート仮想ネットワークを構築できるサービス • インターネットと直接通信ができるパブリックサブネットと、 直接通信できないプライベートサブネットがある • アクセス制御はネットワークACL(NACL)とセキュリティグループで行う •

    通信のログはVPC Flow Logsを設定しS3またはCloudWatch Logsに保存可能 • AWSサービスとプライベートに通信する場合はVPCエンドポイントを使用 Virtual private cloud (VPC) Public subnet Private subnet Security group Instance Security group ALB NACL NACL Flow logs S3 Logs Endpoints S3 比較項目 セキュリティグループ ネットワークACL 設定対象 リソース (EC2インスタンス等) サブネット デフォルト状態 すべて拒否 すべて許可 許可/拒否 許可のみ設定可 許可/拒否の設定可 ステートフル/ ステートレス ステートフル (行き通信のみ許可でOK) ステートレス (行き戻り両方の設定) 「セキュリティグループとネットワークACLの違い」
  16. AWS WAF • AWSマネージドなWeb Application Firewall(WAF)サービス • SQLインジェクションやクロスサイトスクリプティングといったアプリケーションへの攻 撃を防御できる •

    Amazon CloudFront、Amazon API Gateway、ALB、AWS AppSync、 Amazon Cognitoユーザープールへ作成したWAF(WEB ACL)を適用できる • WEB ACLという箱のようなリソースを作成し、WEB ACLの中にルールやルールグループ (ルール群)を追加していく • AWSやセキュリティ企業が用意したマネージドルールがあり、ユーザーが独自に設定で きるルール(IP制限など)もある Managed rule Rule WEB ACL ALB API Gateway CloudFront AppSync Cognito アタッチ 2022年8月 2020年10月
  17. AWS Key Management Service (AWS KMS) • AWS上でデータを暗号化するときに使用する鍵を管理するサービス • 知らず知らずのうちに他のサービスから呼び出して使用していることも多い

    • キーポリシーによって鍵へのアクセス制御ができる • 自動ローテーション機能もある • 暗号化にはサーバーサイド暗号化とクライアントサイド暗号化がある • 専用のハードウェア、VPC内で鍵管理を使用できるCloud HSMという別サービスもある 「S3バケットの暗号化設定」 アプリ 暗号化 S3 「クライアントサイド暗号化」 アプリ 暗号化 S3 「サーバーサイド暗号化」
  18. AWS Key Management Service (AWS KMS) • AWSでは、エンベロープ暗号化というやり方で鍵も暗号化している • KMSキーでデータキーを暗号化し、データキーでデータを暗号化する

    • KMSキーが無ければ復号できないので、暗号化されたデータキーとデータは 一緒にデータベースに保存しておいてOK • データを復号するときにKMS内のKMSキーを呼び出す データキー 暗号化 データ AWS KMS KMSキー 暗号化 暗号化
  19. AWS Secrets Manager • パスワードなどの認証情報を管理するサービス • アプリケーションはSecrets Managerに登録されている認証情報を使用してデータベース に接続できる •

    Systems ManagerのParameter Storeと似たような機能になるが、 以下のような差がある 比較項目 Secrets Manager Parameter Store 対象データ 認証情報 設定値など幅広いデータ SecureString機能で暗号化可能 自動ローテーション 有り 無し データベース統合機能 RDS、Redshiftなどに対応 対応なし 料金 有料 スタンダードは無料 ※KMS暗号化分や、アドバンストは有料 Instance アプリ AWS Secrets Manager パスワード Amazon RDS ①認証情報取得 ②接続
  20. Amazon Macie • S3バケット上にある個人情報などの機密データを発見できるサービス • 2023年2月現在で日本語データには非対応 • 以下のようなデータを検知できる • AWSの認証情報(アクセスキー)

    • クレジットカード番号、有効期限、認証データ • 生年月日 • 電話番号 • 運転免許証識別番号 • ユーザー独自のカスタム識別子も設定可能 • 2022年のre:Inventで、機密データの多いバケットを自動検出する機能が追加 Amazon Macie S3 Bucket スキャン、発見
  21. AWS Artifact • AWSのコンプライアンスレポートと特定の規制対象となる顧客のための契約、 が用意されているサービス • コンプライアンスはISO認定、PCI、SOCレポートなどに対応している • 内部統制や監査などで指定のコンプライアンスに対応しているか確認できる •

    契約では、Health Insurance Portability and Accountability Act (HIPAA) で必要な事業提携契約 (BAA) が可能 • 組織(Organizations)レベルの契約も対応している AWS Artifact コンプライアンス 契約 確認 確認、受諾、 追跡
  22. AWS Systems Manager • 元々はEC2の機能としてサーバーを管理するサービスとして生まれたが、 現在はAWS内のシステムやアプリケーションを管理するための多くの機能を 持っている • セキュリティにも関連する主要機能は以下のとおり •

    Patch Manager:サーバーのパッチ適用を自動管理 • Inventory:サーバー上のソフトウェアメタ情報を収集 • Session Manager:EC2インスタンスへIAM認証、SG公開無しで接続 • Parameter Store:パスワードはDB接続文字列などをパラメータとして管理 • OpsCenter:AWS上で発生するイベント(アラーム等)をOpsItemsとして管理 • Incident Manager:イベント、連絡先、エスカレーションフローを管理 • Automation:Documentとして登録されている一連の操作を実行できる • ここではすべて紹介しきれないので、詳細は公式ドキュメントを参照 https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html
  23. AWS Well-Architected フレームワーク セキュリティの柱 設計原則 • 強力なアイデンティティ基盤の実装 • トレーサビリティの実現 •

    全レイヤーでセキュリティを適用する • セキュリティのベストプラクティスを自動化する • 伝送中および保管中のデータの保護 • データに人の手を入れない • セキュリティイベントに備える 出典:AWS Well-Architected フレームワーク セキュリティ https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33-23/wat.pillar.security.ja.html