āĻŦāĻŋāĻāĻĻā§āĻ°āĻ. āĻ āĻ¨ā§āĻŦāĻžāĻĻ: āĻāĻŽāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻāĻ°ā§ āĻŦā§āĻ°āĻŋāĻāĻŋāĻļ āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋ ASOS.com-āĻāĻ° āĻāĻāĻāĻ¨ āĻ¸āĻŋāĻ¨āĻŋāĻ¯āĻŧāĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸āĻŋāĻāĻŋāĻāĻ°āĻŋāĻāĻŋ āĻāĻā§āĻāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻāĻŋāĨ¤ āĻāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§, āĻ¤āĻŋāĻ¨āĻŋ seccomp āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŦā§āĻĻāĻŋāĻ¤ āĻĒā§āĻ°āĻāĻžāĻļāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨āĨ¤ āĻĒāĻžāĻ āĻāĻ°āĻž āĻ¯āĻĻāĻŋ āĻā§āĻŽāĻŋāĻāĻžāĻāĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻŽāĻ°āĻž āĻ˛ā§āĻāĻāĻā§ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻŦ āĻāĻŦāĻ āĻāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻ¤āĻžāĻ° āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§āĻ° āĻāĻĒāĻāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦāĨ¤
āĻāĻžāĻĻā§āĻŦāĻŋāĻĻā§āĻ¯āĻž āĻāĻŦāĻ āĻāĻžāĻĻā§āĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ° āĻāĻļā§āĻ°āĻ¯āĻŧ āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻā§āĻāĻžāĻŦā§ 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"
}
]
}
defaultAction
āĻŦāĻŋāĻāĻžāĻā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¨ā§āĻ āĻāĻŽāĻ¨ āĻā§āĻ¨ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ā§āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻžāĻā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ syscalls
. āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻ¸āĻšāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻ¸ā§āĻ¨ āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĢā§āĻāĻžāĻ¸ āĻāĻ°āĻŋ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§:
-
SCMP_ACT_ERRNO
- āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻā§ āĻŦā§āĻ˛āĻ āĻāĻ°ā§, -
SCMP_ACT_ALLOW
- āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ.
āĻ
āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ architectures
āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻžāĻ°āĻŖ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻ¸ā§āĻ¤āĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¨āĻžāĻŽā§āĻ° āĻāĻĒāĻ° āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻā§ āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻŋāĻ˛āĻŦā§āĨ¤ āĻ§āĻžāĻ°āĻŖāĻžāĻāĻŋ āĻšāĻ˛ āĻ¯ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻāĻĄāĻŋ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ recvfrom
(āĻ¸āĻā§āĻ āĻĨā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤) x64 āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ ID = 64 āĻāĻŦāĻ x517-āĻ ID = 86 āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻŦāĻŋāĻāĻžāĻā§ 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"
}
]
}
...āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§:
{
"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"
}
]
}
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŦāĻžāĻ°, āĻā§āĻ¨ āĻāĻ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž? āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻŽāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻšā§āĻ¯āĻŧāĻžāĻāĻāĻ˛āĻŋāĻ¸ā§āĻ āĻāĻ°āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻāĻžāĻ (āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ): 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 āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĒāĻ°ā§āĻ° āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§
āĻā§āĻŦ āĻāĻŽ āĻ˛ā§āĻāĻ āĻāĻžāĻ¨ā§ āĻ¯ā§ Kubernetes āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻāĻŋāĻ˛
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§ āĻāĻ āĻ§āĻžāĻ°āĻāĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ 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. āĻ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ¨āĻ¯āĻŧāĨ¤
āĻĨā§āĻā§ PodSecurityPolicy
, āĻ¯āĻž āĻāĻāĻŋāĻā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻŦā§, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ seccomp āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻ¤āĻžāĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻŦā§ seccomp=unconfined
.
āĻāĻ āĻŽā§āĻĄā§ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻāĻ¨āĻ¸ā§āĻ˛ā§āĻļāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¸ā§āĻ¤āĻ° āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻā§āĻā§ āĻ¯āĻž āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻā§ āĻ°āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻŦāĻŋāĻļā§āĻˇāĻā§āĻāĻĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž.
āĻāĻŋāĻĒ # 4: āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻā§āĻ¨ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻāĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ seccomp=unconfined
āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§ āĻā§āĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĨ¤
5. "āĻ āĻĄāĻŋāĻ āĻŽā§āĻĄ"
āĻāĻ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻāĻŋ Kubernetes-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨āĻ¨ā§āĻ¯ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻ¨āĻ "āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻā§āĻ¨ā§ āĻ°āĻžāĻāĻž āĻāĻŋāĻ¨āĻŋāĻ¸" āĻŦāĻŋāĻāĻžāĻā§ āĻĒāĻĄāĻŧā§āĨ¤
āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻā§, seccomp āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧāĻ āĻā§āĻ¯āĻžāĻ˛ā§āĻā§āĻāĻŋāĻ āĻāĻŦāĻ āĻā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻāĻĒāĻ° āĻ āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§āĨ¤ āĻāĻ¸āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻāĻŋ āĻš'āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻā§ "āĻŦāĻžāĻĻ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ°" āĻā§āĻāĻāĻŋ āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¸ā§āĻ¯ā§āĻ āĻ¨ā§āĻāĨ¤
Linux āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ 4.14 āĻĒā§āĻ°āĻāĻžāĻļā§āĻ° āĻĒāĻ°, āĻ
āĻĄāĻŋāĻ āĻŽā§āĻĄā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ
āĻāĻļāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ¯āĻŧā§āĻā§, syslog-āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻŦā§āĻ˛āĻ āĻ¨āĻž āĻāĻ°ā§āĻāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ āĻŽā§āĻĄ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ SCMT_ACT_LOG
:
SCMP_ACT_LOG: seccomp āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĨā§āĻ°ā§āĻĄāĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°āĻŦā§ āĻ¨āĻž āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°ā§āĻ° āĻā§āĻ¨ā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ˛āĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻļāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§:
- āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨āĨ¤
- āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻ¯ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻĨā§āĻā§ āĻāĻ˛ āĻŦā§āĻ˛āĻ āĻāĻ°ā§āĻ¨ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻšāĻŦā§ āĻ¨āĻž.
- āĻ˛āĻā§ āĻ āĻ¨ā§āĻ¯ āĻ¸āĻŦ āĻāĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻāĻāĻŋ āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ:
{
"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"
}
]
}
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŽāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ˛ āĻŦā§āĻ˛āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§ āĻ¨āĻž āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻā§āĻˇāĻ¤āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻ˛ āĻ
āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛
āĻ¤āĻŦā§ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ āĻāĻā§āĨ¤ āĻ¯āĻĻāĻŋāĻ SCMT_ACT_LOG
2017 āĻ¸āĻžāĻ˛ā§āĻ° āĻļā§āĻˇ āĻĨā§āĻā§ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤, āĻāĻāĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§āĻ˛āĻāĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻāĻā§āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĻā§āĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ 4.14 āĻāĻŦāĻ runC āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻ¨āĻŋāĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§
āĻāĻŋāĻĒ # 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
āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻāĻŋ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻāĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻ¸āĻ¤ā§ āĻĒāĻžāĻ°ā§ strace
- āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¤āĻž āĻĻā§āĻāĻžāĻŦā§:
sudo strace -c -p 9331
āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ˇ
āĻāĻŋāĻĒ # 7: āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻĻāĻŋāĻ¨ āĻāĻŦāĻ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻšā§āĻ¯āĻŧāĻžāĻāĻāĻ˛āĻŋāĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻāĻŋ SecDevOps-āĻāĻ° āĻā§āĻ¤āĻ¨āĻžāĻ¯āĻŧ Kubernetes-āĻ seccomp āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ āĻāĻļā§āĻ° āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋ āĻāĻāĻžāĻ¯āĻŧāĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ āĻāĻļāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻā§āĻ¨ āĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤
āĻ āĻ¨ā§āĻŦāĻžāĻĻāĻ āĻĨā§āĻā§ PS
āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ˛āĻā§āĻ āĻĒāĻĄāĻŧā§āĻ¨:
- ÂĢ
āĻĄāĻāĻžāĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž "; - ÂĢ
33+ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¸āĻ°āĻā§āĻāĻžāĻŽ "; - ÂĢ
āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž-āĻāĻžāĻšāĻŋāĻĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻĄāĻāĻžāĻ° āĻāĻŦāĻ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ "; - ÂĢ
9 Kubernetes āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ āĻā§āĻ¯āĻžāĻ¸ Âģ.
āĻāĻ¤ā§āĻ¸: www.habr.com