3
1

More than 1 year has passed since last update.

Falco Ruleを紹介するシリーズ - Launch Privileged Container

Posted at

本シリーズでは、ランタイム脅威検知のデファクトスタンダードであるFalcoの検知Ruleを、1つの記事で1つ簡単に紹介していきます。
ランタイムセキュリティやFalco自体の概要を知りたい方はこちらのブログ記事をご参照ください。
今回ご紹介する検知Ruleは「Launch Privileged Container」です。

Rule記述

- rule: Launch Privileged Container
  desc: Detect the initial process started in a privileged container. Exceptions are made for known trusted images.
  condition: >
    container_started and container
    and container.privileged=true
    and not falco_privileged_containers
    and not user_privileged_containers
    and not redhat_image
  output: Privileged container started (user=%user.name user_loginuid=%user.loginuid command=%proc.cmdline %container.info image=%container.image.repository:%container.image.tag)
  priority: INFO
  tags: [container, cis, mitre_privilege_escalation, mitre_lateral_movement]

Rule概要

特権コンテナで最初のプロセスが起動したことを検知します。
セキュリティの基本原則として、「最小特権の原則」があり、コンテナに対しても本来の目的に必要な最低限の権限しか与えないようにすることが重要です。
Sysdig Japanのブログ記事の中で最も人気のある「Dockerfileのベストプラクティス Top 20」の一番最初の項目としても記載されています。
例外として定めていない特権コンテナが起動した場合には、このRuleを使うことで検知可能です。

Condition(条件)

container_started and container
コンテナ内で最初のプロセスが起動し、

and container.privileged=true
特権コンテナが有効となっていて

かつ

and not falco_privileged_containers
Falcoが定義した特権コンテナではなく、

and not user_privileged_containers
ユーザが定義した特権コンテナでもなく、

and not redhat_image
あらかじめ定義されたRed Hatイメージでもない場合

Output(出力)

特権コンテナが起動しました。

%user.name
ユーザー名

%user.loginuid
ユーザーのログインUID

%proc.cmdline
コマンドライン

%container.info
コンテナ情報

%container.image.repository
コンテナイメージリポジトリ

%container.image.tag
コンテナイメージタグ

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1