106
利用者が実施する AWS上でのセキュリティ対策 AWS初心者向けWebinarシリーズ アマゾン ウェブ サービスジャパン株式会社 技術本部 エンタープライズソリューション部 部長/シニアソリューションアーキテクト 瀧澤与一 2015.12.17 1

[AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Embed Size (px)

Citation preview

Page 1: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

利用者が実施するAWS上でのセキュリティ対策

AWS初心者向けWebinarシリーズ

アマゾン ウェブ サービスジャパン株式会社

技術本部 エンタープライズソリューション部

部長/シニアソリューションアーキテクト 瀧澤与一

2015.12.17

1

Page 2: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS 初心者向け Webinar のご紹介

• AWS についてこれから学ぶ方むけのソリューションカットの Webinar です

• 過去の Webinar 資料– AWS クラウドサービス活用資料集ページにて公開

http://aws.amazon.com/jp/aws-jp-introduction/

• イベントの告知– 国内のイベント・セミナースケジュールページにて告知

http://aws.amazon.com/jp/about-aws/events/(オンラインセミナー枠)

Page 3: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Introduction

• 今回のAWS初心者向けWebinarでは、利用者が実施すべきAWS上でのセキュリティ対策をご紹介します。

• 特にAWSが提供する便利なセキュリティ機能の活用の仕方をご紹介しますので、是非ご参考にして頂ければと思います。

3

Page 4: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Agenda

• セキュリティに関する不安

• AWSに関する簡単なおさらい

• ネットワークセキュリティ

• 論理アクセス管理

• データの保護

• 監視・ログ

• まとめ・最近のアップデート

4

Page 5: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Agenda

• セキュリティに関する不安

• AWSに関する簡単なおさらい

• ネットワークセキュリティ

• 論理アクセス管理

• データの保護

• 監視・ログ

• まとめ・最近のアップデート

5

Page 6: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティは大丈夫?

本当に大丈夫?やっぱり不安…

6

Page 7: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Webサイト/アプリケーション

これまでと同様の

セキュリティを

お客様、SI様で実現

インフラ

高レベルの

セキュリティをAWSが提供<

第三者認証

DC、電源、専用線、ネットワーク冗長化

Your Apps

セキュリティは大丈夫?(セキュリティの考え方)=シェアード・レスポンシビリティ・モデル(責任共有モデル)

7

Page 8: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティは大丈夫?(グローバルインフラ)

US West(Northern California)

US East(Northern Virginia)

EU(Ireland)

Asia Pacific

(Singapore)

Asia Pacific(Tokyo)

GovCloud(US ITAR Region)

US West(Oregon)

South America(Sao Paulo)

AWS Regions

AWS Edge Locations

EU(Frankfurt)

※2015/12時点詳細http://aws.amazon.com/jp/about-aws/global-infrastructure/

Asia Pacific(Sydney)

China(Beijing)

8

Page 9: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティは大丈夫? (物理セキュリティ)

• Amazonは数年間にわたり、大規模なデータセンターを構築

• 重要な特性:

– 場所の秘匿性

– 周囲の厳重なセキュリティ

– 物理アクセスの厳密なコントロール

– 2要素認証を2回以上で管理者がアクセス

• 完全管理された、必要性に基づくアクセス

• 全てのアクセスは記録され、監査対象となる

• 職務の分離

AWSコンプライアンス http://aws.amazon.com/jp/compliance/AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701

9

Page 10: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティは大丈夫? (ネットワーク)

• Distributed Denial of Service (DDoS)対策: • 効果的かつ標準的な緩和対策を実施

• 中間者攻撃対策:• 全エンドポイントはSSLによって保護• 起動時に新しいEC2ホストキーを生成

• IPなりすまし対策:• ホストOSレベルで全て遮断

• 許可されていないポートスキャニング対策:• AWSサービス利用規約違反に該当• 検出され、停止され、ブロックされる• インバウンドのポートはデフォルトでブロックされているた

め、事実上無効

• パケットの盗聴対策:• プロミスキャスモードは不許可• ハイパーバイザ―レベルで防御

AWSコンプライアンス http://aws.amazon.com/jp/compliance/AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701

10

Page 11: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティは大丈夫?(論理的セキュリティ)• ハイパーバイザー(ホストOS)

– AWS管理者の拠点ホストからの個別のログイン

– 全てのアクセスはロギングされ、監査されます

• ゲストOS(EC2インスタンス)

– お客様による完全なコントロール

– お客様が生成したいキーペアを使用

• Firewall機能の標準提供

– AWS標準機能としてInbound/Outboundに対するFirewall

– AWSのお客様の権限、責任で設定

AWSコンプライアンス http://aws.amazon.com/jp/compliance/AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701

11

Page 12: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティは大丈夫?(データセキュリティ)• データを配置する物理的なリージョンはお客様が指定

• AWSは、法令遵守等やむをえない場合を除き、お客様のデータを指定されたリージョンからお客様への通告なしに移動しない

• お客様のデータが 権限のない人々に流出しないようにするストレージ 廃棄プロセスを保持

• DoD 5220.22-M(米国国防総省方式)– 3回の書き込みでの消去を実施– 固定値→補数→乱数

• NIST 800-88(メディアサニタイズのための ガイドライン)– 情報処分に対する体制、運営やライフサイクルに関するガイドライン– 情報処分に対しする組織的に取り組み

• 上記の手順を用い ハードウェアデバイスが廃棄できない場合、デバイスは業界標準の慣行に従って、消磁するか、物理的に破壊する

AWSコンプライアンス http://aws.amazon.com/jp/compliance/AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701

12

Page 13: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティは大丈夫?(第三者認証)

多数の第三者認証の取得や、保証プログラムへの準拠をしています。

AWSコンプライアンス http://aws.amazon.com/jp/compliance/AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701

13

Page 14: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSセキュリティセンターとAWSコンプライアンスaws.amazon.com/jp/securityaws.amazon.com/jp/compliance

• セキュリティやコンプライアンス関する多くの質問に対する回答• セキュリティWhitepaper• リスクとコンプライアンス Whitepaper• セキュリティプロセス概要 Whitepaper• “Security at Scale” whitepaper シリーズ

• Security bulletins

• 侵入テスト申請フォーム

• Securityベストプラクティス

• 詳しい情報のお問い合わせ先

14

Page 15: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Webサイト/アプリケーション

これまでと同様の

セキュリティを

お客様、SI様で実現

インフラ

高レベルの

セキュリティをAWSが提供<

第三者認証

DC、電源、専用線、ネットワーク冗長化

Your Apps

では、どのようにAWSの機能を使用すればいいの?

15

Page 16: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Webサイト/アプリケーション

これまでと同様の

セキュリティを

お客様、SI様で実現

インフラ

高レベルの

セキュリティをAWSが提供<

第三者認証

DC、電源、専用線、ネットワーク冗長化

Your Apps

では、どのようにAWSの機能を使用すればいいの?

16

AWSが提供するセキュリティ関連機能の使い方にフォーカス

Page 17: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS上に構築した典型的な3層Webシステム

Web Web Web Web

Private

Segm

ent

(Web)

Public

Segm

ent

Log

Private

Segm

ent

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化

権限管理

Availability Zone Availability Zone

17

Page 18: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

本セッションで取り扱うセキュリティ対策エリア

ドメイン 内容

1 ネットワークセキュリティネットワーク設計(セグメンテーション等)Firewall等のACL実装

2 論理アクセス管理IAMユーザーおよびIAMロールによる権限付与パスワードポリシー

3 データの保護 データの暗号化

4 ログ・監視ログの取得・管理システム監視

18

注意)AWSで実装が可能なセキュリティ対策の範囲は上記に限りません。AWSにおけるセキュリティの全容に関しては資料の最後にまとめた参考資料をご参照ください。

Page 19: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

本セッションで取り扱うセキュリティ対策エリア

Web Web Web Web

Private

Segm

ent

(Web)

Public

Segm

ent

Log

Private

Segm

ent

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

操作ログ

リソース監視

通知

データ暗号化

権限管理

【サブネット】外部からアクセスできるサブネットと、外部からはアクセスできないサブネットの作成

【ネットワークアクセス制御】SecurityGroup及びNetwork ACLを使ってアクセス制御を実施

【保管するデータの暗号化】S3やEBS、RDSといったストレージサービス上のデータを暗号化

【アクセス管理】AWSアカウント・IAMユーザーの管理。AWSリソースへのアクセス制御

【AWS操作ログ】AWS操作ログの取得(管理コンソールやCLI含む)

【AWSサービス監視】各種AWSサービス(ELB、RDS、EC2等)のリソース監視

Availability Zone Availability Zone

19

Page 20: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

アジェンダ

• セキュリティに関する不安

• AWSに関する簡単なおさらい

• ネットワークセキュリティ

• 論理アクセス管理

• データの保護

• 監視・ログ

• まとめ・最近のアップデート

20

Page 21: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSアカウント登録について

• Webフォーム上で数分程度の登録作業をするだけで、すぐさまAWSを利用可能

• AWSアカウント作成の流れhttp://aws.amazon.com/jp/register-flow/

• AWSアカウント作成方法についての動画(日本語字幕付き)http://aws.amazon.com/jp/getting-started/

21

Page 22: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSマネージメントコンソールにログイン

• アカウント登録後にAWSのTopページへアクセスhttp://aws.amazon.com/jp/

• 登録したメールアドレス、パスワードでログインする

22

Page 23: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

ログインが成功すると以下のサービスの一覧画面が表示される

今回主に紹介するサービス

23

Page 24: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Amazon VPC(Virtual Private Cloud)

• クラウド内にPrivateネットワークを構築可能

• 企業イントラの延長/1拠点としてAWSを利用

• リージョン内でAZをまたがって構築可能

リージョン

VPC

イントラPrivate

SubnetPublic

Subnetインターネット

分離したNW領域を作成

ゲートウェイ

VPN接続専用線

24

Page 25: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Amazon EC2(Elastic Compute Cloud)

1任意のゾーンに分散配置可能

リージョンアベイラビリティ

ゾーン A

EC2

アベイラビリティゾーン B

EC2

EC2

• 数分で起動可能な仮想サーバ

• 1時間ごとの従量課金で利用可能

• スケールアップ/ダウン、アウト/インが即座に可能

• Windows, Linuxなどx86-64アーキテクチャのOS利用可能

– Windowsライセンスも従量課金

• OS以上はお客様の自由

– お手持ちのソフトをそのまま利用

25

Page 26: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Amazon EBS(Elastic Block Store)ボリューム

EC2インスタンスに仮想外付けされたブロックレベルのストレージ

サイズは1GB単位で~16TBまで

サイズ/期間/IOで課金される

複数EBSを1 EC2インスタンスにアタッチ可能

1つのEBSを同時に複数のEC2インスタンスにattach不可

データは永続的に保存される

アベイラビリティゾーン(AZ) に存在

他のEC2インスタンスに付け替え可能

暗号化オプション

Region

Availability Zone - a

EBS EBS EBS

Availability Zone - b

EBS

EBS

Amazon Simple Storage Service (S3)

EBSSnapshot

EC2 EC2

26

Page 27: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Amazon S3(Simple Storage Service)

低コスト アップロード無料

格納料金 1GB/月4円 (120円換算、2015/12時点)

耐久性 99.999999999%の耐久性

3か所以上への自動複製保存

インテグリティチェックおよび自動復旧

データを自動複製

リージョン

EC2

Availability Zone

セキュリティ

データ転送はすべてSSL通信

同一リージョン内のみでの保管

サーバサイド暗号化オプション(AES256)

柔軟性

格納容量無制限

多くの3rdベンダー製品がサポート

27

Page 28: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Amazon Elastic Load Balancing (ELB)

~ AWSクラウド上のロードバランシングサービス ~

ELBで実現できるシステム

スケーラブル : 複数のEC2インスタンスに負荷分散

高い可用性 : 複数のアベイラビリティゾーンにある複数のEC2インスタンスの中から正常なEC2インスタンスにのみ振り分け

ELB自身の特徴

スケーラブル : ELB自体も負荷に応じてキャパシティを自動増減

安価な従量課金 : 従量課金で利用可能

運用管理が楽 : マネージドサービスなので管理が不要

豊富な連携機能 : Auto Scaling, Route 53, Cloud Formation… などと連携

EC2

EC2

28

Page 29: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

• マネージドRDBMSサービス

• バックアップやフェイルオーバーに対応したDBを数クリックで利用可能

• MySQL, MariaDB, Oracle, SQL Server, Aurora

Amazon RDS(Relational Database Service)

29

Page 30: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS IAM (Identity and Access Management)

• AWS操作をよりセキュアに行うための認証・認可の仕組み

• AWS利用者の認証と、アクセスポリシーを管理 AWS操作のためのグループ・ユーザー・ロールの作成が可能

グループ、ユーザーごとに、実行出来る操作を規定できる

ユーザーごとに認証情報の設定が可能

開発チーム 運用チーム

30

Page 31: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS Key Management Service

• 暗号鍵の作成、管理、運用サービス

– AWS管理コンソール、または API を使用した暗号化キーの一元管理

– S3, EBS, Redshift, RDS等のAWSサービスとの統合

– SDKとの連携でお客様の独自アプリケーションデータをも暗号化

– AWS CloudTrail と連動したログの生成による組み込み型監査

– 可用性、物理的セキュリティ、ハードウェアの管理をAWS が担当する完全マネージド型サービス

– 低コストで使用可能

– 暗号化キーを保存および使用するための安全なロケーションを提供

31

Page 32: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Amazon CloudWatch

CloudWatch

状況をレポート

AWSの各種リソースをモニタリングするためのWebサービス

32

Page 33: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS CloudTrail

ユーザによるAPIの発行

各リージョンのAWSリソースの

呼び出し

CloudTrailがAPIコールを

ロギング

ユーザの操作を管理

33

Page 34: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

アジェンダ

• セキュリティに関する不安

• AWSに関する簡単なおさらい

• ネットワークセキュリティ

• 論理アクセス管理

• データの保護

• 監視・ログ

• まとめ・最近のアップデート

34

Page 35: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

VPCで作成されるネットワーク例

Availability Zone

Availability Zone

PublicSubnet

PrivateSubnet

Internet gateway

PublicSubnet

PrivateSubnet

複数のAZをまたがるネットワーク構成にすることで高可用性を維持できるようにする。

InternetにアクセスできるPublicなSubnetや、internetからはアクセスできないPrivateのSubnetを自由に構成可能

Internetに出るためのGatewayや、専用線・もしくはVPN接続するためのGatewayを構成可能

VPCで利用するアドレスレンジ(/16~/28)を自由に指定

初心者向けWebinar AWS上でのネットワーク構築http://www.slideshare.net/AmazonWebServicesJapan/webinar-aws-43351630

35

Page 36: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティグループによるアクセスコントロール

各リソース間のアクセス制限にはセキュリティグループを利用しトラフィックを制限します。

• 個別の仮想サーバへのトラフィックを制限します。

• インバウンドの制御、アウトバウンドの制御が可能です。

• デフォルトは全拒否。

• 必要な受信アクセスに対してアクセスルールを定義します。

– プロトコル( TCP/UDP)

– 宛先ポート

– アクセス元IP / Security Group

• ルールをひとまとめにしたものをセキュリティグループと

呼びます。

• 後から仮想サーバに異なるセキュリティグループに変更したり、複数のセキュリティグループを付与可能。即時反映されます。

• システムの通信要件を確認し、全公開(0.0.0.0/32)は極力避けるようにします。

VPC のセキュリティグループhttp://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html36

Page 37: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

ネットワークACLによるアクセスコントロールサブネット単位でベースラインとなるポリシーを設定する場合にはネットワークACLを適用します。

(データベース群を設置するサブネット間の通信などでは、ACLで通信を相互に許可します)

• サブネットに一つだけ適用するACL

• インバウンドの制御、アウトバウンドの制御が可能です。

• ベースラインのポリシーを設定するのに適しています

• 例)このサブネットからはTFTPやSMTPのトラフィックは出ていかない

• サブネット間の通信のコントロールに適しています

• 例)DMZとなるサブネットから直接DBが置かれているサブネットには通信できない

• シンプルなルール作りのためにはVPCから出ていく方向のポリシーに使用を検討します。VPC Subnet

EC2

ポート25(SMTP)

ネットワークACLhttp://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_ACLs.html37

Page 38: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティグループとNACL

セキュリティグループは、個別に許可するポート、Source、宛先を設定します。拒否ルールをセキュリティグループで設定することはできないためその場合NACLの使用を検討します。

VPC のセキュリティhttp://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_Security.html38

ネットワークACL セキュリティグループ

各サブネットに設定 各インスタンス(ENI)に設定

ステートレス ステートフル

AllowとDenyが設定可能(BlackListの作成が可能) Allowのみ設定(WhiteListの作成が可能)デフォルトDeny

ルール順番通りに処理される 全てのルールが検証される

• ベースラインのポリシーを設定するのに適している例)このサブネットからはTFTPやSMTPのトラフィックは

出ていかない• サブネット間の通信のコントロールに適している

例)DMZとなるサブネットから直接DBが置かれているサブネットには通信できない• ネットワーク担当とサーバー担当の権限分掌にも利用可能

• サーバーの機能に応じたルールの作成例)SMTPサーバー向けのSG

• 用途に応じたルールの作成例)管理用トラフィックのためのSG

ログ機能はない ログ機能はない

Page 39: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

2つ以上のAZを持つAWSのリージョン

Availability Zone Availability Zone

39

Page 40: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

2つのAZを跨いだVPCの作成

Availability Zone Availability Zone

VPC A - 10.0.0.0/16

VPCのアドレスレンジの設定が可能

• 自身のプライベートな、隔離さ

れたAWS上のネットワークの

作成

• 全てのVPCはプライベートアド

レススペースを所有

• 例) 10.0.0.0/16

IPアドレッシングの戦略

• VPCのアドレス空間は設定後

は変更不可

• 既存環境のアドレス空間と重

ならないような考慮が必要

• アドレス空間を無駄にしない

ように、しかし将来的な拡張

も考慮に入れる必要があり

40

Page 41: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

複数のサブネットでVPC内をセグメント化

Availability Zone Availability Zone

VPC A - 10.0.0.0/16

10.0.1.0/24 10.0.2.0/24

10.0.3.0/24 10.0.4.0/24

10.0.5.0/24 10.0.6.0/24

作成したVPCの内部に自由にサブネットを作成可能

• アドレスレンジは設定後は変更

不可能

• VPCと同じように、将来の拡張

も考慮して設定する必要あり

41

Page 42: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

EC2やAWSサービスの配置

Web Web Web Web

Log

NAT NAT

Availability Zone Availability Zone

VPC A - 10.0.0.0/16

10.0.1.0/24 10.0.2.0/24

10.0.3.0/24 10.0.4.0/24

10.0.5.0/24 10.0.6.0/24

ELB

• ロードバランサー

• Internetからのリクエストを

Webサーバーに分散

NATサーバー

• WebサーバーがInternetに出

る際に経由するサーバー

Webサーバー

• ELB配下のWebサーバー

• アクセスリクエストはELBを経

由するため直接Internetからア

クセスできる必要はない

RDS

• DBサービス

• 直接インターネットからはアク

セスされない

42

Page 43: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

ルーティングによるセグメント化

Web Web Web Web

Log

NAT NAT

Availability Zone Availability Zone

VPC A - 10.0.0.0/16

Destination Target

10.0.0.0/16 local

0.0.0.0 Internet Gateway

Route Table AInternet Gateway

Destination Target

10.0.0.0/16 local

Route Table C

Destination Target

10.0.0.0/16 local

0.0.0.0 i-XXXXXX(NAT)

Route Table B

ルーティングの設定

• トラフィックをコントロール

するためのルーティングテー

ブルをサブネットに追加

• Internet Gatewayにルーティ

ングされるものはPublic

Subnetに

• デフォルトゲートウェイに

NATを指定することで、

Private SubnetもNAT経由で

Internetにアクセス可能

• インターネットゲートウェイ

によるルーティングには

Elastic IPかPublic IPがインス

タンスにつけられている必要

がある

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

43

Page 44: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

セキュリティグループでサーバーを保護

Web Web Web Web

Private

Segm

ent

(Web)

Public

Segm

ent

Log

Private

Segm

ent

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

Availability Zone Availability Zone

WebサーバーはELBからのport80/443のみ接続可能

NATサーバーはWebサーバーからのみ利用可能

DBにはWebサーバーからのみ接続可能

VPC A - 10.0.0.0/16 Internet Gateway

セキュリティグループ

• インスタントレベルでの操作

• ALLOWルールのみのサポート

• ステートフル

• 各セキュリティグループで最

大50ルールまで

• 必要なトラフィックのみ許可

し、極力どこからでもアクセ

スできるというルールは使わ

ない

44

Page 45: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

ネットワークACLによるVPC内の制御

Web Web Web Web

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

Availability Zone Availability Zone

NACLはオプション的な利用

• サブネットレベルでの適用

• ALLOW および DENY

• ステートレス

• サブネット内の全てのインス

タンスに適用

• セカンドラインでの防御とし

て利用

Publicサブネットからの直接的なDBサブネットへのアクセスの拒否

VPC A - 10.0.0.0/16 Internet Gateway

45

Page 46: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

ネットワークのセグメンテーションとアクセス制御の例

Web Web Web Web

Private

Segm

ent

(Web)

Public

Segm

ent

Log

Private

Segm

ent

(DB)

Public Subnet (DMZ) Public Subnet (DMZ)

Private Subnet Private Subnet

Private Subnet Private Subnet

NAT NAT

Availability Zone Availability Zone

46

Page 47: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

ネットワークセキュリティのまとめ

基本は自身のリソースの外部への不必要な露出を避けるネットワーク構成

サブネットとルーティングによるネットワークのセグメンテーションを行う

PublicとPrivate Subnetの特徴と使い分け

Security GroupとNetwork ACLの特徴と使い分け

Security GroupやNetwork ACLを用いる際は不必要に全開放はせず、Source/Destinationが絞れるか確認する

47

Page 48: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

アジェンダ

• セキュリティに関する不安

• AWSに関する簡単なおさらい

• ネットワークセキュリティ

• 論理アクセス管理

• データの保護

• 監視・ログ

• まとめ・最近のアップデート

48

Page 49: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

アカウントごとのユーザとグループの作成

セキュリティクレデンシャル(認証情報)– アクセスキー– ログイン/パスワード– 多要素認証デバイス(オプション)

AWS APIを使ったポリシーコントロールアクセス

AWSマネージメントコンソールのユーザログオンサポート

OSやアプリケーションレベルのログインではない。

IAMの機能

AWS account owner (master)

Network management

Security management

Server management

Storage management

AWS Black Belt Techシリーズ AWS IAMhttp://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-aws-iam49

Page 50: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

IAM動作イメージAPIやマネジメントコンソールからのアクセスに対して、権限をチェック

全操作可能

S3はすべて操作可能

S3参照だけ

50

Page 51: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

IAMでやっていただきたいこと

AWSルートアカウントは極力使用しない

AWSルートアカウントや特権を持つIAMユーザーアカウントにはMFAを利用する

利用者に対して個別のIAMユーザーを作成し、IAMグループで管理

強度の高いパスワードポリシーを設定する

認証情報は定期的に更新する

EC2インスタンスにはIAM Roleを利用する

IAMのベストプラクティスhttp://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/IAMBestPractices.html

51

Page 52: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSルートアカウントは極力利用しない AWSルートアカウントはIAMで設定するアクセ

スポリシーが適用されない強力なアカウント

十分に強度の強いパスワードを設定した上、通常は極力利用しないような運用を

Security CredentialのページからAccess Keyの削除(ただしAccess Keyを使用していないか確認を行ってください)

52

Page 53: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

MFAによる高い権限を持つアカウントの保護

ハードウェア ソフトウェア

製品 Gemalto Google AuthenticatorAuthenticatorAWS Virtual MFA

形式 トークン型/カード型 スマホアプリ

コスト 有料(2,000円程度) 無料

保管 持ち歩くことも可能だし、金庫などに厳重に保管も可能

常に持ち歩く

交換 紛失/故障時は、再登録交換時のために予備の準備が必要

紛失/機種変更時は、再登録

セキュリティ デバイス内に閉じているため一般的に高い

複数デバイス登録できたりもするため、登録時のセキュリティ担保が必要

多要素認証(MFA)によるなりすましの防止

AWSルートアカウントはMFAで保護し通常利用しない運用に

SMS対応もプレビュー中。

Multi-Factor Authenticationhttp://aws.amazon.com/jp/iam/details/mfa/53

Page 54: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

個別のIAMユーザーを作成し、IAMグループで管理

IAMユーザー IAMグループIAMポリシー

①直接IAMポリシーを付与するパターン

IAMユーザーIAMポリシー

②IAMグループにIAMポリシーを付与し、IAMユーザーがそれに属するパターン

IAMポリシー IAMグループ

③IAMポリシーを複数のオブジェクトに付与するパターン

• IAMユーザー:AWS操作用のユーザー

• IAMグループ:IAMユーザーをまとめるグループ

• IAMポリシー:AWSのサービスの操作に対する権限設定、IAMユーザーやIAMグループ等に

対して付与する

利用者に対しては個別のIAMユーザーを作成し、共有するような運用は極力避けてください。IAMユーザーはIAMグループに所属させ、権限の付与はIAMグループに対して行うと便利です。

54

Page 55: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

強度の強いパスワードポリシーの利用AWSの管理コンソールにログインするために必要となるIAMユーザーのパスワードには以下のようなパスワードポリシーを持たせることが可能です。

• Minimum password length(パスワードの最小文字数)

• Require at least one uppercase letter(大文字英字の要求)

• Require at least one lowercase letter (小文字英字の要求)

• Require at least one number(数字を含めることの要求)

• Require at least one non-alphanumeric character (特殊文字の要求)

• Allow users to change their own password

(ユーザー自身によるパスワード変更の許可)

• Enable password expiration (パスワードの有効期限の設定)

• Password expiration period (in days)

• Prevent password reuse (パスワードの再利用の制限)

• Number of passwords to remember

• Password expiration requires administrator reset

(パスワードが期限切れになった場合管理者によるリセットの有無)

本ポリシーはAWSルートアカウントには適用されないので注意が必要です。

55

Page 56: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

認証情報の定期的なローテーション IAMユーザーのパスワードやAccess

Key/Secret Access Keyは定期的にローテーションすることを推奨

認証情報の利用状況はIAMのCredential Report機能で確認可能 ユーザーの作成日時

最後にパスワードが使われた日時

最後にパスワードが変更された日時

MFAを利用しているか

Access KeyがActiveか

Access Keyのローテートした日時

Access Keyを最後に使用した日時

Access Keyを最後に利用したAWSサービス

証明書はActiveか

証明書のローテートした日時

56

Page 57: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

IAMユーザーのパスワードローテーション

IAMのパスワードポリシーでユーザーがパスワードを変更できるように設定

パスワードに有効期限を設けることで利用者が自分で定期的にパスワードをローテーションできるようにする

57

Page 58: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Access Keyのローテーション IAMユーザーのSecurity CredentialのAccess

KeysからManage Access Keysを選択

Create Access Keyで新しい認証情報の作成(2つまで)

新しい認証情報でテストを行い、古いAccess KeyはInactiveにする

万が一問題が起きた時は再びActivateすることが可能

認証情報の更新http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/Using_RotatingCredentials.html58

Page 59: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Access Keyに関する注意点

• Access Key/Secret Access Keyは以下の場所には決しておかないこと

– GitHub

– Pastebin

– カスタムAMIの中

– ドキュメント中 (プリントしないように)

– メールのような暗号化できない電子メディア

59

Page 60: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

EC2にはIAMロールの利用EC2のようなAWSサービスに対してAWS操作権限を付与するための仕組み。IAMユーザーの認証情報のようなものをOS/アプリケーション側に持たせる必要がなく、認証情報の漏えいリスクが低くなります。IAMロールによる認証情報はAWSが自動的

にローテーションされます。

プログラム

IAM Role

メタデータ

IAMロール利用

プログラム

メタデータ

IAMユーザー利用

認証情報をEC2内に持たせる。認証情報の保管・ローテーション等の検討

が必要

IAMロールによる権限はEC2上に恒久的に保管されるものではなくテンポラリ。ローテーション等は

自動で行われる。

IAMロール利用の利点• EC2上のアクセスキーの管理が容易• 自動的に認証情報のローテーション

が行われる• EC2上のアプリケーションに最低権

限を与えることに適している• AWS SDK及びAWS CLIのサポート• IAMユーザーの認証情報を外部に漏

えいしてしまうリスクを低減させる

60

Page 61: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

論理アクセス管理のまとめ

IAMの機能はAWSのサービスの中でも最重要の一つ

強力な権限を持つAWSルートアカウントは極力使用せず安全な運用を

IAMユーザーに与える権限は最小権限の原則を守り、パスワードやAccess Key等の認証情報は安全な管理を

EC2に権限を与える場合には極力IAMロールの利用の検討を

IAMのベストプラクティスは是非参照くださいhttp://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/IAMBestPractices.html

61

Page 62: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

アジェンダ

• セキュリティに関する不安

• AWSに関する簡単なおさらい

• ネットワークセキュリティ

• 論理アクセス管理

• データの保護

• 監視・ログ

• まとめ・最近のアップデート

62

Page 63: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

様々な暗号化手法

暗号化 暗号化 暗号化

鍵の管理鍵の管理

鍵の保管 鍵の保管

鍵の管理

鍵の保管

KMI KMI KMI

利用者が管理 AWSが管理

暗号化

鍵の保管

KMI

鍵の管理

暗号化手法は様々な観点からのリスク考慮により、必要な手法を選択する必要があります。AWSには下記の様な様々な暗号化のソリューションが用意されており利用者が選択することができます。

63

KMI:鍵管理インフラ

Page 64: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

暗号化手法の特徴と選択肢暗号化処理 鍵の保管 鍵の管理 管理負荷 AWSサービス ユースケース

利用者環境(CSE)

利用者 利用者 最高クライアント側で全て実施するため特に限定なし

• End to Endで暗号化と鍵の統制を完全に利用者の統制下に置く必要のあるデータの保護

利用者環境(CSE) AWS 利用者 高

CSE with KMSCSE with CloudHSM

• 鍵の保管についてはAWSが提供するサービスの利用を許容できる

• 暗号/復号化できる利用者を限定するなど,暗号鍵管理の統制は利用者側で実施

AWS環境(SSE) AWS 利用者 中

SSE with KMSSSE with CloudHSM

• AWSのDCからのストレージ盗難・紛失というリスクには対応可能

• 暗号鍵の生成やローテーションといった管理はユーザー側で統制を行いたい場合

AWS環境(SSE) AWS AWS 低

SSE(S3, EBS, RDS, Redshift,Glacier)

• AWSのDCからのストレージ盗難・紛失というリスクには対応可能

• AWSが鍵管理を実施することを許容できる

• 暗号に関する利用者の負荷は最も軽い

64

Page 65: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

暗号化手法の特徴と選択肢暗号化処理 鍵の保管 鍵の管理 管理負荷 AWSサービス ユースケース

利用者環境(CSE)

利用者 利用者 最高クライアント側で全て実施するため特に限定なし

• End to Endで暗号化と鍵の統制を完全に利用者の統制下に置く必要のあるデータの保護

利用者環境(CSE) AWS 利用者 高

CSE with KMSCSE with CloudHSM

• 鍵の保管についてはAWSが提供するサービスの利用を許容できる

• 暗号/復号化できる利用者を限定するなど,暗号鍵管理の統制は利用者側で実施

AWS環境(SSE) AWS 利用者 中

SSE with KMSSSE with CloudHSM

• AWSのDCからのストレージ盗難・紛失というリスクには対応可能

• 暗号鍵の生成やローテーションといった管理はユーザー側で統制を行いたい場合

AWS環境(SSE) AWS AWS 低

SSE(S3, EBS, RDS, Redshift,Glacier)

• AWSのDCからのストレージ盗難・紛失というリスクには対応可能

• AWSが鍵管理を実施することを許容できる

• 暗号に関する利用者の負荷は最も軽い

65

Page 66: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSのサーバーサイド暗号化(SSE)

AWS Storage Services

S3 Glacier Redshift RDS for Oracle

RDS for MS-SQL

HTTPS

アプリケーション アプリケーション

• S3, EBS and Redshift・・・サーバーサイド暗号化のオプションあり

• Glacier・・・全てのデータが標準で暗号化

• RDS for Oracle and Microsoft SQL・・・TDE(Transparent Data Encryption)機能で暗号化

EBS

66

Page 67: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSのSSE – Amazon S3

オブジェクトのアップロード時に指定

CLI/SDKでの利用も可能

67

Page 68: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

KMSを用いたサーバーサイド暗号化

AWSサービス

+

データキー 暗号化されたデータキー

暗号化されたデータ

アカウント下のマスターキー

AWS KMS

1. AWSサービスはデータを暗号化するための暗号鍵を要求します。2. AWSサービスからの要求は認証を受け、マスターキーを利用する権限があるか確認されます。3. 新しいデータ暗号化用の鍵が生成され、そのコピーはマスターキーによって暗号化されます。4. データ暗号化用の鍵(データキー)とマスターキーによって暗号化されたデータキーがAWSサービスに渡され

ます。データの暗号化にはデータキーが用いられ、使用後に鍵は消去されます。5. 暗号化されたデータキーは後で利用するときのために保管され、元のデータを復号する必要があるときには

KMSに戻されます。

利用者で鍵の生成やローテーション、

Enable/Disableや権限設定等の管理ができる

68

Page 69: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

• KMSをサポートするサービス(2015/4現在)

AWSサービスとの統合

http://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/services.html

カテゴリ サービス 対応機能

データベース

Amazon Redshift クラスターキー管理

Amazon RDS(MySQL, PostgreSQL, Oracle, MS SQL)

データベースストレージの暗号化

ストレージ・コンテンツ配信

Amazon Simple Storage Service

サーバサイド暗号化(SSE-KMS)

S3 Encryption Clientを利用したクライアントサイド暗号化

Amazon Elastic Block Store(EBS) ボリューム暗号化

アプリケーションサービス

Elastic Transcoder トランスコードデータ暗号化

WorkMail保存データ(メール、コンタクト、添付ファイル、メタデータ)の暗号化

69

Page 70: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSサービスのKMS利用法 - Amazon EBS

ボリューム作成時にマスターキーを指定

• AWSコンソール

– EBSボリューム作成時にEncrypt this volumeにチェックを入れ、KMSのカスタマーマスターキーを指定

• CLIの例

– aws ec2 create-volumeコマンドにて以下のオプションを付与

• --encrypted

• --kms-key-id <マスターキーのARN>

DISK I/O,ディスクに書き込まれたデータ, スナップショットも暗号化

70

Page 71: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSサービスのKMS利用法 - Amazon S3

オブジェクトアップロード時に指定

• AWSコンソール– Set Details画面でKMSのマスターキーを選択– 既に保存済みのオブジェクトはKMSでの暗号化は

できない

• APIでの指定– Put/Post/Copy/Initiate Multipart Upload実行時

に以下のヘッダーを指定• x-amz-server-side-encryption:aws:kms• x-amz-server-side-encryption-aws-kms-

key-id

バケットポリシーでSSE-KMSの強制が可能

71

Page 72: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

KMS with AWSサービス TIPS• 各サービス共通

– 他リージョンへのデータ移行の際はDecrypt/Encryptが必須

• KMSのキーはリージョンごと

– キーのDisableは影響を鑑みて慎重に実施する

• Amazon EBS– サポートされているインスタンスタイプに注意

http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSEncryption.html

– Attach/Detach時にキーやりとりが行われるため、意図した挙動と異なる場合がある

• デバイスをアタッチ中にキーをDisableすると・・・

– OSリブート→データのアクセスが可能

– Stop/Start→アクセス不可

• Amazon S3

– KMSで暗号化されたオブジェクトに対する操作はVersion4署名が必要

– バケットポリシーでSSE-KMSの強制化が可能

• s3:PutObjectに対して、“s3:x-amz-server-side-encryption”:“aws:kms”の条件を利用

72

Page 73: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

データの保護のまとめ

AWSではお客様の要件に応じた様々な暗号化方式を利用可能

方式により、満たせる要件や利用者側の負荷が変わるため、特徴をおさえて選択を。

AWSでは利用者側の負荷の少ないAWSによるSSEや、鍵管理環境をお客様に提供するKMS等のサービスも利用可能

利用するAWSサービスの暗号化機能のサポート状況を確認し、安全なデータ保護対策を。

73

Page 74: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

アジェンダ

• セキュリティに関する不安

• AWSに関する簡単なおさらい

• ネットワークセキュリティ

• 論理アクセス管理

• データの保護

• 監視・ログ

• まとめ・最近のアップデート

74

Page 75: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSでの監視の概要

Application

Middleware

CloudWatch/API/SDK

Agent経由等の情報収集

アプリチェック

OS

Service Status監視

リソース監視

Event監視

アプリ性能/死活監視

リソース監視

死活監視(ログ,プロセス,OS)

Alarm

75

Page 76: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudWatchができること

• 各AWSサービスのメトリクス監視– メトリクス = 監視項目(例:CPU使用率)

– メトリクスはあらかじめ定義され、構成済み

• サービス開始時から監視開始

• EC2ではハイパーバイザーから監視できる項目

– メトリクスを追加定義も可能

• カスタムメトリクス

– メトリクス値を時系列にグラフ表示

• 各メトリクスに対してアラームを作成可能– しきい値を設定(例:CPU使用率60%以上)

– メトリクス値がしきい値を越えたら起こすアクションを定義(例:メールで通知)

• EC2上のログ監視 ・・・Amazon CloudWatch Logs– メトリクスとアラームも作成可能

76

Page 77: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudWatch利用イメージ:メトリクス監視

i-xxxxxxxx

i-xxxxxxxx

対象インスタンスを検索

メトリクスを選択

グラフ表示期間の指定

アラーム状態の表示

77

Page 78: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudWatchができること:アラーム

• アラーム設定– メトリクス(e.g. CPU使用率)としきい値(e.g. 60%以上)で構成– 3つのアラーム状態を管理

• OK– メトリクスの値が、定義されたしきい値を下回っている

• ALARM– メトリクスの値が、定義されたしきい値を上回っている

• INSUFFICIENT_DATA– アラームが開始直後であるか、メトリクスが利用できないか、データが不足していていアラー

ムの状態を判定できない

– 各アラーム状態に対してアクションを定義可能• 通知(Notification)

– Amazon Simple Notification Service(SNS)を使って通知– メール送信やHTTP(S)送信、Amazon Simple Queue Service(SQS)への送信が可能

• Auto Scalingアクション– Auto Scaling GroupのScaling Policyを指定し、インスタンスのスケールアウト/インが可能

• EC2アクション– EC2インスタンスの停止およびTerminateが可能

78

Page 79: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudWatch利用イメージ:アラーム設定

しきい値として、CPU使用率70%以上が3期間(ここでは1期間=5分)以上

AutoScalingGroup

アクション定義

アラーム設定

79

Page 80: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

記録される情報には以下のようなものが含まれます。

• APIを呼び出した身元(Who)

• APIを呼び出した時間(When)

• API呼び出し元のSource IP(Where)

• 呼び出されたAPI(What)

• APIの対象となるAWSリソース(What)

• 管理コンソールへのログインの成功・失敗

(rootアカウントの失敗は2015年12月現在未サポート)

AWS CloudTrailはAWSアカウントで利用されたAPI Callを記録し、S3上にログを保存するサービスです。AWSのリソースにどのような操作が加えられたか記録に残す機能ですので必ず有効化してください。

特別な問題がない限りは全リージョンで有効化することを推奨します。

AWS環境の操作ログの取得について

80

Page 81: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudTrail対応サービスの確認2015年12月現在CloudTrailは下記のサービスをサポートしています。十分なサービスがサポートされているか確認をしてください。S3等サポートされていない機能に関してはアクセスログの有効化など必要な代替コントロールを利用する必要があります。

対応サービス:

• Amazon Elastic MapReduce

• AWS Data Pipeline

• Amazon Kinesis

• Amazon Redshift

• Amazon ElasticsearchService

• Amazon Machine Learning

• Amazon API Gateway

• Amazon CloudSearch

• Amazon Elastic Transcoder

• Amazon Simple Email Service

• Amazon Simple Queue Service

• Amazon Simple Workflow Service

• Amazon Elastic Compute Cloud (EC2)

• Amazon EC2 Container Service

• AWS Elastic Beanstalk

• AWS Lambda

• Auto Scaling

• Elastic Load Balancing

• Amazon Relational Database Service

• Amazon DynamoDB

• Amazon ElastiCache

• AWS CodeDeploy

• AWS CodePipeline

• Amazon WorkSpaces

• Amazon WorkDocs

• Amazon CloudWatch

• AWS CloudFormation

• AWS CloudTrail

• AWS Config

• AWS OpsWorks

• AWS Device Farm

• Amazon Simple Notification Service

• Amazon Virtual Private Cloud

• AWS Direct Connect

• Amazon Route 53

• AWS Identity and Access Management

• AWS CloudHSM

• AWS Directory Service

• AWS Key Management Service

• AWS Security Token Service

• Amazon S3 bucket level events

• Amazon CloudFront

• Amazon Glacier

• AWS Storage Gateway

81 http://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-supported-services.html#cloudtrail-

supported-services-analytics

Page 82: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudTrailによるログのサンプル

{"eventVersion":"1.01","userIdentity":{

"type":"IAMUser","principalId":"AIDAJCU6NXINSWTC4S2J6",“accountId”:“************","accessKeyId":"",“userName”:“*********“

},"eventTime":"2014-09-02T02:39:01Z","eventSource":"signin.amazonaws.com","eventName":"ConsoleLogin","awsRegion":"us-east-1","sourceIPAddress":"54.240.xxx.xx","userAgent":"Mozilla/5.0,"errorMessage":"Failed authentication","requestParameters":null,"responseElements":{"ConsoleLogin":"Failure"},"additionalEventData":{

"MobileVersion":"No","LoginTo":"https://console.aws.amazon.com/console/home?state,"MFAUsed":"No“

},"eventID":"0013812b-3941-44c2-87d0-0cdbc2dde0d5“

},

誰が

いつ

どこから

何を

どうした

CloudTrailによるログイン失敗のサンプルログ

82

Page 83: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudTrailの有効化

S3バケットを新規作成するかどうか

S3バケット名の入力

グローバルサービスのログを取得するか(IAM、STSなど)

SNS通知の設定をするかどうか

使用するSNS Topicの選択

各リージョンで有効化する必要があります。

ログをためるS3のバケットは集約が可能です。

83

管理コンソールからも直近7日のイベントが確認できます。

Page 84: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudTrailにて監視すべきイベント例

Event 想定ケース

AttachInternetGatewayAssociateRouteTableCreateRouteDeleteCustomerGatewayDeleteInternetGatewayDeleteRouteDeleteRouteTableDeleteDhcpOptionsDisassociateRouteTable

• 意図せぬネットワーク構成の変更• 未承認のインターネットゲートウェイの作成• ルーティングの変更による未承認の経路の作成

CreateNetworkAclCreateNetworkAclEntryDeleteNetworkAclDeleteNetworkAclEntryReplaceNetworkAclEntryReplaceNetworkAclAssociation

• 意図せぬNetworkACLの変更• 許されないポートの解放

RunInstancesCreateInstancesLaunchInstancesTerminateInstances

• 未承認のEC2の作成• 意図せぬEC2のTerminate

CloudTrailではサポートしているAWSサービスの操作のために使われた全てのAPIログを取得しますが、どのようなログを監視するかについては監視要件に依存します。下記は代表的な重要イベントの例です。

84

Page 85: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudTrailにて監視すべきイベント例Event 想定ケース

AuthorizeSecurityGroupIngressAuthorizeSecurityGroupEgressRevokeSecurityGroupIngressRevokeSecurityGroupEgressCreateSecurityGroupDeleteSecurityGroup

• 意図せぬSecurity Groupの変更• 許されないポートの解放

StopLoggingDeleteTrailUpdateTrail

• CloudTrailの停止• CloudTrailの削除• CloudTrailの設定変更

DeleteGroupPolicyDeleteRoleDeleteRolePolicyDeleteUserPolicyPutGroupPolicyPutRolePolicyPutUserPolicy

• 許可されていないIAMポリシーの削除• 許可されていないIAMポリシーの付与

Unauthorized*errorCodeAccessDeniedFailed authentication

• 許可されない操作の試行• エラー

"type":"Root" • AWSルートアカウントでのログイン

85

Page 86: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

参考:CloudTrailのCloudWatch Logsとの連携

• CloudTrailのログをCloudWatch Logsに転送できるようになりました

CloudTrail CloudWatch Logs

ログ連携

アラーム SNS

http://aws.typepad.com/aws_japan/2015/03/cloudtrail-integration-with-cloudwatch-in-four-more-regions.html

CloudTrailによるAPIコールのログ(操作ロ

グ)の集約

どのようなログを監視するか、閾値をどうするか等の設定が

可能

下記のURLで紹介されているサンプルでは以下に関わる10の監視用フィルタを設定

・ネットワーク・SG、NACL・インターネットゲートウェイ・サイズの大きいEC2インスタンスの作成、削除、および更新・CloudTrail自体の変更・IAMポリシー・認証の失敗・管理コンソールへのログイン

86

Page 87: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

参考:AWS Configの利用

• AWSリソースのレポジトリ情報を取得し、リソースの設定履歴を監査、リソース構成の変更を通知することができるフルマネージドサービス

• サポートリージョン:

• US West (Oregon), US West (Northern California) , US East (N.Virginia), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney) ,Asia Pacific (Tokyo), Asia Pacific (Singapore) , South America (Brazil)

• 対象サービス、2015年12月時点

• 作成・変更・削除オペレーション情報の取得

Amazon EC2Instance, ENI...

Amazon EBSVolumes

AWS CloudTrailAmazon VPCVPC, Subnet...

87

Page 88: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSでは他にも様々なサービスのログが取得できますService Data Method

CloudTrail API Call Log S3

ELB Access Log S3

S3 Object access S3

Auto Scaling Event Logs CLI, Console, API

CloudFront Access logs, cookies S3

Glacier Retrieval jobs only SNS notifications

Redshift Connections/Event logs/status S3, CLI

RDS Service Events Database log

CLI, Console, API, SNSConsole, CLI

ElastiCache Events SNS

OpsWorks Chef logs CLI

CloudFormation Event logs/status CLI, Console, API

Elastic Beanstalk Event logs/status CLI, Console, API

Data Pipeline Pipeline eventsTask runner log

S3

SES Feedback Notification SNS notifications

SNS Messages sent SNS notifications

EMR Hadoop logs S3, Console, Master Node

88

Page 89: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

監視・ログのまとめ

AWSのサービスに関する様々なリソースはCloudWatchで監視が可能

AWSの操作ログはCloudTrailで必ず取得を

CloudTrail以外でもAWSサービス固有のログが取得できるため、必ずマニュアルで確認を

CloudTrailを始めとするログをモニターすることで予期せぬ変更等の検知が可能

89

Page 90: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

アジェンダ

• セキュリティに関する不安

• AWSに関する簡単なおさらい

• ネットワークセキュリティ

• 論理アクセス管理

• データの保護

• 監視・ログ

• まとめ・最近のアップデート

90

Page 91: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudTrail – KMSによるログファイルの暗号化

• CloudTrailが生成するログファイルをKMSの鍵を利用して暗号化することが可能に

• 読み取りアクセス権があれば、復号化は透過的に行われるため、ユーザ側では意識する必要なし

• CloudTrailが利用するKMS鍵を設定したうえで、ユーザに対して復号化の権限を付与すれば利用開始できる

http://aws.typepad.com/aws_japan/2015/10/aws-cloudtrail-update-sse-kms-encryption-log-file-integrity-verification.html

Page 92: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudTrail – ログファイル整合性の検証

• CloudTrailが生成するログファイルに対して、削除や改ざん操作が行われていないかを検知できるように

• ログファイル整合性の検証機能を利用するには、証跡ログファイルの取得設定が必要

• 削除や改ざんを検知する場合はAWS CLIの“aws cloudtrail validate –logs”を利用する

http://aws.typepad.com/aws_japan/2015/10/aws-cloudtrail-update-sse-kms-encryption-log-file-integrity-verification.html

Page 93: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS Config Rules

• AWS Configにルール機能を追加。現状の構成がルールに合致しているかどうかをチェックできるように

• Lambdaファンクションとしてカスタムルールを作成できる– タグの有無、SecurityGroupの設定内容など

• リソースの作成時だけでなく、チェックを定期的に実行することも可能

http://aws.typepad.com/aws_japan/2015/10/aws-config-rules-dynamic-compliance-checking-for-cloud-resources.html]

Page 94: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

CloudFormation Designerとサポート拡大

• CloudFormationテンプレートの作成を支援するGUIツール

• 同時にAmazon Aurora, AWS CodeDeploy, Directory Serice(Simple AD), EC2 Spot Fleet, Amazon WorkSpacesをサポート

http://aws.typepad.com/aws_japan/2015/10/new-aws-cloudformation-designer-support-for-more-services.html

Page 95: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS Well-Architected Framework

• アプリケーションが良い設計(Well-Architected)になっているかを確認し、改善するためのフレームワーク

• 4つの軸によってチェックを行い、不足している箇所があれば欠点に対処する方法を発見することができる

– セキュリティ

– 信頼性

– 性能効率

– コストの最適化

http://aws.typepad.com/aws_japan/2015/10/are-you-well-architected.html

Page 96: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS Trusted Advisorによる確認

2013年よりサービス開始

コスト最適化、セキュリティ、可用性、パフォーマンスの4つのカテゴリからAWSの利用状態を評価

170万のベストプラクティス

3億ドルを超えるコスト削減を通知

2014/7/31より、33のチェック項目中、4項目をすべてのユーザに開放

構成終了後、その後も定期的にTrusted Advisorにより、把握していない未達のチェック項目がないか確認をしてください。Notificationの設定も行うことができます。

https://aws.amazon.com/jp/premiumsupport/trustedadvisor/96

Page 97: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

まとめ

責任共有モデルに基づき、基盤のセキュリティ・統制はAWSが責任を持って実施

AWS上に構築するシステムの構成・設定に関するセキュリティ・統制はお客様の責任により実施

AWSはお客様を助ける様々なセキュリティ関連機能を提供

更に固有のセキュリティ要件がある場合はAPNパートナーの製品の利用も検討を

97

Page 98: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

参照リンク

• AWSアカウント作成の流れ

– http://aws.amazon.com/jp/register-flow/

• AWS コンプライアンス

– http://aws.amazon.com/jp/compliance/

• AWSセキュリティ

– http://aws.amazon.com/jp/security/

• AWSクラウド活用資料集

– http://aws.amazon.com/jp/aws-jp-introduction/

• 国内のお客様のAWS活用事例

– http://aws.amazon.com/jp/solutions/case-studies-jp/

98

Page 99: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

Q&A

Page 100: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

詳しくは、http://aws.amazon.com/training をご覧ください

メリット

• AWS について実習や実践練習を通じて学習できる

• AWS を熟知したエキスパートから直接 AWS の機能について学び、疑問の答えを得られる

• 自信をもって IT ソリューションに関する決定を下せるようになる

提供方法

e ラーニングや動画

セルフペースラボ

クラスルームトレーニング

AWSトレーニングでは様々な学習方法をご提供しています

Page 101: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

公式Twitter/FacebookAWSの最新情報をお届けします

@awscloud_jp

検索

最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを日々更新しています!

もしくはhttp://on.fb.me/1vR8yWm

Page 102: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS 初心者向け Webinar

• AWSをこれからご使用になる技術者向け、ソリューションカットのセミナー

• 今後の配信予定

12月22日(火) 【AWS 初心者向け AWS ではじめてみよう、IoT システム構築

12月25日(木) 【AWS 初心者向け Webinar】これで完璧、AWS の運用監視

※12時~13時分の時間帯です!

• 申し込みサイト

– http://aws.amazon.com/jp/about-aws/events/

アンケートにご協力ください。ご意見/ご要望お待ちしております。

Page 103: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWS Black Belt Tech Webinar 2015

AWSのサービスをディープにご紹介

– 12月22日(水) 18:00~ Black Belt 年の瀬座談会

• 申し込みサイト

– http://aws.amazon.com/jp/about-aws/events/

Page 104: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

AWSの導入、お問い合わせのご相談

• AWSクラウド導入に関するご質問、お見積り、資料請求をご希望のお客様は、以下のリンクよりお気軽にご相談くださいhttps://aws.amazon.com/jp/contact-us/aws-sales/

※「AWS 問い合わせ」で検索してください

Page 105: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

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

Page 106: [AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策

106