【Security Hub修復手順】[RDS.9] データベースログ記録を有効にする必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
2023.03.23

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

こんにちは、AWS事業本部の平井です。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。

本記事の対象コントロール

[RDS.9] データベースログ記録を有効にする必要があります

[RDS.9] Database logging should be enabled

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容です。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。

コントロールの説明

このコントロールは、Amazon RDS で以下のログが有効で CloudWatch Logs に送信されているかどうかをチェックします。

  • Oracle: (アラート、監査、トレース、リスナー)
  • PostgreSQL: (Postgresql、アップグレード)
  • MySQL: (監査、エラー、一般、SlowQuery)
  • MariaDB: (監査、エラー、一般、SlowQuery)
  • SQL Server: (エラー、エージェント)
  • Aurora-MySQL: (監査、エラー、一般、SlowQuery)
  • Aurora-PostgreSQL: (Postgresql、アップグレード)。

上記のログ出力が無効の場合、コントロールは失敗します。

データベースログは、セキュリティやアクセス監査、可用性の問題を診断するのに利用できますので、設定しましょう。

データベースエンジンごとにログ出力する設定が異なりますので次項でご説明します。

データベースエンジンごとの設定値

データベースエンジンごとに設定が必要なパラメータの表になります。

データベースエンジン DBパラメータ
MariaDB general_log=1
slow_query_log=1
log_output = FILE
追加設定も必要
MySQL general_log=1
slow_query_log=1
log_output = FILE
PostgreSQL log_statement=all
log_min_duration_statement=(ms)

パラメータの説明

上記のDBパラメータの説明になります。

DBパラメータ名 説明
general_log 一般クエリログを有効にする
slow_query_log スロークエリログを有効にする
log_output ログ出力の出力先を指定
log_statement どのSQL文をログに記録するかを制御します。
log_min_duration_statement ログ取得するSQLの最低実行時間

修正手順

1 対象のリソースの確認方法

  1. AWSマネージメントコンソールにログインし、AWS 基礎セキュリティのベストプラクティス v1.0.0にて、「RDS.9」を検索します。タイトルを選択します。
  2. リソースの欄から失敗しているリソースを確認できます。

2 ステークホルダーに確認

ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。

  • ログ出力を有効にしてよいか

今回は、例として、RDSのMySQLタイプのリソースに対してログ出力を設定します。

3 DBパラメータグループの設定変更

  1. RDSの対象のリソースにアタッチされているDBパラメータグループをクリックします。
  2. 先程説明しましたデータベースエンジンごとの設定値を参考に、以下の通りにパラメータを修正します。
    • general_log=1
    • slow_query_log=1
    • log_output = FILE
    • MySQLの監査ログは、オプショングループのオプションを追加する必要があります。今回の設定値はデフォルトにします。(詳細設定は、こちらのドキュメントをご参考ください。)
  3. またインスタンス側の設定も必要なので、対象のリソースの[変更]をクリックします。
  4. 出力するログを選択し、設定を反映します。
  5. 変更後、CloudWatch Logsにログが出力されているか確認します。
  6. ログを出力する場合は、ログが肥大化しないために、保持期間の設定を推奨します。

これで、ログ出力設定が完了しました!

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、平井でした!