Decoder:10G機能の構成

Document created by RSA Information Design and Development on Feb 15, 2017
Version 1Show Document
  • View in full screen mode
  

このトピックでは管理者を対象として、パケットを高速収集する場合のPacket Decoderのチューニング方法について説明します。 

このガイドでは、10Gインタフェース カードでパケットを収集する場合について説明します。パケットを高速で収集するには構成を慎重に行い、Decoderハードウェアを限界まで活用する必要があります。そのため、10Gの収集ソリューションを実装する際には、このトピック全体をお読みください。

RSA Security Analytics 10.6は、Decoderでの高速な収集に対応しています。より高速なネットワークからネットワーク パケット データを収集し、使用するParserとFeedに応じて、最大で8 Gb/秒(持続)および10Gb/秒(バースト)でネットワーク トラフィックを収集するようPacket Decoderを最適化できます。

RSA Securityは特定のコンテンツについて高速でのパースを検証しています。詳細については、「 高速でのパース 」セクションを参照してください。

独自のコンテンツを使用してParserをカスタマイズする方法については、10Gのベスト プラクティス を参照してください。

注:新しいSeries 5 のハードウェアを使用する場合は、「10G Decoderの構成」に進んでください。

こうした環境における収集を可能にするため、以下の機能拡張が導入されています。

• 高速な収集を行うため、Intel 10G NICとpf_ring captureドライバの機能を使用します。

assembler.parse.valve構成が追加されました。パケット ロスのリスクを低減するために、負荷が特定の閾値を超えると、自動的にアプリケーションParserが無効になります。アプリケーションParserが無効になっても、ネットワーク レイヤーのParserはそのまま動作します。超過していた統計値が閾値 を下回ると、アプリケーションParserは自動的に再有効化されます。

• クエリー最適化のため、Concentratorでparallel.values構成が追加されました。

ハードウェアの動作条件

  • シリーズ4S Decoder
  • Intel 82599ベースのファイバーEthernetカード。Intel x520など。RSAが提供する10Gカードは、すべてこの要件を満たしています。単一の10Gカードでは複数のポートを利用できますが、10Gと1Gカードの組み合わせはサポートされていません。
  • デュアル ランクDIMMの96 GBのDD3-1600メモリ。シングル ランクDIMMではパフォーマンスが最大10%低下する場合があります。取り付けられているDIMMの速度とランクを確認するには、dmidecode -t 17コマンドを実行してください。
  • 収集の要件を満たすのに十分な量と速度のストレージ。ストレージの考慮事項については、このトピックで後述します。

ソフトウェアの動作条件

  • RSAから入手したLinuxカーネル パッケージ。サポートされているのは、RSAから提供されているLinuxカーネル パッケージだけです。
  • 現在インストールされているカーネルに適合するpfringパッケージ。カーネルのバージョンとpfringのバージョンが正確に一致する必要があります。

10G Decoderのインストール

Security Analytics 10.6 10G Decoderをインストールするには、次のステップを実行します。

前提条件

• Dell R620プラットフォームをベースとしたSA-S4H-P-DECプラットフォームまたはSMC-S4H-P-DECプラットフォームを使用。

• SMC-10GE-* 10G Intel 520ファイバーNICがインストールされている(RSAから提供可能)。

• Packet Decoderが10.6に更新されている。

• 各Packet Decoderに少なくとも2つのDACまたはSAN接続が構成されている。

注:物理的なケーブルの再接続が必要な場合があるため、更新する前にこのドキュメントのトピック:ストレージに関する考慮事項 を参照してください。

• Dell R620 BIOS v1.2.6以降。最新のv2.2.3への更新が推奨されますが、v1.2.6以降を使用している場合はBIOSの更新は必須ではありません。

注: v1.2.6よりも古いBIOSリビジョンでは、システム内で10Gキャプチャ カードの場所を正しく識別できないことがあります。システムの初期化時に、パッケージによってBIOS情報が使用されるため、パッケージをインストールする前にBIOSを更新する必要があります。

パケット収集でのパースおよびコンテンツの考慮事項

パケットの収集とパース処理では、収集レートに関わらず共通の課題があります。10Gでのより高速なセッションおよびパケット レートでは、解析の効率性が非常に重要になります。単一または複数のParserによって、システムのパフォーマンスに影響が及び、結果的にパケットのドロップが発生することがあります。RSAでは、10Gでの収集で実施されたテストにもとづいて、ベースラインとなるParser、Feed、ルールおよびその他のコンテンツをRSA Liveで提供しています。新規または更新いずれの環境にかかわらず、パケット ロスのリスクを最小化するために、次のベスト プラクティスに準拠することが推奨されます。注意が必要な点としては、トラフィックがそれほど増えていない環境で、10G構成への更新を実施する場合です。たとえば、収集対象のトラフィックが増加していない環境で10Gカードを導入しても、2G(持続)で収集しているようなケースでは、Decoderのパフォーマンスに大きな違いは見られません。

10Gのベスト プラクティス

1. ベースラインParser(CPUの利用率が高いSMB/Webmailを除く)を組み込み、パケット ロスがほぼ0であることを確認する。

2. Parserを追加する場合は、一度に1つまたは2つのParserのみを追加する。

3. 特にピーク トラフィック期間中に、新しく追加したコンテンツのパフォーマンスへの影響を測定する。

• 構成変更前には発生しなかったドロップが発生し始めたら、新しく追加したすべてのParserを無効にし、一度に1つずつ有効にしながら影響を測定する。これは、パフォーマンスに影響を与えているParserを正確に特定するのに役立ちます。要件に応じて、必要なParserの修正や、場合によっては使用するParserを減らすことによってパフォーマンスを向上できる場合があります。

• パフォーマンスへの影響は限定的ですが、Feedを追加する場合にも段階的なアプローチを取り、パフォーマンスへの影響測定に役立てるようにします。

• アプリケーション ルールも一般的にはあまり影響は大きくありませんが、この場合もパフォーマンスへの影響を考慮しながら、段階的なアプローチで追加していくことを推奨します。

最後に、本書の[構成]セクションに記載された推奨の構成変更を加えることで、潜在的な問題を最小限に抑えることができます

BIOSインストール手順

1. BIOS v2.2.3を次の場所からダウンロードします。

http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=V7P04

2. Update Package for Red Hat Linuxファイルをダウンロードします。

3. このファイルをSecurity Analyticsサーバにコピーします。

4. rootとしてログインします。

5. ファイルの権限をexecuteに変更します。

6. 次のファイルを実行します。

./BIOS_V7P04_LN_2.2.3.BIN

7. 実行が完了すると、再起動を求めるメッセージが表示されます。

注:BIOSのインストール プロセスには約10分かかります。

10G Decoderの更新

1. すべてのオペレーティング システム パッチを含めて、Decoderアプライアンスをバージョン10.6リリースに更新します。RSA Security Analyticsバージョン10.6の最新のセキュリティ パッチを適用してください。このリリースでは、次のLinuxカーネル パッケージが必要です。

kernel- 2.6.32-573.12.1.el6.x86_64(RSA Security Analyticsバージョン10.6向けのカーネル リリース)

2. kernel、pfring、numactlのバージョンが次のとおりであることを確認します。

kernel- 2.6.32-573.12.1.el6.x86_64

pfring-6.0.3-8598.2.6.32.573.12.1.el6.x86_64.rpm

numactl-2.0.9-2.el6 .x86_64.rpm

10G Decoderのインストール

最新バージョンのpfring rpmパッケージをsmcupdateからダウンロードします

pfring-6.0.3-8598.2.6.32.573.12.1.el6.x86_64.rpm

詳細については、RSA SecurCare(https://knowledge.rsasecurity.com)を参照してください。

2. scp等でDecoderにパッケージをコピーし、次のコマンドを実行してパッケージをインストールします。

rpm -ivh pfring*

注:注:次のチェックを必ず実行してください。

a. 次のコマンドを使用して、el6 rpmをチェックします。

rpm –qa |grep numactl*

b. バージョンがnumactl-2.0.9-2.el6.x86_64.rpmであることを確認します

注: BIOSを更新していない状態で上記のインストール手順を実行した場合には、以下の手順でBIOSを更新します。

rpm –eコマンドによってパッケージをアンインストールします。

• BIOSをv2.2.3に更新します。

• rpmコマンドを実行して、パッケージを再インストールします。

3. kernelpfringnumactlのバージョンが次のとおりであることを確認します。

kernel- 2.6.32-573.12.1.el6.x86_64

pfring-6.0.3-8598.2.6.32.573.12.1.el6.x86_64.rpm

numactl-2.0.9-2.el6 .x86_64.rpm

4. Decoderアプライアンスを再起動します(pf_ringドライバを正しくロードするために、システムの完全な再起動が必要です)。

5. Decoderの再起動後、SAからDecoderのConfig画面にアクセスし、[Capture Interface Selected]セクションのオプションに、新しくPFRINGZCインタフェースが表示されている場合、インストールは成功です(次の図を参照)。

10G Decoderの構成

更新した後、次のステップを実行して10G Decoderを構成します。

1. Decoderの[エクスプローラ]ビューで、[Decoder]を右クリックして[プロパティ]を選択します。

2. [プロパティ]ドロップダウン メニューで[reconfig]を選択し、次のパラメータを入力します。

update=1 op=10g

3. Decoderの[エクスプローラ]ビューで、[database]を右クリックして[プロパティ]を選択します。

4. [プロパティ]ドロップダウン メニューで[reconfig]を選択し、次のパラメータを入力します。入力画面は下図のようになります。

update=1 op=10g

5. 収集ポート アダプタを選択します。オプションは以下の通りです。

a. 単一ポートで収集:PFRINGZC,p1p1またはPFRINGZC,p1p2

b. 両ポートで収集:

i. PFRINGZC,p1p1を選択します。

ii. [エクスプローラ]ビューで、capture.device.paramsにdevice=zc:p1p2,zc:p1p1を設定します。

c. 選択した収集ハードウェアが正しいNUMAノードにあることを確認します。

sshでアプライアンスに接続し、次のコマンドを実行します。

cat /sys/class/net/<interface_name>/device/numa_node

ここで<interface_name>は選択した収集インタフェース(たとえば、p1p1)です。

結果が0(ゼロ)の場合、追加の構成は不要です。

それ以外の場合は、次のように結果の値をcoreパラメータとして収集パラメータに追加します。

/decoder/config/capture.device.params: core=1

この変更を有効にするには、サービスを再起動する必要があります。

注:注:ハードウェアの構成に応じて、収集ポートがp1p1/p1p2とは異なる名前で識別されている場合がありますが、プレフィックスは常にPFRINGZCです。たとえば、一部のアプライアンスでは、これらのポートがeth4 / eth5と識別されることがあります。eth4から収集する場合はPFRINGZC,eth4を選択します。eth5で収集する場合はPFRINGZC,eth5を選択します。

6. 書き込みスレッドが収集速度を維持できない場合は、次の操作を試してください。

/datebase/config/packet.integrity.flushをnormalに変更します。

注:packet.file.sizeの値を増やすことも可能ですが、ファイル全体がこの速度でメモリにバッファリングされるため、ファイル サイズは10 GBより小さくしてください。

7. (オプション)アプリケーションParserはCPUを大量に消費するため、Decoderのパケット ドロップの原因になる可能性があります。アプリケーション レイヤーでのパースによって誘発されるドロップを軽減するために、/decoder/config/assembler.parse.valvetrueに設定します。この設定により、次のように動作します。

• セッションのパースがボトルネックになると、アプリケーションParser(HTTP、SMTP、FTPなど)が一時的に無効になります。

• アプリケーションParserが無効になっている間でもセッションはドロップせず、それらのセッションの再生成機能のみが影響されます。

• アプリケーションParserが無効になっている間でも、セッションにはネットワーク メタ(ネットワークParser)が引き続き関連づけられます。

• 統計値/decoder/parsers/stats/blowoff.countには、アプリケーションParserをバイパスしたすべてのセッションの数が表示されます(ネットワーク パースは引き続き実行されます)。

• セッション パースに潜在的なボトルネックがなくなると、アプリケーションParserが自動的に再度有効化されます。

8. セッションがプールから強制排除されないよう、アセンブラ セッション プールは十分な大きさにする必要があります。

• 統計値/decoder/stats/assembler.sessions.forcedが増加していたり、/decoder/stats/assembler.sessions/decoder/config/assembler.session.poolの値の差が数百以内の場合には、セッションが強制的にプールから排除されている可能性があります。

• RSAセキュリティのテスト サイトでは、10Gを多少下回る速度環境で次の構成値を使用してテストを行っています。

/decoder/config/assembler.session.poolを1,000,000に設定し、

/decoder/stats/assembler.sessionsは平均630,000になりました。

前述のステップ1~4の代替方法として次のステップ1、2、3、4を実行して、10G Decoderを構成することもできます。この方法を使用する場合でも、前述のステップ5~8は必須です。

1. セッション プールとパケット プールの設定を次の値に更新します(/decoder/config)。

a. pool.packet.pages = 1000000

b. pool.session.pages = 300000

2. パケットの書き込みブロック長(/database/config/packet.write.block.size)を、4 GBちょうどに設定する必要があります。または、バージョン10.6以降の場合はfilesizeを使用します。

注:この構成により、Decoderは巨大なページファイルにバッファリングし、ダイレクトI/Oを使用して書き込むことで、パフォーマンスを最大化します。

3. パース スレッドの設定を次の値に更新します(/decoder/config)。

a. parse.threads =12

4. 収集ポート アダプタを選択します。オプションは以下の通りです。

a. 単一ポートで収集:PFRINGZC,p1p1またはPFRINGZC,p1p2

b. 両ポートで収集

i. PFRINGZC,p1p1を選択します。

ii. [エクスプローラ]ビューで、capture.device.params にcapture=zc:p1p2,zc:p1p1を設定します。

注:ハードウェアの構成に応じて、収集ポートがp1p1/p1p2とは異なる名前で識別されている場合がありますが、プレフィックスは常にPFRINGZCです。たとえば、一部のアプライアンスでは、これらのポートがeth4 / eth5と識別されることがあります。eth4から収集する場合はPFRINGZC,eth4を選択します。eth5で収集する場合はPFRINGZC,eth5を選択します。

ストレージに関する考慮事項

10Gのライン レートで収集を行う場合、パケットとメタ データベースを格納するストレージ システム側でも、1400メガバイト/秒の書き込みスループットを維持できる必要があります。DACおよびSANの構成に関するサポート オプションの概要は次の通りです。

Series 4Sハードウェアを使用する場合(複数のDACユニット搭載)

Decoderヘッド ユニットには、DACへの接続を可能にするハードウェアRAID SASコントローラ カードが装備されています。ほとんどの環境で、DACはSASカード上の単一ポートからデイジー チェーン接続で構成します。高速な環境に対応する場合には、Decoderごとに少なくとも2つのDACが必要で、かつ、各DACをSASカードから直接接続する必要があります。2つのDACを使用するには、SASカード上の1つのポートに最初のDACを接続して、SASカード上の他のポートに別のDACを接続します。DACが3つ以上ある環境の場合は、各ポートから均等にチェーン接続します。既存環境にDACを追加する際、DACケーブルの再接続が必要になる場合がありますが、Decoderですでに収集されたデータには影響しません。

新たにDACを追加する場合は、NwMakeArrayスクリプトを使用してDACユニットをプロビジョニングします。このスクリプトを実行するたびに、1台のDACが自動的に追加され(DACを3台追加する場合は、スクリプトを3回実行する必要があります)、別々のマウント ポイントとしてNwDecoder10Gの構成に追加されます。NwDecoder10Gでは、パケットのコンテンツ リクエストで必要となる読み取りI/Oと、収集で必要となる書き込みI/Oを分離するために、マウント ポイントを別々にしておくことが重要になります。

SANストレージの使用

Decoderでは、持続スループット要件を満たすことが可能な限り、あらゆるストレージ構成が可能です。10Gでパケット データを読み書きするには、標準の8Gbit FC回線でSANに接続するだけでは十分ではありません。そのため、SANを使用する環境では、複数のFCチャネルを使用して、SAN接続でI/O分散を構成する必要がある場合があります。

他のSecurity Analyticsコンポーネントでの10G Decoderデータの集計

初期リリースでは、Packet Decoderのデータは、Concentratorでの集計がサポートされます。Malware Analytics、Event Stream Analysis、Warehouse Connector、Reporting Engineでの集計は、パフォーマンスへの影響が想定され、パケット ロスにつながる可能性があります。高いセッション レートでデータが収集されるため、次の構成変更が推奨されます。

• Concentratorでの集計でniceオプションを有効化し、Decoderのパフォーマンスへの影響を抑制します。

/concentrator/config/aggregate.nice = true

• Concentratorで大量のセッション処理をサポートするため、/sdk/config/parallel.valuesをtrueに設定(parallel valuesモード)することを検討します。これによって、Investigationにおいて毎秒セッション数が30,000を超えるような場合に、パフォーマンスが向上する場合があります。

• その他のSAコンポーネント(Warehouse、Malware Analysis、ESA、Reporting Engine)での集計が必要な環境では、コンテンツとパースのさらなる検討が必要となります。

10G Decoderでは、10Gの速度で実行しながら、単一のConcentratorに対する集計を実行します。 

  1. Concentratorの集計は45,000~70,000セッション/秒の速度で実行されます。
  2. 10G Decoderの収集は、40,000~50,000セッション/秒の速度で実行されます。
    前述のコンテンツでは、これは約1,500,000~2,000,000メタ/秒になります。
  3. Concentratorでの集計でniceオプションを有効化し、Decoderのパフォーマンスへの影響を抑制します。
    /concentrator/config/aggregate.nice=true
  4. Concentratorで大量のセッション処理をサポートするため、/sdk/config/parallel.valuestrueに設定(parallelvaluesモード)することを検討します。これによって、Investigationにおいて毎秒セッション数が30,000を超えるような場合にはパフォーマンスが向上します。

複数の集計ストリームが必要な場合は、代わりにConcentratorから収集することでDecoderへの影響が小さくなります。

高速でのパース

当然のことながら、高速でrawパケットをパースする場合に特有の問題があります。高いセッション レートおよびパケット レートでは、パースの効率が非常に重要になります。効率の悪い(つまり、パケットの検査に長い時間を費やしている)Parserが1つあると、システム全体の速度が低下し、結果的にカードでパケットのドロップが発生する可能性があります。10Gのテストは、最初にネイティブParserだけを使用して開始します(ただし、SMB/WebMailは除く)。ネイティブParserを使用して、パケットのドロップがほとんど発生しない状態で、基準となるパフォーマンスを確定します。この処理が完了し、システムで高速での収集が問題なく行われることが証明されるまでは、Liveコンテンツをダウンロードしないでください。

システムがスムーズに機能するようになれば、Liveコンテンツ、特にParserを徐々に追加します。Parserはパフォーマンスに劇的な影響を与えます。次に経験則を示します。

テスト済みのLiveコンテンツ

次のParserは、RSAのテストにおいて、すべて(個別にではなく)10Gで動作することが確認されています。

  • MAコンテンツ(Lua Parser x 7、Feed x 1、アプリケーション ルール x 1)
  • 4つのFeed(alert ids info, nwmalwaredomains, warning, suspicious)
  • 41のアプリケーション ルール
  • DNS_verbose_lua(DNS無効化)
  • fingerprint_javascript_lua
  • fingerprint_pdf_lua
  • fingerprint_rar_lua
  • fingerprint_rtf_lua
  • MAIL_lua(MAIL無効化)
  • SNMP_lua(SNMP無効化)
  • spectrum_lua
  • SSH_lua(SSH無効化)
  • TLS_lua
  • windows_command_shell
  • windows_executable

未テスト:

  • SMB_lua、ネイティブSMBはデフォルトで無効化
  • html_threat

その他:

HTTP_luaを使用すると、収集レートが9G超から7G未満に低下。5Gをやや下回る環境では、このParseをネイティブParserの代わりに使用(前述のリストに追加)しても、パケットのドロップは発生しません。xor_executableは、パースによるCPU使用率を100%に押し上げ、またパースのバックアップにより一時的に大量のドロップを発生させる可能性があります。

You are here
Table of Contents > 追加の手順 > 10G機能の構成

Attachments

    Outcomes