【Security Hub修復手順】[RDS.34] Aurora MySQLのDBクラスターでは、監査ログをCloudWatch Logsに発行する必要があります
こんにちは。AWS事業本部コンサルティング部に所属している和田響です。
皆さん、お使いのAWS環境のセキュリティチェックはしていますか?
当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。
本記事の対象コントロール
[RDS.34] Aurora MySQLのDBクラスターでは、監査ログをCloudWatch Logsに発行する必要があります
[RDS.34] Aurora MySQL DB clusters should publish audit logs to CloudWatch Logs
前提条件
本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。
対象コントロールの説明
本コントロールは、Aurora MySQLのDBクラスターの監査ログをCloudWatch Logsへエクスポートすることを求めるものです。
監査ログを有効にすることで、ログデータのリアルタイム分析や、CloudWatch を使用したアラームの作成、メトリクスの表示を行うことができます。監査および調査要件に応じて有効化を検討してください。
要件にない場合は、本コントロールを抑制済み
にしてください。
修正手順
1 対象のリソース(RDS DBクラスター)を特定
まずAWS Security HubのコンソールからRDS.34のチェック結果を確認し、是正対象のRDS DBクラスターを特定します。
2 パラメータグループを作成する
RDSのコンソールのサイドバーから「パラメータグループ」を開きます。
必要な情報を入力し「パラメータグループの作成」を行います。
- パラメータグループファミリー:使用しているRDSと同じものを選択
- タイプ:
DB Cluster Parameter Group
を選択 - グループ名:任意
- 説明:任意
作成したパラメータグループを選択し「編集」を行います。
server_audit_logging
およびserver_audit_events
のパラメータを変更します。
server_audit_logging
はデフォルトは0
ですが監査ログの出力のためにはこれを1
に設定します。
server_audit_events
はログに記録するイベントを指定できます。
今回はCONNECT,QUERY,TABLE
を指定します。
server_audit_events
に設定できる値は以下の通りになります。
CONNECT
– 成功した接続と失敗した接続、および切断の両方をログに記録します。このイベントにはユーザー情報が含まれます。QUERY
– 構文エラーまたは権限エラーが原因で失敗したクエリを含む、すべてのクエリをプレーン テキストでログに記録します。QUERY_DCL
– QUERY イベントに似ていますが、データ制御言語 (DCL) クエリ (GRANT、REVOKE など) のみを返します。QUERY_DDL
– QUERY イベントに似ていますが、データ定義言語 (DDL) クエリ (CREATE、ALTER など) のみを返します。QUERY_DML
– QUERY イベントに似ていますが、データ操作言語 (DML) クエリ (INSERT、UPDATE など、および SELECT) のみを返します。TABLE
– クエリの実行によって影響を受けたテーブルをログに記録します。
RDSのコンソールから対象のDBクラスターを選択し、「変更」をクリックします。
.
既存のRDSのパラメータグループを新規ののもに置き換えます。
3 監査ログを有効化する
RDSのコンソールから対象のDBクラスターを選択し、「変更」をクリックします。
「追加設定」のタブから「ログのエクスポート」欄の「監査ログ」のチェックボックスにチェックを入れ有効化します。
変更後「発行されたログ」に監査(audit)が表示されていることを確認します。
最後に
今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。
コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!
最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。