はじめに
このドキュメントでは、SNAフローコレクタがカスタムセキュリティイベント(CSE)を起動する方法を変更できる2つのフローコレクタの詳細設定について説明します。
背景
フローコレクタエンジンによって起動されるカスタムセキュリティイベントの方法は、新しいcse_exec_interval_secsフローコレクタの高度な設定であるearly_check_ageフローコレクタの従来の高度な設定によって決まります。 フローコレクタは、SNAシステムアーキテクチャ内の最初のアプライアンスで、ネットワーク上のフローを参照します。したがって、フローコレクタエンジンは、フローキャッシュ内にあるフローの特性を監視し、そのフローが特定のカスタムセキュリティイベントに設定された基準を満たしているかどうかを判断する役割を担います。 ただし、これらのフローコレクタの詳細設定では、組み込み型のコアセキュリティイベントの起動特性は変更されません。
カスタムセキュリティイベントデバッグ
バージョン7.5.0以降のSNAでは、debug_custom_eventsフローコレクタの詳細設定が拡張され、異なるレベルのデバッグが提供されるようになりました
- debug_custom_events 1(最小限のデバッグ:実稼働環境で実行し、CSEを生成している正確なフローをより詳細に把握できるようにすることを目的としています)
- debug_custom_events 2 (デバッグの詳細)
- debug_custom_events 3 (最も詳細なデバッグ)
デフォルトのフローコレクタの動作
デフォルトでは、フローコレクタのearly_check_age高度な設定は160秒に設定されています。 つまり、フローコレクタエンジンは、フローに160秒以上待機してから、そのフローが設定されたカスタムセキュリティイベントに一致するかどうかを確認します。 デフォルトでは、このチェックはフローが終了するまで再度行われません。
この160秒の早期チェック値が特に選択されたのは、ベストプラクティスを使用する場合、テレメトリエクスポータはテレメトリを60秒ごとに送信するように設定する必要があるためです。 このデフォルト値を使用すると、通常の環境では、フローコレクタが特定のカンバセーション/フローの両側に関連するフロー情報を確認するのに十分な時間を確保できます。 このため、early_check_ageは高度な設定のリストで事前に定義されていません。 これは設計上の問題であり、最初にサポートやエンジニアリングに相談しない限り、この値を変更することはできません。 ただし、この初期設計は、バイト数またはパケット数の累積を伴うカスタムセキュリティイベント設定と組み合わせて、長くてやや静かなフロー特性を考慮する場合には適していません。 これが、cse_exec_interval_secs高度な設定パラメータを作成する理由です(下記の例を参照)。
cse_exec_interval_secsの詳細設定
7.4.2で使用可能になったため、cse_exec_interval_secsフローコレクタの高度な設定が追加され、フローキャッシュ内のフローを、設定されているカスタムセキュリティイベントと定期的に照合するようにエンジンに指示できるようになりました。 この高度な設定は、特定のフローがデフォルトの160秒のearly_check_ageでCSE基準に一致しなかったが、そのフローの後半でしきい値を超える長いフローの場合に特に役立ちます。 この詳細設定を使用しないと、フローが終了するまでカスタムセキュリティイベントは発生しません。数日後に発生する場合もあります。
パフォーマンスへの影響
これらの間隔CSE基準チェックをフローの存続期間に実行すると、デフォルト定義よりも多くの時間フローでCPUが必要になります。この手順では、cse_exec_interval_secsパラメータを有効にする前に、フローコレクタエンジンのsw.logファイルの内容を調査してパフォーマンスベースラインを決定します。 この高度な設定の有効化を検討していて、この変更に備えてTACによるフローコレクタの健全性の確認を希望する場合は、サポートケースをオープンし、フローコレクタ診断パックをSRに添付してください。
classify_flowsスレッドの持続時間の測定
パフォーマンスへの影響を簡単に測定するには、今日のsw.logを調べ、設定をアクティブ化する前の「cf-」ログエントリの後に表示される数値を、設定の適用後の数値と比較します。
/lancope/var/sw/today/logs/grep "cf-" sw.log
20:43:21 I-flo-f0: classify_flows:flows n-1744317 ns-178613 ne-188095 nq-0 nd-0 nx-0 to-300 cf-21 ft-126473/792802/940383/14216
20:44:20 I-flo-f4: classify_flows:flows n-1754296 ns-191100 ne-167913 nq-0 nd-0 nx-0 to-300 cf-20 ft-122830/783378/949392/14928
20:44:21 I-flo-f2: classify_flows:flows n-1773175 ns-191930 ne-169039 nq-0 nd-0 nx-0 to-300 cf-20 ft-123055/788507/962264/15431
20:44:21 I-flo-f3: classify_flows:flows n-1750066 ns-189197 ne-165940 nq-0 nd-0 nx-0 to-300 cf-20 ft-122563/779792/944192/15154
20:44:21 I-flo-f5: classify_flows:flows n-1753899 ns-190477 ne-168004 nq-0 nd-0 nx-0 to-300 cf-20 ft-122261/783375/946651/15423
20:44:21 I-flo-f1: classify_flows:flows n-1763952 ns-191342 ne-169518 nq-0 nd-0 nx-0 to-300 cf-20 ft-122782/786822/955997/15175
20:44:21 I-flo-f7: classify_flows:flows n-1757535 ns-188154 ne-166221 nq-0 nd-0 nx-0 to-300 cf-20 ft-122808/781388/951528/14363
20:44:21 I-flo-f6: classify_flows:flows n-1764211 ns-190964 ne-169013 nq-0 nd-0 nx-0 to-300 cf-21 ft-122713/784446/954149/16320
20:44:21 I-flo-f0: classify_flows:flows n-1764197 ns-189780 ne-168784 nq-0 nd-0 nx-0 to-300 cf-21 ft-123290/787327/952186/14352
20:45:22 I-flo-f4: classify_flows:flows n-1780277 ns-177512 ne-149843 nq-0 nd-0 nx-0 to-300 cf-21 ft-129553/766777/964933/14864
20:45:22 I-flo-f2: classify_flows:flows n-1789285 ns-175763 ne-155809 nq-0 nd-0 nx-0 to-300 cf-21 ft-129685/772482/976850/15289
20:45:22 I-flo-f3: classify_flows:flows n-1774883 ns-177085 ne-149715 nq-0 nd-0 nx-0 to-300 cf-22 ft-129067/764272/962000/15090
20:45:22 I-flo-f5: classify_flows:flows n-1775998 ns-176898 ne-150682 nq-0 nd-0 nx-0 to-300 cf-22 ft-128835/768374/963353/15347
20:45:22 I-flo-f1: classify_flows:flows n-1786441 ns-175776 ne-151846 nq-0 nd-0 nx-0 to-300 cf-22 ft-129255/770212/970360/15129
cfエントリは「Classify Flows」を表します。 これは、スレッドが担当するフローキャッシュのセクションを通過するのに要した秒数を表します。 CSEがフローに適用されるのは、「フローの分類」スレッドです。 この数値が機能を有効にした後で上昇している場合は、パフォーマンスに対する全体的な影響を測定するのに適しています。
この高度な間隔設定を追加した後の上昇が予想されますが、この数値が60に近づくと、影響が大きすぎるため設定を削除します。数秒増加することが予想され、妥当と考えられます。
パフォーマンス期間中のエンジンステータス
測定の前後にパフォーマンスを測定するもう1つの方法として、sw.logファイルの「Performance Period」セクションを確認する方法があります。このセクションには5分ごとにログが記録され、この設定がフロー処理に与える影響を調べます。 grepを使用して、これらのブロックを検索することもできます。 エンジンが過負荷の場合は、この高度な設定間隔チェックを無効にする必要があります。
/lancope/var/sw/today/logs/ grep -A3 「Performance Period」sw.log
「Engine status Normal」以外のステータスに注意します。
「Engine status Input rate too high」などのステータスは、classify_flowsスレッドがCPUを過度に消費していることを示します。
SFI:スタティックフローインデックス
分類スレッドがフローキャッシュ内でパスを完了できなかったことを意味します。これは「静的フローインデックス」を表し、分類フロースレッドの処理に問題があることを示します。それ自体は災害ではありませんが、エンジンが天井に達し始め、現在のcfレベルでパフォーマンスが低下し始めていることを示しています。
sw.log:16:09:49 I-flo-f1: classify_flows: sfi:base(8388608) (10522745 -> 11014427) max(16777215) cod(1) (491681/8388608)---------->(5%)
sw.log:16:09:49 I-flo-f3: classify_flows: sfi:base(25165824) (27269277 -> 27754304) max(33554431) cod(1) (485026/8388608)---------->(5%)
sw.log:16:09:49 I-flo-f4: classify_flows: sfi:base(33554432) (35652656 -> 36138422) max(41943039) cod(1) (485765/8388608)---------->(5%)
sw.log:16:09:49 I-flo-f2: classify_flows: sfi:base(16777216) (18985626 -> 19499308) max(25165823) cod(1) (513681/8388608)---------->(6%)
sw.log:16:09:54 I-flo-f0: classify_flows: sfi:base(0) (1786480 -> 421161) max(8388607) cod(1) (7023288/8388608)---------->(83%)
sw.log:16:10:49 I-flo-f0: classify_flows: sfi:base(0) (421161 -> 1402189) max(8388607) cod(0) (981027/8388608)---------->(11%)
sw.log:16:10:49 I-flo-f2: classify_flows: sfi:base(16777216) (19499308 -> 17522620) max(25165823) cod(0) (6411919/8388608)---------->(76%)
sw.log:16:10:49 I-flo-f1: classify_flows: sfi:base(8388608) (11014427 -> 8976309) max(16777215) cod(0) (6350489/8388608)---------->(75%)
sw.log:16:10:49 I-flo-f3: classify_flows: sfi:base(25165824) (27754304 -> 25702968) max(33554431) cod(0) (6337271/8388608)---------->(75%)
sw.log:16:10:49 I-flo-f7: classify_flows: sfi:base(58720256) (58848913 -> 59630528) max(67108863) cod(0) (781614/8388608)---------->(9%)
sw.log:16:10:49 I-flo-f4: classify_flows: sfi:base(33554432) (36138422 -> 34064015) max(41943039) cod(1) (6314200/8388608)---------->(75%)
sw.log:16:10:49 I-flo-f5: classify_flows: sfi:base(41943040) (43310891 -> 44059251) max(50331647) cod(1) (748359/8388608)---------->(8%)
sw.log:16:10:49 I-flo-f6: classify_flows: sfi:base(50331648) (51714170 -> 52444661) max(58720255) cod(1) (730490/8388608)---------->(8%)
sw.log:16:11:49 I-flo-f5: classify_flows: sfi:base(41943040) (44059251 -> 42121104) max(50331647) cod(0) (6450460/8388608)---------->(76%)
sw.log:16:11:49 I-flo-f0: classify_flows: sfi:base(0) (1402189 -> 2373792) max(8388607) cod(1) (971602/8388608)---------->(11%)
sw.log:16:11:49 I-flo-f6: classify_flows: sfi:base(50331648) (52444661 -> 50483491) max(58720255) cod(1) (6427437/8388608)---------->(76%)
sw.log:16:11:49 I-flo-f3: classify_flows: sfi:base(25165824) (25702968 -> 26385879) max(33554431) cod(1) (682910/8388608)---------->(8%)
sw.log:16:11:49 I-flo-f1: classify_flows: sfi:base(8388608) (8976309 -> 9662167) max(16777215) cod(1) (685857/8388608)---------->(8%)
sw.log:16:11:49 I-flo-f4: classify_flows: sfi:base(33554432) (34064015 -> 34742593) max(41943039) cod(1) (678577/8388608)---------->(8%)
sw.log:16:11:50 I-flo-f7: classify_flows: sfi:base(58720256) (59630528 -> 60298366) max(67108863) cod(1) (667837/8388608)---------->(7%)
sw.log:16:11:50 I-flo-f2: classify_flows: sfi:base(16777216) (17522620 -> 18202249) max(25165823) cod(1) (679628/8388608)---------->(8%)
Fast SSID Changing の設定
Webブラウザを開き、Flow CollectorアプライアンスIPに直接ナビゲートします。 ローカル管理者ユーザとしてログインします。
Support -> Advanced Settingsの順に移動します
詳細設定の画面を下にスクロールして、リストの下部にある[新しいオプションの追加]構成ボックスを表示します
Add New Option:編集ボックスにcse_exec_interval_secsと入力し、Option value:編集ボックスに119と入力します。これらのボックスを編集すると、Addボタンが有効になります。 Add New Option:編集ボックスにcse_exec_interval_secsと入力し、Option Value:編集ボックスに119と入力した後でAddボタンを押します。
複数の新しい詳細設定を入力する場合に、別の入力に備えて新しいオプションの追加:とオプション値:の編集ボックスがクリアされます。 新しく追加された詳細設定は、追加中にリストの一番下に表示されます。 これにより、ユーザはエントリを調べることができます。 詳細設定の正確なスペルは、大文字と小文字の区別だけでなく重要です。 すべての詳細設定は小文字で表記されます。
Advanced Settingが正しく入力されたら、Applyボタンを押します。 Applyボタンが有効になっていない場合があることに注意してください。 これを有効にするには、Add New Option:編集ボックスをクリックし、Applyボタンでクリックできるようにします。 このポップアップが表示されたら、OKボタンを押して新しい詳細設定と値を送信します。
変更の確認
この最終的な検証が最も重要です。Supportメニューをもう一度クリックして、Browse Filesを選択します。
これにより、FC上のファイルシステムに移動します。swをクリックします。
今日をクリック
logsをクリックします。
sw.logをクリックします
ブラウザページで検索を実行し、検索ボックスにcse_exec_interval_secsと入力して詳細設定を見つけます
許可された詳細設定は、スクリーンショットのように表示されます。
許可されないものは「not part of input configuration」として表示されます。この場合、ユーザによる設定のスペルミスが原因です。 このため、このような設定変更を行った後でログを確認することが重要です。
おめでとうございます。
新しい詳細設定を入力し、エンジンによる承認を検証しました。
現在は、フローがearly_check_age(デフォルトは160秒)に達してから約2分ごとにフローでCSEロジックを実行する機能が有効になっています。
CSEルールに時間の経過に伴うバイトカウントの累積が含まれている場合、この機能により、定義した基準に一致するフローでCSEがトリガーするタイミングが改善されます。