Skip to content

セキュリティポリシー ​

CI/CD Adapterのセキュリティポリシー ​

Qmonus Value Streamでは、CI/CD Adapterから生成される Tekton Pipeline/Taskの権限やアクセスポリシーを制御しています。ポリシーはK8s Pod Security StandardのBaseline相当を適用しています。

セキュリティポリシー違反が検知された場合は、サポートチームから該当Projectの方へ個別に連絡させていただきます。 セキュリティポリシーは猶予期間を設けていますが、期間を過ぎた場合はAssemblyLineを利用したアプリケーションのデプロイが出来なくなるため、ポリシー違反検出の連絡を受けた場合は早急に対応をお願い致します。

Official Cloud Native Adapterだけをご利用している場合は、Official Cloud Native Adapterをご利用の場合の手順を実施してください。

ポリシー違反の対処方法 ​

Official Cloud Native Adapter をご利用している場合と、それ以外で対処方法が異なります。

いずれの場合も、対処後にPipeline/Taskの生成および適用し直す必要があります。

TIP

Official Cloud Native Adapter をご利用しているかどうかの判断が付かない場合は、「Official Cloud Native Adapter をご利用の場合」の対処方法をお試しください。 問題が解決しない場合は、「それ以外の Cloud Native Adapter をご利用の場合」を実施ください。

Official Cloud Native Adapter をご利用の場合 ​

QVS Configを保存しているディレクトリで qvsctl adapter get コマンドを再実行してOfficial Cloud Native Adapterを最新化してください。

ダウンロード可能な Adapter は qvsctl adapter list コマンドからご確認ください。 version を指定しない、または latest とした場合は最新のバージョンをダウンロードします。

それ以外の Cloud Native Adapter をご利用の場合 ​

サポートチームから連絡された違反ポリシーより、該当するポリシー名を参照し、対処方法の内容でCI/CD AdapterのPipeline定義を修正します。 必要に応じて各ポリシーの「関連するk8sのPod Security Standard」も参照してください。

ポリシー一覧 ​

disallow-capabilities ​

特定のCapabilityを持つコンテナを許可しない。

関連するk8sのPod Security Standard: Capabilities

対処方法 ​

spec.*.securityContext.capabilities.addフィールドには以下の値以外は設定しないでください。

  • AUDIT_WRITE
  • CHOWN
  • DAC_OVERRIDE
  • FOWNER
  • FSETID
  • KILL
  • MKNOD
  • NET_BIND_SERVICE
  • SETFCAP
  • SETGID
  • SETPCAP
  • SETUID
  • SYS_CHROOT

disallow-host-namespaces ​

Host名前空間を使用しない。

関連するk8sのPod Security Standard: Host Namespaces

対処方法 ​

以下のフィールドを削除するか false に設定してください。

  • spec.hostNetwork
  • spec.hostIPC
  • spec.hostPID

disallow-host-path ​

hostPathボリュームを使用しない。

関連するk8sのPod Security Standard: HostPath Volumes

対処方法 ​

以下のフィールドを削除してください。

  • spec.volumes[*].hostPath

disallow-host-ports ​

hostPortを使用しない。

関連するk8sのPod Security Standard: Host Ports

対処方法 ​

以下のフィールドを削除するか、0に設定してください。

  • spec.containers[].ports[].hostPort
  • spec.initContainers[].ports[].hostPort
  • spec.ephemeralContainers[].ports[].hostPort

disallow-host-process ​

ホストのプロセスを参照または操作しない。

関連するk8sのPod Security Standard: HostProcess

対処方法 ​

以下のフィールドを削除してください。

  • spec.securityContext.windowsOptions.hostProcess
  • spec.containers[].securityContext.windowsOptions.hostProcess
  • spec.initContainers[].securityContext.windowsOptions.hostProcess
  • spec.ephemeralContainers[*].securityContext.windowsOptions.hostProcess

disallow-privileged-containers ​

特権コンテナを使用しない。

関連するk8sのPod Security Standard: Privileged Containers

対処方法 ​

以下のフィールドを削除するか、falseに設定してください。

  • spec.containers[].securityContext.privileged
  • spec.initContainers[].securityContext.privileged

disallow-proc-mount ​

/procを読み取ることができないようにする。

関連するk8sのPod Security Standard: /proc Mount Type

対処方法 ​

以下のフィールドを削除するか、 Defaultに設定してください。

  • spec.containers[].securityContext.procMount
  • spec.initContainers[].securityContext.procMount
  • spec.ephemeralContainers[*].securityContext.procMount

disallow-selinux ​

SELinuxを無効にしない。

関連するk8sのPod Security Standard: SELinux

対処方法 ​

制限されるフィールドを削除するか、許容される値を設定してください。

  • 制限されるフィールド

    • spec.containers[*].securityContext.seLinuxOptions.type
    • spec.initContainers[*].securityContext.seLinuxOptions
    • spec.ephemeralContainers[*].securityContext.seLinuxOptions.type
  • 許容される値

    • container_t
    • container_init_t
    • container_kvm_t

restrict-apparmor-profiles ​

特定のAppArmorプロファイルのみを許可する。

関連するk8sのPod Security Standard: AppArmor

対処方法 ​

制限されるフィールドを削除するか、許容される値を設定してください。

  • 制限されるフィールド

    • container.apparmor.security.beta.kubernetes.io
  • 許容される値

    • runtime/default
    • localhost/*

restrict-seccomp ​

Seccompプロファイルを無効にしない。

関連するk8sのPod Security Standard: Seccomp

対処方法 ​

制限されるフィールドを削除するか、許容される値を設定してください。

  • 制限されるフィールド

    • spec.securityContext.seccompProfile.type
    • spec.containers[].securityContext.seccompProfile.type
    • spec.initContainers[].securityContext.seccompProfile.type
    • spec.ephemeralContainers[*].securityContext.seccompProfile.type
  • 許容される値

    • RuntimeDefault
    • Localhost

restrict-sysctls ​

Sysctlパラメータを無効にしない。

関連するk8sのPod Security Standard: Sysctls

対処方法 ​

spec.securityContext.sysctlsフィールドを削除するか、以下の値を指定してください。

  • kernel.shm_rmid_forced
  • net.ipv4.ip_local_port_range
  • net.ipv4.ip_unprivileged_port_start
  • net.ipv4.tcp_syncookies
  • net.ipv4.ping_group_range