キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
608
閲覧回数
0
いいね!
0
コメント
yutogawa
Cisco Employee
Cisco Employee

はじめに

本ドキュメントでは、Secure Endpoint Connectorを導入した端末において、CPU高負荷などのパフォーマンスの問題や、他のソフトウェアとの競合によって、Secure Endpoint Connectorもしくは他のソフトウェアが正常に動作しない問題が発生した場合の対応方針およびその具体的な手順について説明しております。また、各手順毎における注意事項も併せて補足しております。

前提条件

本記事では、Windows Connector v8.4.2にて動作確認をしております。
また、Windows ConnectorにおけるExclusionsを用いた対応方法を中心に説明しておりますが、他のOSでも対応方針に大きな違いはございません。

基本的な対応方針

Secure Endpoint Connectorは、端末上でのファイルの作成、移動、実行のタイミングでMalware判定のためのファイルスキャンを実施します。その際、特定のプロセスによるディレクトリへの大量のファイル書き込み等により、大量のスキャンが発生し、CPU高負荷などのパフォーマンス問題を引き起こす場合がございます。また、他のソフトウェアに関連するファイルを大量にスキャンしたりマルウェア判定をすることで他のソフトウェアの動作に影響を及ぼす場合がございます。こういったパフォーマンス問題やソフトウェア競合問題は、スキャンが多く発生している対象のディレクトリやファイルとその生成元のプロセスを特定し、それらをExclusions(除外)設定に追加してスキャンの対象から除外することによって解決される場合がございます。

なお、パフォーマンスに関する問題やソフトウェア競合の問題の中には、Exclusionsを使っても解決しない場合もあり、その場合は、疑わしいと考えられる機能を無効にすることや、Connectorそのものを一旦アンインストールすることで、さらに切り分けを実施いただく必要がございます。

Ciscoが維持している除外設定について

Ciscoが維持している除外設定とは、他社ベンダー製品の動作への影響や他社セキュリティ製品との競合が発生することを回避するためにシスコ側で事前に作成した除外設定となります。これらは、他社ベンダーが公開している情報やシスコ側での事前のテストを元に作成されたものとなりますため、お使いの製品に応じてご利用いただくことが推奨となります。例えば、Microsoft Exchangeサーバー用にMicrosoft Exchange Server v2013 - 2019という除外設定が用意されております。

Ciscoが維持している除外設定は日々メンテナンスされており、更新情報はこちらで公開されております。

なお、ベンダーによっては製品の除外対象の情報を公開しておらず、シスコが維持している除外設定の一覧にお使いのベンダーのセキュリティ製品等の除外設定がない可能性もございます。その場合は、情報をベンダーから入手いただき、サポートケースにて除外設定の追加のお問い合わせをいただければと思います。また、一覧にない場合には、お客様自身でカスタムの除外設定を作成いただくことも可能です。

同様に、Secure Endpoint側でも他社アンチウイルスソリューション向けに除外一覧をこちらで公開しております。

除外対応の流れ

スキャンが多く発生している対象のディレクトリやファイルとその生成元のプロセスの特定

基本的な方針で説明した通り、まずは、スキャンが多く発生している対象のディレクトリやファイルとその生成元のプロセスを特定する必要があります。それらの特定に必要な情報を取得するためのOSごとの手順についてここでは説明いたします。

Windows

まずは、問題となっている事象が発生しているタイミング(再現方法が分かっていれば事象を再現をさせて)で、Debugを有効にした状態でDiagnosticsファイルを取得いただく必要があります。Diagnosticsファイルの取得に関しては以下の記事をご参照ください
Secure Endpoint: Windows ConnectorでのDiagnosticファイル取得方法

Debugを有効にした状態でのDiagnosticsファイル取得のタイミングに関しては、以下の記事をご参照ください。

[Secure Endpoint] Debugログ取得時の注意事項

Diagnosticsファイルを取得しましたら、こちらの記事に記載のツール(Diag_Analyzer.exe)をお使いいただくことで、ログの情報を集計し、以下の情報を取得すること可能です。取得したDiagnosticsファイルと同一ディレクトリにてツールを実行いただくと、以下の情報を含む、CiscoAMP_Support_Tool_xxxx_xx_xx_xx_xx_xx-summary.txtという名前のファイルが作成されます。取得したDiagnosticsファイルは解凍せずに、取得した状態のまま(ファイル拡張子が7zまたはzip)で実行をお願いいたします。Diag_Analyzer.exeはこちらから直接ダウンロードいただくことも可能です。

・スキャンが実行されたファイルを多く生成したプロセスTop10
・スキャンが多く実行されたファイルTop10
・スキャンが多く実行されたファイル拡張子Top10
・スキャンが多く実行されたファイルパスTop100
・スキャンが実行されたすべてのファイル

Mac/Linux

Mac/LinuxのConnectorはDebugを有効にした状態でのDiagnosticsを取得いただくと、スキャンが実行されたファイルを多く生成したプロセス(execs.txt)とスキャンが多く実行されたファイルパス(fileops.txt)に関する情報が事前に含まれています。

詳細についてはこちらの記事をご参照ください。

Exclusionsの登録方法

ここでは、実際にWindows環境でのログからDiag_Analyzer.exeを実行して取得した情報を元に、Exclusionsを登録する方法を示します。以下の結果は実際にCPU高負荷などの問題が発生した環境で取得したものではなく、あくまで手順を示すための例となります。除外設定の手順についてはこちらの記事でも紹介しております。

Exclusionsの設定はセキュリティリスクとのトレードオフであるため、可能な限り、問題となっている箇所のみを追加するようご注意ください。また、こちらの記事に除外設定のベストプラクティスおよび弊社から除外を推奨しないファイルパスおよびプロセスについて公開しておりますのでご参考にしていただけますようお願いいたします。

以下は、Debug付きDiagnosticsの対してDiag_Analyzer.exeを実行して取得した情報になります。
(一部の情報は省略しております。)

Top 10 Processes:
     423 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
     308 C:\Windows\explorer.exe
     168 C:\Users\testuser\AppData\Local\Programs\Python\Python37-32\python.exe
     150 C:\Users\testuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\bin\python3.6
     112 C:\Program Files\JetBrains\PyCharm Community Edition 2018.3\bin\pycharm64.exe
      83 C:\Windows\System32\wbem\WmiPrvSE.exe
      64 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
      55 C:\Program Files (x86)\Atlassian\HipChat4\HipChat.exe
      29 C:\Program Files\Microsoft Office\root\Office16\OUTLOOK.EXE
      25 C:\Windows\System32\svchost.exe

Top 10 Files:
      22 C:\Windows\CCM\clientstate.dat
      21 C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileData-NonInteractive
      13 C:\Users\testuser\.PyCharmCE2018.3\system\caches\records.dat
      10 C:\ProgramData\NVIDIA Corporation\Drs\nvAppTimestamps
      10 C:\Users\testuser\.PyCharmCE2018.3\system\caches\contentHashes.dat.keystream
      10 C:\Users\testuser\.PyCharmCE2018.3\system\caches\contentHashes.dat_i
      10 C:\Users\testuser\.PyCharmCE2018.3\system\caches\contentHashes.dat
       9 C:\Users\testuser\.PyCharmCE2018.3\config\options\recentProjectDirectories.xml
       9 C:\Users\testuser\AppData\Local\Temp\decompress.py\.idea\workspace.xml___jb_tmp___
       8 C:\Windows\CCM\StateMessageStore.sdf

Top 10 Extensions:
     372 txt
     233 tmp
      81 gz
      56 dat
      53 vbs
      52 xml
      50 db
      45 ps1
      39 tar
      22 psm1

Top 100 Paths:
     306 C:\Users\testuser\Desktop\TEST\decompress
     293 C:\$Recycle.Bin\S-1-5-21-1708537768-1303643608-725345543-9394300
     168 C:\Users\testuser\AppData\Local\Google\Chrome\User Data\Default\Cache
     167 C:\Users\testuser\AppData\Local\Google\Chrome\User Data\Default
      75 C:\Windows\CCM\SystemTemp
      46 C:\Windows\Temp
      ...
      
All Files:
      22 C:\Windows\CCM\clientstate.dat
      21 C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileData-NonInteractive

Process Exclusions

ファイルスキャンに関する除外については、Process Exclusionsをご利用いただくことを推奨しております。
安全性が確認されているソフトウェアである場合、Path/Extension/wildcardなどの他の除外方法と比較して、過不足なく正確な除外が可能となるためです。

Process Exclusionsの追加は、プロセスの実行ファイルをパスで指定します。
なお、Windowsの場合は、実行ファイルのSHA-256ハッシュ値を登録することも可能です。

たとえば、上の例でchrome.exeを除外する場合には、以下のように指定をして登録をします。
これによって、chrome.exeの実行およびchrome.exeより生成されるすべてのファイルがスキャン対象から除外されます。「子プロセスに適用します」にチェックをいれるとchrome.exeによって生成される子プロセスにも適用されます。

yutogawa_0-1729299946834.png
Process Exclusionのパスにはワイルドカードを含むことが可能で、C:\Windows\P*t.exeと指定した場合は、Pet.exeとPot.exeを除外することになります。また、C:\*と指定するとサブディレクトリを含まないCドライブ配下のすべてのプロセス実行ファイルを除外したことになります。C:\**と指定すると、サブディレクトリを含むCドライブ配下のすべてのプロセス実行ファイルを除外することになります。

Path Exclusions

Path Exclusionsは、名前の通りファイルやディレクトリのパスを指定し除外を行います。上の結果を元に、最もスキャンの多いディレクトリであるC:\Users\testuser\Desktop\TEST\decompressを除外する場合は以下のように登録を行います。パスの除外はサブディレクトリに対しても適用されます。

yutogawa_1-1729301773598.png

Windowsの場合は、ファイル/ディレクトリの部分一致が適用され、例えばC:\testと指定した場合は、C:\test123も対象となります。そのため、C:\testのディレクトリおよびそのサブディレクトリのみを対象としたい場合は、C:\test\と指定します。

また、Path ExclusionsではCSIDL表記とKNOWNFOLDERID表記が可能です。例えば、CドライブとDドライブなど複数のドライブを使用している場合、複数のPath Exclusionsを指定するのではなく、CSIDL表記またはKNOWNFOLDERID表記を使って、まとめて表記することが可能です。
※KNOWNFOLDERID表記はバージョン8.1.7以降のコネクタのみで利用可能です。

CSIDL値の詳細は、Windowsのドキュメントをご確認ください。
https://learn.microsoft.com/en-us/windows/win32/shell/csidl

KNOWNFOLDERID値の詳細は、Windowsのドキュメントをご確認ください。
https://learn.microsoft.com/en-us/windows/win32/shell/knownfolderid

File Extension Exclusions

File Extension Exclusionsは、ファイルの拡張子単位での除外を行うために使用します。上の結果を元に、最もスキャンの多いファイル拡張子である、「.txt」の拡張子のファイルを除外する場合は以下のように登録を行います。ファイルの拡張子は大文字と小文字を区別しません。

yutogawa_0-1729302651949.png

Wildcard Exclusions

Wildcard Exclusionsを使用すると、ファイルパスにワイルドカードを含む形で除外設定を行うことができます。
例えば、以下の例のように、どのユーザーかに限らず、Documentsのディレクトリを除外したい場合には、ユーザーのディレクトの部分に" *"を使用してまとめて除外設定をすること可能です。

C:\Users\testuser1\Documents\
C:\Users\testuser2\Documents\

実際の登録方法は以下のようになります。

yutogawa_1-1729303761854.png

「すべてのドライブ文字に適用されます。」にチェックを入れるとすべてのドライブが対象となります。
また、ファイルパスに複数の"*"を使用することも可能です。

なお、Wildcard Exclusionsは除外範囲が大きくなる傾向があるため、多用することは推奨しておりません。

ファイルスキャンの除外で事象が解消しない場合の対応

これまでは、ファイルスキャンに対するExclusionsの手順を説明してきましたが、ファイルスキャンが多く発生しているディレクトリや生成元プロセスを特定し除外設定を実施しても問題が解消しない場合や、そもそもファイルスキャンが多く発生しているディレクトリや生成元のプロセス自体が存在しないといった場合の対応について説明します。

除外設定で事象が解決しない場合、被疑と考えられる機能を無効にすることで事象が解消する場合があります。無効にする機能の例としては以下がございます。

  1. TETRA
    TETRAはオフラインエンジンとなりますが、スキャン等によってパフォーマンスの問題が引き起こされる場合がございます。特に、サーバOSの場合、クライアントOSよりファイルI/Oが多い傾向があるため、よりそういった可能性がございます。Policy設定のModes and Engines > TETRA にて無効にすることが可能です。
  2. DFC
    ネットワークの負荷が高いサーバでは、数多くのTCP/UDPのセッション情報の保持のため、高負荷を引き起こす場合がございます。Policy設定のModes and Engines > Networkにて無効にすることが可能です。
  3. Exploit Prevention
    特定のソフトウェア(特にMS Office系のアプリケーションやIntenet Explorer等)がダウンするなどの問題の場合は、Exploit Preventionによる問題であることが疑われます。Policy設定のModes and Engines > Exploit Preventionにて無効にすることが可能です。Exploit Preventionについては実行ファイル単位での除外設定も可能となります。
  4. ETHOS
    ETHOSはデフォルトで有効ではありますが、Connectorがスキャン可能なファイルサイズの最大値がデフォルトの50MBで設定されている場合、稀に高負荷を引き起こす場合がございます。Exclusions追加で事象が解決しない場合にはETHOSエンジンを無効化することをお勧めいたします。Policy設定のAdvanced Settings > Engines > ETHOS > Enable ETHOSのチェックボックスを外すことで無効にすることが可能です。

これらは、上記エンジンを無効にすることで解決した事例がある設定となりますが、必ずしもこの限りではありません。特に、端末側の何かしらの変更や、Policyの設定をした後で動作が重くなった等の場合は、直前に実施した設定を元に戻す等で復旧するかお試しください。

最後に、結果的にSecure Endpoint起因で高負荷が発生していないというケースも考えられますため、可能であればConnectorのアンインストールにて事象が解消するかも念のためご確認ください。

Exclusions追加時の注意事項

Exclusionsの設定には、WebGUI上は追加が出来ても、端末上で動作しない無効なExclusionsがございます。以下の記事をご確認いただき、無効なExclusionsを入力していないかをご確認ください。

[Cisco Secure Endpoint] Policyで入力可能だが動作しないExclusion設定

また、事象の特定のための動作確認には、多くの端末に適用されている既存のポリシーには変更を加えずに、テスト用のポリシーを作成の上、動作確認を実施いただくことを推奨いたします。

参考情報

Cisco-Maintained Exclusion List Changes for Cisco Secure Endpoint Console

ウイルス対策ソフトウェア向けの除外設定

Secure Endpoint: Windows ConnectorでのDiagnosticファイル取得方法

[Secure Endpoint] Debugログ取得時の注意事項

CPU高使用率のAMP診断バンドルの分析

セキュアエンドポイントの除外の設定と特定

[Cisco Secure Endpoint] Policyで入力可能だが動作しないExclusion設定

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします