ソフトウェアの許可またはブロック

Deep Security 10で導入された新機能です。

アプリケーションコントロールを有効にし、ログまたはアラートを設定すると、承認されていないソフトウェアの変更が検出されたときに通知が送信されます。この通知を受け取った場合、そのソフトウェアを許可またはブロックするか、あるいはそのまま監視を続けるかを選択できます。

すべてのコンピュータのすべてのソフトウェアの変更をすばやく確認し、許可ルールまたはブロックルールを作成するには、[処理] タブを使用します。

[処理]タブでは、承認済みのソフトウェアインベントリからのドリフトを表示し、ソフトウェアの許可またはブロックを実行できます。このリストをフィルタするには、時間間隔を選択するか、青いリンクをクリックするか、または検索フィルタを入力します。
  1. [処理] に移動します。
  2. 承認されていないソフトウェアの特定の検出情報だけを表示したりソートしたりするには、次の手順で条件を指定します。

    • [アプリケーションコントロール: ソフトウェア変更] の横にあるリストで、時間の範囲 ([過去24時間] など) を選択します。指定した期間以外のイベントがすべて非表示になります。
    • 左側の画面で、コンピュータグループまたはスマートフォルダを選択します。

      [コンピュータ] タブと異なり、この画面には通常すべてのコンピュータが表示されることはありません。承認されていないソフトウェアの変更がアプリケーションコントロールで検出されていない場合や、許可ルールまたはブロックルールを作成してすでに解決済みの場合は、この画面のコンピュータグループおよびスマートフォルダは空になります。

    • 検索フィルタフィールドに検索語句を入力します。
    • [ファイル (ハッシュ) 別にグループ化] または [コンピュータ別にグループ化] を選択します。
    • 右側の詳細パネルで、ファイル名またはコンピュータ名をクリックします。選択した項目が検索フィルタに追加されます。
    • ソフトウェアが変更された時間帯を示すグラフ内のバーをクリックします。その時間帯についての情報が拡大して表示されます。

    検索結果には、すべての条件を満たすインシデントだけが表示されます。検索フィルタで非表示となるインシデントの数が多過ぎる場合は、検索語句の横にある [X] ボタンをクリックして その語句を削除します。許可するかブロックするかを判断するために詳細な情報が必要な場合は、ソフトウェア名をクリックし、右側の詳細パネルを使用します。

    コンピュータでのソフトウェアの変更が多すぎる場合、アプリケーションコントロールは引き続き既存のルールを適用しますが、パフォーマンス上の理由からそれ以上ソフトウェアの変更は検出されず、表示もされなくなります。この問題を解決するには、大量のソフトウェア変更後にアプリケーションコントロールをリセットするを参照してください。
  3. [許可] または [ブロック] をクリックして許可ルールまたはブロックルールを追加します。コンピュータ、ソフトウェアのバージョン、およびパスがすべて一致するソフトウェアだけが対象になります。

    検出されたソフトウェアをすべてのファイルシステムパスおよびコンピュータで許可またはブロックするには、[すべて許可] または [すべてブロック] をクリックします。誤って間違った処理を選択した場合は、ソフトウェアのブロックおよび許可の取り消しを参照してください。

    許可ルールまたはブロックルールを変更した場合、同じルールセットを使用するすべてのコンピュータに変更が反映されます

    AgentからDeep Security Manager (ローカルルールセット) またはRelay (共有ルールセット) への次回接続時に、Agentは新しいルールを受信します (APIを通じて作成された共有の許可ルールまたはブロックルールがコンピュータで使用されていた場合は、これらの新しいルールも、同じ共有ルールを使用する他のAgentが次回接続したときに、Relayから他のAgentに転送されます)。この処理が成功するまで、ルールセットのアップデートが保留中であるというステータスが示されます。所要時間は以下の要素によって異なります。

    ルールセットのアップロードがうまくいかない場合は、AgentとDeep Security ManagerまたはRelayの間に配置されたネットワークデバイスでハートビートポート番号またはRelayポート番号の通信が許可されていることを確認してください。

  4. ルールが機能していることを確認するために、ブロックしたソフトウェアを実行してみます。ルールに一致するには、ソフトウェアの場所、ハッシュ、パス、ファイル名がすべて同じでなければなりません。

    [承認されていないソフトウェアを明示的に許可するまでブロック] を選択したために、承認されていないソフトウェアが誤ってブロックされた場合 (誤って許可された場合も同様) は、アプリケーションコントロールイベントログの [理由] 列で原因のトラブルシューティングに役立つ情報を確認できます。
  5. ブロックしたソフトウェアがインストールされたままの場合、アプリケーションコントロールは引き続きソフトウェアの実行をブロックするとアラートを表示し、ログに記録します。

    攻撃対象領域を縮小し、コンピュータの権限に関するエラーログを少なくするには、アプリケーションコントロールでブロックしているソフトウェアをアンインストールします。その後、関連するアラートを消去するには、[アラート] または [ダッシュボード] へ進み、そのアラートをクリックし、[アラートの消去] ボタンをクリックします。ただし、すべてのアラートを消去できるわけではありません。詳細については、事前定義アラートの定義を参照してください。

例: アプリケーションコントロールで [すべて許可] する

ローカルルールセットを使用する3台のコンピュータでhelloworld.pyが検出された場合、[すべて許可] または [すべてブロック] をクリックしても反映されるのはこの3台のコンピュータのみです。他のコンピュータは独自のルールセットを使用しているため、他のコンピュータでその後同じファイルが検出されても選択した処理は適用されません。

一方、3つの異なる共有ルールセットを使用する3台のコンピュータでhelloworld.pyが検出され、この3つの共有ルールセットを他の297台のコンピュータでも使用している場合は、[すべて許可] または [すべてブロック] をクリックすると、Deep Security Managerによって合計300台のコンピュータにルールの変更がアップロードされます。 同じ共有ルールセットが将来他のコンピュータで使用された場合、そのコンピュータにも変更が適用されます。

ソフトウェアアップデートを許可する

アプリケーションコントロールはパッチのインストール、ソフトウェアのアップグレード、またはWebアプリケーションの配信も検出します。承認されていないソフトウェアの処理方法の設定によっては、[処理] タブで許可ルールを作成するまでこれらのソフトウェアがブロックされることがあり、ミッションクリティカルなソフトウェアなどではサービスの中断を許容できない場合があります。また、Linuxアップグレードのような定期的に実行されるソフトウェアアップデートについては、大量のアラートを受け取りたくない場合もあります。

[承認されていないソフトウェアを明示的に許可するまでブロック] を選択している場合は、コンピュータのOSをアップデートする前にメンテナンスモードを有効にする必要があります。そうしないと、許可ルールを作成するまではアップデートされたOSファイルの実行がブロックされるため、コンピュータが停止してしまうことがあります。アップデートされたOSファイルの種類によっては、その状況から回復するために、OSのリカバリモードや外部ツールを使用した復旧作業が必要になる場合もあります。

インストールやメンテナンスの実行時に不要なダウンタイムやアラートを回避するには、アプリケーションコントロールをメンテナンス期間用のモードに切り替えます。メンテナンスモードでは、アプリケーション制御は、アプリケーション制御ルールで特にブロックされているソフトウェアをブロックし続けますが、新規またはアップデートされたソフトウェアを実行して許可ルールに自動的に追加します。

メンテナンスモードは、[コンピュータ] タブの [処理] または (コンピュータが少数の場合のみ) 各コンピュータのコンピュータエディタから有効または無効にすることができます。

  1. Deep Security Manager で、([ポリシー] タブではなく) [コンピュータ] に進みます。

  2. 1つ以上のコンピュータを選択し、[処理]→[メンテナンスモードをオンにする] をクリックします。

  3. メンテナンス期間を選択します。

    予定されているメンテナンス期間が終了した時点で、メンテナンスモードは自動的に無効になります。また、アップデートの完了時にメンテナンスモードを手動で無効にする場合は、メンテナンスモードを自動でオフにしない ([無期限にオン]) オプションを選択します。

    メンテナンスモードを [無期限にオン] に設定している場合は、アップデートの完了後に忘れずにメンテナンスモードを手動で無効にしてください。そうしないと、ユーザや攻撃者によって新しいソフトウェアがインストールされて実行されたときに、自動的に許可ルールに追加される危険があります。

    この設定はDeep Security ManagerからAgentにすぐに送信されます。[保存] をクリックする必要はありません。ステータスおよびメンテナンスモードのダッシュボードウィジェットに設定が成功したかどうかが表示されます。

  4. ソフトウェアをインストールまたはアップグレードします。

    そのコンピュータが共有の許可ルールまたはブロックルールを使用していた場合、Deep Security Managerへの次回接続時にAgentから新しいルールがアップロードされます。アップロードされた新しいルールは、他のAgentが次回接続したときに、Deep Security ManagerからAgentに転送されます。所要時間は以下の要素によって異なります。

  5. メンテナンスモードを手動で無効にするよう選択した場合、ソフトウェアの変更の検出を再び開始するにはメンテナンスモードを忘れずに無効にしてください。
  6. セキュリティアップデートを実施した場合は、すべてのコンピュータがアップデートされた (バージョンが古く、安全でないソフトウェアがない) ことを確認してください。

    コンピュータで共有ルールセットを使用する場合は、[ポリシー]→[ルール]→[アプリケーションコントロールルールセット] の順に選択し、ルールセットをダブルクリックします。バージョンが古く、安全でないソフトウェアの許可ルールを探し、[処理][ブロック] に変更してください。これで、安全でないソフトウェアが誤って再インストールされた場合でもそのソフトウェアが実行されることはありません。

他のコンピュータ上で共有の許可ルールおよびブロックルールを再使用する

APIを使用して共有の許可ルールまたはブロックルールを作成した場合は、そのルールセットを他のコンピュータに適用できます。これは、同一のコンピュータが複数ある場合 (Webサーバファームで負荷を分散している場合など) に便利です。

  1. APIを使用して、コンピュータの共有の許可ルールおよびブロックルールを構築します。詳細については、APIのドキュメントを参照してください。共有ルールセットを配信する前に内容を確認する場合は、アプリケーションコントロールルールセットの表示を参照してください。

  2. コンピュータエディタまたはポリシーエディタClosed これらの設定は、ポリシーまたは特定のコンピュータについて変更できます。 ポリシーの設定を変更するには、[ポリシー] 画面に移動し、編集するポリシーをダブルクリック (またはポリシーを選択して [詳細] をクリック) します。 コンピュータの設定を変更するには、[コンピュータ] 画面に移動し、編集するコンピュータをダブルクリック (またはコンピュータを選択して [詳細] をクリック) します。で、[アプリケーションコントロール] に進みます。

  3. [ルールセット] で、[設定を継承] が選択されている場合は解除し、[共有ルールセットを使用] を選択します。使用する共有ルールセットを指定します。

    これらの設定は、APIを使用して作成した共有ルールセットがない場合は表示されません。共有ルールセットを作成していない場合、または初期設定をそのまま使用する場合は、各コンピュータには独自の許可ルールおよびブロックルールがローカルに使用されます。ローカルルールに対する変更は他のコンピュータには反映されません。

  4. [保存] をクリックします。

    コンピュータのDeep Security Agentが次回Deep Security Managerに接続する時に、Agentによってルールが適用されます。所要時間は以下の要素によって異なります。

    ルールセットのアップロードがうまくいかない場合は、AgentとRelayの間に配置されたネットワークデバイスでハートビートポート番号およびRelayポート番号の通信が許可されていることを確認してください。

共有の許可ルールおよびブロックルールからコンピュータ固有の許可ルールおよびブロックルールに切り替える

APIで作成された共有の許可ルールまたはブロックルールを現在使用しているコンピュータで、ローカルルールを使用するように変更することができます。アプリケーションコントロールを初めて有効にしたときと同様に、ファイルシステムに現在インストールされているすべてのソフトウェアが検索され、初期ルールセットが作成されます。

この手順を開始する前に、不要なソフトウェアがインストールされていないことを確認してください。ルールセットを再構築すると、安全性が確認されていないソフトウェアや不正プログラムも含め、現在インストールされている「すべて」のソフトウェアが許可されます。インストールされているソフトウェアを把握していない場合は、クリーンインストールを実施し、その後でアプリケーションコントロールを有効にするのが最も安全な方法です。

以下の手順は、特定のコンピュータのAgentでローカルルールセットを使用するように設定する手順です。「すべて」のコンピュータでローカルルールを使用する場合 (データセンターの各ホストで異なるアプリケーションをホストする場合など) は、[ポリシー] タブで設定を編集してください。

  1. コンピュータエディタClosed コンピュータエディタを開くには、[コンピュータ] 画面に移動し、編集するコンピュータをダブルクリック (またはコンピュータを選択して [詳細] をクリック) します。で、[アプリケーションコントロール] に進みます。

  2. [ルールセット] で、[設定を継承] が選択されている場合は解除し、[最初はインストールされているソフトウェアに基づいてローカルルールセットを使用] を選択します。

  3. [保存] をクリックします。

    変更を確認するには、AgentとDeep Security Managerとの次回接続時に、アプリケーションコントロールルールセットの構築に関するイベントログを確認します。所要時間は以下の要素によって異なります。

大量のソフトウェア変更後にアプリケーションコントロールをリセットする

アプリケーションコントロールの目的はソフトウェアの変更管理プロセスを支援することであり、大量のソフトウェア変更が繰り返し発生する、管理されていないコンピュータを対象としていません。

変更が多すぎると、古いルールを毎回削除しないかぎり、大量のルールセットが生成されて多くのRAMが消費されます。承認されたソフトウェアのアップデート時にメンテナンスモードを使用しない場合は、変更が多すぎると、管理者が許可ルールを手動で作成しなければならないため、作業負荷の増加にもつながります。

承認されていないソフトウェアの変更数が上限を超えると、アプリケーションコントロールはすべてのコンピュータについてソフトウェアの変更の検出と表示を停止します。これにより、安定性やパフォーマンスに対する偶然または意図的な影響、つまり大量のメモリ、ディスク容量、ネットワーク帯域幅 (共有ルールセットの場合) の消費が回避されます。

この状況が生じた場合、Deep Security Managerはアラートおよびイベントログを使用して管理者に通知します。ソフトウェアの変更の検出を継続するには、問題を解決する必要があります。

  1. コンピュータのプロセスとセキュリティイベントを調べ、コンピュータが攻撃を受けていないことを確認します。

    攻撃を受けていないかどうかがわからない場合や十分な時間がない場合、最も安全かつ迅速な方法は、バックアップまたはVMスナップショットからシステムを復元することです。

    承認されていないソフトウェア (ゼロデイの不正プログラムを含む) があってそれを削除しなかった場合、アプリケーションコントロールのリセット後そのソフトウェアを無視され、[処理] タブに表示されなくなります。そのソフトウェアのプロセスがすでに実行されてRAMに存在する場合、コンピュータを再起動しないかぎり、このソフトウェアに関するイベントはログに記録されず、アラートも生成されません。
  2. コンピュータでソフトウェアアップデート (ブラウザ、Adobe Reader、yumによるアップデートなどの自動アップデートを含む) を実行していた場合は、アップデートを無効にするか、アプリケーションコントロールのメンテナンスモードを有効にした場合にのみアップデートが実行されるようにスケジュールを設定してください。
  3. アプリケーションコントロールをリセットします。リセットするには、アプリケーションコントロールを無効にします。Agentでアプリケーションコントロールの無効化が確認さされ、エラーステータスがクリアされたら、アプリケーションコントロールを再び有効にします。

    ローカルルールセットが再構築され、共有ルールセットが再びダウンロードされます。