【レポート】DevSecOps on AWS -AWSのモニタリング- #AWSSummit

2018.05.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、佐伯です。

2018年5月30日(水)〜2018年6月1日(金)の3日間にわたり、 品川にて開催されているAWS Summit Tokyo 2018に参加しています。今回は「DevSecOps on AWS -AWSのモニタリング-」を聴講しましたのでレポートします。

概要

DevSecOps のキーワードに代表されるように、クラウドは Dev/Sec/Ops をバランス良く使いこなし最適化することで、今まで以上のメリットが得られます。スモールスタートはクラウドの良さですが、規模が大きくなり、アカウント 数が増えるに従い、AWS 環境の監視・運用含め改めて検討される方も多いのではないでしょうか。本セッションでは、より”上手く” AWS をご利用いただくために、数ある AWS サービスを組み合わせることで、どのように DevSecOps を実現するのかについて、プラクティスを中心にご紹介します。

レポート

話すこと

  • DevSecOpsのためのクラウドネイティブセキュリティ
  • AWS上でのDevSecOps実装方法

Monitoring on AWS

モニタリングの手法として3つのベースがある

  • Metric-Based
    • 静的/スタティック(閾値ベース)
    • 動的/ダイナミック(異常検知)
  • Event-Based
    • イベントドリブン
  • Rule-Based
    • コンプライアンス

Monitoring with AWS Service

  • Trusted Advisor
    • AS環境最適化をガイダンス
    • AWSベストプラクティス評価
  • CloudWatch
    • リソース/ログモニタリング
    • イベントモニタリング
  • CloudTrail
    • APIアクティビティをモニタリング
    • セキュリティの自動化/監査対応
  • AWS Config
    • 構成管理・変更管理
    • コンプライアンスルール設定
  • GuardDuty
    • インテリジェントな脅威検出
    • 機械学習を利用したワークロード保護
  • Amazon Macie(東京リージョン未対応)
    • 機密データの自動検出
    • 機械学習を利用した自動化

AWS上でのDevSecOps実装方法

  • マルチアカウントに対するガバナンスを効かせる
  • 管理者アカウントにIAMユーザーを作成する、ターゲットアカウントにはIAMユーザーを作成しない
  • ベストプラクティスとして、IAMユーザーを作成するってことパスワードやクレデンシャルをローテーションすることを推奨
  • ターゲットアカウントは増加していくため、AWSサービスをうまく使って展開や情報収集をする

展開

  • CloudFormation
    • JSON or YAML形式で記述
    • CloudFormationスタックによる管理
    • スタックの作成
    • CloudFormation Stacksets
    • マルチアカウント、マルチリージョンに対応
  • Serverless Application Model(SAM)
    • サーバーレスアプリケーションを定義するモデル
    • サーバーレスに最適化したCloudFormationの拡張機能
  • CloudFormation Stacksets
    • 管理者アカウントから指定したターゲットアカウントへCloudFormationテンプレートを使用してAWSリソースを作成可能
    • マルチアカウント、マルチリージョンへのデプロイが可能

収集

  • Trusted Advisor
    • ターゲットアカウントのCloudWatch Event Busで管理者アカウントにイベントログを送信して集約
  • CloudTrail
    • ターゲットアカウントでCloudTrailを作成し、管理者アカウントのS3バケットに保存
    • 全リージョン有効化もCloudTrailの設定で可能
  • Real-Time insights on AWS Account Activity
  • AWS Config / Config Rules
    • AWSリソースのリポジトリ情報からリソースの変更履歴、構成変更を管理
    • 構成情報は適期的にスナップショットとしてS3に保存
    • 必要に応じてSNSを使った通知も可能
    • 構成情報をもとに現在のシステムがあるべき状態になっているかを評価
    • AWSマネージドルール
    • カスタムルール
  • AWS Config Aggregator
    • AWS Configをマルチリージョン、マルチアカウントで有効化可能。
    • コンプライアンスチェックはターゲットアカウントで実施され、管理者アカウントで結果を確認できる。
  • EC2インベントリー管理 - AWS Systems Manager
    • コンプライアンスに違反パッケージのインストールなどを監視し、AWS Configで記録
    • 複数台に対してスキャンし、特定パッケージがインストールされているEC2インスタンスの検索ができる
    • AWS Systems Managerがもっているインベントリ情報をもとに、AWS Configでコンプライアンスに準拠しているか確認できる
  • AWS Config
    • EC2インスタンスの作成日、構成変更日などを確認、比較
    • マルチアカウントの情報も収集できる→AWS Config Aggregator
    • AWS Configでいつ、誰がを確認しCloudTrailを確認する

まとめ

  • DevSecOpsのためのクラウドネイティブセキュリティ
    • AWSのモニタリングを活用したDevSecOps
    • DevSecOpsの加速
  • AWS上でのDevSecOps
    • Infrastructure as a codeを利用したマルチアカウント、マルチリージョンへの展開
    • イベント集約管理によるマルチアカウント、マルチリージョンの管理

感想

AWSを利用しているとAWSアカウントがどんどん増える傾向にあるかと思いますが、展開と集約をいい感じにやってくれるAWSサービスがあるのは最高ですね。