[アップデート] GuardDuty RDS Protection がデータアクティビティの監視に対応し、データ流出・破壊を検知できるようになりました

[アップデート] GuardDuty RDS Protection がデータアクティビティの監視に対応し、データ流出・破壊を検知できるようになりました

Amazon GuardDuty の RDS Protection に新機能が追加されました。これまでのログイン監視に加えて、データアクティビティ(クエリパターン)の監視に対応し、大量データの取得や削除・破壊を検知できるようになりました。対応エンジンやバージョン、料金、運用上の注意点をあわせて紹介します。
2026.10.21

Amazon GuardDuty の RDS Protection は、これまでログインアクティビティの異常検知が中心でした。「DB に不審なログインがないか」は見られても、ログイン後に何をされたかまでは見られませんでした。

2026年10月8日のアップデートで、RDS Protection がデータアクティビティ(クエリパターン)の監視に対応しました。大量データの取得(データ流出)や、データの削除・破壊を検知できます。

https://aws.amazon.com/jp/about-aws/whats-new/2026/10/guardduty-rds-data-exfiltration/

この記事では、今回のアップデートの内容を公式ドキュメントもあわせて整理します。検知の動作確認は、ベースライン学習に時間がかかるため今回は行っていません。

ざっくりまとめ

項目 内容
前提条件 RDS Protection ログインアクティビティが有効化されていること
追加機能 データアクティビティ(データへのアクセスや操作のパターン)の監視
対象エンジン Aurora PostgreSQL / RDS for PostgreSQL
料金 vCPU/ACU数に基づく月額課金。東京では、RDS インスタンスで 3.99 USD/vCPU/月、Aurora Serverless v2 で 0.99 USD/ACU/月。アカウント×リージョンごとに30日間の無料トライアルあり

今回のアップデートでの強化点

攻撃者が正規の認証情報を入手した場合、ログインは「成功」として記録されます。その後に実行されるクエリも、正規のアプリケーションの動作と区別ができず、攻撃を見逃してしまいます。

そこで今回のアップデートでは、データベースごと・ユーザーごとのクエリパターンのベースラインを作り、そこから外れた動きを検知することで、上記のようなパターンでも攻撃に気づくことができるようになりました。

これまでの RDS Protection ログインアクティビティの概要については以下の記事をご覧ください。

https://dev.classmethod.jp/articles/update-guarduty-rds-protection-to-rds-for-postgresql/

https://dev.classmethod.jp/articles/amazon-guardduty-rds-protection-aurora-ga/

何が変わったのか

ログインアクティビティとデータアクティビティの違い

公式ドキュメントでは、RDS Protection は次の2つの監視に分かれています。有効化もそれぞれ別です。

ログインアクティビティ データアクティビティ
監視対象 ログインの成功・失敗 データベースのクエリパターン
対応エンジン Aurora MySQL / Aurora PostgreSQL / RDS for PostgreSQL / RDS for MySQL / RDS for MariaDB ほか Aurora PostgreSQL / RDS for PostgreSQL
検出の例 ブルートフォース、不審なIPからのログイン 通常より大量の行の取得、DROP / DELETE、悪意あるIP・Tor からのアクセス

データアクティビティの対応エンジンは PostgreSQL 系のみですので、注意してください。

追加された Finding Type

今回のアップデート(What's New)には Finding Type 名が記載されていませんが、公式ドキュメントで、データアクティビティの監視に対応する次の7種類を確認できました。

Finding Type 内容 重大度
Exfiltration:RDS/AnomalousBehavior ユーザーが通常より大量のデータを取得 Low〜High(可変)
Impact:RDS/AnomalousBehavior.Drop 異常な DROP 文の実行 Medium〜High
Impact:RDS/AnomalousBehavior.Delete 異常な DELETE 文の実行 Low〜High
Exfiltration:RDS/MaliciousIPCaller 悪意あるIPがデータ取得クエリを実行 High
Exfiltration:RDS/TorIPCaller Tor 出口ノードがデータ取得クエリを実行 High
Impact:RDS/MaliciousIPCaller 悪意あるIPが破壊的な文を実行 High
Impact:RDS/TorIPCaller Tor 出口ノードが破壊的な文を実行 High

AnomalousBehavior 系は、GuardDuty の機械学習による異常検知で、ユーザー、実行されたクエリ、取得ボリューム、接続情報などを見ています。MaliciousIPCaller / TorIPCaller 系は、脅威インテリジェンスと照合した検知です。

重大度の決まり方

AnomalousBehavior 系の3つの Finding Type は、実行元やユーザーの属性によって重大度が変わります。

Exfiltration:RDS/AnomalousBehavior

重大度 条件
Low プライベートネットワークのIPから SELECT を実行
Medium パブリックIPから SELECT を実行
High 異常に大量の行を返す SELECT で、かつ、初めて見るパブリックネットワークからの実行、または高権限ロール・管理用クライアントによる実行

Impact:RDS/AnomalousBehavior.Drop

重大度 条件
Medium 異常な DROP 文を実行
High 複数の DROP 文を実行し、かつ、初めて見るパブリックネットワークからの実行、または高権限ロール・管理用クライアントによる実行

Impact:RDS/AnomalousBehavior.Delete

重大度 条件
Low プライベートネットワークのIPから DELETE を実行
Medium パブリックIPから DELETE を実行
High 異常に大量の行を返す DELETE で、かつ、初めて見るパブリックネットワークからの実行、または高権限ロール・管理用クライアントによる実行

Drop には Low がなく、最も低い重大度が Medium です。

対応エンジンバージョン

データアクティビティの監視は、ログインアクティビティの監視よりも、対応バージョンの要件が厳しくなっています。

エンジン ログインアクティビティ データアクティビティ
Aurora PostgreSQL 10.23 / 11.12 / 12.7 / 13.3 / 14.3 / 15.2 / 16.1 以降 11.19 / 12.14 / 13.10 / 14.7 / 15.2 以降
RDS for PostgreSQL 11.17 / 12.12 / 13.8 / 14.5 以降、15〜18 11.20 / 12.15 / 13.11 / 14.8 / 15.3 以降

※ 上記は公式ドキュメント(2026年10月時点)の記載です。最新の対応バージョンは公式ドキュメントでご確認ください。

その他の条件は次のとおりです。

  • RDS for PostgreSQL のリードレプリカは、プライマリが対応バージョンであること、かつ、プライマリからのレプリケーションが成功していることが必要です。
  • 対応リージョンは、RDS Protection を提供している全商用リージョンと AWS GovCloud (US) です。

料金

RDS Protection の料金は、保護対象のDBインスタンスのサイズに応じた月額課金です。ログインアクティビティとデータアクティビティで単価が分かれています。

対象 課金単位 計算式
プロビジョニング済みインスタンス vCPU 数/月 稼働時間 × vCPU 数 ÷ 月の時間数
Aurora Serverless v2 ACU 数/月 稼働時間 × ACU 数 ÷ 月の時間数

アジアパシフィック(東京)の単価は次のとおりです(AWS の公開価格リストの記載)。

監視対象 プロビジョニング済み Aurora Serverless v2
ログインアクティビティ 1.33 USD/vCPU/月 0.33 USD/ACU/月
データアクティビティ 3.99 USD/vCPU/月 0.99 USD/ACU/月

データアクティビティは、ログインアクティビティを有効にしている場合のみ利用できます。ログインのみ、またはログインとデータの併用を選べます。併用すると、プロビジョニング済みインスタンスは合計 5.32 USD/vCPU/月となる計算です。

なお、日本語版の料金ページには、執筆時点(2026年10月20日)でデータアクティビティの記載がありませんので、英語版の料金ページの記載の情報となります。正確な情報は公式のプライシングページをご確認ください。

https://aws.amazon.com/guardduty/pricing/

無料トライアル

無料トライアルは、アカウントごと・リージョンごとに30日間です。

  • GuardDuty をそのリージョンで初めて有効化した場合は、RDS Protection(ログイン・データアクティビティ)も無料トライアルに含まれます。
  • すでに RDS Protection(ログインアクティビティ)を使っている場合、データアクティビティの監視を初めて有効化すると、そのぶんの30日間無料トライアルが別途付きます。
  • トライアルが終了しても自動では無効化されず、そのまま利用料金が発生します。

トライアル期間中に、そのアカウント・リージョンでの利用料金の見積もりを確認できます。

有効化してみる

実際に有効化してみます。

  • GuardDuty コンソールの Protection plans から RDS Protection を開く
  • ログインアクティビティとデータアクティビティの設定が別々に有効化が可能

  • 有効化となることを確認

組織全体への一括有効化も、コンソールからワンクリックでできます。API、SDK、CLI、CloudFormation でも有効化できます。

なお、有効化直後や新しく作成したDBインスタンスには、通常の動作を学習するベースライン作成期間があります。この期間は最大2週間で、その間は異常なデータアクティビティの Finding が出ないことがあります。

運用上の注意点

  • 学習期間: 有効化直後や新規DBインスタンスでは、最大2週間は Finding が出ないことがあります。
  • 調査用ログ: GuardDuty は、データアクティビティのログをユーザーには提供しません。Finding の詳細な調査には、DB側の監査ログ(pgaudit など)の取得が別途必要です。
  • 検知後の対応: 公式ドキュメントでは、次の対応が推奨されています。
    • 対象DBユーザーのパスワードを変更する(破壊的な操作の場合は、アクセス権も剥奪する)
    • 監査ログで、アクセスされたデータや影響範囲を確認する
    • DBをプライベートVPCに置き、セキュリティグループで必要な送信元だけに絞る
    • データ損失が確認された場合は、バックアップやポイントインタイムリカバリで復旧する

最後に

今回のアップデートで、ログイン監視に加えて「ログイン後に何をされたか」も GuardDuty で見られるようになりました。認証情報が漏えいした場合の、被害拡大の検知に役立ちます。
対象となる DB エンジンやバージョンも限定的ではありますが、該当する場合は積極的に使っていきたい機能かと思いました。

30日間の無料トライアルがあるので、まずは対象のPostgreSQL環境で有効化して、利用量を確認してみるのがよさそうです。

この記事が、RDS のセキュリティ対策を検討されている方の参考になれば幸いです。

参考リンク

この記事をシェアする

関連記事