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のセキュリティ
    サービスを学ぶ

    View full-size slide

  2. 上野 史瑛
    NRIネットコム / Cloud Architect
    AWS設計、構築プロジェクトを多く担当
    採用活動やAWSアライアンス活動も実施
    @fu3ak1

    View full-size slide

  3. セキュリティは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

    View full-size slide

  4. セキュリティはどこでも出てくる
    たとえばこんなアーキテクチャ・・
    AWS Cloud
    VPC
    Public subnet Private subnet
    Application Load
    Balancer
    Private subnet
    Amazon EC2 Amazon Aurora

    View full-size slide

  5. セキュリティはどこでも出てくる
    セキュリティ対応やサービスはたくさんある
    監査ログ取った?アクセス制御最低限?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)

    View full-size slide

  6. クラウド特有のセキュリティ設定がある
    AWS IAM
    Long-term security
    credential
    Permissions
    (Bucket Policy)
    Permissions
    (IAM Policy)
    Amazon S3
    クレデンシャル使って大丈夫? 公開しすぎじゃない?

    View full-size slide

  7. 一番大事なセキュリティを学び、
    AWSを幅広く知り、
    安全にAWSを楽しもう

    View full-size slide

  8. AWSを学ぶ前に・・
    セキュリティってなんだっけ?

    View full-size slide

  9. (情報)セキュリティの3要素
    情報
    機密情報、ソースコード、
    財務情報など

    View full-size slide

  10. (情報)セキュリティの3要素
    機密性
    完全性 可用性
    情報
    機密情報、ソースコード、
    財務情報など
    この3要素を確保する

    View full-size slide

  11. (情報)セキュリティの3要素
    機密性
    完全性 可用性
    情報
    機密情報、ソースコ
    ード、財務情報など
    侵入
    破壊 ウイ
    ルス
    盗聴
    被害の可能性
    =リスク
    設定不備など
    脆弱性
    を減らしていく
    脅威へ対策する

    View full-size slide

  12. (情報)セキュリティの3要素
    機密性
    完全性
    可用性
    正当な権利を持った人(許可された人)が
    情報資産を使用できること
    情報資産が(正当な権利を持っていない人によって)
    修正されていないこと
    情報資産を必要なときに使用できること

    View full-size slide

  13. AWS内の情報を守る
    セキュリティサービス
    分類別に見ていく

    View full-size slide

  14. 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

    View full-size slide

  15. IDおよびアクセス管理

    View full-size slide

  16. 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)

    View full-size slide

  17. 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が有効な場合

    View full-size slide

  18. 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)

    View full-size slide

  19. AWS Identity and Access Management
    (IAM)
    • 以下は基本的にアンチパターン(やらないほうが良い)
    • ルートユーザー(アカウントメールアドレスのユーザー)の使用
    対策:IAMユーザーを使う
    • アクセスキー/シークレットアクセスキーの使用
    対策:IAMロールを使う

    View full-size slide

  20. 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

    View full-size slide

  21. 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

    View full-size slide

  22. AWS CloudTrail
    • AWSの操作履歴(誰が、いつ、何を)を保存するサービス
    • S3等のデータイベントは追加で設定して保存する必要がある
    • デフォルトで90日分のイベントをサービス側で保存、
    それ以上は証跡という形でS3バケットまたはCloudWatch Logsに保存する
    プログラム
    AWS Management
    Console
    Instance
    IAM
    CloudTrail
    S3
    ログ
    操作履歴を記録

    View full-size slide

  23. AWS Config
    • AWSの設定履歴(何が、いつ、どう)を保存するサービス
    • デフォルトで7年間(2557日)分保存される
    プログラム
    AWS Management
    Console
    t3.small
    S3
    履歴
    配信
    設定履歴を記録
    AWS Config
    t3.large
    IAMポリシー
    IAMポリシー
    変更 変更

    View full-size slide

  24. AWS Config
    • 設定がルールに準拠しているかチェックするConfigルールという機能もある
    • たとえば以下のようなチェックが可能
    • CloudTrailの証跡が有効か
    • Security GroupでSSHポートが公開されていないか
    • 修復アクションを設定して、自動修復も可能
    • Systems ManagerのAutomation機能が修復アクションとして使用できる
    AWS Config
    Rule
    Security group
    Instance
    ①チェック
    Automation
    (修復アクション)
    ②修復

    View full-size slide

  25. Amazon CloudWatch
    • メトリクス収集、ログ、監視ができるAWSのモニタリングサービス
    • 基本機能であるメトリクス(指標)、ログ、アラームをまずは覚える
    • イベントはより新しいEventBridgeの利用を推奨
    • Synthetics、RUM、Evidentlyという比較的新しい機能もある
    • Agentをインストールすることで、オンプレミス環境のサーバも使用可能
    Instance
    または
    ログ
    Amazon CloudWatch
    サーバ
    アプリ
    Amazon Aurora
    メトリクス
    CloudWatch
    (Agent)
    アラーム
    通知

    View full-size slide

  26. Amazon EventBridge
    • AWS上で何かイベントが起きたら、通知や処理を実行できるサービス
    • イベントドリブンなアプリケーションにも使われるが、
    セキュリティ関連でも通知やインシデント対応に多く使われる
    • 後に紹介するGuarDutyなどのセキュリティサービスもEventBridgeで通知する
    通知
    CloudTrail
    Event
    EventBridge
    SNS Topic
    Lambda function
    特定の操作
    をイベントとして連携
    通知する場合は
    SNS Topicを指定
    Lambda関数で
    処理の実行も可能

    View full-size slide

  27. 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)

    View full-size slide

  28. 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ルール(コントロール)
    を自動展開
    ルール展開

    View full-size slide

  29. Amazon Inspector
    • 脆弱性スキャンサービス
    • EC2インスタンス、ECR(コンテナイメージ)、Lambda関数(New!)に対応
    • CVE等のパッケージ脆弱性スキャンとネットワーク到達性スキャンの2種類あり
    • EC2のパッケージ脆弱性スキャンにはSystems Manager(SSM)エージェント
    が必要
    Amazon Inspector
    SSM Agent
    Amazon EC2
    Amazon ECR
    Image
    AWS Lambda
    脆弱性
    スキャン
    2022年12月

    View full-size slide

  30. AWS Trusted Advisor
    • AWSのベストプラクティスに従って、コスト、パフォーマンス、セキュリティ、
    耐障害性、サービス制限の5項目で自動チェックしてくれるサービス
    • 利用にはビジネスサポート以上のサポートプランが必要
    • サポート条件を満たせば自動有効&無料のため、積極的に見ることを推奨
    • 2022年1月に、Security Hubのチェック結果も見れるようになった

    View full-size slide

  31. ネットワークと
    アプリケーションの保護

    View full-size slide

  32. 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の違い」

    View full-size slide

  33. 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月

    View full-size slide

  34. データ保護

    View full-size slide

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

    View full-size slide

  36. AWS Key Management Service
    (AWS KMS)
    • AWSでは、エンベロープ暗号化というやり方で鍵も暗号化している
    • KMSキーでデータキーを暗号化し、データキーでデータを暗号化する
    • KMSキーが無ければ復号できないので、暗号化されたデータキーとデータは
    一緒にデータベースに保存しておいてOK
    • データを復号するときにKMS内のKMSキーを呼び出す
    データキー
    暗号化
    データ
    AWS KMS
    KMSキー
    暗号化
    暗号化

    View full-size slide

  37. Amazon S3
    • 耐久性の高いオブジェクトストレージサービス
    • アクセス制御はIAMポリシー、バケットポリシー、アクセスコントロールリス
    ト(ACL)の3種類
    • 現在はACLは非推奨となっており、オブジェクト単位で制御したい場合に使用
    https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-alternatives-guidelines.html
    • オブジェクトのデフォルト暗号化設定があり、有効にするだけで暗号化でき、
    KMSキーも指定可能
    IAMポリシー
    S3 Bucket
    Object オブジェクト
    ACL
    アクセス
    バケット
    ポリシー
    暗号化

    View full-size slide

  38. AWS Secrets Manager
    • パスワードなどの認証情報を管理するサービス
    • アプリケーションはSecrets Managerに登録されている認証情報を使用してデータベース
    に接続できる
    • Systems ManagerのParameter Storeと似たような機能になるが、
    以下のような差がある
    比較項目 Secrets Manager Parameter Store
    対象データ 認証情報 設定値など幅広いデータ
    SecureString機能で暗号化可能
    自動ローテーション 有り 無し
    データベース統合機能 RDS、Redshiftなどに対応 対応なし
    料金 有料 スタンダードは無料
    ※KMS暗号化分や、アドバンストは有料
    Instance
    アプリ
    AWS Secrets
    Manager
    パスワード
    Amazon RDS
    ①認証情報取得
    ②接続

    View full-size slide

  39. Amazon Macie
    • S3バケット上にある個人情報などの機密データを発見できるサービス
    • 2023年2月現在で日本語データには非対応
    • 以下のようなデータを検知できる
    • AWSの認証情報(アクセスキー)
    • クレジットカード番号、有効期限、認証データ
    • 生年月日
    • 電話番号
    • 運転免許証識別番号
    • ユーザー独自のカスタム識別子も設定可能
    • 2022年のre:Inventで、機密データの多いバケットを自動検出する機能が追加
    Amazon Macie S3 Bucket
    スキャン、発見

    View full-size slide

  40. コンプライアンス

    View full-size slide

  41. AWS Artifact
    • AWSのコンプライアンスレポートと特定の規制対象となる顧客のための契約、
    が用意されているサービス
    • コンプライアンスはISO認定、PCI、SOCレポートなどに対応している
    • 内部統制や監査などで指定のコンプライアンスに対応しているか確認できる
    • 契約では、Health Insurance Portability and Accountability Act (HIPAA)
    で必要な事業提携契約 (BAA) が可能
    • 組織(Organizations)レベルの契約も対応している
    AWS Artifact
    コンプライアンス
    契約
    確認
    確認、受諾、
    追跡

    View full-size slide

  42. インシデント対応

    View full-size slide

  43. 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

    View full-size slide

  44. Amazon Athena
    • S3などのデータソースに対し、SQLクエリでデータを分析できるサービス
    • S3等の低コストなストレージにデータを格納しながら、任意のタイミングで
    開発者が慣れているSQLクエリでデータの確認ができる
    • セキュリティの観点では、CloudTrailやVPC Flow Logsの分析で使用される
    • テーブル定義はAWS Glueのデータカタログで管理される
    Flow logs
    CloudTrail
    ALB
    Amazon CloudFront
    S3
    Athena
    ログ
    SQLクエリ
    AWS Glue
    Data Catalog

    View full-size slide

  45. Amazon Detective
    • Detective=探偵、セキュリティ問題に関する調査用のサービス
    • IAM ユーザーやロール、IPアドレス別に、時系列情報と共に関連情報を確認で
    きる
    • たとえば特定のIAMユーザーが10:00~12:00でどういう操作をしていたのか
    といった確認ができる
    9:00 10:00 11:00 12:00 13:00
    GuardDuty
    攻撃
    Security Hub
    Detective
    ある時点の
    脅威検知
    ある時点の評価
    ある期間
    の調査

    View full-size slide

  46. Amazon OpenSearch Service
    • リアルタイムのアプリケーションモニタリング、ログ分析、ウェブサイト検索(全文検
    索)などで使われるOpenSearchを、AWSマネージドで使用できるサービス
    • セキュリティ観点では、各種ログを収集してインシデント調査の目的で使用できる
    • 複数のログを取り込んで相関分析やグラフ化もできる
    • 「SIEM on Amazon OpenSearch Service」というソリューションもある
    • 2022年のre:Inventでサーバーレスが登場
    出典:SIEM on Amazon OpenSearch Service
    https://github.com/aws-samples/siem-on-amazon-opensearch-service/blob/main/README_ja.md

    View full-size slide

  47. セキュリティサービスを理解した
    上で、良い設計をする

    View full-size slide

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

    View full-size slide

  49. ありがとうございました

    View full-size slide