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

 

はじめに

本ドキュメントは、AMP for Endpoints Connectorのインストール端末にてCPUの高負荷や、他のソフトウェアとの競合によって、Connectorもしくは他のソフトウェアが正常に動作しない問題が発生した場合の、対応方針や具体的な手順について示します。
また、各手順毎における注意事項も併せて補足します。

 

前提条件


本記事は2018年10月15日現在のAMP for Endpoints Consoleと、Windows Connector6.1.7にて動作確認をしております。

また、Windows ConnectorにおけるExclusionを用いた対応方法を中心に説明しておりますが、他のOSでも対応方針は大きな違いはございません。

 

基本的な対応方針

基本的な動作として、AMP for Endpoints Connectorは、端末上のファイルの移動・コピー・実行のタイミングでMalware判定のためのファイルのスキャンを実施します。その際、特定のプロセスが短時間で何度も繰り返し実行されている場合や、特定のフォルダに大量のファイル書き込みがあり、大量のConnectorによるスキャンが発生することにより、CPU高負荷が発生します。

こういった典型的なCPU高負荷やソフトウェア競合問題は、問題となっているフォルダ、ファイル、プロセスを推定し、それらをExclusion(除外)設定に追加してConnectorの検査対象から外すことによって解決されます。特にCPU高負荷の場合は、アクセス数の多いファイルを抽出し、そのファイルに合致するExclusionを設定することによって多くの問題が解決します。ただし、アクセス数の多いファイルが必ずしも問題になっていないという場合もあります。

また、CPU高負荷やソフトウェア競合の問題の中には、Exclusionを使っても解決しない場合もあり、その場合は、Connector側で疑わしいと考えられる機能を無効にすることや、Connectorそのものを一旦アンインストールすることによって、Connector起因で発生している問題であるか切り分けをします。

 

一般的に知られているExclusionを追加するべきソフトウェア

詳細の調査を行う前に、以下資料のAppendix A: Recommended Exclusionsに記載されているサーバソフトウェアや、アンチウイルスソリューションに対して、Exclusionを追加することをお勧めいたします。一般的には、特にアンチウイルスソフトウェアの処理がAMP for Endpointsと競合する場合があることが知られております。

例として、McAfeeのアンチウイルスを導入している場合は、AMP for Endpointsで以下のPath Exclusionを設定します。設定方法については後述します。

    Path: CSIDL_PROGRAM_FILES\McAfee
    Path: CSIDL_PROGRAM_FILESX86\McAfee
    Path: CSIDL_COMMON_APPDATA\McAfee
    Path: CSIDL_PROGRAM_FILES\Common Files\McAfee

その他のソフトウェアの詳細に関しては、以下資料のAppendix A: Recommended Exclusionsをご参照ください。

 

Configure and Manage Exclusions in AMP for Endpoints

https://www.cisco.com/c/en/us/support/docs/security/sourcefire-fireamp-endpoints/118341-configure-fireamp-00.html

 

また、アンチウイルスソリューション側の設定にて、同様にAMP for Endpointsの関連ファイル・フォルダを除外することをお勧めいたします。

<フォルダ>
C:\Program Files\Cisco\AMP

<プロセス>
C:\Program Files\Cisco\AMP\<version>\sfc.exe
C:\Program Files\Cisco\AMP\<version>\iptray.exe

 

 

原因調査の手順

問題となっている箇所を特定するための調査手順を示します。多くのパターンではアクセス数の多いファイルをExclusionに追加することで解決するため、まずは、特定の箇所に目立ったアクセス数がないかを確認することをお勧めします。

なお、Debug付きのDiagnosticsを取得いただき、TACへケースオープンいただいたとしても、正確に問題箇所を特定することは不可能であり、基本的には本記事に記載している内容をさせていただくことになります。

アクセス数の多いファイルの特定

以下、各OSのConnector毎にアクセス数の多いファイルを特定する方法を説明します。

 

Windows

大前提として、Debug付きのログを取得いただく必要がございます。
Debug設定をした直後にログを収集するのではなく、Debugを有効にした状態で事象を発生させ、その後ログを取得する必要がございます。

使用するファイルは以下のファイルとなります。

C:\Program Files\Cisco\AMP\<Version>\sfc.exe.log

※<Version>にはWindows Connectorのバージョン番号(例えば6.1.7等)が入ります。


sfc.exe.logのファイルはDiagnosticsを取得いただければ、含まれております。

Diagnosticsの取得に関しては以下の記事をご参照ください。

日本語版 Windows Connectorでのサポート診断ツールの取得方法

 

また、端末でDebugが有効になった状態で、事象を再発させ、Diagnosticsを取得する必要がありますため、ご注意ください。Debug取得タイミングに関しては、以下の記事をご参照ください。

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

 

Debugログを有効にして、事象を再現させた後、取得したsfc.exe.logの中で以下のEvent::HandleCreationという関数名で、以下のようにファイル名が記載されている箇所を抽出します。

(63124759, +0 ms) Oct 19 10:27:22 [3056]: Event::HandleCreation \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Default\1f6f7e59-c5ee-4588-baca-359237c0ea9d.tmp(\\?\C:\Program Files\Cisco\AMP\tmp\AEAC5.tmpscan), \\?\C:\Program Files\Google\Chrome\Application\chrome.exe

このログはOct 19 10:27:22にC:\Program Files\Google\Chrome\Application\chrome.exeが、C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Default\1f6f7e59-c5ee-4588-baca-359237c0ea9d.tmpに対して、ファイルの移動・コピー等を実施したということを示します。

 

従って、こちらのEventの情報をsfc.exe.logから抽出すれば、どのプロセス(上記の場合はChrome)が、どのファイルに対して(上記の場合はChromeの一時ファイル等)処理を実行しているかを確認することが出来ます。基本的なExclusionの追加方針としては以下の通りです。

  • 特定のプロセスが多く実行されている場合、該当プロセスをProcess Exclusionに追加
  • 特定のフォルダやファイルへの移動・コピーの回数が多い場合は、対象ファイル・フォルダに対して、Path Exclusion、Wildcard Exclusion等を追加

これらの具体的な追加方法や注意事項は後ほど説明します。

 

また、sfc.exe.log中には事象発生時と全く異なる古いログが残っている場合があり、後の処理で誤った結果となる場合があるため、事前にログのタイムスタンプを参考にして、事象発生とは無関係のログを取り除いておくことをお勧めします。事象発生と無関係のタイミングのログを分析して無意味な分析結果になるケースはよく見られます。

 

さて、上記のパターンのログを抽出することが出来れば、テキスト処理さえ出来れば、どのような方法を使っても分析可能ではございますが、一つの例として、LinuxのShell(Windowsの場合はCygwinやWindows10搭載のUbuntsu等を使用)を使って、ファイル毎にアクセス回数を取得する方法の例を紹介します。

 

Processの実行回数の場合、以下のように後半のファイルパスが取得できるように工夫します。

$ cat sfc.exe.log | grep "Event::HandleCreation \\\\" sfc* | awk '{start=substr($0,(index($0,"Event::HandleCreation")+length("Event::HandleCreation"))); file=substr(start,0,index(start,"(")-1); parent=substr(start,index(start,",")+2); print parent}' | sort | uniq -c | sort -nr
     32 \\?\C:\Program Files\Datadog\Datadog Agent\embedded\python.exe
     31 \\?\C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy\SearchUI.exe
     26 \\?\C:\Program Files\Google\Chrome\Application\chrome.exe
     23 \\?\C:\Windows\System32\svchost.exe
     13 \\?\C:\Users\xxxxx\AppData\Local\CiscoSparkLauncher\CiscoCollabHost.exe
     12 \\?\C:\Program Files\Mozilla Firefox\firefox.exe
      5 \\?\C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
      2 \\?\C:\Program Files\Internet Explorer\iexplore.exe
      1 \\?\C:\Windows\System32\taskhostw.exe
      1 \\?\C:\Windows\System32\services.exe
      1 \\?\C:\Users\xxxxx\AppData\Local\WebEx\WebEx\T33_UMC\wbxreport.exe
      1 \\?\C:\Program Files\Windows Defender\MpCmdRun.exe
      1 \\?\C:\Program Files (x86)\Atlassian\HipChat4\HipChat.exe
      1 (Unknown)

 

次にファイルの移動・コピーは前半のファイルパスを取得します。以下の結果となりました。

$ grep "Event::HandleCreation \\\\" sfc.exe.log | awk '{start=substr($0,(index($0,"Event::HandleCreation")+length("Event::HandleCreation"))); file=substr(start,0,index(start,"(")-1); parent=substr(start,index(start,",")+2); print file}' | sort | uniq -c | sort -nr
     22  \\?\C:\ProgramData\Datadog\ForwarderStatus.pickle
     20  \\?\C:\Users\xxxxx\AppData\Local\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\Microsoft\Internet Explorer\DOMStore\OQBEAHVD\www.bing[1].xml
     13  \\?\C:\Users\xxxxx\AppData\Local\CiscoSpark\14886787511465773670\spark_persistent_store.db-journal
      6  \\?\C:\ProgramData\Datadog\DogstatsdStatus.pickle
      4  \\?\C:\Users\xxxxx\AppData\Local\Mozilla\Firefox\Profiles\3nrabctq.default-1521676256928\cache2\entries\0F97568ADF8075570726CE7D4B59FDC8E567F658
      4  \\?\C:\ProgramData\Datadog\CollectorStatus.pickle
      3  \\?\C:\Users\xxxxx\AppData\Local\Mozilla\Firefox\Profiles\3nrabctq.default-1521676256928\cache2\entries\D43231470330B73A9F0966CFCF649D88AC5C7970
      2  \\?\C:\Users\xxxxx\AppData\Local\Mozilla\Firefox\Profiles\3nrabctq.default-1521676256928\cache2\entries\EFD3A9528B01E88637A84EFD8B0A2A52A30AC90E
      2  \\?\C:\Users\xxxxx\AppData\Local\Mozilla\Firefox\Profiles\3nrabctq.default-1521676256928\cache2\entries\885D8D8E53E44991E919609E2A9BFD9442DF9FF5
      1  \\?\C:\Windows\SoftwareDistribution\ReportingEvents.log
      1  \\?\C:\Windows\SoftwareDistribution\PostRebootEventCache.V2\{93BAF72C-FAF1-4659-98A4-7DF05CDCB00D}.bin
      1  \\?\C:\Windows\SoftwareDistribution\DataStore\DataStore.jfm
      1  \\?\C:\Windows\Logs\WindowsUpdate\WindowsUpdate.20180917.124907.562.1.etl
      1  \\?\C:\Users\xxxxx\AppData\Local\Temp\wbxtra_09172018_124730.zip
      1  \\?\C:\Users\xxxxx\AppData\Local\Temp\etilqs_lom9LDSK2SPg4s7

これらの情報から、設定するExclusionを検討します。その前にWindowsでなく、Linux/Macの場合の同様の情報の取得方法を紹介します。

 

Mac/Linux

Mac/LinuxのConnectorはWindowsよりも簡単にファイルアクセス数を取得することが可能です。
Windowsと同様にDebug付きのDiagnosticsを取得した後、解凍したZIPファイルの直下にある、fileops.txtをご確認ください。
以下の通り、ファイルの移動・コピーの回数が確認出来ます。

 

$ cat fileops.txt

      4 /var/lib/rpm/__db.004
      4 /var/lib/rpm/__db.001
      3 /var/lib/rpm/__db.003
      3 /var/lib/rpm/__db.002
      2 /var/log/messages
      2 /var/log/cisco/ampmon.log
      2 /opt/cisco/amp/etc/cloud_query.cache
      2 /home/kenikato/CryptoLocker_10Sep2013.zip
      1 /var/lib/PackageKit/transactions.db
      1 /var/lib/NetworkManager/timestamps.6URUQZ

 

Exclusionの追加検討

それでは、Exclusionの具体的な追加を検討します。
まず、大前提として、Exclusion設定はセキュリティリスクとのトレードオフであるため、可能な限り、問題となっている箇所のみを追加するようご注意ください。


また、Process Exclusionは以下の理由から、過度には追加せず、可能な限りPath Exclusion / File Extension / Wildcard Exclusionを使うことをお勧めします。

 

  • プロセスの実行によって生成されたファイルが全て除外されてしまう(セキュリティリスクが高まる)
  • 使用できる数に制限がある(Version 5.1では25個、Version 6.0以降では100個までとなります)

あくまで、Process Exclusionはそれ以外のExclusionでどうしても指定することが難しい場合に使用いただけたらと思います。

 

ケーススタディとして、実際にWindows環境でのログからExclusionを検討する例を示します。
以下の例は実際に高負荷が発生した環境で取得したものではなく、あくまで手順を示すための例となります。

 

<ファイル実行の回数を計算>
$ grep "Event::HandleCreation \\\\" sfc.exe.log | awk '{start=substr($0,(index($0,"Event::HandleCreation")+length("Event::HandleCreation"))); file=substr(start,0,index(start,"(")-1); parent=substr(start,index(start,",")+2); print parent}' | sort | uniq -c | sort -nr
   2679 \\?\C:\Program Files\Google\Chrome\Application\chrome.exe
   1944 \\?\C:\Windows\System32\svchost.exe
    662 \\?\C:\Program Files\Windows Media Player\wmpnetwk.exe
    614 \\?\C:\Windows\System32\taskhost.exe
    220 \\?\C:\Windows\servicing\TrustedInstaller.exe
    196 \\?\C:\Windows\System32\services.exe
    182 \\?\C:\Program Files\Common Files\Java\Java Update\jucheck.exe
    122 \\?\C:\Program Files\Cisco\AMP\6.1.7\iptray.exe
    100 \\?\C:\Program Files\Common Files\Java\Java Update\jusched.exe
     88 \\?\C:\Program Files\teraterm\ttermpro.exe
     74 (Unknown)
     66 \\?\C:\Program Files\Internet Explorer\iexplore.exe
     44 \\?\C:\Windows\System32\rundll32.exe
     40 \\?\C:\Windows\System32\SearchIndexer.exe
     36 \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\SwReporter\34.176.200\software_reporter_tool.exe
     28 \\?\C:\Windows\System32\taskeng.exe

<ファイル移動・コピーの回数を計算>
$ grep "Event::HandleCreation \\\\" sfc.exe.log | awk '{start=substr($0,(index($0,"Event::HandleCreation")+length("Event::HandleCreation"))); file=substr(start,0,index(start,"(")-1); parent=substr(start,index(start,",")+2); print file}' | sort | uniq -c | sort -nr
    331  \\?\C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows Media Player NSS\3.0\Icon Files\8fa4007a-a19d-4642-bec0-7e6b7fae5d43.png
    130  \\?\C:\Users\cisco\AppData\Local\Temp\jusched.log
     91  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlUws.store_new
     91  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlSoceng.store_new
     91  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlMalBin.store_new
     86  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlSuspiciousSite.store_new
     73  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlMalware.store_new
     71  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Default\Service Worker\CacheStorage\16afe3a205579d3492d0986f7a27a87bfbd0c3d0\10421d56-39d4-4cb4-b139-8ab6b059778b\index-dir\temp-index
     59  \\?\C:\Windows\Prefetch\TASKHOST.EXE-7238F31D.pf
     52  \\?\C:\Windows\Prefetch\TASKENG.EXE-48D4E289.pf
     52  \\?\C:\ProgramData\Microsoft\RAC\StateData\RacWmiDataBookmarks.dat
     50  \\?\C:\Windows\System32\LogFiles\Scm\a1cfa52f-06f2-418d-addb-cd6456d66f43
     50  \\?\C:\ProgramData\Microsoft\RAC\StateData\RacDatabase.sdf
     50  \\?\C:\ProgramData\Microsoft\RAC\PublishedData\RacWmiDatabase.sdf

以降、具体的に設定するExclusionを検討します。

 

Path Exclusion

まず、は最も基本的なPath Exclusionです。

先ほどの実行結果より、以下のファイルに多くアクセスが発生していることが確認出来ます。

331  \\?\C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows Media Player NSS\3.0\Icon Files\8fa4007a-a19d-4642-bec0-7e6b7fae5d43.png

この場合、最もシンプルに

Path: C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows Media Player NSS\3.0\Icon Files\8fa4007a-a19d-4642-bec0-7e6b7fae5d43.png

を指定してファイルそのものをPath Exclusionに追加することが可能です。
また、特定のフォルダ以下を全て除外したいのであれば、

Path: C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows Media Player NSS\
Path: C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows Media Player NSS\3.0\Icon Files\

等と指定することも可能です。

Path Exclusionはファイルの絶対パスで、一致している場合は全て除外されます。

 

なお、Path Exclusionに関しては「特定のフォルダ以下」としたい場合は"\"を最後に付けることをお勧めします。
例として、以下を設定する場合

Path: C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows Media Player NSS

同じ階層に
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows Media Player NSSXXXXX
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows Media Player NSSBBBBB
のような別のファイル・フォルダがある場合はそれらにも合致することになります。

従いまして、フォルダを指定する場合は、明示的に最後に"\"を含めることをお勧めします。

 

また、Path ExclusionではCSIDL表記が可能です。例えば、端末によって、使用しているドライブがC:\ではなくD:\である場合もあり、その場合に複数のPath Exclusionを指定するのではなく、CSIDL表記を使って、まとめて表記することが可能です。
その場合、

Path: C:\Program Files\aaa\

の代わりに

Path: CSIDL_PROGRAM_FILES\aaa\

と記述し、それによって、Program FilesがC:\以外にある場合にドライブだけ異なるExclusionを追加せずに済みます。

CSIDL値の詳細は、Windowsのドキュメントをご確認ください。
https://msdn.microsoft.com/ja-jp/library/windows/desktop/bb762494(v=vs.85).aspx

 

先ほど、Path Exclusionはファイルの絶対パスが一致している場合は全て除外されることを説明しました。その性質から、以下のようなPath Exclusionの指定は重複しており、無意味となります。例えば以下の4つのExclusionを追加した場合ですが、

Path: C:\
Path: C:\aaa
Path: C:\aaa\bbb
Path: C:\aaa\bbb\ccc

この例では、1行目のPath: C:\が残りの3つのExclusionを含めることになるため、無意味な設定となります。

 

Extension

次にファイルの拡張子を使ったExclusionとなります。先ほど取り上げた以下のファイルに対するExclusionはPath Exclusionを設定することも可能ですが、

 

C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows Media Player NSS\3.0\Icon Files\8fa4007a-a19d-4642-bec0-7e6b7fae5d43.png


別の考え方としてpngファイルは画像であると考えて特に問題がないのならば(実際に必ずしもそうとは限りませんが)、Extension(拡張子)のExclusionにて、除外をすることが可能です。

Extension: png


同様に実行例からは以下のファイルアクセスも数が大きいことが分かりますが、

    130  \\?\C:\Users\cisco\AppData\Local\Temp\jusched.log

.logファイルは一般的にはログを出力するためのテキストであり、安全であると判断することが出来れば、こちらも

Extension: log

で除外することが可能と判断することが出来ます。

 

ExtensionによるExclusionの指定ではPathに限らず全ての同じ拡張子に影響がありますため、Textファイルであると判明しているものや、セキュリティ上、スキャンをしなくても問題ないものに限定して指定ください。

 

Wildcard Exclusion

以下のようなファイルアクセスが発生していた場合、

     91  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlUws.store_new
     91  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlSoceng.store_new
     91  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlMalBin.store_new
     86  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlSuspiciousSite.store_new
     73  \\?\C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\UrlMalware.store_new

このファイルの名前からPath名と最後のファイル名にnewがついている点が共通していると考えられるため、Wildcard Exclusionを使って以下のように指定します。

Wildcard: C:\Users\cisco\AppData\Local\Google\Chrome\User Data\Safe Browsing\*new

なお、こちらは、正規表現ではなく、Wildcardであるため、".*"とする必要はございません。また、文字がない場合にも合致します。

 

他によく使うパターンとして、以下のようなパターンのファイルアクセスを除外したいものの、ユーザ名が異なっており、Path Exclusionでは指定しきれない場合に、

      1  \\?\C:\Users\cisco\AppData\Local\Temp\~DFDEE88452F52656CB.TMP
      1  \\?\C:\Users\aaaaa\AppData\Local\Temp\~DFDB407A018EEA9E94.TMP
      1  \\?\C:\Users\bbbbb\AppData\Local\Temp\~DFAD5D505A269E3EC3.TMP
      1  \\?\C:\Users\ccccc\AppData\Local\Temp\~DFA89650109F41AE55.TMP
      1  \\?\C:\Users\ddddd\AppData\Local\Temp\~DF7E5A961096C2A5CE.TMP
      1  \\?\C:\Users\eeeee\AppData\Local\Temp\~DF7B1571C3A499C77B.TMP
      1  \\?\C:\Users\fffff\AppData\Local\Temp\~DF73E148B1FF73C365.TMP
      1  \\?\C:\Users\ggggg\AppData\Local\Temp\~DF7229F2156EAF53C3.TMP

以下のようなWildcard Exclusionで指定することが可能です。

Wildcard: C:\Users\*\AppData\Local\Temp\*.TMP

また、複数の"*"を使用可能という点にもお気づきいただけると思います。

 

Process Exclusion

Process Exclusionについては冒頭で伝えた通り、慎重に追加する必要があります。

 

上記の例においては、Chromeやsvchost.exeの実行回数が多いことが、確認出来ます。
しかしながら、Chromeやsvchost.exeは基本的なプログラムであることから、完全に除外することはセキュリティ上の観点から好ましくはありません。

Process Exclusionの追加対象となりえるものは、Connectorがスキャンしなくてもよいと考えられる安全な実行ファイル(例えば実お客様自身で作成しているソフトウェアが安全だと判断が出来る等の場合等)が考えられます。

また、Path Exclusion / Wildcard Exclusion / File Extensionでは指定が難しい場合にProcess Exclusionを追加します。

 

Process Exclusionは現時点ではWindows Connectorのみの機能となりますため、Mac/Linuxではご利用いただけません。

 

Process Exclusionの追加は、プロセスの実行ファイル(EXE)を絶対パスか、ファイルのHash値で指定します。

Process: C:\Program Files\aaa\bbb.exe もしくは
Process: 17f746d82695fa9b35493b41859d39d786d32b23a9d2e00f4011dec7a0241111

 

アクセス数の多いファイルへのExclusionで解決しない場合

Connectorの高負荷問題や、ソフトウェアとの競合は基本的には、アクセス回数の多いファイルに対してExclusionを追加し、解決するかを繰り返し行う調査が必要となります。

これまでは、Exclusionを使って、問題を解決する手段を説明してきましたが、Exclusionの追加にて解決しないケースも稀にございますので、その場合の対策について説明します。


Exclusionを使って目立ったファイルアクセスを除外し、これ以上除外できそうなファイルが見当たらず、Exclusionで解決しないことを疑う場合、まずは、Exclusionで事象の解決が可能であるかそのものを確認します。

具体的には、端末の全てのドライブをPath Exclusionに追加します。複数のドライブがある場合は、複数追加します。

Path: C:\
Path: D:\

それによって、発生している事象がExclusionによって解決可能であるかを確認します。全てのドライブを除外することで解決するのであれば、まだExclusionの追加を試みることによって最終的には解決することが可能ですが、全てのドライブを除外しても解決しない場合は、Exclusionでは解決出来ない別の問題であると判断します。


Exclusionでは解決不可能と判明した場合、被疑と考えられる機能を無効にすることで解決する場合があります。無効にする機能の例としては以下がございます。

  1. TETRA
    端末にアンチウイルスエンジンが動作している場合、オフラインエンジンであるTETRAは無効にする必要があります。また、サーバOSの場合、通常の端末よりファイルIOが多いため、TETRAによってパフォーマンスの問題を引き起こす場合があります。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にて無効にすることが可能です。
  4. ETHOS
    ETHOSはデフォルトで有効ではありますが、特にConnectorがScanするファイルサイズの最大値がデフォルトの50MBで設定されている場合、稀に高負荷を引き起こす場合がございます。Exclusion追加で事象が解決しない場合にはETHOSエンジンを無効化することをお勧めいたします。Policy設定のAdvanced Settings -> Engines -> ETHOS -> Enable ETHOSのチェックボックスを外すことで無効にすることが可能です。

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

 

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

 

実環境への影響が少ないExclusionの動作確認方法

現在使用しているPolicyが数多くの端末で使用されている環境にて、Exclusion設定その他を変更すると、そのPolicyを使っている全ての端末に設定が反映され、多くの端末に設定の影響が出るため、問題の発生している端末のみでの動作確認のため、PolicyをDuplicateし、テスト用のGroupに紐付けることをお勧めします。

 

以下の通り、Management -> Policiesから該当PolicyをDuplicateし、コピーを作成します。

WS000079.JPG

 

 また、新規でGroupを作成し、作成したPolicyを割り当てます。

WS000081.JPG

最後に、テストしたい端末をManagement -> Computersから選び、Move to Groupで作成したGroupに割り当てます。

WS000082.JPGWS000083.JPG

端末が新しいGroupに移動したことを確認したら、Exclusionの追加テストを実施します。

 

Exclusionの設定方法

次にExclusionの設定方法を示します。

以下のように、設定したいExclusionのリストをManagement -> Exclusionsより+New Exclusion Setをクリックし、OSを選択して作成します。

 WS000084.JPGWS000085.JPG

 

以下の通り、OSのデフォルトのExclusion Setが追加されていることを確認します。

WS000086.JPG

 

 現時点でのAMP Consoleの仕様では、一つのPolicyに対して、複数のExclusion Setを適用可能となっているため、一つのExclusion SetにあるPolicy用の全てのExclusionを追加する必要はありません
従いまして、現在既にあるExclusion Setが適用されているPolicyに対して、追加のExclusion Listを設定する場合、デフォルトで定義されているOS用のExclusion Setは以下のように削除しても問題ありません。

 WS000087.JPG

 

Exclusionが空になった後、設定したいExclusionの種類を選択し、入力します。この例ではPath Exclusionを設定します。

WS000075.JPG

行を追加する場合は、Add Exclusionをクリックして追加します。


また、Add Multiple Exclusionsを使用すると、複数行のExclusionを一回設定可能です。ここでは使用するExclusion Typeは自動検出されます。テキストからのコピー&ペーストに便利です。

WS000076.JPGWS000077.JPG

 

Exclusion Setを作成したら、Policy設定をします。先ほど説明したように、Exclusion Setを複数可能指定可能であるため、既存のExclusion Setを残したまま、今回作成したExclusion Setを上記の通り追加します。

WS000088.JPG

 

これでExclusionの設定が完了となります。

 

Exclusion追加時の注意事項

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

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

 

参考資料

最後に、本記事を執筆するに当たって、記事中には記載していなかった参考資料を以下の通り示します。

FireAMP Guide to Exclusions on Windows

Best practices for AMP for Endpoint Exclusions

Collection of Diagnostic Data from a FireAMP Connector that Runs on Linux

FireAMP Connector for Mac Diagnostic Data Collection

 

Getting Started

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

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