Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

IDおよびアクセス管理

Slide 16

Slide 16 text

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)

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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)

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

検出

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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)

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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月

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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月

Slide 35

Slide 35 text

データ保護

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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 アクセス バケット ポリシー 暗号化

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

コンプライアンス

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

インシデント対応

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

ありがとうございました