ログの監視と収集
概要
Pandora FMS のログ監視により、ユーザは、ログが処理されたタイムスタンプを使用して情報を順番に整理し、キャプチャされた複数のソースからのすべてのログを単一のコンソールで参照できます。
この情報には構造や形式は含まれておらず、ファイルに元々付いていたタイムスタンプに加えて、タイムスタンプ (受信時刻) とともにテキスト形式で保存されます。
これらのログは、セキュリティイベント (SIEM) の生成や、トラブルシューティング、法令遵守、フォレンジック分析などに利用できます。ログ処理能力は、ログ保存に使用するデバイスの容量によってのみ制限されます。
Pandora FMS はログ情報の保存に OpenSearch を使用します。適切な設定方法については、「OpenSearch のインストールと設定」もご覧ください。
動作の仕組み
- ソフトウエアエージェントで分析されたログ (eventlog またはテキストファイル) は、Pandora サーバへ転送されます。エージェントから送信される XML に (RAW) データとして含まれます。
- Pandora FMS データサーバは、エージェントから XML を受け取ります。そこには、監視とログの両方の情報が含まれています。
- データサーバが XML データを処理する時に、ログ情報を識別し、報告されたエージェントに関する情報やログのソースをプライマリデータベースに保存し、ログの保存には情報を自動的に OpenSearch に送信します。
- Pandora FMS はデータを OpenSearch インデックスに保存し、各 Pandora FMS インスタンスの日次インデックスを生成します。
- Pandora FMS サーバには、システム管理者が定義した間隔(デフォルトでは30日)でインデックスを削除するメンテナンスタスクがあります。
- フォーマットの問題を回避するために、ログは符号化されてネットワークを通過します。
- ログを暗号化してネットワーク経由で送信したい場合は、安全なトランスポート (Tentacle の安全な通信) を使用できます。
- ログは Syslog によって Pandora FMS Syslog サーバに送信され、ローカル Syslog サーバからのログが直接処理されるため、処理速度が大幅に向上します。
- さまざまなエージェントとリモート Syslog サーバを使用して負荷を分散し、ネットワークトポロジに最適な分散と適合性を実現できます。
ログ収集
バージョン 7.0 NG 774 以降、Pandora FMS にはログ情報を保存するための OpenSearch が組み込まれています。ログの収集を開始する前に、まずこのサーバを用意してください。「OpenSearch のインストールと設定」も参照してください。
コンソールの設定
ログの表示を有効化するには、管理(Management) → セットアップ(Setup) → システム設定 → ログ収集(Log collector) へ行き、設定を有効化する必要があります。ログ収集の有効化(Activate Log Collector) をクリックし、更新(Update) をクリックします。
OpenSearch オプション セクションで次の値を設定する必要があります。
- OpenSearch IP: Pandora FMS で使用する OpenSearch サーバーの IP アドレス。
- https の利用(Use https): インストールした OpenSearch 環境において接続に HTTPS が有効になっている場合は有効にする必要があります。
- OpenSearch ポート(OpenSearch Port): TCP のポート番号。
- 古い情報を削除する日数(Days to purge old information): 収集したデータを削除するまでの日数。
- 基本認証(Basic authentication): (オプション) OpenSearch に基本認証が設定されている場合 (推奨)、ユーザ (User) とパスワード (Password) を入力する必要があります。
エージェント設定
ログ収集は、Microsoft Windows® 用エージェントと Unix® エージェント (Linux®、MacOS X®、Solaris®、HPUX®、AIX®、BSD® など) の両方でエージェントを通じて行われます。
MS Windows の例
バージョン 774 以降では、Logs extraction
の下の行のコメントを外す必要があります。
# Log extraction #module_begin #module_name X_Server_log #module_description Logs extraction module #module_type log #module_regexp C:\server\logs\xserver.log #module_pattern .* #module_end
ログタイプモジュールの説明の詳細については、特定のディレクティブ を参照して次のセクションを確認してください。
module_type log
このタイプのタグ module_type log
を定義すると、データベースに保存するのではなく、ログコレクターに送信する指定になります。このタイプのデータを持つモジュールは、有効になっている場合はコレクターに送信されます。そうでない場合は、情報は破棄されます。
774 より前のバージョンの場合:
バージョン 750 以降では、詳細オプションを有効にすることで、エージェント プラグイン を使用してこのアクションを実行できます。
以下に示すタイプの処理が実行されます。
logchannel モジュール
module_begin module_name MyEvent module_type log module_logchannel module_source <logChannel> module_eventtype <event_type/level> module_eventcode <event_id> module_pattern <text substring to match> module_description <description> module_end
logevent モジュール
module_begin module_name Eventlog_System module_type log module_logevent module_source System module_end
regexp モジュール
module_begin module_name PandoraAgent_log module_type log module_regexp <%PROGRAMFILES%>\pandora_agent\pandora_agent.log module_description This module will return all lines from the specified logfile module_pattern .* module_end
Unix システムの例
バージョン 782 以降では、Syslog メッセージを取得するには、以下の行を追加する必要があります。例えば、dnf コマンドからのメッセージは、module_pattern_exclude
ディレクティブによって除外されます。
module_begin module_name Syslog module_description Syslog main log file module_type log module_regexp /var/log/messages module_pattern .* # Sample exclude patter to avoid any dnf messages module_pattern_exclude dnf module_source_type syslog module_end
module_type log
ディレクティブを使用すると、ログデータをデータベースに保存するのではなく、ログコレクターに送信するように指定できます。このタイプのデータを持つモジュールは、ログコレクターが有効になっている限り、ログコレクターに送信されます。有効になっていない場合、ログコレクターから情報は破棄されます。
ログタイプモジュールの説明の詳細については、特定のディレクティブ を参照して次のセクションを確認してください。
バージョン 774 以降では、ログ の取得のために次の行を設定する必要があります。
# Logs extraction #module_begin #module_name Syslog #module_description Logs extraction module #module_type log #module_regexp /var/log/logfile.log #module_pattern .* #module_end
Pandora FMS Syslog サーバ
このコンポーネントにより、Pandora FMS は、それが配置されているマシンの syslog を分析し、その内容を対応する OpenSearch サーバに保存できるようになります。
Syslog サーバの主な利点は、ログの統合を補完することです。Syslog サーバの Linux® および Unix® 環境からのエクスポート機能によってサポートされているため、Syslog サーバでは、ソースに関係なくログを照会し、単一の共通ポイント (Pandora FMS コンソールログビューア) で検索できます。
Syslog サーバ 8.2102 のインストールは、クライアントとサーバの両方で実行する必要があります。
dnf install rsyslog
設定ファイル /etc/rsyslog.conf
にアクセスして、TCP および UDP 入力を有効にします。
(...) # Provides UDP syslog reception module(load="imudp") input(type="imudp" port="514") # Provides TCP syslog reception module(load="imtcp") input(type="imtcp" port="514") (...)
rsyslog サービスを再起動します。サービスが利用可能になったら、次のコマンドでポート 514
にアクセスできることを確認します。
netstat -ltnp
クライアント側 では、Syslog サーバにログを送信できるように rsyslog を設定します。/etc/rsyslog.conf
にてリモートホストを設定する行を見つけて有効にします (remote-host
をサーバの IP アドレスに変更します)。
action(type="omfwd" Target="remote-host" Port="514" Protocol="tcp")
rsyslog が受信するログのサイズは、デフォルトでは 8 キロバイトです。これより大きなログを受信すると、完全なログが受信されるまで、残りのコンテンツを含む新しいエントリが追加されます。これらの新しいエントリには、ログを送信したホストの名前が含まれていないため、この動作により、コンソールに新しい不要なログソースと新しいエージェントの両方が作成されることがあります。これを回避するには、次の行を追加して、受信するログのサイズを増やすことをお勧めします。
$MaxMessageSize 512k
ファイルを保存してテキストエディタを終了します。
ログを送信すると、クライアントの名前を持つコンテナエージェントが生成されるため、エージェントの重複を避けるために、クライアントのホスト名と一致する「別名」でエージェントを作成することをお勧めします。
Pandora FMS サーバでこの機能を有効にするには、pandora_server.conf
ファイルで 次の内容 を有効にします。
# Enable (1) or disable (0) the Pandora FMS Syslog Server syslogserver 1 # Full path to syslog's output file. syslog_file /var/log/messages # Number of threads for the Syslog Server syslog_threads 2 # Maximum number of lines queued by the Syslog Server's syslog_max 65535
ログが Pandora FMS サーバに送信されるようにデバイスの設定を変更する必要があることに注意してください。
PFMS サーバレベルでのフィルタ
Pandora FMS サーバでは、トークン syslog_whitelist を使用して、大文字と小文字を区別する正規表現または regexp に一致するログのみを 許可 し (たとえば、windows
は Windows
と同じではありません)、それ以外を破棄 することができます。
トークン syslog_blacklist を使用すると、設定された regexp に一致するログを 拒否 することができます (その他はすべて許可)。
両方のトークンはデフォルトで無効になっています。
- syslog_whitelist: このトークンを有効にすると、regexp に準拠するログのみが受け入れられ、残りは破棄されます。
- このトークンが有効化され、デフォルトのフィルタ
.*
が設定されている場合は、すべてが受け入れられます。 - 重要: 上記のトークンが正規表現なしで有効化されると、何も許可されません。
- 許可されたキーワードのフィルタリングが最初に実行されるため、次のステップの作業が削減されます。
- syslog_blacklist: regexp を配置すると、それに準拠するすべてのものが破棄されます (このトークンが有効化されていても、regexp がない状態の場合は、何もブロックされません)。
- syslog_blacklist によるフィルタリングは最後に行われます。
OpenSearch インタフェース
バージョン NG 774 以降
表示と検索
ログ収集ツールでは、主に 2 つの機能が重要です。情報の検索機能 (日付、データソース、キーワードなどでフィルタリング) と、時間単位ごとの発生回数で描画された情報の表示機能 (メニュー 操作(Operation) → モニタリング(Monitoring) → ログビューア(Log viewer)) です。
最も重要かつ便利なフィールドは、検索(Search) テキストボックスに入力する検索文字列と、使用可能な 3 つの検索タイプ (検索モード(Search mode)) の組み合わせです。
- 完全一致(Exact match): リテラル文字列検索。ログには完全一致が 含まれます。
- すべての単語(All words): 同じログ行内の順序に関係なく、指定された単語をすべて含む検索を行います。
- 任意の単語(Any word): 順序に関係なく、指定された単語の いずれか を含むものを検索します。
- フィルタリングされたコンテンツのコンテキストを表示するオプションをオンにすると、検索に関連する他のログ行の情報とともに状況の概要が表示されます。
高度な表示と検索
この機能を使用すると、データキャプチャモデル に基づいて情報を分類し、ログエントリをグラフィカルに表示できます。
これらのデータキャプチャモデルは基本的に、データソースを解析してグラフとして表示できる正規表現と識別子です。
高度なオプションにアクセスするには、高度なオプション(Advanced options) をクリックします。結果の表示タイプを選択できるフォームが表示されます。
- ログエントリを表示します(プレーンテキスト)。
- ロググラフを表示します。
- ロググラフの表示オプション (表示モード) を使用して、キャプチャモデル (キャプチャモデルの使用(Use capture model)) を選択できます。
- デフォルトモデルである Apache ログモデルでは、Apache ログを標準形式 (access_log) で処理または解析し、応答時間の比較グラフを取得したり、アクセスしたページと応答コード別にグループ化したりできます。
- 新しいキャプチャ モデルを作成するには、[編集] または [作成] をクリックします。
共通フィルタ
このオプションを使用すると、頻繁に使用するフィルタリング設定を保存し、フィルターリストを作成できます。すべてのフィルター値を設定したら、フィルタを保存(Save filter) をクリックして名前を付けます。その後、保存(Save) をクリックして設定や変更を保存できます(既存のフィルタに保存することもできます)。
それ以外の場合は、フィルタ読み込み(Load filter) をクリックして保存済みのフィルターのリストをドロップダウンすることで、これらの設定をいつでも読み込むことができます。フィルターを1つ選択し、フィルタ読み込み(Load filter) をクリックしてください。
操作(Operation) → ログ(Logs) → フィルタ(Filters) メニューでは、フィルタの編集(個別削除や一括削除など)が可能です。このオプションを使用してフィルタを作成することもできます。
お気に入りアイテムとして保存されたフィルタ
PFMS のお気に入りシステムを使用すると、セクションタイトルの星アイコンをクリックすることで、フィルタリング設定を含む ログビューア へのショートカットを保存できます。
お気に入りの要素は 頻繁に使用するフィルタ とは別に機能します。
エージェント表示でのログソース
Pandora FMS バージョン 749 以降、ログソース状態 と呼ばれるボックスがエージェント表示に追加され、そのエージェントによる最後のログ更新の日付が表示されます。虫眼鏡のアイコンをクリックすると、そのログにフィルタしたログビューワ表示にリダイレクトされます。
バージョン 774 以降: デフォルトでは、両方のビューに表示されるデータは過去 24 時間に制限されていますが、必要に応じて変更できます。