75
45分で学ぶAWSのセキュリティ DevelopersIO 2016 1 2016/2/21 クラスメソッド Kaji

Classmethod-developers.io-2016-d4-45min-aws-security

Embed Size (px)

Citation preview

Page 1: Classmethod-developers.io-2016-d4-45min-aws-security

45分で学ぶAWSのセキュリティ

DevelopersIO 2016

1

2016/2/21 クラスメソッド Kaji

Page 2: Classmethod-developers.io-2016-d4-45min-aws-security

⾃⼰紹介梶 浩幸(かじ ひろゆき) Twitter ID:@cocacola917 AWSコンサルティング部 札幌オフィス勤務 2014年8⽉JOIN ネットワーク屋出⾝ 好きなAWSサービス • VPC

2

Page 3: Classmethod-developers.io-2016-d4-45min-aws-security

コカコーラ⼤好き

3

Page 4: Classmethod-developers.io-2016-d4-45min-aws-security

はじめに

• AWSを利⽤して1年以上の⽅ • AWSを利⽤して1年未満の⽅ • AWSをこれから利⽤予定の⽅

4

Page 5: Classmethod-developers.io-2016-d4-45min-aws-security

今⽇は何を話すの?

• AWSセキュリティ関連資料の・・・ • ⽤途 • 概要やポイント • 和訳との差異

をご紹介

5

Page 6: Classmethod-developers.io-2016-d4-45min-aws-security

今回ご紹介するAWSのセキュリティ資料https://aws.amazon.com/jp/security/ 代表的なもの(2016年2⽉14⽇現在)

6

英語名 和名 和訳有無や最新版

AWS Cloud Security Best Practices

セキュリティベストプラクティス 和訳差異無し 2013/11

AWS Cloud Security Whitepaper(Overview of Security Processes)

セキュリティプロセスの概要 US 2015/8 和訳 2014/11

AWS Risk and Compliance Whitepaper

リスクとコンプライアンス US 2016/1 和訳 2015/8

Introduction to Auditing the Use of AWS

AWSの使⽤に際してのセキュリティ監査チェックリスト

US 2015/10 和訳 2013/6

Page 7: Classmethod-developers.io-2016-d4-45min-aws-security

7

Page 8: Classmethod-developers.io-2016-d4-45min-aws-security

セキュリティベストプラクティス

8

Page 9: Classmethod-developers.io-2016-d4-45min-aws-security

⽤途

• AWSを設計・設定する上で必要なセキュリティに関する内容が記載されている

• 今回はポイントを絞ってご紹介

9

Page 10: Classmethod-developers.io-2016-d4-45min-aws-security

共有責任モデル(責任分担モデル)

10

Page 11: Classmethod-developers.io-2016-d4-45min-aws-security

保護対象の確認

11

セキュリティポリシーを検討

「何を保護するのか」、「その理由は何か」

その保護に関する責任・体制「誰がその責任を負うのか」

Page 12: Classmethod-developers.io-2016-d4-45min-aws-security

共有責任モデル(責任分担モデル)

12

• ファシリティ • 物理セキュリティ • コンピュータインフラ • ストレージインフラ • ネットワークインフラ • 仮想レイヤー

• OS • アプリケーション • セキュリティグループ • ファイヤーウォール • ネットワーク設定 • アカウント管理

ドキュメント内では、責任分担モデルで記載

利⽤者

Page 13: Classmethod-developers.io-2016-d4-45min-aws-security

13

AWS Global Infrastructure

Edge LocationRegion

Availability Zone

AWS Foundation Services

Compute Storage Database Networking

Network Security

Customer Applications & Content

https://d0.awsstatic.com/whitepapers/Security/Intro_to_AWS_Security.pdf

Inventory & Config

Access Control

Data Security

Page 14: Classmethod-developers.io-2016-d4-45min-aws-security

14

AWS Global Infrastructure

Edge LocationRegion

Availability Zone

AWS Foundation Services

Compute Storage Database Networking

Network Security

Customer Applications & Content

https://d0.awsstatic.com/whitepapers/Security/Intro_to_AWS_Security.pdf

Inventory & Config

Access Control

Data Security

スコープ外!

Page 15: Classmethod-developers.io-2016-d4-45min-aws-security

Q.先ほどの共有責任モデル はAWSサービス全部同じ?

15

Page 16: Classmethod-developers.io-2016-d4-45min-aws-security

インフラストラクチャサービス

16

AWS セキュリティのベストプラクティス(⽇本語)より https://aws.amazon.com/jp/security/security-resources/

Page 17: Classmethod-developers.io-2016-d4-45min-aws-security

コンテナサービス

17

AWS セキュリティのベストプラクティス(⽇本語)より https://aws.amazon.com/jp/security/security-resources/

Page 18: Classmethod-developers.io-2016-d4-45min-aws-security

抽象化されたサービス

18

AWS セキュリティのベストプラクティス(⽇本語)より https://aws.amazon.com/jp/security/security-resources/

Page 19: Classmethod-developers.io-2016-d4-45min-aws-security

AWS アカウントと IAM ユーザー、グループ、およびロールの管理

19

Page 20: Classmethod-developers.io-2016-d4-45min-aws-security

AWSアカウント

• 新しいシステム構築するときの質問 • AWSアカウントを別に作成? • 既存のアカウントに追加?

20

Page 21: Classmethod-developers.io-2016-d4-45min-aws-security

AWSアカウント• 単⼀のAWSアカウント • セキュリティ⼀元管理

• 複数のAWSアカウント • 独⽴した複数の部⾨ • 複数のプロジェクト • 本番⽤、開発⽤、テスト⽤など • 利⽤費⽤を明確に把握したい(→私が追記)

21

Page 22: Classmethod-developers.io-2016-d4-45min-aws-security

IAMユーザ・グループ・アカウント

• IAM(AWS Identity and Access Management) は、AWSユーザーに対して AWSのリソースへのアクセスできる範囲やアクセス⽅法を安全に制御するためのサービス

22

Page 23: Classmethod-developers.io-2016-d4-45min-aws-security

IAMのベストプラクティス

1.AWSアカウント(ルート)のアクセスキーはロックする 2.個々のIAMユーザを作成する 3.IAMユーザへのアクセス権を割り当てるため、グループを使う 4.最⼩限の特権を認める 5.ユーザのための強度の⾼いパスワードを設定する 6.特権ユーザに対しては、MFAを有効にする 7.EC2で作動するアプリケーションについてロールを使⽤する 8.認証情報を共有するのではなく、ロールを使って委任する 9.認証情報を定期的にローテーションする 10.不要の認証の削除 11.追加セキュリティに対するポリシー条件を使⽤する 12.AWSアカウントのアクティビティの履歴の保持

23

OSのアカウント管理と考え⽅が近い。⼤きく異なるポイント3つをご紹介

http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html

Page 24: Classmethod-developers.io-2016-d4-45min-aws-security

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

• パスワード + デバイス • パスワード + 指紋 など • know + have/are の組み • 2要素認証が⼀般的 • Google 認証システム • Authy(マルチデバイスでおすすめ)

24

Page 25: Classmethod-developers.io-2016-d4-45min-aws-security

Amazon EC2 の IAM ロール

• アプリケーションからAWSリソースにアクセスするにはAWS認証情報を持ってAPIリクエストする必要がある

• サンプル:AWS SDK for Ruby

25

AWS.config({:access_key_id => 'ACCESS_KEY_ID',:secret_access_key => 'SECRET_ACCESS_KEY',:region => 'us-west-2',})

プログラム

IAMユーザで利⽤ 認証情報をEC2内に持たせる。 保管やローテーションの検討が必要

プログラム

IAM ロールで利⽤IAMロールによる権限はテンポラリ。ローテーションも⾃動

Page 26: Classmethod-developers.io-2016-d4-45min-aws-security

Amazon EC2 の IAM ロール

• IAM roleをEC2に割り当てることでローカルにセキュリティ情報を持たなくて良い

26

プログラム

IAM ロールで利⽤IAMロールによる権限はテンポラリ。ローテーションも⾃動

Page 27: Classmethod-developers.io-2016-d4-45min-aws-security

Amazon EC2 の IAM ロール

• 注意 • IAM roleはEC2 Launch時にしか割り当

てられない。 • Launchしたあとには割り当て不可 • 割り当てさえしておけば、後からroleが

持つ権限の内容を変更可能。

27

Page 28: Classmethod-developers.io-2016-d4-45min-aws-security

AWSアカウントのアクティビティの履歴の保持

• AWS CloudTrailはAWSアカウントで利⽤されたAPI Callを記録し、S3上にログを保存するサービス

• AWSのリソースにどのような操作が加えられたか記録に残す機能のため、必ず有効化

• 特別な問題がない限り全リージョンで有効化

28

Page 29: Classmethod-developers.io-2016-d4-45min-aws-security

Switch Role

29

Page 30: Classmethod-developers.io-2016-d4-45min-aws-security

Amazon EC2インスタンスへのOSレベルのアクセスの管理

• EC2キーペア • ログイン時の認証

30

Page 31: Classmethod-developers.io-2016-d4-45min-aws-security

データの保護

• リソース単位でのユーザ制限 • 各サービスのデータ保護⽅法

31

Page 32: Classmethod-developers.io-2016-d4-45min-aws-security

OSとアプリケーションのセキュリティによる保護

• AMI公開時の注意点 • マルウェアからの防衛 • パッチ管理 • 侵害と迷惑⾏為の軽減

32

Page 33: Classmethod-developers.io-2016-d4-45min-aws-security

インフラストラクチャの保護

• VPCの利⽤ • セキュリティゾーンニングとネットワーク

セグメントテーションの使⽤ • ネットワークセキュリティの強化 • テストセキュリティ • DoS、DDoS攻撃に対する緩和及び⽅法

33

Page 34: Classmethod-developers.io-2016-d4-45min-aws-security

セキュリティモニタリング、アラート、監査証跡、およびインシデント対応の管理

• 変更管理ログの使⽤ • 重要なトランザクションのログの管理 • 障害のログ記録

34

Page 35: Classmethod-developers.io-2016-d4-45min-aws-security

35

Page 36: Classmethod-developers.io-2016-d4-45min-aws-security

セキュリティプロセスの概要

36

Page 37: Classmethod-developers.io-2016-d4-45min-aws-security

⽤途

• AWSが、セキュリティ(データの機密性、完全性、可⽤性)をどのように⽀援してくれるのか?を確認できます。

37

Page 38: Classmethod-developers.io-2016-d4-45min-aws-security

概要

• AWSの各サービスのセキュリティ機能が説明されている。

• 利⽤中、これから利⽤予定のサービスについてセキュリティ機能を把握したい場合に有効

38

Page 39: Classmethod-developers.io-2016-d4-45min-aws-security

概要

以下の3つに分けて説明 • AWS グローバルインフラストラクチャの

セキュリティ • AWSアカウントのセキュリティ機能 • AWSサービス固有のセキュリティ

39

Page 40: Classmethod-developers.io-2016-d4-45min-aws-security

例えば「物理的および環境のセキュリティ」

• Amazonのデータセンター • 場所の秘匿性 • 周囲の厳重なセキュリティ(ビデオ監視

カメラ、侵⼊検出システム) • 物理アクセスの厳密なコントロール • 2要素認証を2回以上で管理者がアクセス

40

Page 41: Classmethod-developers.io-2016-d4-45min-aws-security

例えば「Amazon RDSのセキュリティ」

• アクセスコントロール • ネットワーク隔離 • 暗号化 • ⾃動バックアップとスナップショット • レプリケーション • ⾃動パッチ適⽤ • イベント通知

41

Page 42: Classmethod-developers.io-2016-d4-45min-aws-security

和訳との差異 セキュリティプロセス(2016年2⽉14⽇現在)

• Changes since last version (Nov 2014): • Updated compliance programs • Updated shared security responsibility model • Updated AWS Account security features • Reorganized services into categories • Updated several services with new features: CloudWatch, CloudTrail,

CloudFront, EBS, ElastiCache, Redshift,Route 53, S3, Trusted Advisor, and WorkSpaces

• Added Cognito Security • Added Mobile Analytics Security • Added WorkDocs Security

42

Page 43: Classmethod-developers.io-2016-d4-45min-aws-security

43

Page 44: Classmethod-developers.io-2016-d4-45min-aws-security

リスクとコンプライアンス

44

Page 45: Classmethod-developers.io-2016-d4-45min-aws-security

概要

• リスク管理と規格の適合について記載

45https://aws.amazon.com/jp/compliance/pci-data-privacy-protection-hipaa-soc-fedramp-faqs/

Page 46: Classmethod-developers.io-2016-d4-45min-aws-security

コンプライアンス

46

AWS Global Infrastructure

Edge LocationRegion

Availability Zone

AWS Foundation Services

Compute Storage Database Networking

Network Security

Customer Applications & Content

https://d0.awsstatic.com/whitepapers/Security/Intro_to_AWS_Security.pdf

Inventory & Config

Access Control

Data Security

46

Page 47: Classmethod-developers.io-2016-d4-45min-aws-security

⽤途

ある⽇突然現れる調査票 連携会社や、お客様から調査票が送付されて「コレってどうなっている?」って聞かれたことがある⽅?

47

Page 48: Classmethod-developers.io-2016-d4-45min-aws-security

調査例

48

質問 対応状況

返品された、損傷を受けた、または陳腐化した在庫については、必ず消去、消磁、シュレッド、または物理的破壊を施してから廃棄し(例: DVD ならシュレッド、ハードドライブなら破壊)、資産管理台帳に除却した事実を反映していますか?

Page 49: Classmethod-developers.io-2016-d4-45min-aws-security

AWSの対応が書いてある

49

AWS_Risk_Compliance_Whitepaper_Aug_2015.pdf 101ページ

Page 50: Classmethod-developers.io-2016-d4-45min-aws-security

和訳との差異 リスクとコンプライアンス (2016年2⽉14⽇現在)

• January 2016 • Added GxP Compliance Program • Twelfth region added (Asia Pacific - Seoul)

• December 2015 • Updates to certifications and third-party attestations summaries • Added ISO 27017 certification • Added ISO 27018 certification • Eleventh region added (China - Beijing)

• November 2015 • Update to CSA v3.0.1

50

Page 51: Classmethod-developers.io-2016-d4-45min-aws-security

51

Page 52: Classmethod-developers.io-2016-d4-45min-aws-security

AWSの使⽤に際しての セキュリティ監査チェックリスト

52

Page 53: Classmethod-developers.io-2016-d4-45min-aws-security

チェックドキュメント

53

Page 54: Classmethod-developers.io-2016-d4-45min-aws-security

⽤途

• セキュリティベストプラクティスで対応した内容を、リストを照らし合わせてチェックできる。

• 内部セキュリティ、リスク、およびコンプライアンスを担当するチーム、あるいはAWS の使⽤にあたって各種の評価をするお客様の外部監査担当者が使うドキュメント

54

Page 55: Classmethod-developers.io-2016-d4-45min-aws-security

概要

• 監査⼈の調査するポイントが書いてある。

• システム構築者(監査受ける側)は対応すべき内容を把握できる。

55

Page 56: Classmethod-developers.io-2016-d4-45min-aws-security

56

Page 57: Classmethod-developers.io-2016-d4-45min-aws-security

和訳との差異 AWSの使⽤に際してのセキュリティ監査チェックリスト(2016年2⽉14⽇現在)

• バージョンヒストリーが無い。差異がわからず。

• 時間が⾜りず、未確認です。 • バージョンヒストリーをつけて欲し

い・・・

57

Page 58: Classmethod-developers.io-2016-d4-45min-aws-security

58

Page 59: Classmethod-developers.io-2016-d4-45min-aws-security

共有責任の統制モデル

59

Page 60: Classmethod-developers.io-2016-d4-45min-aws-security

60

AWS Global Infrastructure

Edge LocationRegion

Availability Zone

AWS Foundation Services

Compute Storage Database Networking

Network Security

Customer Applications & Content

https://d0.awsstatic.com/whitepapers/Security/Intro_to_AWS_Security.pdf

Inventory & Config

Access Control

Data Security

AWSの部分は準拠済み

Page 61: Classmethod-developers.io-2016-d4-45min-aws-security

61

AWS Global Infrastructure

Edge LocationRegion

Availability Zone

AWS Foundation Services

Compute Storage Database Networking

Network Security

Customer Applications & Content

https://d0.awsstatic.com/whitepapers/Security/Intro_to_AWS_Security.pdf

Inventory & Config

Access Control

Data Security

Network Security

Customer Applications & Content

Inventory & Config

Access Control

Data Security

Page 62: Classmethod-developers.io-2016-d4-45min-aws-security

62

AWS Global Infrastructure

Edge LocationRegion

Availability Zone

AWS Foundation Services

Compute Storage Database Networking

Network Security

Customer Applications & Content

https://d0.awsstatic.com/whitepapers/Security/Intro_to_AWS_Security.pdf

Inventory & Config

Access Control

Data Security

Network Security

Customer Applications & Content

Inventory & Config

Access Control

Data Security

ユーザはAWSがカバーしていない部分を準拠させれば良い

Page 63: Classmethod-developers.io-2016-d4-45min-aws-security

• 継承統制 • ハイブリッド統制 • 共有統制 • ユーザ固有の統制

63

Page 64: Classmethod-developers.io-2016-d4-45min-aws-security

継承統制

• AWSから完全に継承される • AWSが準拠していればユーザも準拠した

ものとみなされる • 例えば、物理的や環境⾯など

64

Page 65: Classmethod-developers.io-2016-d4-45min-aws-security

ハイブリッド統制

• AWSが部分的な実装を提供 • AWSが⼀部に責任を持ち、残りはユーザ

が責任を持つ必要がある • 例えば、アクセスコントロールなど

65

Page 66: Classmethod-developers.io-2016-d4-45min-aws-security

共有統制

• AWSが特定のレイヤの実装を提供 • あるレイヤはAWSが、あるレイヤはユー

ザが責任を持つ • 例えば、パッチの適⽤、構成管理など

66

Page 67: Classmethod-developers.io-2016-d4-45min-aws-security

67

AWS Global Infrastructure

Edge LocationRegion

Availability Zone

AWS Foundation Services

Compute Storage Database Networking

Network Security

Customer Applications & Content

https://d0.awsstatic.com/whitepapers/Security/Intro_to_AWS_Security.pdf

Inventory & Config

Access Control

Data Security

Network Security

Customer Applications & Content

Inventory & Config

Access Control

Data Security

Page 68: Classmethod-developers.io-2016-d4-45min-aws-security

68

AWS Global Infrastructure

Edge LocationRegion

Availability Zone

AWS Foundation Services

Compute Storage Database Networking

Network Security

Customer Applications & Content

https://d0.awsstatic.com/whitepapers/Security/Intro_to_AWS_Security.pdf

Inventory & Config

Access Control

Data Security

Network Security

Customer Applications & Content

Inventory & Config

Access Control

Data Security

ユーザはAWSがカバーしていない部分を準拠させれば良い

Page 69: Classmethod-developers.io-2016-d4-45min-aws-security

69

Page 70: Classmethod-developers.io-2016-d4-45min-aws-security

70

Page 71: Classmethod-developers.io-2016-d4-45min-aws-security

71

Page 72: Classmethod-developers.io-2016-d4-45min-aws-security

おすすめ資料

• まず概要を知りたい⼈は、こちらもオススメです。

• AWS 初⼼者向けWebinar 「利⽤者が実施するAWS上でのセキュリティ対策」

http://aws.typepad.com/sajp/2015/12/aws-security-for-users-material.html

72

Page 73: Classmethod-developers.io-2016-d4-45min-aws-security

まとめ

• 必ず出てくる「共有責任モデル」 • 各和訳のドキュメントで差分知った上で確

認すれば良い • 共有責任の統制モデル

73

Page 74: Classmethod-developers.io-2016-d4-45min-aws-security

ご静聴ありがとうございました

74

Page 75: Classmethod-developers.io-2016-d4-45min-aws-security

QA

75