概要
Sangfor Firewall の自己監視は、どのアプリケーションが最大の帯域幅を占有するか、どの Web サイトにどのユーザーがアクセスしているかなど、ほとんどのニーズを満たすことができます。なぜここで紅胡を使うのでしょうか?必要なのは、特定のイベントで特定のユーザーがどのような行動をしたかなどのデータ処理と分析であるため、ファイアウォール上のログを確認するのは膨大な作業負荷であり、非効率的で時間がかかり、エラーが発生しやすくなります。そしてこれはまさにホンフが得意なことだ。運用・保守においては、監視だけでなくセキュリティにも配慮し、インフラ全体の安定・安全な運用を実現します。
監視対象
保護要件を満たすためにファイアウォール デバイスのログを収集して保存します。
ファイアウォールのログインセキュリティを監視する
ファイアウォール構成のセキュリティを監視する
ユーザー、IP、またはその他のキーワードに基づいた検索を提供し、セキュリティを強化します
ベクターをインストールする
データ コレクターとして、Vector はデバイスの syslog ログを受信し、Honghu プラットフォームに転送できます。ベクターの設定方法は以下を参照してください。
ベクターのインストール
インストール後にベクター バージョンをチェックして、インストールが成功したことを確認します。
Vector をインストールした後、Vector を直接実行すると、システムはまず /usr/bin の下でコマンドを検索します。このディレクトリにコマンドが存在しない場合、コマンドは見つかりません。現時点では、見つからないコマンド用のリンク ファイルを作成し、/usr/bin にリンクする必要があります。
Honhu プラットフォームにログインし、[データ管理] > [新しいデータセット] に移動します。
データソース名を編集し、上で作成した「スイッチ」としてデータセット範囲を選択すると有効になります。
syslog.toml スクリプトを作成するには、フィールドを調整する必要があります
address = "0.0.0.0:514": 0.0.0.0 はすべてのホストから送信された syslog を受信することを意味し、514 は受信ポートを意味します (syslog のデフォルトは 514)
mode = "udp": syslog を受信するためのプロトコルを示します。syslog のデフォルトは udp)
._target_table = "switch" : 上記で作成したデータセットの名前を示します
address = "172.20.6.111:9092": Honhu の IP と対応するポート
変更した syslog スクリプトを実行し、実行したままにします。
スイッチにログインして syslog をトリガーします(注: スイッチにログインしてコマンドを入力すると、自動的に syslog がトリガーされます)。Honhu プラットフォームにログインして、データがスイッチ データセットにインポートされているかどうかを確認します。以下の図に示すように、イベント数はデータのインポートが成功したことを示しています。
ベクターを介してスイッチ データセットにインポートされたデータをクエリします
ファイアウォールの Syslog を構成する
syslog設定>Honghu IPとポート番号を入力>適用
フィールド抽出
Sangfor は国産ファイアウォールであるため、多くのファイアウォール ログ フィールドに中国語が含まれているため、フィールドを再度抽出する必要があります。フィールド抽出のロジックは、最初に SQL ステートメントを通じてビューを作成することです。ビューが生成された後、ビュー内のフィールドを直接呼び出すことができ、実際のログは元のデータ セットに保存されたままになります。
まずログ形式を分析しましょう。
次の 2 つのログを見ると、後半のログ形式が異なっていることがわかります。この状況を考慮して、ここでは、最初に共通フィールドを抽出し、その後、異なる種類のログ フィールドを 1 つずつ抽出することを考えます。 。
このログを例として挙げます
共通フィールドの抽出
このログを例として挙げます
singfor_syslog、これは作成する必要があるビューの名前です
switch._time スクリプトの 6 行目以降の switch は、データを抽出する必要がある元のデータ セットを参照しているため、データ セット名に応じて置き換える必要があります。
ここで、 contains( switch._message, 'log type') 「ログ タイプ」は、ログを書き込むために検索する特定のフィールドを指します。「ログ タイプ」を通じて、「ログ タイプ」を含むすべてのログを制限できます。ログ
正規表現の作成方法とテスト方法
https://regex101.com/ にアクセスし、REGULAR EXPRESSION に正規表現を入力するか、ここに直接書き込みます
TESTING STRING にログを入力します。Honghu から関連するログを直接コピーできます。
正規表現が正しい場合は、対応する色が生成され、抽出されたフィールド名とフィールドの内容が右下の一致情報に表示されます。
高次のクエリを実行、成功
ビューでは、作成したsangfor_syslogのビューが表示されます。
検索ステートメントのテストを実行すると、赤い部分で抽出したフィールドが表示されます。
NATフィールドの抽出
このログを例として挙げます
singfor_nat_syslog、作成する必要があるビューの名前は次のとおりです
switch._time スクリプトの 6 行目以降の switch は、データを抽出する必要がある元のデータ セットを参照しているため、データ セット名に応じて置き換える必要があります。
ここで、 contains( switch._message, 'NAT') 「ログ タイプ」は、ログを書き込むために検索する特定のフィールドを指します。NAT を通じて、ログ内の NAT を含むすべてのログを制限できます。
正規表現の作成方法とテスト方法
https://regex101.com/ にアクセスし、REGULAR EXPRESSION に正規表現を入力するか、ここに直接書き込みます
TESTING STRING にログを入力します。Honghu から関連するログを直接コピーできます。
正規表現が正しい場合は、対応する色が生成され、抽出されたフィールド名とフィールドの内容が右下の一致情報に表示されます。
注: フィールドを抽出する正規表現を記述する場合は、グループに名前を付ける必要があります。そうでない場合は、グループとして定義しないでください。例えば、以下の正規表現では、赤色の部分が抽出対象として選択されており、フィールド名が定義されていないため、一致するフィールドを抽出する際にHonghuが異常となり、結果は成功しますが、フィールドは抽出されません。
(?\w{3}\s\d{2}\s\d{2}:\d{2}:\d{2})\s\w+\s(?\w+):\s\D {4}:(?\D{5})、\s\D{5}:(?\w+)、\s\D{3}:(?\d+.\d+.\d+.\d+)、 \s\D{3}:(?\d+)、\s\D{4}:(?\d+.\d+.\d+.\d+)、\s\D{4}:(?\d+) 、\s\D{2}:(\d+)、\s\D{6}:(?\d+.\d+.\d+.\d+)、\s\D{6}:(?\d+) $
高次のクエリを実行、成功
ビューでは、作成したsangfor_nat_syslogのビューが表示されます。
検索ステートメントのテストを実行すると、赤い部分で抽出したフィールドが表示されます。
ログインフィールドの抽出
ファイアウォール ログの各コンポーネントのログ形式は異なるため、状況に応じて複数のフィールド抽出を実行する必要がある場合があります。フィールド抽出方法については上で詳しく説明しましたが、ここでは参考のためにフィールド抽出スクリプトのみを提供します。
チャート表示
グラフの作成部分では、ここではグラフの種類ごとに 1 つの例のみを示しますが、参考までにすべての検索言語をリストします。
ダッシュボード > 新しいダッシュボード
作成した
アラームレベルの統計をログに記録します
新しい図 > ログ カテゴリ
グラフの種類を選択します: 円グラフ
クエリ ステートメント: このステートメントを最初にクエリ内で検証して、検索結果が希望どおりであることを確認できます。
期間: 1 日を選択します。自分の状況に応じて調整できます。
グラフの生成後、さまざまな種類のログの統計を表示できます。
目的: ログの合計量をカウントし、カテゴリの合計統計を表示するために使用されます。もう一つ良いことがあります。
ログインイベントの詳細
新しいチャート > ログインイベントの詳細
グラフの種類を選択: 表
クエリ ステートメント: このステートメントを最初にクエリ内で検証して、検索結果が希望どおりであることを確認できます。
期間: 1 日を選択します。自分の状況に応じて調整できます。
グラフの生成後、どのユーザー、どの時刻、どの IP からのログインであるかなど、デバイスのログインの詳細を表示できます。
目的: 異常なログインまたはパスワード検出動作があるかどうかを判断するために使用されます。
ログインイベントの詳細
新しいグラフ > デバイスの数
チャートの種類を選択します: 単一値トレンド チャート
クエリ ステートメント: このステートメントを最初にクエリ内で検証して、検索結果が希望どおりであることを確認できます。
時間範囲: 30 分を選択し、自分の状況に応じて調整できます。
グラフを生成した後、すべてのログについて Honhu に送信されたサーバーの数をカウントできます。
用途:現在監視しているデバイスの総数を確認するために使用します。主に見栄えの良いチャートレイアウトのため、間違いや漏れのチェックに便利です。
検索フレーズ
この記事のすべての検索用語は参考のために以下にリストされています
ヒント: 検索ステートメントのコマンド部分は、抽出された文字フィールドを呼び出します。フィールドが抽出されない場合、エラーが表示されます。
レンダリング
チャートを作成した後、「グリッド レイアウト」を選択してチャート レイアウトを最適化および調整します。最終的なレンダリングは次のようになります。