プロセス プロファイルルール

ポリシー → グループ → プロセス プロファイルルール

には、プロセス/ファイル保護の2種類がありますSUSE® Security。1つはゼロドリフトで、許可されたプロセスとファイルの活動がコンテナイメージに基づいて自動的に決定され、もう1つは行動学習に基づいています。必要に応じて、それぞれはカスタマイズ可能です(ルールは手動で追加できます)。

AUFSファイルシステムを使用しているシステムで実行する際には制限があり、レースコンディションが発生し、プロセスルールがブロック(保護モード)に対して適用されない場合があります。ただし、これらの違反は依然としてセキュリティイベントログに報告されます。

ゼロドリフトプロセス保護

これはプロセスとファイル保護のデフォルトモードです。ゼロドリフトは、元のコンテナイメージにある親プロセスから発生するプロセスのみを自動的に許可し、ファイルの更新や新しいファイルのインストールを許可しません。ディスカバーモードまたはモニターモードのとき、ゼロドリフトは疑わしいプロセスやファイルの活動に警告を出します。保護モードでは、そのような活動をブロックします。ゼロドリフトは、プロセスを学習させたり、許可リストに追加したりする必要はありません。グループのゼロドリフトを無効にすると、そのグループに対してリストされたプロセスとファイルのルールが代わりに適用されます。

(1)各グループに対してリストされたプロセス/ファイルルールは、ゼロドリフトが有効になっている場合でも常に適用されます。これは、基本的なゼロドリフト保護に許可/拒否の例外を追加する方法を提供します。グループがディスカバーモードで開始する場合、プロセス/ファイルルールが自動的にリストに追加され、モニター/保護モードに移行する前に確認および編集する必要があります。

(2)システム信頼(事実上)のネームスペース(システムおよびネットワークプラグイン)を基本保護として設定することをお勧めします。設定する例のネームスペースには「kube-system」、「openshift-ovn-kubernetes」、「ovn-*」などがあります。他のアプリケーションポッドをゼロドリフトとして設定します。

ゼロドリフトモードを有効または無効にする機能は、ポリシー → グループのコンソールにあります。複数のグループを選択して、この設定をすべての選択したグループに切り替えることができます。

基本モード プロセス保護

ゼロドリフトは無効にでき、基本プロセス保護に切り替わります。基本保護は、各グループのリストされたプロセスおよび/またはファイルルールに基づいてプロセス/ファイルの活動を強制します。これは、保護が行われるためにはプロセスルールおよび/またはファイルルールのリストが必要であることを意味します。ルールは、ディスカバリーモード中に行動学習を通じて自動的に作成されるか、コンソールまたはREST APIを通じて手動で作成されるか、CRDを適用することによってプログラム的に作成されます。基本が有効な場合、ルールがないと、すべての活動がモニターまたは保護モード中に警告またはブロックされます。

行動学習に基づくプロセス保護

プロセス プロファイルルールは、コンテナのグループ(すなわちグループ)で実行を許可されるべきプロセスをプロファイリングするためにベースライン学習を使用します。マイクロサービス環境の通常の条件下では、特定のイメージを持つコンテナでは、特定のユーザーによって限られたセットのプロセスのみが実行されます。コンテナが攻撃された場合、悪意のある攻撃者は、このコンテナでは一般的に見られない新しいプログラムを開始する可能性が高いです。これらの異常なイベントは SUSE® Security によって検出され、アラートとアクションが生成されます(応答ルールも参照)。

プロセスのベースライン情報は、サービスグループがディスカバーモードにあるときに学習され、記録されます。モニターまたは保護モード中に、以前に見たことのないプロセスが新たに開始されるか、以前とは異なるユーザーによって古いプロセスが開始されると、そのイベントは検出され、モニターモードでは疑わしいプロセスとして警告され、保護モードでは警告されてブロックされます。ユーザーは、必要に応じて学習したプロファイルを手動で変更してプロセスを許可または拒否(ホワイトリストまたはブラックリスト)できます。

ベースラインプロセスに加えて、SUSE® Security には nmap、リバースシェルなどの一般的な疑わしいプロセスを検出するためのビルトイン機能があります。これらは、各コンテナサービスのホワイトリストに明示的に追加されない限り、検出され、警告またはブロックされます。

Kubernetesのライブネスプローブは自動的に許可され、モニター/保護モードでも学習されたプロセスルールに追加されます。

ノードのプロセスルール

特別に予約されたグループ「ノード」は、クラスター内の各ノード(ホスト)にプロセス プロファイルルールを適用するように設定できます。グループ「ノード」を選択し、プロセスルールを確認し、必要に応じて編集してください。次に、モニターモードまたは保護モードに切り替えます。「ローカル」(学習された)プロセスルールリストは、ディスカバーモード中にクラスター内のすべてのノードからのすべてのプロセスの組み合わせです。

カスタムグループのプロセスルール

ユーザー定義のカスタムグループの場合、プロセスルールは必要に応じて手動で追加する必要があります。カスタムグループは自動的にプロセスルールを学習しません。

プロセスルールの優先順位

プロセスルールは、ユーザー定義のカスタムグループと自動学習されたグループの両方に存在できます。カスタムグループのために作成されたルールは、自動学習されたグループのルールよりも優先されます。

任意のグループ内のプロセスルールリストでは、コンソール内のルールの順序がその優先順位を決定します。上位のルールが最初にマッチし、その下のルールが次にマッチします。

名前とパスの両方にワイルドカードを含むプロセスルールは、他のルールよりも許可アクションの優先順位が高くなります。すべてのプロセスをブロックするのを避けるために、両方のワイルドカードを使用した拒否アクションは許可されていません。

拒否アクションを持ち、名前にワイルドカードを含むプロセスルールは、名前にワイルドカードを含む許可アクションよりも優先されます。

ディスカバーモード

  • すべての新しいプロセスは、アクションを許可してプロファイルされます。

  • ユーザーは、同じ新しいプロセスが開始されたときにアラートを生成したりブロックしたりするために、アクションを「拒否」に変更できます。

  • ユーザーは、許可または拒否のいずれかでプロセスのプロファイルを作成できます。

  • プロセス プロファイルルールには、名前および/またはパスを含めることができます。

  • ワイルドカード * は、名前またはパスのすべてに一致させるために使用できます。

nmap、ncat などの疑わしいプロセス(組み込み検出)は、疑わしいプロセスイベントとして報告され、学習されることはありません。サービスがこのプロセスを必要とする場合、プロセスは明示的に「許可」プロファイルルールで追加する必要があります。

モニター/保護モード(モニターまたは保護モードで新しいコンテナが開始されます)

  • 新しいプロセスが生成されるたびにアラートが発生します。

  • プロセス プロファイルルールには、名前および/またはパスを含めることができます。

  • ワイルドカード * は、名前またはパスのすべてに一致させるために使用できます。

a) プロセスが拒否ルールに一致する場合、または b) プロセスが許可ルールのリストにない場合、次のようになります:

  • モニタモードでは、アラートが生成されます。

  • 保護モードでは、プロセスがブロックされ、アラートが生成されます。

AUFS ストレージドライバーを持つコンテナプラットフォームは、ドライバーの制限によりブロックメカニズムに遅延をもたらします。

保護モードでは、Kubernetes などのシステムコンテナは、ブロックアクションを有効にせず、プロセス違反がある場合はプロセス違反イベントを生成します。

プロセスプロファイルルールの作成

同じプロセスに対して複数のルールを作成できます。ルールは順次実行され、最初に一致したルールが実行されます。

  • プロセスプロファイルルールタブからルールを追加(+)をクリックします。

  • プロセスプロファイルルールには、名前および/またはパスを含めることができます。

  • ワイルドカード * は、名前またはパスのすべてに一致させるために使用できます。

例: 任意のディレクトリから ping プロセスを実行できるようにするために

pingRule

違反は通知 → セキュリティイベントに記録されます。

violation

ビルトインの疑わしいプロセス検出

次のビルトイン検出は SUSE® Security で自動的に有効になります。

プロセス 方向 報告された名前

nmap

発信

ポートスキャナー

nc

発信

netcatプロセス

ncat

発信

netcatプロセス

netcat

発信

netcatプロセス

sshd

受信

リモートからのSSH

ssh

発信

リモートへのSSH

scp

発信

セキュアコピー

telnet

発信

リモートへのtelnet

in.telnetd

受信

リモートからのtelnet

iodine

発信

DNSトンネリング

iodined

受信

DNSトンネリング

dnscat

発信

DNSトンネリング

dns2tcpc

発信

DNSトンネリング

dns2tcpd

受信

DNSトンネリング

socat

発信

中継プロセス

さらに、以下の検出が有効になっています:

  • docker cp

  • ルート特権昇格(ユーザーロールからルートロールへの昇格)

  • トンネル:リバースシェル(標準入力と標準出力が同じソケットにリダイレクトされたときにトリガーされます)

疑わしいプロセスは、発見モードまたは監視モードのときに警告され、保護モードのときにブロックされます。検出はコンテナとホストの両方に適用されますが、ホスト上では「sshd」は疑わしいものとは見なされません。上記のプロセスは、許可されるべき場合、ホストを含むコンテナ(グループ)の許可リストに追加できます。

スプリットモードプロセス/ファイル保護

コンテナグループは、ネットワークルールとは異なるモードでプロセス/ファイルルールを持つことができます。詳細はこちらを参照してください。