ファイルアクセスルール
ポリシー:ファイルアクセスルール
には、プロセス/ファイル保護の2種類があります。SUSE® Security1つはゼロドリフトで、許可されたプロセスとファイルの活動がコンテナイメージに基づいて自動的に決定され、もう1つは行動学習に基づくものです。必要に応じて、各ルールはカスタマイズ(手動でルールを追加)できます。
SUSE® Securityには、疑わしいファイルシステム活動の検出機能が組み込まれています。コンテナ内の機密ファイルは通常、実行時に変更されません。機密ファイルの内容を変更することで、攻撃者は不正な権限を取得したり、Dirty-Cow Linuxカーネル攻撃のようにシステムの整合性を損なったり、/etc/hostsファイルを操作することでシステムを損なうことができます。ほとんどのコンテナは読み取り専用モードで実行されません。コンテナ、ホスト、またはSUSE® Security Enforcerコンテナ自体での疑わしい活動はすべて検出され、通知→セキュリティイベントに記録されます。
ゼロドリフトファイル保護
これはプロセスとファイル保護のデフォルトモードです。ゼロドリフトは、元のコンテナイメージにある親プロセスから発生するプロセスのみを自動的に許可し、ファイルの更新や新しいファイルのインストールを許可しません。ディスカバーまたはモニターモードのとき、ゼロドリフトは疑わしいプロセスまたはファイル活動に警告を出します。プロテクトモードでは、そのような活動をブロックします。ゼロドリフトは、ファイル活動を許可リストに追加する必要はありません。グループのゼロドリフトを無効にすると、そのグループに対してリストされたプロセスとファイルのルールが代わりに適用されます。
|
各グループに対してリストされたプロセス/ファイルのルールは、ゼロドリフトが有効になっている場合でも常に適用されます。これは、基本のゼロドリフト保護に許可/拒否の例外を追加する方法を提供します。グループがディスカバーモードで開始すると、プロセス/ファイルのルールが自動的にリストに追加され、モニター/プロテクトモードに移行する前に確認および編集する必要があります。 |
ゼロドリフトモードの有効/無効を切り替える機能は、ポリシー → グループのコンソールにあります。複数のグループを選択して、この設定をすべての選択されたグループに対して切り替えることができます。
基本ファイル保護
パッケージのインストールが検出された場合、セキュリティリスク → 脆弱性で自動スキャンが有効になっていれば、コンテナまたはホストの自動再スキャンが実行され、脆弱性が検出されます。
定義されたファイル/ディレクトリの監視に加えて、ユーザーは監視するカスタムファイル/ディレクトリを追加し、そのようなファイル/ディレクトリの変更をブロックすることができます。
|
SUSE® Security アラートがあり、定義されたファイル/ディレクトリやKubernetesなどのシステムコンテナの変更をブロックしません。ブロックは、ユーザーが設定したカスタムファイル/ディレクトリで、非システムコンテナに対してのみオプションです。これは、システムディレクトリや機密設定の定期的な更新が意図せずブロックされ、システムの不安定な動作を引き起こさないようにするためです。 |
以下のファイルとディレクトリはデフォルトで監視されています:
-
実行可能ファイル
-
機密のsetuid/setgidファイル
-
システムライブラリ、libc、pthread、…
-
パッケージのインストール、Debian/Ubuntu、RedHat/CentOS、Alpine
-
機密のシステムファイル、/etc/passwd、/etc/hosts、/etc/resolv.conf …
-
実行中のプロセスの実行可能ファイル
以下の活動が監視されています:
-
ファイル、ディレクトリ、シンボリックリンク(ハードリンクとソフトリンク)
-
作成、削除、変更(内容の変更)および移動
以下は、ファイルシステムの監視と監視される内容(コンテナ、ホスト/ノード、および/または SUSE® Security エンフォーサーコンテナ自体)のリストです:
-
/bin、/usr/bin、/usr/sbin、/usr/local/bin - コンテナ、エンフォーサー
-
setuidおよびsetgid属性のファイル - コンテナ、ホスト、エンフォーサー
-
ライブラリ: libc, pthread, ld-linux.* - コンテナ、ホスト、エンフォーサー
-
パッケージのインストール: dpkg, rpm, apk - コンテナ、ホスト、エンフォーサー
-
/etc/hosts, /etc/passwd, /etc/resolv.conf - container, host, enforcer
-
実行中のプロセスのバイナリ - コンテナ
ディスカバーモードにおける、行動学習に基づいた許可されたアプリケーション
ディスカバーモードでは、SUSE® Securityは指定されたディレクトリまたはファイルのみに対してアプリケーションを学習し、ホワイトリストに追加できます。学習を有効にするには、カスタムルールを作成し、アクションをブロックに設定する必要があります。
カスタムファイル/ディレクトリ監視ルールの作成
カスタムファイルアクセスルールは、カスタムユーザー定義グループと自動学習グループの両方に対して作成できます。
ユーザーはファイル/ディレクトリルールの新しいエントリを追加できます。
-
フィルタ: 保護するファイル/ディレクトリを設定します(ワイルドカードがサポートされています)
-
再帰フラグを設定します(サブディレクトリ内のすべてのファイルを保護する場合)
-
アクション(下記参照)として「監視」または「ブロック」を選択します。
-
許可されたアプリケーションを入力してください(下記のNote1を参照)

アクション:
-
ファイルの変更を監視します。変更があった場合にアラート(通知)を生成します。
-
不正アクセスをブロックします。
-
ディスカバーモードのサービス: ファイルアクセスの行動が学習され(保護されたファイルにアクセスするプロセス/アプリケーション)、許可されたアプリケーションに追加されます。
-
監視モードのサービス: 予期しないファイルの行動がアラートされます。
-
保護モードでのサービス:予期しないアクセス(読み取り、変更)はブロックされます。保護されたディレクトリ内での新しいファイルの作成もブロックされます。
-
|
ルールがブロックに設定されていて、サービスがディスカバーモードにある場合、SUSE® Securityはファイルにアクセスするアプリケーションを学習し、これらをルールの許可されたアプリケーションに追加します。 |
|
AUFSストレージドライバーを使用しているコンテナプラットフォームは、ドライバーの制限により、ファイルの作成/変更に対して保護モードでの拒否(ブロック)アクションをサポートしません。動作はモニターモードと同じで、疑わしい活動があった場合に警告します。 |
ファイルアクセスルールの優先順位
コンテナは、複数のカスタムグループおよび自動学習グループのユーザー作成ファイルアクセスルールからファイルアクセスルールを継承できます。
ファイル名が自動学習グループの事前定義されたアクセスルールおよび複数のグループのルール継承と衝突する場合、ファイルアクセスルールは以下の順序で優先されます。
-
アクセスをブロックするファイルアクセスルール(最高の優先順位)
-
再帰が有効なファイルアクセスルール
-
再帰が無効なファイルアクセスルール
-
事前定義されたファイルアクセスルール以外のユーザー作成ファイルアクセスルール
例
/etc/hostnameファイルを保護し、viアプリケーションがファイルを変更できるようにするファイルアクセスルールを表示します。

/var/opt/ディレクトリ配下のファイルを、変更および読み取りのために再帰的に保護するファイルアクセスルールを表示します。許可されたアプリケーションであるpythonは、これらのファイルに対して読み取りおよび変更アクセスが可能です。

以下は、/etc/passwdファイルを保護するアクセスルールの例です。これは、事前定義されたアクセスルールの対象ファイルの一つであり、読み取りおよび変更のアクションが適用されます。このカスタムルールは、事前定義されたファイルアクセスルールのデフォルトアクションを変更します。アプリケーション Nano は、これらのファイルに対して「読み取りおよび変更」アクセスが可能です。Nanoアプリケーション(プロセス)をこのサービス内でNanoアプリケーションを実行するためのプロセスプロファイルルールに「許可」ルールとして追加する必要があります(すでにホワイトリストに登録されていない場合)。そうしないと、プロセスはSUSE® Securityによってブロックされます。

ノードポッドのサービスモードが Discover だったときに、アプリケーション python が/var/optディレクトリ内のファイルにアクセスしていることが確認されました。これは、ルールが Block に設定され、サービスが Discoverモードにあるときのみ発生します。

サービス node-pod.demo-nvqa のための事前定義済みのファイルアクセスルールを表示しています。このサービスについては、ファイルアクセスルールタブの右上隅にある情報アイコン “show predefined filters” をクリックすることで確認できます。

通知 → セキュリティイベントに、アプリケーション python による /etc/hostname のファイル変更が、ブロックアクション付きのカスタムファイルアクセスルールにより拒否された際に、ファイルアクセス拒否として警告されたサンプルのセキュリティイベントが表示されています。

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