67
「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み 株式会社サイバーエージェント 柿島 大貴、東 和宏

「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

「これ危ない設定じゃないでしょうか」

とヒアリングするための仕組み

株式会社サイバーエージェント

柿島大貴、東和宏

Page 2: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

柿島大貴カキシマヒロタカ

2

インフラエンジニア

共著 HBase徹底入門(翔泳社)

AbemaTV負荷対策プロマネ(2017)

好きなAWSサービス

Amazon

S3

Page 3: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

東和宏アズマカズヒロ

3

インフラエンジニア

好きなAWSサービス

プライベートクラウド立ち上げ

AbemaTVコンテンツ基盤構築中

AWS

CloudFormation

Page 4: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

アジェンダ

4

③ ④

統制する仕組み

新しい取り組み

組織について

悩んでいること

Page 5: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

株式会社サイバーエージェント

5

Page 6: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

技術本部

メディア事業の横断組織でパブリッククラウドの管理をしています

技術本部

メディア事業

プライベートクラウド提供

インフラSRE

パブリッククラウドサポート

セキュリティ分析機械学習

開発環境 購買など

他にも多数のサービス

6

Page 7: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

AWSアカウント発行から解約までサポート

7

アカウント発行 運用中の問題 アカウント解約

Page 8: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

管理業務の例

8

請求や契約with経理/法務

依頼処理 トラブル対応 セキュリティ対応with セキュリティチーム

① ② ③ ④

Page 9: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

9

AWS担当者とのやりとり Solutions Architect

成田様Account Manager

辻本様Technical Account Manager

新井様

管理業務の例

いつもありがとうございます!

Page 10: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

規模感

10

Page 11: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

AWS利用の規模感

11

•AWSアカウント•プロジェクト、機能、環境(本番、開発)などで分離

•累積約250 アカウント

•現在約160 アカウントがアクティブ

Page 12: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

メディア管轄でAWSを利用するエンジニア

12

約400名弱

約20~30名数名 300名~

セキュリティエンジニアインフラエンジニアSRE/ネットワーク等

サーバサイドエンジニア等

Page 13: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

クラウドの管理者

13

2名

Page 14: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

アジェンダ

14

③ ④

統制する仕組み

新しい取り組み

組織について

悩んでいること

Page 15: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

管理業務の中でも特にセキュリティの話

15

請求や契約with経理/法務

依頼処理 トラブル対応 セキュリティ対応with セキュリティチーム

① ② ③ ④

Page 16: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

会社横断のセキュリティチームと連携

16https://www.wantedly.com/projects/203471

Page 17: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

ログイン関連

17

Page 18: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

18

サーバー AWSマネージメントコンソール

Page 19: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

権限の管理

19

• LDAPを利用•人事データベースと同期

•権限管理用のポータルがある

• AWSアカウントごとに権限が存在•役割ごとの権限も設定可能

Page 20: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

サーバーへのログイン

• LDAPを使った公開鍵認証、踏み台やVPNも提供

20

LDAPサーバー

各AWSアカウント

監査、共通基盤のAWSアカウント

Elastic Load

Balancing

VPC

peering

EC2

EC2

Page 21: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

制限から複数のVPCを作成

21

LDAPサーバー

各AWSアカウント

監査、共通基盤のAWSアカウント

Elastic Load

Balancing

VPC

peering

EC2

EC2

• VPC 当たりのアクティブな VPC ピアリング接続(最大125)

•ルートテーブル当たりのルートの数(最大100)

×2

AWS PrivateLinkを検証中

Page 22: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

マネージメントコンソールへのログイン

• LDAPと連携した SAMLベースのフェデレーション

•OpenAMからセキュリティチーム内製のものへ移行中

22

2FA

Page 23: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

その他の取りくみ

23

Page 24: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

すべてのアカウントで有効化

24

AWS

CloudTrail

Amazon

GuardDuty

Page 25: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

監査用のアカウントにデータを集約

25

AWS

CloudTrail

Amazon

S3

ログ

各AWSアカウント

共通の保管用バケット

Amazon

GuardDuty

メンバーアカウント

Amazon

GuardDuty

マスターアカウント

各AWSアカウント

Page 26: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

面倒な設定は自動化

•GuardDutyの設定が特に大変•アカウント、リージョンごとに招待、有効化、承認が必要

•その他の設定も含めてJenkins化

26

Page 27: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

AWS Organizations

•元々、一括請求機能を使用

•最近、すべての機能を有効化• SCPも一部導入

•ブラックリスト方式

27

Page 28: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

管理用 AWSアカウントの構成

Organizationsのマスターアカウント

•請求 / Organizations /リザーブドインスタンスの管理

28

監査、共通基盤のアカウント

• CloudTrailのログ集約、LDAPサーバーなど

Page 29: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

ツリーの構成やポリシーは試行錯誤中

29

Organizationsのマスターアカウント

監査、共通基盤のアカウント

多くのプロジェクトのアカウント

一部のクリティカルなプロジェクトのOU

Organization検証用のプロジェクトのOU

Root

Page 30: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

SCP(サービスコントロールポリシー)

嬉しいこと

•DenyしたアクションはIAM, ルートアカウントともに対象

• iam:Create* , iam:Put*, iam:Attach*の権限があっても制限可

注意点

• Resourceは*で固定

•アクションのワイルドカード指定は後ろだけ

•ボディの長さは5120 bytes(複数に分割して対応)

30

Page 31: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

他にも様々な取り組み

• SAによるレビュー

•弊社のSREとAWS Well-

Architected Frameworkを推進

•日々の様々な相談

31

•ルートアカウントの管理

• MFAの管理

•脆弱性診断の申請のサポート

•エンタープライズサポート加入

• e-learning

•新卒研修

など

AWSとの取り組み 基本的な取り組み

Page 32: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

アジェンダ

32

③ ④

統制する仕組み

新しい取り組み

組織について

悩んでいること

Page 33: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

33

自由 責任

組織の文化

Page 34: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

組織の文化

サイバーエージェントは2006年から本格的にエンジニア組織を強化しました。その間、100はゆうに超える新規サービスを立ち上げてきました。

その間「自由と自己責任」というものを掲げ、担当するエンジニアがその時に最もベストな技術を選定し挑戦をしてきました。(略)

エンジニアに裁量を与える代わりに説明責任を求めます。

34https://www.wantedly.com/companies/abema/post_articles/33695

Page 35: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

AWS製品の選択の裁量はプロジェクトにある

35

Page 36: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

チャレンジの結果、事例になることも

36

Page 37: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

カオスになりやすい環境

37

自由と自己責任の文化 エンジニアの数も多い 新卒も多い

新規事業も多い 異動もそれなりに

Page 38: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

責任共有モデルにより、AWSの顧客はクラウド”における”セキュリティの責任を負う

38Infrastructure servicesの責任共有モデルの図

Page 39: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

守るところは守る

39

管理上守りたい部分

最小権限の原則を促す

フールプルーフを用意

AWS

CloudTrail

AWS

Config

Amazon

GuardDuty

IAM

厳格なポリシーに従う必要のあるデータやプロジェクト

事故が起こりやすい部分

IAM

IAMやOrganizationsで制限

(前半の説明部分など)

Page 40: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

制限と自由のバランスは難しい

40

自由すぎると問題が起こりやすい

制限をしすぎると開発スピード低下

Page 41: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

どのアクションが危ないか…は難しい

41

危ないアクション安全なアクション

許可 禁止

セキュリティチームと議論して基本ポリシーは決定

例s3:PutBucketPolicy

使い方次第

Page 42: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

アジェンダ

42

③ ④

統制する仕組み

新しい取り組み

組織について

悩んでいること

Page 43: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

43

「これ危ない設定じゃないでしょうか」

とヒアリングするための仕組み

Page 44: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

なぜヒアリングなのか

44

•プロジェクトに裁量を与える

•問題がある場合には利用者に修正を依頼

•意図を確認しないと判断が難しいものが存在する

Page 45: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

仕組みは大きく2つ

45

スケジュールベースイベントベース

Page 46: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

イベントベース

46

Page 47: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

(再掲)監査用のアカウントにデータを集約

47

AWS

CloudTrail

Amazon

S3

ログ

各AWSアカウント

共通の保管用バケット

Amazon

GuardDuty

メンバーアカウント

Amazon

GuardDuty

マスターアカウント

各AWSアカウント

Page 48: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

システム構成(イベントベース)

48

AWS

CloudTrail

Amazon

S3

CloudTrailのログメディア事業部の各アカウント

共通の保管用バケット

イベントでSNS通知

Amazon

SNS

AWS

Lambda

Amazon

SNS

イベントのメッセージ

ログ取得イベントごとにメッセージ送信

(チェック項目ごと)

AWS

Lambda

Amazon

S3

ホワイトリストの取得

Amazon

CloudWatch

Events

イベント

Amazon

GuardDuty

メンバーアカウント

Amazon

GuardDuty

マスターアカウント

通知

イベントデータの収集 判定と通知

Page 49: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

通知の例(S3 Bucket ACLの変更)

49

Page 50: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

通知の例(Security Groupの変更)

50

Page 51: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

通知の例(GuardDutyの検知)

51

Page 52: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

スケジュールベース

52

Page 53: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

53

Amazon

S3

チェック対象のアカウント

AWS

Lambda

Amazon

SNS

結果の保存(JSON)

(チェック項目ごと)

Amazon

CloudWatch

Events

AWS

Lambda

スケジュール呼び出し

アカウントIDを含んだメッセージを送信

チェック対象のアカウントIDのリストを取得

Amazon

S3

Amazon

CloudWatch

Events

AWS

Lambda

スケジュール呼び出し

レポートの生成

Assume Role

リソースの情報取得

JSON

HTML レポートの閲覧

AWS

Organizations

AWSアカウントとLDAPのマッピング情報

Amazon

S3

ホワイトリストの取得

通知

LDAPサーバー

ユーザー一覧の取得

Amazon

SNS

通知タイミングごとのSNSメッセージ

システム構成(スケジュールベース)スケジュール生成 アカウント一覧生成 チェックと通知とレポート生成

Page 54: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

通知の例(IAMユーザーの棚卸し)

54

Page 55: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

通知の例(SESのバウンス率、苦情率)

55

Page 56: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

通知の例(LDAPユーザーの定期棚卸し)

56

Page 57: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

通知の例(SSL/TLS証明書の期限)

57

Page 58: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

診断レポート

58

• Trusted Advisorの結果

•独自チェックの結果

• CIS AWS Foundations Benchmark

• ベンチマークに沿ったチェック結果

• コマンドベースでチェック方法記載

• 通知のしきい値の参考にもしている

•セキュリティグループの一覧

Page 59: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

なぜAWS Config Rulesではないの?

59

•アクティブなルール1つごとに2 USD/月•リージョンごと、アカウントごとに費用増

•なるべく監査側のアカウントに設定を作りたい

Page 60: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

2016年にブログで公開、でも一度は失敗

•すべてのアラートを管理者だけで受け取った

•プロジェクトとの連絡手段が確立できていなかった

60

Page 61: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

今回は、利用者と一緒に受け取る方式に

61

• AWSアカウント毎に通知先を用意

• LDAPの権限を元に招待

AWSアカウントごとのチャンネル

利用者&管理者

検知システム

アラート

Page 62: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

起こった変化

62

自主的に対応してくれる人が現れた

アドバイスをくれる人が現れた

実際に棚卸しが進んだ早期検知が出来た

Page 63: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

利用者の声

63

検知が自動化されることはもちろん、無駄な通知を減らしたいがために後回しになりがちな棚卸しをするきっかけを生んでくれて助かっています!

サービスリライアビリティグループマネージャー / エンジニア 須藤 涼介

Page 64: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

今後について

•今回の方法がベストだとは思っていない

•情報収集と定期的な見直し•ポリシー•検査項目•道具(コスト、便利さ、柔軟性)

•別レイヤーのチェック•例: Amazon InspectorやVulsの利用普及

• 一部環境では導入済

64

Page 65: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

まとめ

•増え続けるAWSアカウントの”責任”をどう果たすか

•制限と自由のバランスは常に悩んでいる

•ぜひ情報交換をさせてください

65

Page 66: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

宣伝

•一緒に働いてくれる方を募集!

• https://www.cyberagent.co.jp/careers/

•CyberAgent Developers Blog

• https://developers.cyberagent.co.jp/blog/

•各サービスのエンジニアやクリエイターの技術をお届けします

66

Page 67: 「これ危ない設定 とヒアリングする じゃないでしょうか ......「これ危ない設定 じゃないでしょうか」 とヒアリングする ための仕組み

素材利用、参考資料

•ヒューマンピクトグラム2.0

• http://pictogram2.com

•Material icons

• https://material.io/tools/icons/• This slide includes the work that is distributed in the Apache License 2.0.

•AWSでのセキュリティ運用 ~ IAM,VPCその他• リクルートテクノロジーズ様の資料

• https://www.slideshare.net/recruitcojp/20160517-security-jaws-miyazakisachie

• 非常に参考にさせていただいています

67