develipers.io 2016 e-1 「aws configを使ったaws環境の見える化」

56
Developers.IO 2016 E-1 森永 大志 AWSソリューションアーキテクト Ⓒ Classmethod, Inc. 2016年02月20日 AWS Configを使った AWS環境の見える化 1 #cmdevio2016

Upload: morisshi

Post on 06-Apr-2017

1.441 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Developers.IO 2016

E-1

森永 大志 AWSソリューションアーキテクト

Ⓒ Classmethod, Inc.

2016年02月20日

AWS Configを使った AWS環境の見える化

1

#cmdevio2016

Page 2: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

自己紹介

2

Page 3: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

森永 大志 (@morimoritaitai) AWSソリューションアーキテクト ✤ 趣味 : ゲーム(全般) / 酒 / カメラ ✤ 興味 : DevOps / Security

AWS認定資格 Solutions Architect - Professional

Developer -Associate SysOps Administorator - Associate

Page 4: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

最近はもっぱら娘の写真を撮ってます。

Page 5: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

AWS Config

5

Page 6: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

AWS Configで出来ること• 構成情報のスナップショットの取得 • 構成情報、変更履歴の検索、閲覧 • 作成、変更、削除された際の通知 • AWSリソース間の関係性の確認

6

Page 7: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

– Joshua Du Lac Senior Security Consultant , Amazon Web Services

“Security geeks should LOVE it!”

Page 8: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

現在対応しているAWSリソース2016/2/20現在対応リソース

8

Resource Type Resource

Amazon EC2

EC2 インスタンス EC2 Network Interface EC2 セキュリティグループ EC2 Elastic IP (VPC のみ) EC2 Dedicated Hosts

Amazon VPC

カスタマーゲートウェイ インターネットゲートウェイ ネットワーク ACL ルートテーブル サブネット VPC VPN ゲートウェイ VPN 接続

Resource Type Resource

Amazon EBS汎用 (SSD) ボリューム プロビジョンド IOPS (SSD) ボリューム マグネティックボリューム

AWS CloudTrail Trail

AWS IAM

IAM ユーザー IAM グループ IAM ロール IAM 管理ポリシー (カスタマー管理型のみ)

New!

Page 9: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

対応リソースが増えることを切に願います。

ひとまずRDSを…

9

Page 10: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

ユースケース

10

Page 11: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

AWSリソースの構成管理• 一覧でAWSリソースを確認出来る • 削除されたリソースについても追跡可能

11

Page 12: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

監査、コンプライアンス• いつ、どのように変更されたかを記録するので証跡として利用可能

• PCI DSSのような規格に準拠するためにも必要

12

Page 13: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

トラブルシューティング• 設定ミスはインシデント発生原因のひとつ • 関連するAWSリソースも辿れるのでトラブルシュートしやすい

13

Page 14: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

ゴチャゴチャしやすいAWSリソースを簡単に「見える化」出来る!

14

Page 15: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

ゴチャゴチャしやすいAWSリソースを簡単に「見える化」出来る!

15

Page 16: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定は非常に簡単

16

Page 17: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定は非常に簡単

17

Page 18: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定は非常に簡単

18

どのリソースを記録するか

どのバケットにログを残すか

Page 19: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定は非常に簡単

19

どのSNSトピックで通知するか 通知しない、という設定も可能

Page 20: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定は非常に簡単

20

Configに与える権限の設定 よしなにやってくれるので「許可」押すだけ

Page 21: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定は非常に簡単

21

Page 22: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定は非常に簡単

22

Page 23: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

あとは放っとけば勝手に 記録してくれます。

23

Page 24: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Configはどう動くのか

24

エンジニア向け

Page 25: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

用語説明•Configuration Item •個々のAWSリソースに対する一回の設定変更の内容

•Configuration Recorder •構成情報を記録するための主体。DescribeやListなどのAPIを呼んで構成情報を確認する。

•Configuration History •各リソース毎、6時間おきにS3に配置されるConfiguration Itemをまとめたファイル

•Delivery Channel •S3やSNSなどのログ保管や通知先

•Relationships •AWSリソース間の関連性(EC2インスタンスはVPCやサブネット等と関連している)

25

Page 26: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

AWS ConfigをONにする• ログ保管先のS3と通知するためのSNSを設定 • Delivery Channelの作成

• Read系の権限とS3、SNSアクセス出来るIAM作成 • Configuration Recorderの設定

26

Delivery ChannelConfiguration Recorder

Page 27: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

初回の設定情報収集• 初回設定時に対応しているAWSリソースの設定情報を収集する • 初回は全てのConfiguration Itemを収集

27

EC2

VPC

CloudTrail

IAM

EBS

Configuration Item

AWSリソース

Page 28: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定変更時• 設定変更をトリガに変更されたAWSリソースの構成情報を収集する • 新たなConfiguration Item収集

• Configuration Itemには関連するAWSリソースも記載されているので、そちらの構成情報も取得する

28

Security Group

変更! VPCNetworkInterface

EC2 InstanceConfiguration Item 収集

Page 29: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

(TIPS)差分を見るAPIは?• Configuration Itemの差分をAWS Configが取っているだけで、APIは存在していない。

29

Configuration Item

Config 1AAAAA

Config 2BBBBB

Configuration Item

Config 1AAAAA

Config 2CCCCC

Page 30: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

(TIPS)差分を見るAPIは?• Configuration Itemの差分をAWS Configが取っているだけで、APIは存在していない。

30

Configuration Item

Config 1AAAAA

Config 2BBBBB

Configuration Item

Config 1AAAAA

Config 2CCCCC変更点!

Page 31: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

でもConfigって設定や設定変更を見える化するだけだよね?

31

Page 32: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

結局それが正しい設定か 人間が判断しないといけないよね?

32

Page 33: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

ごもっともです。

33

Page 34: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

そんなあなたに朗報です。

34

Page 35: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

AWS Config Rules

35

Page 36: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

AWS Config Rulesで出来ること• AWS Configで記録した設定が正しいかを判定するルールを設定できる • 例えば、 • セキュリティグループがフルオープン!(あるある) • タグの付け忘れ!(Billingで集計できない。。。)

• 正しくないものは正しくないと自動で判定

36

Page 37: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

ルールの種類• マネージドルール • AWSが提供しているルール • あるあるなものを用意してくれています

• カスタムルール • 自分で自由に作れるルール • 判定する機構はLambdaで作成 • Lambdaなので作りこめば相当いろいろ出来る

37

Page 38: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

提供されているマネージドルール• CloudTrailが有効化されているか • EIPがインスタンスにアタッチされているか • EBSが暗号化されているか • SSHポートが開放されていないか • EC2がVPC内に作成されているか • ○○というタグを付けているか • ○○番ポートが開放されていないか

38

Page 39: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定は非常に簡単• AWS Configの有効化は前提 • 残念ながら現在(2016/02/20)はバージニアリージョンのみ対応です。。。

39

Page 40: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

設定は非常に簡単

40

お好きなルールをどうぞ

Page 41: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

• マネージドルールでの設定はパラメータ設定くらい

Ⓒ Classmethod, Inc.

設定は非常に簡単

41

この場合CloudTrailのログ保管先のバケットが 正しいかなどを指定できる

Page 42: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

• 問題なければ「Compliant」

• 問題ありなら「* noncompliant resource(s)」

Ⓒ Classmethod, Inc.

設定は非常に簡単

42

Page 43: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

カスタムルール• Lambdaで判定部分を記述する • Node.js / Java / Pythonのいずれかで記述する • Lambdaをしっかり理解していないと少し難しい。。。

43

Page 44: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

エコシステム

44

Page 45: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

公式に連携しているアプリケーション• 2nd Watch • AlertLogic • CloudCheckr • CloudHealth • Cloudnexa • Evident.io • Loggly • Logstorage • Red Hat • RedSeal • Service Now • Splunk • Trend Micro

45

Page 46: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

Logstorage

46

http://www.logstorage.com/welcome/awsconfig_pack.html

Page 47: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

Logstorage

47

http://www.logstorage.com/welcome/awsconfig_pack.html

ブログ書いてます! http://dev.classmethod.jp/cloud/aws/aws-logstorage-config/

Page 48: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

Logstorage

48

http://www.logstorage.com/welcome/awsconfig_pack.html

他にも検証して欲しい製品あれば 検証してブログ書きます!

Page 49: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

DeepSecurityとの連携• ConfigRulesでDeepSecurityの設定がセキュリティポリシーに適しているか確認できます。

49 https://github.com/deep-security/aws-config

Page 50: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

DeepSecurityとの連携• 不正プログラム対策がなされていなければNoncompliantとなる

50

Page 51: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Ⓒ Classmethod, Inc.

DeepSecurityとの連携• 不正プログラム対策がなされていなければNoncompliantとなる

51

ブログ書きます!

Page 52: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

他の製品と組み合わせると 更に強力なツールになります!

52

Page 53: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

まとめ皆様是非AWS Configを使ってやって下さい。

本当にいい子なんです。

53Ⓒ Classmethod, Inc.

Page 54: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

まとめAWS Config単体では不安なところもあります。

AWS CloudTrailでのAPI証跡

TrustedAdvisorでのコスト最適化

Inspectorでの脆弱性診断

等と組み合わせて安全安心のAWS環境を目指しましょう!

54Ⓒ Classmethod, Inc.

Page 55: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
Page 56: Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」

Developers.IO 2016

ご静聴ありがとうございました。 スライドは後ほどブログで公開します。

56

E-1

Ⓒ Classmethod, Inc.

#cmdevio2016