このトピックでは、Alibaba Cloud 上で Auditbeat を使用して Linux 監査フレームワークからデータを収集し、ファイルの整合性を監視し、可視化を作成する方法について説明します。
背景情報
Auditbeat は、監査ログ用の軽量シッパーです。例えば、Auditbeat は Linux 監査フレームワークから監査イベントを収集して一元管理し、バイナリや設定ファイルなどの重要なファイルへの変更を検出し、潜在的なセキュリティポリシー違反を特定し、分析しやすいように構造化データを生成します。また、Auditbeat は Logstash、Elasticsearch、Kibana とシームレスに連携します。
Auditbeat は 2 つのモジュールをサポートしています:
Auditd
Auditd モジュールは、Linux カーネルの一部である Linux 監査フレームワークから監査イベントを受信します。Auditd モジュールはカーネルをサブスクライブして、イベントが発生したときに受信できます。詳細については、Auditd の公式ドキュメントをご参照ください。
重要Auditd モジュールが有効になっている場合、他の監視ツールが Auditbeat と干渉する可能性があります。例えば、別のプロセス (auditd など) が Linux 監査フレームワークからデータを受信するように登録されている場合、エラーが発生することがあります。この場合、
service auditd stopコマンドを実行してプロセスを停止してください。ファイル整合性
ファイル整合性モジュールは、指定されたディレクトリ内のファイル変更をリアルタイムで監視します。Linux システムでファイル整合性モジュールを使用するには、Linux カーネルが inotify をサポートしていることを確認してください (inotify はカーネルバージョン 2.6.13 以降で利用可能です)。詳細については、ファイル整合性の公式ドキュメントをご参照ください。
説明公式の Auditbeat System モジュールは現在実験段階です。将来のリリースで削除または変更される可能性があり、使用しないことを推奨します。モジュールの詳細については、モジュールをご参照ください。
前提条件
以下を完了してください:
Alibaba Cloud Elasticsearch クラスターを作成します。
詳細については、「Alibaba Cloud Elasticsearch クラスターの作成」をご参照ください。
Alibaba Cloud Elasticsearch クラスターの 自動インデックス を有効にします。
セキュリティ上の理由から、Alibaba Cloud Elasticsearch はデフォルトで 自動インデックス を許可していません。しかし、Beats はこの機能に依存しています。したがって、出力 が Elasticsearch に設定されている場合は、自動インデックス 機能を有効にする必要があります。詳細については、「クイックアクセスと設定」をご参照ください。
ご利用の Alibaba Cloud Elasticsearch クラスターと同じ Virtual Private Cloud (VPC) 内に Elastic Compute Service (ECS) インスタンスを作成します。
詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。
重要Beats は現在、Alibaba Cloud Linux (Alinux)、RedHat、CentOS オペレーティングシステムのみをサポートしています。
ターゲットの ECS インスタンスにクラウドアシスタントと Docker サービスをインストールします。
詳細については、「クラウドアシスタントクライアントのインストール」および「Alibaba Cloud Linux 2 インスタンスでの Docker のデプロイと使用」をご参照ください。
操作手順
Alibaba Cloud Elasticsearch コンソールにログインします。
左側のナビゲーションウィンドウで、Beats データシッパー をクリックします。
シッパーの作成 セクションで、Auditbeat をクリックします。
シッパーをインストールして設定します。
この例では、次の設定を使用します。詳細については、「Filebeat を使用した ECS サービスログの収集」および「シッパーの YML 設定」をご参照ください。[シッパー名] に
zl-auditbeatなどを入力し、[バージョン] に6.8.5などを選択し、[シッパーの出力先] に [Elasticsearch] を選択してターゲットインスタンスを指定し、[プロトコル] に [HTTP] を選択し、[ユーザー名] (例:elastic) と [パスワード] を入力します。説明Kibana モニタリングの有効化 を選択すると、Kibana コンソールで Auditbeat サービスのモニタリングが有効になります。
Kibana ダッシュボードの有効化 を選択すると、追加の YML 設定なしで Kibana コンソールにチャートが生成されます。Alibaba Cloud Kibana は VPC 内で設定されているため、まず Kibana 設定ページで Kibana のプライベートネットワークアクセスを有効にする必要があります。詳細については、「Kibana を使用したクラスターへの接続」をご参照ください。
以下のモジュール設定は、デフォルトの `auditbeat.yml` ファイルのものであり、変更は不要です:
Auditd モジュール設定
- module: auditd # Load audit rules from separate files. Same format as audit.rules(7). audit_rule_files: [ '${path.config}/audit.rules.d/*.conf' ] audit_rules: |audit_rule_files:ロードする監査ルールファイルを指定します。ワイルドカードがサポートされています。デフォルトでは、32 ビットと 64 ビットのルールファイルが提供されます。システムに合ったものを選択してください。audit_rules:監査ルールを定義します。ECS インスタンスに接続し、./auditbeat show auditd-rulesを実行してデフォルトの監査ルールを表示できます。-a never,exit -S all -F pid=26253 -a always,exit -F arch=b32 -S all -F key=32bit-abi -a always,exit -F arch=b64 -S execve,execveat -F key=exec -a always,exit -F arch=b64 -S connect,accept,bind -F key=external-access -w /etc/group -p wa -k identity -w /etc/passwd -p wa -k identity -w /etc/gshadow -p wa -k identity -a always,exit -F arch=b64 -S open,truncate,ftruncate,create,openat,open_by_handle_at -F exit=-EACCES -F key=access -a always,exit -F arch=b64 -S open,truncate,ftruncate,create,openat,open_by_handle_at -F exit=-EPERM -F key=access説明ほとんどの場合、デフォルトのルールで一般的な監査要件を満たせます。カスタムの監査ルールを使用するには、audit.rules.d ディレクトリ内のルールファイルを変更してください。
ファイル整合性モジュール設定
- module: file_integrity paths: - /bin - /usr/bin - /sbin - /usr/sbin - /etcpaths:監視するパスを指定します。デフォルトでは、Auditbeat は/bin、/usr/bin、/sbin、/usr/sbin、/etcを監視します。
シッパーをインストールする ECS インスタンスを選択します。
シッパーを起動し、そのインストール状況を確認します。
Start をクリックします。
シッパーが起動すると、シッパーの有効化 ダイアログボックスが表示されます。
Beats シッパーに戻る をクリックして Beats データシッパー ページに戻ります。シッパーの管理 セクションで、正常に起動した Auditbeat シッパーを表示します。
ステータス が [有効 1/1] に変わるまで待ち、Actions 列の インスタンスの表示 をクリックします。
インスタンスの表示 ページで、インストール済みシッパー を確認します。正常なハートビート ステータスは、インストールが成功したことを示します。
結果の表示
ターゲットの Alibaba Cloud Elasticsearch クラスターの Kibana コンソールにログインします。
詳細については、「Kibana コンソールへのログイン」をご参照ください。
左側のナビゲーションウィンドウで、[Discover] をクリックします。事前定義された auditbeat-* パターンを選択し、時間範囲を選択して、その期間に Auditbeat が収集したデータを表示します。
ページの上部には、ヒット数と、時間経過に伴うデータ分布を示すヒストグラムが表示されます。下のデータテーブルでは、各レコードを展開して
event.module、event.action、user.name、network.directionなどの監査フィールドの詳細を表示できます。左側のナビゲーションウィンドウで、[Dashboard] をクリックします。
[Dashboards] リストで、[Auditbeat File Integrity] Overview をクリックします。次に、時間範囲を選択してファイルの変更を表示します。
