はじめに
このドキュメントでは、SNAフローコレクタがカスタムセキュリティイベント(CSE)を起動する方法を変更できる2つのフローコレクタの詳細設定について説明します。
背景
従来のearly_check_ageフローコレクタの高度な設定と、新しいcse_exec_interval_secsフローコレクタの高度な設定により、フローコレクタエンジンでカスタムセキュリティイベントを起動する方法が決まります。 フローコレクタは、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」を表します。 これは、スレッドが担当するフローキャッシュのセクションを通過するのに要した秒数を表します。 これは「Classify Flows」スレッドで、フローに対してCSEが適用されます。 この数値が機能を有効にした後で上昇している場合は、パフォーマンスに対する全体的な影響を測定するのに適しています。
この高度な間隔設定を追加した後の上昇が予想されますが、この数値が60に近い場合は影響が大きすぎるため設定を削除します。数秒増加することが予想され、妥当と考えられます。
パフォーマンス期間中のエンジンステータス
測定が可能なその他のパフォーマンスとして、5分ごとにログに記録されるsw.logファイルの「Performance Period」セクションを確認して、フロー処理に対する設定の影響を測定する方法があります。 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:Static Flow Index(スタティックフローインデックス)
分類スレッドがフローキャッシュを通過できなかったことを意味します。これは「静的フローインデックス」を表し、分類フロースレッドの処理が困難であることを示します。それ自体は災害ではありませんが、エンジンが天井に達し始め、現在の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がトリガーされるタイミングが改善されます。