SLS2021-02-26に基づいてRDS監査コンプライアンス監視を構築する

はじめに: データベースはエンタープライズビジネスのデータコアであり、そのセキュリティの問題は、従来の環境での漏洩や改ざんの重要な原因になっています。したがって、データベースの操作動作、特に完全なSQL実行レコードの監査ログは特に重要です。

バックグラウンド

データベースはエンタープライズビジネスのデータコアであり、そのセキュリティの問題は、従来の環境での漏洩や改ざんの重要な原因になっています。したがって、データベースの操作動作、特に完全なSQL実行レコードの監査ログは特に重要です。
SLSとRDSは共同で、RDSSQL監査ログをSLSにリアルタイムで配信するRDSSQL監査機能を開始しました。SLSは、リアルタイムのクエリ、視覚分析、アラーム、およびその他の機能を提供します。
RDS SQL監査ログは、データベースで実行されたすべての操作を記録します。この情報は、ネットワークプロトコル分析を通じてシステムによって取得されます。これは、非常に低いCPUを消費し、SQL実行の効率に影響を与えません。RDS SQL監査ログには、次の操作が含まれますが、これらに限定されません。
•データベースのログインおよびログアウト操作。
•DDL(データ定義言語)操作:CREATE、ALTER DROP、TRUNCATE、COMMENTなどを含むデータベース構造に対して定義されたSQLステートメント。
•DML(データ操作言語)操作:SELECT、INSERT、UPDATE、DELETEなどを含むSQL操作ステートメント。
•ロールバック、制御など、SQLを介して実行されるその他の制御を含む、その他のSQL実行操作。
•SQL実行の遅延、実行結果、および影響を受ける行数に関する情報。
さらに、SLSは、RDSの運用コンプライアンスを監視し、RDS構成の異常を時間内に検出し、データベースのセキュリティを確保します。

RDSログ監査コレクション

現在、RDS SQL監査ログをSLSに収集する方法は2つあります。
•クラウド製品収集チャネル
利点:同じリージョン内の少数のインスタンスを単純な構成で収集できます。
短所:クロスリージョン、クロスアカウントをサポートしていません。インスタンスの動的検出をサポートしていません。クロスリージョンとクロスアカウントが必要な場合は、独自のデータ処理タスクを構築する必要があります。
•ログ監査チャネルの
利点:
監査レポートの分析に便利な、アカウント間および地域間の集中収集をサポートします。
ケース検出をサポートし、ワンクリックで自動収集を開始し、収集戦略を通じて収集範囲を制御するためのサポート。
短所:
ログ監査APPを開くには、AK認証または手動認証が必要です。
コレクションインスタンスのSQLインサイト機能は自動的にオンになり、自動オフはサポートされません。SQL Insightをオフにする必要がある場合は、ログ監査RDS収集機能全体をオフにするか、収集戦略を通じて収集しないようにインスタンスを制御してから、RDSコンソールインスタンスでインスタンスごとにSQLInsightをオフにする必要があります。

image.png

クラウド製品収集チャネル

同じリージョンでの単一アカウント収集シナリオ(同じリージョンのログライブラリに収集できるのはRDS監査ログのみ)

•SLSコンソールのホームページの[データへのアクセス]領域で、[RDS監査]を選択します。以下は張家口の例です。
image.png
•収集されたインスタンスは張家口にあるため、張家口に新しいプロジェクトとログストアを作成するか、既存のプロジェクトとログストアを選択する必要があります。
•注:収集されたRDSインスタンス監査ログは、同じリージョンでのみ収集できます。
image.png
•[データソースの設定]ページでは、RAM認証の完了後に張家口のすべてのRDSインスタンスの情報を表示できます。ログ配信機能はデフォルトで無効になっています。その後、ログ収集の要件に応じて、対応する[配信を有効にする]ボタンをオンにして、対応するインスタンスのログ配信機能を有効にすることができます。
image.png

•この時点で、SQL監査ログの収集が開始され、上記で設定したログストアにジャンプしてRDSインスタンスログを表示できます。
image.png

クロスリージョンおよびクロスアカウント収集シナリオ

クラウド製品の収集チャネルには、RDS監査ログを収集できるのは同じリージョン内のログライブラリのみであるという制限があるため、この制限時間を破ってアカウント間およびリージョン間の収集を実現するには、クロスドメインまたはクロスドメインを構築する必要があります。 -アカウントデータ処理タスク。
自作のデータ処理タスクはより複雑な承認を必要とするため、ここでは詳しく説明しません。必要に応じて、以下を参照してください
。1。カスタムロール認証の構成
2.ベストプラクティス:
リージョン間でデータ送信する3.ベストプラクティス:マルチターゲットログストアデータ配布での「クロスアカウント配布」。
image.png

クラウド製品の収集チャネルには、単純な収集シナリオでの便利な収集という利点しかありませんが、地域間およびアカウント間の収集を処理する場合、データ同期リンクが長くなるだけでなく、承認がより複雑になることがわかります。プロセスが必要です。例として、変更(または新しいインスタンスが表示された場合)の場合、同期リンクを手動で保守する必要があり、保守コストが非常に高くなります。ログ監査チャネルは、地域間、アカウント間の収集、およびインスタンスの変更と保守にかかる高コストの問題点を解決できます。

ログ監査収集チャネル

ログ監査の承認

Alibaba CloudRAMのユーザー操作を使用することをお勧めします。
•AliyunRAMユーザーを作成し、ユーザーにAliyunRAMFullAccessおよびAliyunLogFullAccessアクセス許可を付与してAKを作成します。
•上記のRAMユーザーにログインし、SLSコンソールで[Log AuditService]を選択します。
image.png

•最初のエントリを開くには、認証が必要です。ここに最初のステップで作成したAKを入力し、監査ログが保存されている中央のプロジェクトエリアを選択します。
image.png
•次のページが表示されれば、認証は完了しています。その後、ログ収集のニーズに応じて、対応するクラウド製品ログを開くことができます。たとえば、ここでは、ActiontrailログとRDSSQL監査ログを収集する必要があります。
image.png

SQL監査コレクションを構成する

この記事では、RDS SQL監査ログを有効にし、収集戦略を通じてログ収集スコープを管理する方法に焦点を当てます。SQL監査ログを有効にするには、最初に収集戦略を構成する必要があります。完全な構文の説明は、収集戦略ドキュメントで詳しく説明されています。一般的に使用される戦略を次に示します。
•特定の領域でインスタンスログを収集します。例:杭州と上海のインスタンスのみを収集します。
image.png

•特定のタグのインスタンスは収集されません。例:テストインスタンスにtypeタグをタグ付けし、値testを実行します。
image.png

•限定されたインスタンスログのみを収集します。
image.png

SQL監査

image.png

RDSログ監査レポート

SLSベースのSQL監査ログは、次の3つの監査レポートを提供します。
•RDS監査センター:主に、SQL実行インジケーター、分布、すべてのデータベースの傾向などの情報を表示します。例:PV、UV、操作データベース/データテーブルなどの統計。
•RDS監査セキュリティセンター:主に、すべてのデータベースの失敗したSQLと危険なSQL、および大量の削除または変更イベントの詳細、分布、傾向を表示します。
•RDS監査パフォーマンスセンター:主に、SQL実行のピーク、SQL実行の平均時間、遅いSQLの特定の分布とソースなど、すべてのデータベースの特定のパフォーマンス指標を表示します。

RDSログ監査-アラーム

SLSログ監査は、RDS SQL監査用の19の組み込みルールを含む、新しくリリースされた組み込みアラームルールです(今後も拡張されます)。

ルールビュー

SLSホームページ->ログ監査サービス->コンソールの左側にある監査アラーム->ルール設定/アラームルールに移動し、監査アラームルール設定ページに入ることができます。ルールは主に2つのカテゴリに分類されます。
•SQL監査ルール(RDSセキュリティ):主に異常なSQL実行を監視するため。たとえば、SQLの速度が遅い、バッチ削除などです。
•前提条件:ログ監査APPを介してRDSSQL監査ログ収集を有効にします。
•RDS運用コンプライアンスルール:RDSの運用構成を監視するためのCISルールに主に基づいています。
•前提条件:ログ監査APPを介してActiontrail操作ログ収集を有効にします。
image.png

アラーム設定

アクション戦略の構成
•Dingdingチャネル通知
•次の例:すべてのアラームがDingding通知に送信されます。
image.png

•SMS /音声チャネル通知:
•次の例:アラームレベルが重大度を超えると、音声アラームが「SLS監査組み込みユーザーグループ」に送信されます。通知者の電話番号などの特定の情報については、詳細について「ユーザーおよびユーザーグループの作成」を参照してください。
image.png

アラームサンプル

次に、2つの特定の例を使用して、RDS監査アラートの使用法を紹介します。

SQL監査サンプル-遅いSQL監査

アラームをオンにする
•ユーザーのニーズに応じてアラームパラメータを設定します。たとえば、SQL検出のしきい値が遅い、ホワイトリストをフィルタリングするなどです。
•開くボタンをクリックして、アラームを開きます。
image.png

image.png

構造異常
•テストデータセット

# 表结构
mysql> desc test;
+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| id              | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| title           | varchar(100)     | NO   | MUL | NULL    |                |
| author          | varchar(40)      | NO   |     | NULL    |                |
| submission_date | date             | YES  | MUL | NULL    |                |
+-----------------+------------------+------+-----+---------+----------------+
4 rows in set (0.04 sec)

# 数据
mysql> select * from test limit 5;
+----+--------+---------+-----------------+
| id | title  | author  | submission_date |
+----+--------+---------+-----------------+
|  1 | title1 | author1 | 2021-01-12      |
|  2 | title1 | author1 | 2021-01-12      |
|  3 | title1 | author1 | 2021-01-12      |
|  4 | title1 | author1 | 2021-01-12      |
|  5 | title1 | author1 | 2021-01-12      |
+----+--------+---------+-----------------+

•遅いSQL

# 使用索引字段group by
mysql> select title, count(1) as cnt from test where submission_date='2021-01-12' group by title;
+--------+-------+
| title  | cnt   |
+--------+-------+
| title1 | 59392 |
| title2 |  8448 |
+--------+-------+
2 rows in set (0.06 sec)

# 索引字段经过运算后group by,使得索引失效。
mysql> select title, count(1) as cnt from test where day(submission_date)=12 group by title;
+--------+-------+
| title  | cnt   |
+--------+-------+
| title1 | 59392 |
| title2 |  8448 |
+--------+-------+
2 rows in set (0.58 sec)

•アラームは遅いSQLを監視し、アラーム通知を開始します。
image.png

RDS操作コンプライアンスサンプル-インスタンスアクセスホワイトリストの異常な構成

image.png

元のリンク

この記事はAlibabaCloudのオリジナルのコンテンツであり、許可なく複製することはできません。

おすすめ

転載: blog.csdn.net/xxscj/article/details/114128479