6.3. デフォルトのセキュリティーポリシー


Red Hat Advanced Cluster Security for Kubernetes のデフォルトのセキュリティーポリシーは、セキュリティーの問題を特定し、環境内のセキュリティーのベストプラクティスを確保するための幅広い範囲を提供します。これらのポリシーを設定することで、環境内でのリスクの高いサービスのデプロイを自動的に防止し、ランタイムのセキュリティーインシデントに対応できます。

注記

Red Hat Advanced Cluster Security for Kubernetes のポリシーの重大度レベルは、Red Hat Product Security が割り当てる重大度レベルとは異なります。

Red Hat Advanced Cluster Security for Kubernetes ポリシーの重大度レベルは Critical、High、Medium、および Low です。Red Hat Product Security の脆弱性の重大度レベルは、重大、重要、中程度、低度の影響となります。

ポリシーの重大度レベルと Red Hat Product Security の重大度レベルは関連していますが、これらを区別することが重要です。Red Hat Product Security の重大度レベルの詳細は、重大度のレベル を参照してください。

6.3.1. 重大度のセキュリティーポリシー

以下の表に、Red Hat Advanced Cluster Security for Kubernetes のデフォルトの重大度のセキュリティーポリシーを示します。ポリシーはライフサイクルのステージ別に整理されています。

表6.1 重大度のセキュリティーポリシー
ライフサイクルステージ名前説明ステータス

ビルドまたはデプロイ

Apache Struts: CVE-2017-5638

CVE-2017-5638 Apache Struts の脆弱性を含むイメージがデプロイメントに含まれている場合にアラートを出します。

Enabled

ビルドまたはデプロイ

Log4Shell: log4j リモートコード実行の脆弱性

CVE-2021-44228 および CVE-2021-45046 Log4Shell 脆弱性を含むイメージがデプロイメントに含まれている場合にアラートを出します。バージョン 2.0-beta9 から 2.15.0 (バージョン 2.12.2 を除く) の Apache Log4j Java ロギングライブラリーに欠陥が存在します。

Enabled

ビルドまたはデプロイ

Spring4Shell (Spring Framework Remote Code Execution) および Spring Cloud Function の脆弱性

Spring MVC に影響を与える CVE-2022-22965 脆弱性と、Spring Cloud に影響を与える CVE-2022-22963 脆弱性のいずれかを含むイメージがデプロイメントに含まれている場合にアラートを出します。バージョン 3.16、3.2.2、およびサポートされていない古いバージョンでは、Spring Cloud に欠陥が含まれています。バージョン 5.3.0 ~ 5.3.17、バージョン 5.2.0 ~ 5.2.19、およびサポートされていない古いバージョンの Spring Framework に欠陥があります。

Enabled

ランタイム

特権コンテナーで実行される iptables

特権 Pod が iptables を実行するときにアラートを出します。

Enabled

6.3.2. 重大度の高いセキュリティーポリシー

以下の表は、Red Hat Advanced Cluster Security for Kubernetes の重大度の高いデフォルトのセキュリティーポリシーを示しています。ポリシーはライフサイクルのステージ別に整理されています。

表6.2 重大度の高いセキュリティーポリシー
ライフサイクルステージ名前説明ステータス

ビルドまたはデプロイ

修正可能な 7 以上の Common Vulnerability Scoring System (CVSS)

修正可能な脆弱性を含むデプロイメントの CVSS が 7 以上の場合にアラートを出します。ただし、Red Hat は、CVSS スコアではなく、Common Vulnerabilities and Exposures (CVE) の重大度を使用してポリシーを作成することを推奨します。

Disabled

ビルドまたはデプロイ

修正可能な重要度が少なくとも重要

修正可能な脆弱性のあるデプロイメントの重大度評価が少なくとも重要になった場合にアラートを出します。

Enabled

ビルドまたはデプロイ

Rapid Reset: HTTP/2 プロトコルにおけるサービス拒否の脆弱性

HTTP/2 サーバーのサービス拒否 (DoS) 脆弱性の影響を受けやすいコンポーネントを含むイメージのデプロイメントに関するアラート。これは、HTTP/2 での多重化ストリームの処理における不具合に対処します。クライアントはリクエストを迅速に作成し、すぐにリセットできます。これにより、サーバー側の制限に達することを回避しながらサーバーに余分な作業が発生し、サービス拒否攻撃が発生する可能性があります。このポリシーを使用するには、ポリシーを複製し、有効にする前に Fixable ポリシー条件を追加することを検討してください。

Disabled

ビルドまたはデプロイ

イメージで公開されているセキュアシェル (ssh) ポート

一般に SSH アクセス用に予約されているポート 22 がデプロイで公開されたときにアラートを出します。

Enabled

デプロイ

緊急デプロイメントのアノテーション

デプロイメントで StackRox アドミッションコントローラーのチェックを回避するために "admission.stackrox.io/break-glass":"ticket-1234" などの緊急アノテーションが使用される場合にアラートを出します。

Enabled

デプロイ

環境変数に Secret が含まれています

デプロイメントに 'SECRET' を含む環境変数がある場合にアラートを出します。

Enabled

デプロイ

修正可能な CVSS >= 6 および特権

デプロイが特権モードで実行され、CVSS が 6 以上の修正可能な脆弱性がある場合にアラートを出します。ただし、Red Hat は、CVSS スコアではなく CVE の重大度を使用してポリシーを作成することを推奨します。

バージョン 3.72.0 以降ではデフォルトで Disabled

デプロイ

重要かつ重大な修正可能な CVE を含む特権コンテナー

特権モードで実行されるコンテナーに重要または重大な修正可能な脆弱性がある場合にアラートを出します。

Enabled

デプロイ

環境変数としてマウントされた Secret

環境変数としてマウントされた Kubernetes シークレットがデプロイメントに含まれている場合にアラートを出します。

Disabled

デプロイ

セキュアシェル (ssh) ポートの公開

一般に SSH アクセス用に予約されているポート 22 がデプロイで公開されたときにアラートを出します。

Enabled

ランタイム

暗号通貨マイニングプロセスの実行

暗号通貨マイニングプロセスを生成します。

Enabled

ランタイム

iptables の実行

誰かが iptables を実行したことを検出します。これは、コンテナー内のネットワーク状態を管理する非推奨の方法です。

Enabled

ランタイム

Kubernetes アクション: Exec into Pod

コンテナーでコマンドを実行する要求を Kubernetes API が受信したときにアラートを出します。

Enabled

ランタイム

Linux グループ追加の実行

誰かが addgroup または groupadd バイナリーを実行して Linux グループを追加したことを検出します。

Enabled

ランタイム

Linux ユーザー追加の実行

誰かが useradd または adduser バイナリーを実行して Linux ユーザーを追加したことを検出します。

Enabled

ランタイム

ログインバイナリー

誰かがログインを試みたことを示します。

Disabled

ランタイム

ネットワーク管理の実行

ネットワークの設定と管理を操作できるバイナリーファイルが誰かによって実行されたことを検出します。

Enabled

ランタイム

nmap の実行

ランタイム中に誰かがコンテナー内で nmap プロセスを開始したときにアラートを出します。

Enabled

ランタイム

OpenShift: Kubeadmin Secret へのアクセス

誰かが kubeadmin Secret にアクセスしたときにアラートを出します。

Enabled

ランタイム

パスワードバイナリー

誰かがパスワードを変更しようとしたことを示します。

Disabled

ランタイム

クラスター Kubelet エンドポイントを対象とするプロセス

healthz、kubelet API、または heapster エンドポイントの誤用を検出します。

Enabled

ランタイム

プロセスターゲットクラスター Kubernetes Docker Stats エンドポイント

Kubernetes docker stats エンドポイントの誤用を検出します。

Enabled

ランタイム

プロセスターゲティング Kubernetes サービスエンドポイント

Kubernetes サービス API エンドポイントの誤用を検出します。

Enabled

ランタイム

UID 0 のプロセス

デプロイメントに UID 0 で実行されるプロセスが含まれている場合にアラートを出します。

Disabled

ランタイム

セキュアシェルサーバー (sshd) の実行

SSH デーモンを実行するコンテナーを検出します。

Enabled

ランタイム

SetUID プロセス

エスカレートされた特権で特定のプログラムを実行できるようにする setuid バイナリーファイルを使用します。

Disabled

ランタイム

シャドウファイルの変更

誰かがシャドウファイルを変更しようとしたことを示します。

Disabled

ランタイム

Java アプリケーションによって生成されたシェル

bash、csh、sh、zsh などのシェルが Java アプリケーションのサブプロセスとして実行されるタイミングを検出します。

Enabled

ランタイム

不正なネットワークフロー

"異常な違反に関するアラート" 設定のベースラインから外れたネットワークフローに対して違反を生成します。

Enabled

ランタイム

不正なプロセス実行

Kubernetes デプロイメントのコンテナー仕様のロックされたプロセスベースラインによって明示的に許可されていないプロセス実行に対して違反を生成します。

Enabled

6.3.3. 重大度が中程度のセキュリティーポリシー

以下の表は、Red Hat Advanced Cluster Security for Kubernetes のデフォルトの重大度が中程度のセキュリティーポリシーを示しています。ポリシーはライフサイクルのステージ別に整理されています。

表6.3 重大度が中程度のセキュリティーポリシー
ライフサイクルステージ名前説明ステータス

Build

Docker CIS 4.4: セキュリティーパッチを含むイメージのスキャンと再構築の確認

イメージがスキャンされず、セキュリティーパッチを含むように再構築されていない場合に警告します。イメージを頻繁にスキャンして脆弱性を見つけ、イメージを再構築してセキュリティーパッチを含め、イメージのコンテナーをインスタンス化することが重要です。

Disabled

デプロイ

30 日間のスキャン期間

デプロイメントが 30 日間スキャンされていない場合にアラートを出します。

Enabled

デプロイ

CAP_SYS_ADMIN 機能が追加されました

デプロイに CAP_SYS_ADMIN でエスカレートしているコンテナーが含まれている場合にアラートを出します。

Enabled

デプロイ

読み書き可能なルートファイルシステムを使用するコンテナー

デプロイに読み取り/書き込みルートファイルシステムを持つコンテナーが含まれている場合にアラートを出します。

Disabled

デプロイ

権限のエスカレーションが許可されたコンテナー

コンテナーが意図しない権限で実行され、セキュリティーリスクが発生している可能性がある場合にアラートを出します。この状況は、親プロセスよりも多くの権限を持つコンテナープロセスが、意図しない権限でコンテナーを実行できる場合に発生する可能性があります。

Enabled

デプロイ

デプロイメントには、1 つ以上のイングレスネットワークポリシーが必要

デプロイメントにイングレスネットワークポリシーが欠落している場合にアラートします。

Disabled

デプロイ

外部に公開されたエンドポイントを使用したデプロイメント

何らかの方法で外部に公開されているサービスがデプロイメントに含まれているかどうかを検出します。クラスター外に公開されるサービスを使用するデプロイメントは、クラスター外から到達できるため、侵入を試みるリスクが高くなります。このポリシーは、クラスター外にサービス公開する必要があるか検証できるように、アラートを提供します。サービスがクラスター内の通信のみに必要な場合は、サービスタイプ ClusterIP を使用します。

Disabled

デプロイ

Docker CIS 5.1: 該当する場合は、AppArmor プロファイルが有効になっていることを確認します

AppArmor プロファイルと呼ばれるセキュリティーポリシーを適用することで、AppArmor を使用して Linux オペレーティングシステムとアプリケーションを保護します。AppArmor は、Debian や Ubuntu などの一部の Linux ディストリビューションでデフォルトで利用できる Linux アプリケーションセキュリティーシステムです。

Enabled

デプロイ

Docker CIS 5.15: ホストのプロセス namespace が共有されていないことを確認する

コンテナーとホストの間にプロセスレベルの分離を作成します。プロセス ID (PID) namespace はプロセス ID 空間を分離します。つまり、異なる PID namespace のプロセスが同じ PID を持つことができます。

Enabled

デプロイ

Docker CIS 5.16: ホストの IPC namespace が共有されていないことを確認する

ホスト上の IPC namespace がコンテナーと共有されている場合にアラートを出します。IPC (POSIX/SysV IPC) namespace は、名前付き共有メモリーセグメント、セマフォ、およびメッセージキューを分離します。

Enabled

デプロイ

Docker CIS 5.19: マウント伝播モードが有効になっていないことを確認する

マウント伝搬モードが有効になっている場合にアラートを出します。マウント伝達モードが有効になっている場合、コンテナーボリュームを双方向、ホストからコンテナー、およびなしモードでマウントできます。明示的に必要な場合を除き、双方向マウント伝搬モードを使用しないでください。

Enabled

デプロイ

Docker CIS 5.21: デフォルトの seccomp プロファイルが無効になっていないことを確認する

seccomp プロファイルが無効になったときに警告します。seccomp プロファイルは、許可リストを使用して一般的なシステムコールを許可し、その他すべてをブロックします。

Disabled

デプロイ

Docker CIS 5.7: 特権ポートがコンテナー内にマップされていないことを確認する

特権ポートがコンテナー内でマップされたときにアラートを出します。1024 未満の TCP/IP ポート番号は特権ポートです。セキュリティー上の理由から、通常のユーザーとプロセスはそれらを使用できませんが、コンテナーはそれらのポートを特権ポートにマップする場合があります。

Enabled

デプロイ

Docker CIS 5.9 および 5.20: ホストのネットワーク namespace が共有されていないことを確認する

ホストのネットワーク namespace が共有されている場合に警告します。HostNetwork が有効な場合、コンテナーは別のネットワークスタック内に配置されず、コンテナーのネットワークはコンテナー化されません。その結果、コンテナーはホストのネットワークインターフェイスに完全にアクセスでき、共有 UTS namespace が有効になります。UTS namespace は、ホスト名と NIS ドメイン名を分離し、その namespace で実行中のプロセスから認識されるホスト名とドメインを設定します。コンテナー内で実行されるプロセスは通常、ホスト名またはドメイン名を知る必要がないため、UTS namespace をホストと共有しないでください。

Enabled

デプロイ

スキャンなしのイメージ

デプロイメントにスキャンされていないイメージが含まれている場合にアラートを出します。

Disabled

ランタイム

Kubernetes アクション: Pod へのポート転送

Kubernetes API がポート転送リクエストを受信したときにアラートを出します。

Enabled

デプロイ

コンテナーランタイムソケットのマウント

デプロイでコンテナーランタイムソケットにボリュームマウントがある場合にアラートを出します。

Enabled

デプロイ

重要なホストディレクトリーのマウント

デプロイメントが機密性の高いホストディレクトリーをマウントするときにアラートを出します。

Enabled

デプロイ

リソース要求または制限が指定されていません

リソースの要求と制限がないコンテナーがデプロイメントに含まれている場合にアラートを出します。

Enabled

デプロイ

自動的にマウントされる Pod サービスアカウントトークン

アプリケーションが Kubernetes API との対話を必要とする Pod のみにデフォルトサービスアカウントトークンのマウントを最小限に抑えることで、Pod のデフォルトサービスアカウントトークンが侵害されないように保護します。

Enabled

デプロイ

Privileged Container

デプロイメントに特権モードで実行されるコンテナーが含まれている場合にアラートを出します。

Enabled

ランタイム

crontab の実行

crontab スケジュールジョブエディターの使用を検出します。

Enabled

ランタイム

Netcat の実行が検出されました

netcat がコンテナー内で実行されるタイミングを検出します。

Enabled

ランタイム

OpenShift: Advanced Cluster Security Central Admin Secret へのアクセス

誰かが Red Hat Advanced Cluster Security Central Secret にアクセスしたときにアラートを出します。

Enabled

ランタイム

OpenShift: なりすましユーザーがアクセスする Kubernetes Secret

誰かがユーザーになりすましてクラスター内の Secret にアクセスしたときにアラートを出します。

Enabled

ランタイム

リモートファイルコピーバイナリー実行

デプロイメントでリモートファイルコピーツールが実行されたときにアラートを出します。

Enabled

6.3.4. 重大度の低いセキュリティーポリシー

以下の表は、重要度が低い Red Hat Advanced Cluster Security for Kubernetes のデフォルトのセキュリティーポリシーを示しています。ポリシーはライフサイクルのステージ別に整理されています。

表6.4 重大度の低いセキュリティーポリシー
ライフサイクルステージ名前説明ステータス

ビルドまたはデプロイ

イメージの 90 日間経過

デプロイメントが 90 日間更新されていない場合にアラートを出します。

Enabled

ビルドまたはデプロイ

COPY の代わりに使用される ADD コマンド

デプロイメントで ADD コマンドが使用されたときにアラートを出します。

Disabled

ビルドまたはデプロイ

イメージ内の Alpine Linux Package Manager (apk)

デプロイに Alpine Linux パッケージマネージャー (apk) が含まれている場合にアラートを出します。

Enabled

ビルドまたはデプロイ

イメージの curl

デプロイメントに curl が含まれている場合にアラートを出します。

Disabled

ビルドまたはデプロイ

Docker CIS 4.1: コンテナーのユーザーが作成されていることを確認する

コンテナーが非 root ユーザーとして実行されていることを確認します。

Enabled

ビルドまたはデプロイ

Docker CIS 4.7: 更新指示に関するアラート

Dockerfile で更新命令が単独で使用されないようにします。

Enabled

ビルドまたはデプロイ

CMD で指定された安全でない

デプロイでコマンドに 'insecure' が使用されている場合にアラートを出します。

Enabled

ビルドまたはデプロイ

latest タグ

'latest' タグを使用するイメージがデプロイメントに含まれている場合にアラートを出します。

Enabled

ビルドまたはデプロイ

イメージの Red Hat Package Manager

デプロイメントに Red Hat、Fedora、または CentOS パッケージ管理システムのコンポーネントが含まれている場合にアラートを出します。

Enabled

ビルドまたはデプロイ

Required Image Label

指定されたラベルがないイメージがデプロイメントに含まれている場合にアラートを出します。

Disabled

ビルドまたはデプロイ

Ubuntu パッケージマネージャーの実行

Ubuntu パッケージ管理システムの使用状況を検出します。

Enabled

ビルドまたはデプロイ

イメージの Ubuntu パッケージマネージャー

デプロイメントのイメージに Debian または Ubuntu パッケージ管理システムのコンポーネントが含まれている場合にアラートを出します。

Enabled

ビルドまたはデプロイ

イメージ内の Wget

デプロイメントに wget が含まれている場合にアラートを出します。

Disabled

デプロイ

すべての機能を削除する

デプロイメントですべての機能が削除されない場合に警告します。

Disabled

デプロイ

Orchestrator Secrets ボリュームの不適切な使用

デプロイメントで 'VOLUME /run/secrets' を含む Dockerfile が使用されている場合にアラートを出します。

Enabled

デプロイ

Kubernetes ダッシュボードがデプロイされました

Kubernetes ダッシュボードサービスが検出されたときにアラートを出します。

Enabled

デプロイ

必須のアノテーション: Email

デプロイメントに 'email' アノテーションが欠落している場合にアラートを出します。

Disabled

デプロイ

必要なアノテーション: Owner/Team

デプロイメントに 'owner' または 'team' アノテーションがない場合にアラートを出します。

Disabled

デプロイ

必要なラベル: Owner/Team

デプロイメントに 'owner' または 'team' ベルがない場合にアラートを出します。

Disabled

ランタイム

Alpine Linux パッケージマネージャーの実行

実行時に Alpine Linux パッケージマネージャー (apk) が実行されたときにアラートを出します。

Enabled

ランタイム

chkconfig の実行

通常、コンテナーでは使用されない ckconfig サービスマネージャーの使用を検出します。

Enabled

ランタイム

コンパイラーツールの実行

ソフトウェアをコンパイルするバイナリーファイルが実行時に実行されると警告します。

Enabled

ランタイム

Red Hat Package Manager の実行

実行時に Red Hat、Fedora、または CentOS パッケージマネージャープログラムが実行されたときにアラートを出します。

Enabled

ランタイム

シェル管理

シェルを追加または削除するコマンドが実行されたときに警告します。

Disabled

ランタイム

systemctl の実行

systemctl サービスマネージャーの使用状況を検出します。

Enabled

ランタイム

systemd の実行

systemd サービスマネージャーの使用状況を検出します。

Enabled

6.3.5. デフォルトのセキュリティーポリシー

Red Hat Advanced Cluster Security for Kubernetes には、セキュリティーの問題を特定して、お使いの環境でセキュリティーのベストプラクティスを実行できるように、幅広く対応する、デフォルトポリシーのセットが含まれています。RHACS ポータルを使用して、デフォルトポリシーを表示したり、複製したり、複製されたデフォルトポリシーを編集したりできます。

注記

デフォルトのポリシーは、policies as code 機能ではサポートされません。

デフォルトのポリシーを表示するには、以下を実行します。

  • RHACS ポータルで、Platform Configuration Policy Management に移動します。

Policies ビューで、ポリシーを設定することもできます。

ポリシー情報は次のグループに分かれています。

  • Policy: ポリシーの名前。
  • Description: ポリシーのアラートの詳細な説明。
  • Status: ポリシーの現在のステータス (Enabled または Disabled のいずれか)。
  • Notifiers: ポリシーに設定された通知機能のリスト
  • Severity: 必要な注意の程度について、クリティカル、高、中、低のいずれかのポリシーのランク付け。
  • Lifecycle: このポリシーが適用されるコンテナーライフサイクル (ビルド、デプロイ、またはランタイム) のフェーズと、ポリシーが有効な場合に適用されるフェーズ。
  • Policy categories: カテゴリーがリスト表示されます。これを使用して、ポリシーのカテゴリーを管理できます。デフォルトでは、すべてのカテゴリーがリスト表示されます。必要に応じて、カテゴリー名を使用してカテゴリーをフィルタリングできます。
注記

デフォルトのポリシーを削除したり、デフォルトポリシーのポリシー条件を編集したりすることはできません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.