[レポート] Amazon RDSおよびAmazon AuroraにCIAセキュリティ3原則をデプロイする #DAT344 #reinvent

2019.12.23

こんにちは、岩城です。

セッション「Deploying the CIA security triad model on Amazon RDS and Amazon Aurora」を聴講しましたのでレポートします。

概要

データは企業の生命線であり、そのデータがクラウドに移行するにつれて、コアデータ資産であるリレーショナルデータベースの機密性、整合性、および可用性に関するCIAセキュリティモデルを適用することが重要になります。このセッションでは、Amazon Relational Database Service(Amazon RDS)およびAmazon Auroraで利用可能なセキュリティ機能について学び、CIAセキュリティの3原則を構築します。厳格なガバナンスおよびコンプライアンスモデルに準拠するために、ネイティブデータベースセキュリティ機能がどのように適用されるかを詳しく調べます。また、AWS Config、AWS Key Management Service(AWS KMS)、AWS CloudTrail、Amazon CloudWatchなどのサービスとの統合をカバーして、データベースの使用を制御および監視するセキュリティガードレールを実装します。

  • Session Type:Chalk Talk
  • Topic:Databases
  • Session Level:300 - Advanced

スピーカー

  • Avinash Nidumbur
    • Sr. Data Platform Architect, Global Financial Services, Amazon Web Services

※敬称略

レポート

Agenda

  • AWSのリレーショナルデータベース
  • データ保護の原則:CIAセキュリティ3原則
  • データの機密性設計
  • データの整合性設計
  • データの可用性設計
  • 発見的統制の設計

Amazon Relational Database Service(Amazon RDS)

  • 選択できるデータベースエンジン
    • Aurora
    • MySQL
    • PostgresSQL
    • MariaDB
    • Microsoft SQL Server
    • Oracle
  • 管理が簡単
  • 可用性と耐久性がある
  • 高い拡張性
  • 高速かつ安全

Amazon Aurora

  • クラウド向けに構築されたMySQLおよびPostgreSQL互換のリレーショナルDB
  • パフォーマンスとスケーラビリティ
    • MySQLの5倍のスループット
    • PostgreSQLの3倍のスループット
    • 最大15個のリードレプリカをスケールアウト
  • 可用性と耐久性
    • フォールトトレラントな自己修復ストレージ
    • 3つのアベイラビリティーゾーンに渡って6つのデータのコピーを持つ
    • S3へのバックアップ
  • 安全性が高い
    • ネットワーク分離、保管中/転送中の暗号化
  • フルマネージド
    • Amazon RDSで管理:ハードウェアプロビジョニング、ソフトウェアパッチ適用、セットアップ、構成、バックアップなし

Amazon RDSプラットフォームは管理タスクを自動化する

  • 時間のかかるDB管理タスクを分類し、アプリケーションとビジネスのコンプライアンスに集中できるようする
  • 利用者の範囲
    • 最小特権
    • 職務分離
    • DBアクティビティの監視
    • アプリケーションログ
    • ネットワークセグメンテーション
  • AWSの範囲
    • 自動フェイルオーバー
    • バックアップと復元
    • 分離とセキュリティ
    • 業界のコンプライアンス
    • ボタン押下でスケーリング
    • 自動パッチ適用
    • 高度な監視
    • 定期メンテナンス

データはすべての組織にとって戦略的な資産

  • 世界で最も価値のある資源は、もはや石油ではなくデータ
    • David Parkins, The Economist, 2017
  • 愛されるデータは生き残る傾向がある
    • Kurt Bolloacker, computer scientist

CIAセキュリティ3原則

  • 機密性 (confidentiality)
    • データは承認されたものによってのみアクセスされるべきで、それは強力なデータ分類ポリシーを維持することが不可欠
    • 公開された脆弱性への攻撃、漏洩、盗難を防止する
  • 完全性 (integrity)
    • データは信頼でき、一貫性があり、承認されたものによって変更される
    • 改ざんおよび不正な変更を防止する
  • 可用性 (availability)
    • 必要に応じて、データへの信頼できるタイムリーなアクセスを提供する
    • データレイヤーへの破壊攻撃とDoS攻撃を防止する

DBクラスターへの認証とアクセス制御

  • アイデンティティベースのポリシー
    • 許可または拒否されるアクションとリソース、およびアクションが許可または拒否される条件を指定する
  • タグに基づく承認
    • ポリシーの条件要素で提供されるタグ情報
      • rds:ResourceTag / key-name
      • aws:RequestTag / key-name
      • aws:Tagkeys
  • IAMロール
    • フェデレーション/クロスアカウントアクセスの一時的なクレデンシャル
    • サービスロールとサービスにリンクされたロール

AWS Secrets Manager

  • IAMと各種サービスに統合されている
  • シークレットへのアクセス制御は、多くの場合データへのアクセス制御と同じ
  • シークレットを扱う人間が多すぎるとリスクと脆弱性が発生する
  • 自動シークレットローテーションににょり、セキュリティと可用性が提供される
  • クライアントとDBサーバーの両方を新しいクレデンシャルで更新するためにRDSと統合する
  • 長期シークレットを自動的にローテーションすることで短期シークレットにする

暗号化の職務分離

  • セキュリティベストプラクティス
    • 暗号化アクセス許可と復号化アクセス許可のロールを分ける
    • キーマネージャーとデータユーザーのロールを分ける
    • ユーザーを削除できるロールを分ける
    • ユーザーは単一のロールしか割り当てないようにする必要がある

すべてのAmazon RDSエンジンの暗号化:AWS Key Management Service(AWS KMS)

  • エンベロープ暗号化を使用した2層のキー階層
    • 一意のデータキーは顧客データを暗号化する
    • AWS KMSマスターキーはデータキーを暗号化する
    • すべてのAmazon RDSエンジンで利用可能
  • 利点
    • データキーのセキュリティ侵害のリスクを制限
    • 大きなデータを暗号化するためのパフォーマンスの向上
    • 数百万のデータキーよりも少数のマスターキーを管理する方が簡単
    • 主要なアクティビティの集中アクセスと監査

すべてのAmazon RDSエンジンの保管時の暗号化

  • データの暗号化にAES-256暗号化アルゴリズムを使用
    • パフォーマンスへの影響は最小限
    • アクセス認証とデータの透過的な復号化
    • DBクライアントの変更は不要
  • 利点
    • すべてのログ、バックアップ、およびスナップショットを暗号化
    • 暗号化はDBインスタンスから削除できない
    • ソースが暗号化されている場合、リードレプリカを暗号化する必要がある

自動バックアップ

  • MySQL、PostgreSQL、MariaDB、Oracle、SQL Server
    • インスタンス全体の日次ボリュームバックアップ
    • DB変更ログのアーカイブ
    • 35日間の最大保持
    • DBパフォーマンスへの影響は最小限
    • マルチAZの実行時にスタンバイから取得
  • Aurora
    • 自動、連続、増分バックアップ
    • DBパフォーマンスへの影響なし
    • 35日間の最大保持

リードレプリカ

  • リードキャパシティを追加して、マスターノードの負荷を軽減
  • Amazon Aurora、MySQL、MariaDB、およびPostgreSQLでサポート
  • さまざまなリージョンのアプリケーションにデータを近づける
  • 災害発生時の復旧を高速化するために、リードレプリカをマスターに昇格

Auroraのリードレプリカとカスタムエンドポイント

  • 複数のアベイラビリティーゾーンにわたる最大15のマスターノードへ昇格可能なリードレプリカ
  • REDOログベースのレプリケーションにより、レプリカの遅延が低くなる(通常<10ミリ秒)
  • フェイルオーバーの順序を構成できるカスタムリーダーエンドポイント

グローバルレプリケーション:Logical

  • 災害時の復旧を高速化するために、リードレプリカをマスターに昇格
  • さまざまな地域の顧客のアプリケーションにデータを近づける
  • 簡単に移行できるようにマスターに昇格する

DBインフラのセキュリティ

  • アプリケーションの脆弱性はDBに影響を及ぼす可能性がある
  • アプリケーションとDBは、レイヤー3およびレイヤー4の大規模攻撃から保護する必要がある

  • AWS Shield

    • AWSで実行されているWebアプリケーションを保護するマネージDDoS保護サービス
  • AWS WAF
    • 一般的なWebエクスプロイトからWebアプリケーションを保護し、可用性とセキュリティを確保
  • AWS Firewall Manager
    • アカウントおよびアプリケーション全体でAWS WAFルールを一元的に設定および管理
  • VPC
    • 論理的に分離された定義した仮想ネットワークでAWSリソースを起動する

DBセキュリティの検知コントロール

  • CloudWatch
    • 監査ログ履歴を保持する
  • CloudTrail
    • セキュリティイベントを監視する
  • Config
    • 変更を追跡し、継続的なコンプライアンスを達成する
  • GuardDuty
    • インテリジェントな驚異検出と継続的な監視

DB監査ログを管理するにはどうするか

  • クエリおよびエラーログをリアルタイムでCloudWatch Logsに発行する
  • テキスト検索パターンに基づいてAmazon CloudWatchアラームを設定する
  • サポートされるエンジンは、MySQL、PostgreSQL、MariaDB、およびOracle

CIAセキュリティ3原則

  • IAM統合およびフェデレーション(SSO)用のSAML IDPとの統合
  • データベースセキュリティモデル(ユーザー、グループ、特権)およびIAM DB認証
  • エンドツーエンドのデータ暗号化
  • ネットワーク分離のためのVPC、AWS Shield、AWS WAF
  • 監査ログ、通知、および構成変更管理
  • SOC 1/2/3、PCI-DSS、FedRAMP、およびHIPAAを含む認証

おわりに

CIAセキュリティ3原則に則ったRDSのセキュリティベストプラクティスを確認することができました。

本エントリがどなたかのお役に立てれば幸いです。