āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡ āĻ¸ā§‡āĻ•āĻŽāĻĒ: 7āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻœāĻžāĻ¨āĻž āĻĻāĻ°āĻ•āĻžāĻ°

āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ. āĻ…āĻ¨ā§āĻŦāĻžāĻĻ: āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻœāĻ°ā§‡ āĻŦā§āĻ°āĻŋāĻŸāĻŋāĻļ āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋ ASOS.com-āĻāĻ° āĻāĻ•āĻœāĻ¨ āĻ¸āĻŋāĻ¨āĻŋāĻ¯āĻŧāĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻ°āĻŋāĻŸāĻŋ āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ›āĻŋāĨ¤ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡, āĻ¤āĻŋāĻ¨āĻŋ seccomp āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŦā§‡āĻĻāĻŋāĻ¤ āĻĒā§āĻ°āĻ•āĻžāĻļāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻœ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ¨āĨ¤ āĻĒāĻžāĻ āĻ•āĻ°āĻž āĻ¯āĻĻāĻŋ āĻ­ā§‚āĻŽāĻŋāĻ•āĻžāĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ˛ā§‡āĻ–āĻ•āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻŦ āĻāĻŦāĻ‚ āĻāĻ‡ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ¤āĻžāĻ° āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡āĻ° āĻ‰āĻĒāĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦāĨ¤

āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡ āĻ¸ā§‡āĻ•āĻŽāĻĒ: 7āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻœāĻžāĻ¨āĻž āĻĻāĻ°āĻ•āĻžāĻ°

āĻœāĻžāĻĻā§āĻŦāĻŋāĻĻā§āĻ¯āĻž āĻāĻŦāĻ‚ āĻœāĻžāĻĻā§āĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ° āĻ†āĻļā§āĻ°āĻ¯āĻŧ āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ SecDevOps-āĻāĻ° āĻšā§‡āĻ¤āĻ¨āĻžāĻ¯āĻŧ seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ• āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽāĨ¤ āĻĒāĻžāĻ°ā§āĻŸ XNUMX-āĻ, āĻ†āĻŽāĻŋ Kubernetes-āĻ seccomp āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻŦāĨ¤

Kubernetes āĻ‡āĻ•ā§‹āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻāĻŦāĻ‚ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻŽā§‹āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡, āĻ¯āĻž āĻ¨āĻžāĻŽā§‡āĻ“ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ¸ā§‡āĻ•āĻŽā§āĻĒāĻŽā§āĻĒ. āĻāĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻšāĻ˛ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻžāĨ¤

āĻāĻŸāĻž āĻ•ā§‡āĻ¨ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ? āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻ• āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŽāĻžāĻ¤ā§āĻ°āĨ¤ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻŽāĻ¤ā§‹āĻ‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻ¨āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ–ā§āĻŦ āĻļā§€āĻ˜ā§āĻ°āĻ‡ āĻŽā§āĻ¯āĻžāĻ˛āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŦā§‡: āĻ¤āĻĨā§āĻ¯ āĻ†āĻŸāĻ•āĻžāĻ¨ā§‹, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤

seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ āĻŦāĻž āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ•ā§āĻ°āĻŽāĻŖ āĻ­ā§‡āĻ•ā§āĻŸāĻ°āĻ•ā§‡ āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ•ā§āĻˇāĻ¤āĻŋ āĻ•āĻŽāĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¯āĻĻāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ (āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻŦāĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž) āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¨ā§‡āĻ‡āĨ¤

āĻŦā§āĻ¨āĻŋāĻ¯āĻŧāĻžāĻĻāĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž

āĻŽā§ŒāĻ˛āĻŋāĻ• seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: defaultAction, architectures (āĻŦāĻž archMap) āĻāĻŦāĻ‚ syscalls:

{
    "defaultAction": "SCMP_ACT_ERRNO",
    "architectures": [
        "SCMP_ARCH_X86_64",
        "SCMP_ARCH_X86",
        "SCMP_ARCH_X32"
    ],
    "syscalls": [
        {
            "names": [
                "arch_prctl",
                "sched_yield",
                "futex",
                "write",
                "mmap",
                "exit_group",
                "madvise",
                "rt_sigprocmask",
                "getpid",
                "gettid",
                "tgkill",
                "rt_sigaction",
                "read",
                "getpgrp"
            ],
            "action": "SCMP_ACT_ALLOW"
        }
    ]
}

(medium-basic-seccomp.json)

defaultAction āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨ā§‡āĻ‡ āĻāĻŽāĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ­āĻžāĻ—ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ syscalls. āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¸āĻšāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ¸ā§āĻ¨ āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻŋ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡:

  • SCMP_ACT_ERRNO - āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ•ā§‡ āĻŦā§āĻ˛āĻ• āĻ•āĻ°ā§‡,
  • SCMP_ACT_ALLOW - āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ.

āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ architectures āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāĻ°āĻŖ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡, āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻžāĻŽā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻ¯āĻŧāĨ¤ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ†āĻ—ā§‡ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻŋāĻ˛āĻŦā§‡āĨ¤ āĻ§āĻžāĻ°āĻŖāĻžāĻŸāĻŋ āĻšāĻ˛ āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻ‡āĻĄāĻŋ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ recvfrom (āĻ¸āĻ•ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤) x64 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ ID = 64 āĻāĻŦāĻ‚ x517-āĻ ID = 86 āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻž āĻšāĻ˛ āĻ†āĻĒāĻ¨āĻŋ x86-x64 āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ syscalls āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§€ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻĻāĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ defaultAction āĻ‰āĻĒāĻ° SCMP_ACT_ERRNO, āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ•āĻ˛ syscalls āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž SCMP_ACT_ALLOW. āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ˛ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ syscalls, āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŦ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§. āĻ•āĻžāĻ˛ā§‹ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ defaultAction āĻāĻŦāĻ‚ āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ•āĻ°ā§āĻŽ.

āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻļāĻŦā§āĻĻ āĻŦāĻ˛āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯āĻž āĻāĻ¤āĻŸāĻž āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¨āĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ¨ā§€āĻšā§‡āĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ Kubernetes-āĻ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻ¨ āĻ¯ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¯ā§‹āĻ—-āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¸āĻš āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšā§‹āĻ•āĨ¤

1. AllowPrivilegeEscalation=false

В securityContext āĻ§āĻžāĻ°āĻ• āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ†āĻ›ā§‡ AllowPrivilegeEscalation. āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ false, āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻļā§āĻ°ā§ āĻšāĻŦā§‡ (on) āĻŦāĻŋāĻŸ no_new_priv. āĻāĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻŸāĻŋāĻ° āĻ…āĻ°ā§āĻĨ āĻ¨āĻžāĻŽ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻ¸ā§āĻĒāĻˇā§āĻŸ: āĻāĻŸāĻŋ āĻ•āĻ¨āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻœā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¸āĻš āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻāĻ‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻļā§āĻŦ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ true (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ) āĻšāĻ˛ āĻ¯ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻļā§āĻ°ā§āĻ¤ā§‡ seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ (āĻ¯ā§‡āĻŽāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€/āĻ—ā§āĻ°ā§āĻĒ āĻ†āĻ‡āĻĄāĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦāĻžāĻĻ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž) āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻ• āĻ¯āĻž āĻ¤ā§āĻšā§āĻ› āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ•āĻ°ā§‡ echo hi, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡:

{
    "defaultAction": "SCMP_ACT_ERRNO",
    "architectures": [
        "SCMP_ARCH_X86_64",
        "SCMP_ARCH_X86",
        "SCMP_ARCH_X32"
    ],
    "syscalls": [
        {
            "names": [
                "arch_prctl",
                "brk",
                "capget",
                "capset",
                "chdir",
                "close",
                "execve",
                "exit_group",
                "fstat",
                "fstatfs",
                "futex",
                "getdents64",
                "getppid",
                "lstat",
                "mprotect",
                "nanosleep",
                "newfstatat",
                "openat",
                "prctl",
                "read",
                "rt_sigaction",
                "statfs",
                "setgid",
                "setgroups",
                "setuid",
                "stat",
                "uname",
                "write"
            ],
            "action": "SCMP_ACT_ALLOW"
        }
    ]
}

(hi-pod-seccomp.json)

...āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡:

{
    "defaultAction": "SCMP_ACT_ERRNO",
    "architectures": [
        "SCMP_ARCH_X86_64",
        "SCMP_ARCH_X86",
        "SCMP_ARCH_X32"
    ],
    "syscalls": [
        {
            "names": [
                "arch_prctl",
                "brk",
                "close",
                "execve",
                "exit_group",
                "futex",
                "mprotect",
                "nanosleep",
                "stat",
                "write"
            ],
            "action": "SCMP_ACT_ALLOW"
        }
    ]
}

(hi-container-seccomp.json)

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŦāĻžāĻ°, āĻ•ā§‡āĻ¨ āĻāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž? āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻšā§‹āĻ¯āĻŧāĻžāĻ‡āĻŸāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻšāĻžāĻ‡ (āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ): capset, set_tid_address, setgid, setgroups и setuid. āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻ¸āĻ˛ āĻšā§āĻ¯āĻžāĻ˛ā§‡āĻžā§āĻœ āĻšāĻ˛ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ¨ā§‡āĻ‡, āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•āĻ¨āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ›ā§‡āĻ¨āĨ¤ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻāĻ•āĻĻāĻŋāĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ (āĻšāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻž, āĻ¸āĻŽā§āĻ­āĻŦāĻ¤, āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž), āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻšāĻ āĻžā§Ž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻŸāĻŋāĻĒ # 1: āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒāĻžāĻ¤ā§āĻ° āĻšāĻžāĻ˛āĻžāĻ¨ AllowPrivilegeEscaltion=false. āĻāĻŸāĻŋ seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ†āĻ•āĻžāĻ°āĻ•ā§‡ āĻ•āĻŽāĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻŽ āĻ¸āĻ‚āĻŦā§‡āĻĻāĻ¨āĻļā§€āĻ˛ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻŦā§‡āĨ¤

2. āĻ§āĻžāĻ°āĻ• āĻ¸ā§āĻ¤āĻ°ā§‡ seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž

seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻĄ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

annotations:
  seccomp.security.alpha.kubernetes.io/pod: "localhost/profile.json"

...āĻ…āĻĨāĻŦāĻž āĻ§āĻžāĻ°āĻ• āĻ¸ā§āĻ¤āĻ°ā§‡:

annotations:
  container.security.alpha.kubernetes.io/<container-name>: "localhost/profile.json"

āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ Kubernetes seccomp āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§‡ GA āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡ (āĻāĻ‡ āĻ˜āĻŸāĻ¨āĻžāĻŸāĻŋ Kubernetes - 1.18 - āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ…āĻ¨ā§āĻŦāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§āĻ°āĻ•āĻžāĻļā§‡ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤)ā§ˇ

āĻ–ā§āĻŦ āĻ•āĻŽ āĻ˛ā§‹āĻ•āĻ‡ āĻœāĻžāĻ¨ā§‡ āĻ¯ā§‡ Kubernetes āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ›āĻŋāĻ˛ āĻŦāĻžāĻ—āĻ¯āĻž seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻ§āĻžāĻ°āĻ•. āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ†āĻ‚āĻļāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ…āĻ­āĻžāĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻˇāĻ¤āĻŋāĻĒā§‚āĻ°āĻŖ āĻĻā§‡āĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻ§āĻžāĻ°āĻ•āĻŸāĻŋ āĻĒāĻĄ āĻĨā§‡āĻ•ā§‡ āĻ…āĻĻā§ƒāĻļā§āĻ¯ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§‡ āĻāĻ‡ āĻ§āĻžāĻ°āĻ•āĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ AllowPrivilegeEscalation=true, āĻ…āĻ¨ā§āĻšā§āĻ›ā§‡āĻĻ 1 āĻ āĻ¸ā§āĻŦā§€āĻ•ā§ƒāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻĻāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ§āĻžāĻ°āĻ• āĻ¸ā§āĻ¤āĻ°ā§‡ seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ§āĻžāĻ°āĻ•āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻ¨āĻž āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻŦāĻžāĻ—āĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ (āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ 1.18?) āĻ¸āĻŦāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤

āĻŸāĻŋāĻĒ # 2: āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¸ā§āĻ¤āĻ°ā§‡ seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ• āĻ…āĻ°ā§āĻĨā§‡, āĻāĻ‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ‡ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻ¸āĻžāĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ‰āĻ¤ā§āĻ¤āĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡: "āĻ•ā§‡āĻ¨ āĻ†āĻŽāĻžāĻ° āĻ¸ā§‡āĻ•āĻ•āĻŽā§āĻĒ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ docker runāĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž?

3. āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļā§‡āĻˇ āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ/āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨

āĻŦāĻŋāĻ˛ā§āĻŸ-āĻ‡āĻ¨ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: runtime/default и docker/default. āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ¨āĻ¯āĻŧāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻāĻŦāĻ‚ āĻāĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ°āĻž āĻ­āĻŋāĻ¨ā§āĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĢāĻ˛ā§‡, āĻ§āĻžāĻ°āĻ•āĻŸāĻŋāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸ā§‡āĻŸā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻŦāĻž āĻ¨āĻžāĻ“ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĄāĻ•āĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨. āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤āĨ¤

āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡ docker/default Kubernetes 1.11 āĻĨā§‡āĻ•ā§‡ āĻ…āĻŦāĻšāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻšāĻ˛ā§āĻ¨āĨ¤

āĻ†āĻŽāĻžāĻ° āĻŽāĻ¤ā§‡, āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ runtime/default āĻ¯ā§‡ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻĒā§āĻ°āĻŋ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤: āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻā§āĻāĻ•āĻŋ āĻĨā§‡āĻ•ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ°āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž docker run āĻ¤āĻžāĻĻā§‡āĻ° āĻ—āĻžāĻĄāĻŧāĻŋāĻ° āĻ‰āĻĒāĻ°āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¯āĻ–āĻ¨ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ•āĻĨāĻž āĻ†āĻ¸ā§‡, āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻŋ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§‡ āĻ¸āĻžāĻšāĻ¸ āĻ•āĻ°āĻŦ āĻ¯ā§‡ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ–ā§āĻŦ āĻ‰āĻ¨ā§āĻŽā§āĻ•ā§āĻ¤ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¤āĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° (āĻŦāĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°) āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĻāĻŋāĻ•ā§‡ āĻŽāĻ¨ā§‹āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻŸāĻŋāĻĒ # 3: āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻ—ā§‹āĻ˛āĻžāĻ‚ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ“āĻ¯āĻŧā§‡āĻŦ API āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡ā§ˇ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļā§‡āĻˇ āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ/āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡āĻ° āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡, āĻ†āĻŽāĻŋ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ SecDevOps-āĻ…āĻ¨ā§āĻĒā§āĻ°āĻžāĻŖāĻŋāĻ¤ seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ†āĻĒāĻ—ā§āĻ°ā§‡āĻĄ āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻ•ā§‹āĻ¨ āĻ…āĻœā§āĻšāĻžāĻ¤ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻžāĨ¤

4. āĻ…āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¨āĻ¯āĻŧāĨ¤

āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽ Kubernetes āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ…āĻĄāĻŋāĻŸ āĻāĻŸāĻž āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ seccomp āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ. āĻŽāĻžāĻ¨ā§‡ āĻ¸ā§‡āĻŸ āĻ¨āĻž āĻ•āĻ°āĻ˛ā§‡ PodSecurityPolicy, āĻ¯āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻŦā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻ¤āĻžāĻ¤ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ seccomp=unconfined.

āĻāĻ‡ āĻŽā§‹āĻĄā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§āĻ¤āĻ° āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻ•ā§‡ āĻ°āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻŦāĻŋāĻļā§‡āĻˇāĻœā§āĻžāĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž.

āĻŸāĻŋāĻĒ # 4: āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ seccomp=unconfinedāĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĨ¤

5. "āĻ…āĻĄāĻŋāĻŸ āĻŽā§‹āĻĄ"

āĻāĻ‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻŸāĻŋ Kubernetes-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻ–āĻ¨āĻ“ "āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻœā§‡āĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻœāĻŋāĻ¨āĻŋāĻ¸" āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻĒāĻĄāĻŧā§‡āĨ¤

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻ˜āĻŸā§‡, seccomp āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧāĻ‡ āĻšā§āĻ¯āĻžāĻ˛ā§‡āĻžā§āĻœāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ‰āĻĒāĻ° āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻ¸āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋ āĻš'āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ "āĻŦāĻžāĻĻ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ°" āĻā§āĻāĻ•āĻŋ āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻ¨ā§‡āĻ‡āĨ¤

Linux āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ 4.14 āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻĒāĻ°, āĻ…āĻĄāĻŋāĻŸ āĻŽā§‹āĻĄā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, syslog-āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦā§āĻ˛āĻ• āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ‡ āĻŽā§‹āĻĄ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ SCMT_ACT_LOG:

SCMP_ACT_LOG: seccomp āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻĨā§āĻ°ā§‡āĻĄāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ˛āĻ— āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•ā§ŒāĻļāĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  1. āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨āĨ¤
  2. āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ˛ āĻŦā§āĻ˛āĻ• āĻ•āĻ°ā§āĻ¨ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻŦā§‡ āĻ¨āĻž.
  3. āĻ˛āĻ—ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŦ āĻ•āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻ˛ā§€āĻ•ā§ƒāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

{
    "defaultAction": "SCMP_ACT_LOG",
    "architectures": [
        "SCMP_ARCH_X86_64",
        "SCMP_ARCH_X86",
        "SCMP_ARCH_X32"
    ],
    "syscalls": [
        {
            "names": [
                "arch_prctl",
                "sched_yield",
                "futex",
                "write",
                "mmap",
                "exit_group",
                "madvise",
                "rt_sigprocmask",
                "getpid",
                "gettid",
                "tgkill",
                "rt_sigaction",
                "read",
                "getpgrp"
            ],
            "action": "SCMP_ACT_ALLOW"
        },
        {
            "names": [
                "add_key",
                "keyctl",
                "ptrace"
            ],
            "action": "SCMP_ACT_ERRNO"
        }
    ]
}

(medium-mixed-seccomp.json)

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŽāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻ˛ āĻŦā§āĻ˛āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ•ā§āĻˇāĻ¤āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻ˛ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĄāĻ•āĻžāĻ° āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨. āĻāĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ˛āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‡āĻ¨āĨ¤

āĻ¤āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ¯āĻžāĻš āĻ†āĻ›ā§‡āĨ¤ āĻ¯āĻĻāĻŋāĻ“ SCMT_ACT_LOG 2017 āĻ¸āĻžāĻ˛ā§‡āĻ° āĻļā§‡āĻˇ āĻĨā§‡āĻ•ā§‡ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤, āĻāĻŸāĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ‡āĻ•ā§‹āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ 4.14 āĻāĻŦāĻ‚ runC āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ¨āĻŋāĻšā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡ v1.0.0-rc9.

āĻŸāĻŋāĻĒ # 5: āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…āĻĄāĻŋāĻŸ āĻŽā§‹āĻĄ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻžāĻ˛ā§‹ āĻāĻŦāĻ‚ āĻ¸āĻžāĻĻāĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ˛āĻ— āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ā§ˇ

6. āĻ¸āĻžāĻĻāĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨

āĻšā§‹āĻ¯āĻŧāĻžāĻ‡āĻŸāĻ˛āĻŋāĻ¸ā§āĻŸāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ•āĻžāĻ°āĻŖ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŽāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻ˛ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ•ā§‡ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§‡:

āĻ¸āĻžāĻĻāĻžāĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦāĻžāĻžā§āĻ›āĻ¨ā§€āĻ¯āĻŧ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻ†āĻ°ā§‹ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĨ¤ āĻ¯āĻ–āĻ¨āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻŦāĻŋāĻĒāĻœā§āĻœāĻ¨āĻ• āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ (āĻ…āĻĨāĻŦāĻž āĻ•āĻžāĻ˛ā§‹ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĒāĻœā§āĻœāĻ¨āĻ• āĻĒāĻ¤āĻžāĻ•āĻž/āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ) āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨āĻ‡ āĻ•āĻžāĻ˛ā§‹āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻ° āĻĢāĻ˛ā§‡ āĻ•āĻžāĻ˛ā§‹ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

Go āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻŸā§āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻ˛ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯:

package main

import "fmt"

func main() {
	fmt.Println("test")
}

... āĻšāĻ˛ā§āĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• gosystract āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

go install https://github.com/pjbgf/gosystract
gosystract --template='{{- range . }}{{printf ""%s",n" .Name}}{{- end}}' application-path

... āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

"sched_yield",
"futex",
"write",
"mmap",
"exit_group",
"madvise",
"rt_sigprocmask",
"getpid",
"gettid",
"tgkill",
"rt_sigaction",
"read",
"getpgrp",
"arch_prctl",

āĻ†āĻĒāĻžāĻ¤āĻ¤, āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ—āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļāĻĻ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻŸāĻŋāĻĒ # 6: āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻ•āĻ˛āĻ•ā§‡ āĻŦā§āĻ˛āĻ• āĻ•āĻ°ā§āĻ¨ā§ˇ

7. āĻ¸āĻ āĻŋāĻ• āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨ (āĻŦāĻž āĻ…āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ†āĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°ā§āĻ¨)

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ¤ā§‡ āĻ¯āĻž āĻ˛āĻŋāĻ–ā§āĻ¨ āĻ¨āĻž āĻ•ā§‡āĻ¨ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻž āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨ āĻ¤āĻž āĻ āĻŋāĻ• āĻ¨āĻž āĻšāĻ˛ā§‡āĻ“āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡āĻŽāĻ¨ āĻ•āĻ˛ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻŦā§āĻ˛āĻ• exit āĻŦāĻž exit_group, āĻ§āĻžāĻ°āĻ•āĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻŽāĻ¤ā§‹ echo hi āĻ¤āĻžāĻ•ā§‡ āĻā§āĻ˛āĻŋāĻ¯āĻŧā§‡ āĻĻāĻžāĻ“o āĻ…āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸāĻ•āĻžāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ‰āĻšā§āĻš CPU āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĒāĻžāĻŦā§‡āĻ¨:

āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡ āĻ¸ā§‡āĻ•āĻŽāĻĒ: 7āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻœāĻžāĻ¨āĻž āĻĻāĻ°āĻ•āĻžāĻ°

āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ‰āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ¸āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ strace - āĻāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ•ā§€ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻŦā§‡:

āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡ āĻ¸ā§‡āĻ•āĻŽāĻĒ: 7āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻœāĻžāĻ¨āĻž āĻĻāĻ°āĻ•āĻžāĻ°
sudo strace -c -p 9331

āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§ˇ

āĻŸāĻŋāĻĒ # 7: āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻšā§‹āĻ¯āĻŧāĻžāĻ‡āĻŸāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻŸāĻŋ SecDevOps-āĻāĻ° āĻšā§‡āĻ¤āĻ¨āĻžāĻ¯āĻŧ Kubernetes-āĻ seccomp āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ• āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ…āĻ‚āĻļā§‡āĻ° āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋ āĻ˜āĻŸāĻžāĻ¯āĻŧāĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻ¨ āĻāĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻāĻŦāĻ‚ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤

āĻ…āĻ¨ā§āĻŦāĻžāĻĻāĻ• āĻĨā§‡āĻ•ā§‡ PS

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§āĻ˛āĻ—ā§‡āĻ“ āĻĒāĻĄāĻŧā§āĻ¨:

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨