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

Post on 06-Apr-2017

1.441 views 3 download

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

Developers.IO 2016

E-1

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

Ⓒ Classmethod, Inc.

2016年02月20日

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

1

#cmdevio2016

自己紹介

2

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

AWS認定資格 Solutions Architect - Professional

Developer -Associate SysOps Administorator - Associate

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

AWS Config

5

Ⓒ Classmethod, Inc.

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

6

– Joshua Du Lac Senior Security Consultant , Amazon Web Services

“Security geeks should LOVE it!”

Ⓒ 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!

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

ひとまずRDSを…

9

ユースケース

10

Ⓒ Classmethod, Inc.

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

11

Ⓒ Classmethod, Inc.

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

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

12

Ⓒ Classmethod, Inc.

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

13

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

14

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

15

Ⓒ Classmethod, Inc.

設定は非常に簡単

16

Ⓒ Classmethod, Inc.

設定は非常に簡単

17

Ⓒ Classmethod, Inc.

設定は非常に簡単

18

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

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

Ⓒ Classmethod, Inc.

設定は非常に簡単

19

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

Ⓒ Classmethod, Inc.

設定は非常に簡単

20

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

Ⓒ Classmethod, Inc.

設定は非常に簡単

21

Ⓒ Classmethod, Inc.

設定は非常に簡単

22

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

23

Configはどう動くのか

24

エンジニア向け

Ⓒ 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

Ⓒ Classmethod, Inc.

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

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

26

Delivery ChannelConfiguration Recorder

Ⓒ Classmethod, Inc.

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

27

EC2

VPC

CloudTrail

IAM

EBS

Configuration Item

AWSリソース

Ⓒ Classmethod, Inc.

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

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

28

Security Group

変更! VPCNetworkInterface

EC2 InstanceConfiguration Item 収集

Ⓒ Classmethod, Inc.

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

29

Configuration Item

Config 1AAAAA

Config 2BBBBB

Configuration Item

Config 1AAAAA

Config 2CCCCC

Ⓒ Classmethod, Inc.

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

30

Configuration Item

Config 1AAAAA

Config 2BBBBB

Configuration Item

Config 1AAAAA

Config 2CCCCC変更点!

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

31

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

32

ごもっともです。

33

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

34

AWS Config Rules

35

Ⓒ Classmethod, Inc.

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

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

36

Ⓒ Classmethod, Inc.

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

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

37

Ⓒ Classmethod, Inc.

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

38

Ⓒ Classmethod, Inc.

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

39

Ⓒ Classmethod, Inc.

設定は非常に簡単

40

お好きなルールをどうぞ

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

Ⓒ Classmethod, Inc.

設定は非常に簡単

41

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

• 問題なければ「Compliant」

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

Ⓒ Classmethod, Inc.

設定は非常に簡単

42

Ⓒ Classmethod, Inc.

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

43

エコシステム

44

Ⓒ Classmethod, Inc.

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

45

Ⓒ Classmethod, Inc.

Logstorage

46

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

Ⓒ Classmethod, Inc.

Logstorage

47

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

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

Ⓒ Classmethod, Inc.

Logstorage

48

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

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

Ⓒ Classmethod, Inc.

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

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

Ⓒ Classmethod, Inc.

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

50

Ⓒ Classmethod, Inc.

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

51

ブログ書きます!

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

52

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

本当にいい子なんです。

53Ⓒ Classmethod, Inc.

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

AWS CloudTrailでのAPI証跡

TrustedAdvisorでのコスト最適化

Inspectorでの脆弱性診断

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

54Ⓒ Classmethod, Inc.

Developers.IO 2016

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

56

E-1

Ⓒ Classmethod, Inc.

#cmdevio2016