แฒจแแแแจแแแ. แแแ แแแแ: แแฅแแแแก แงแฃแ แแแฆแแแแก แฌแแ แแแแแแแแแ แแ แแขแแแฃแแ แแแแแแแแ ASOS.com-แแก แแแแแแแชแแแก แฃแกแแคแ แแฎแแแแแก แฃแคแ แแกแ แแแแแแ แแก แกแขแแขแแแก แแแ แแแแแก. แแแกแแแ แแ แแแ แแก แแฌแงแแแก แแฃแแแแแแชแแแแแก แกแแ แแแก, แ แแแแแแช แแซแฆแแแแแ Kubernetes-แจแ แฃแกแแคแ แแฎแแแแแก แแแฃแแฏแแแแกแแแแก seccomp-แแก แแแแแงแแแแแแ. แแฃ แแแแแฎแแแแก แจแแกแแแแแ แแแแฌแแแแแ, แแแแงแแแแแ แแแขแแ แก แแ แแแแแแ แซแแแแแ แแแก แจแแแแแแ แแแกแแแแแก แแ แแแแแแ.
แแก แกแขแแขแแ แแแ แแแแแ แแแกแขแแแแก แกแแ แแแแแ, แแฃ แ แแแแ แจแแแฅแแแแ seccomp แแ แแคแแแแแ SecDevOps-แแก แกแฃแแแกแแแแแแแแ, แแแแแแก แแ แฏแแแแฅแ แแแแก แแแ แแจแ. แแแ แแแ แแแฌแแแจแ แแ แแแแแจแฃแฅแแ 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
แฉแแแแแแแแแแ แกแแแแแแ แแ แฅแแขแแฅแขแฃแ แแแ. แแก แแแแจแแแแแแแแแแ, แ แแแแแ แแแแแ แคแแแขแ แ, แ แแแแแแช แแแแแแงแแแแแ แแแ แแแแก แแแแแแ, แแแแแแแแแแฃแแแ แกแแกแขแแแแก แแแ แแก แแแแแขแแคแแแแขแแ แแแแ แแ แแ แ แแแ แกแแฎแแแแแแ, แ แแแแแแแช แแแแแแแแฃแแแ แแ แแคแแแจแ. แแแแขแแแแแ แแก แแฃแจแแแแแก แแ แ แแแแแแฎแแแแ แแแ แแแแแขแแคแแแแขแแ แแแก แแแแแงแแแแแแแแ. แแแแ แแกแแ, แ แแ แกแแกแขแแแฃแ แแแ แแแก แจแแแซแแแแ แฐแฅแแแแแ แกแ แฃแแแแ แแแแกแฎแแแแแแฃแแ ID-แแแ, แ แแช แแแแแแแแแแฃแแแ แกแแกแขแแแแก แแ แฅแแขแแฅแขแฃแ แแแ. แแแแแแแแแ, แกแแกแขแแแฃแ แ แแแ แ recvfrom
(แแแแแแงแแแแแ แกแแแแขแแแแ แแแคแแ แแแชแแแก แแแกแแฆแแแแ) แแฅแแก ID = 64 x64 แกแแกแขแแแแแแ แแ ID = 517 x86-แแ.
แแแแงแแคแแแแแแจแ syscalls
แฉแแแแแแแแก แงแแแแ แกแแกแขแแแฃแ แแแ แก แแ แแแแแแ แแขแแแก แ แ แฃแแแ แแแแแแแแก แแแแแแ. แแแแแแแแแ, แจแแแแซแแแแ แจแแฅแแแแ แแแแ แ แกแแ แแแ แแแแขแ แแ defaultAction
on SCMP_ACT_ERRNO
, แแ แ แแแแแก แแแแงแแคแแแแแแจแ syscalls
แแแแแแแแก SCMP_ACT_ALLOW
. แแแ แแแแ, แแฅแแแ แแฎแแแแ แแแแงแแคแแแแแแจแ แแแแแแแแฃแ แแแ แแแก แฃแจแแแแ syscalls
, แแ แแแ แซแแแแก แงแแแแ แกแฎแแ. แจแแแ แกแแแกแแแแก แแฅแแแ แฃแแแ แจแแชแแแแแ แแแแจแแแแแแแแแ defaultAction
แแ แกแแแแ แแกแแแ แ แแแฅแแแแแแแแ.
แแฎแแ แฉแแแ แฃแแแ แแแฅแแแ แ แแแแแแแแ แกแแขแงแแ แแแฃแแแกแแแแ, แ แแแแแแแช แแ แช แแกแ แแจแแแ แแ. แแแฎแแแ, แแแแแแแแแกแฌแแแแ, แ แแ แฅแแแแแ แแแชแแแฃแแ แ แแแแแแแแแชแแแแ แแแ แแฃแแแแก, แ แแ แแฅแแแ แแแแแแแแกแแแ แแแแแแก แแแแแแแชแแแแแก แฎแแแก Kubernetes-แแ แแ แแกแฃแ แ, แ แแ แแกแแแ แแฃแจแแแแแแแ แแแแแแแแฃแ แ แแ แแแแแแแแแแแ.
1. AllowPrivilegeEscalation=false
ะ securityContext
แแแแขแแแแแ แก แแฅแแก แแแ แแแแขแ แ AllowPrivilegeEscalation
. แแฃ แแก แแแแแกแขแแแแ แแแฃแแแ false
, แแแแขแแแแแ แแแ แแแแฌแงแแแ (on
) แชแแขแ no_new_priv
แแ แแแ แแแแขแ แแก แแแงแแแแแแก แแแแ แแแแ แแคแแฅแขแ true
(แแแแฃแแแกแฎแแแแ) แแ แแก แแก, แ แแ แแแแขแแแแแ แแก แแแจแแแแแก แแ แ แแงแแแแแก seccomp แแ แแคแแแก แแแจแแแแแก แแ แแชแแกแแก แแแกแแฌแงแแกแจแแแ. แแแแแแแ, แงแแแแ แกแแกแขแแแฃแ แ แแแ แ, แ แแแแแแช แกแแญแแ แแ แจแแแ แแแจแแแแแก แแ แแชแแกแแแแก แแแกแแจแแแแแ (แแแ. แแแแฎแแแ แแแแแก/แฏแแฃแคแแก ID-แแแแก แแแงแแแแแ, แแแแแแ แแ แจแแกแแซแแแแแแแแแแก แแแแฆแแแ) แฉแแ แแฃแแ แฃแแแ แแงแแก แแ แแคแแแจแ.
แแแแขแแแแแ แแแแ, แ แแแแแแช แฌแแ แแแแแ แกแแฅแแแแแก แแแแแแแก 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 แแ แแคแแแแก แแแงแแแแแ แจแแกแแซแแแแแแแ pod แแแแแแ:
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
, แ แแช แแฌแแแแก แแแ แแแ แแฃแแฅแขแจแ แแแแฆแแ แแแฃแ แแ แแแแแแแแก แแ แแแแก แจแแชแแแ แจแแฃแซแแแแแแแ.
แแแแขแแแแแ แแก แแแแแแ seccomp แแ แแคแแแแแแก แแแแแงแแแแแแ, แแฅแแแ แแแแแแแ แแแชแแแแแ แแ แฎแแ แแแแก แแ แจแแแแซแแแแ แจแแฅแแแแ แแ แแคแแแ, แ แแแแแแช แแแ แแแแฃแแแ แแแแแ แแขแฃแ แแแแขแแแแแ แแ. แแก แฃแแแ แแแแแแแแก แแแแแ, แกแแแแ แแแแแแแแแ แแแ แแ แแแแแแกแฌแแ แแแแ แจแแชแแแแแก แแ แแฎแแแ แแแ แกแแ (แแฅแแแ 1.18?) แงแแแแแกแแแแก แฎแแแแแกแแฌแแแแแ แแแฎแแแแ.
แ แฉแแแ # 2: แแแแงแแแแ seccomp แแ แแคแแแแแ แแแแขแแแแแ แแก แแแแแแ.
แแ แแฅแขแแแฃแแ แแแแแแแ, แแก แฌแแกแ แฉแแแฃแแแแ แแ แแแกแแฎแฃแ แแแ แ แแแแ แช แฃแแแแแ แกแแแฃแ แแแกแฃแฎแก แแแแฎแแแแ: โแ แแขแแ แแฃแจแแแแก แฉแแแ แกแแแแแแ แแ แแคแแแ docker run
แแแแ แแ แแ แแฃแจแแแแก แแฃแแแ แแแขแแก แแแแกแขแแ แจแ แแแแแแแแแแก แจแแแแแ?
3. แแแแแแงแแแแ Runtime/Default แแฎแแแแ แ แแแแ แช แแแแ แกแแจแฃแแแแแ
Kubernetes-แก แแฅแแก แแ แ แแแ แแแแขแ แฉแแจแแแแแฃแแ แแ แแคแแแแแแกแแแแก: runtime/default
ะธ docker/default
. แแ แแแ แฎแแ แชแแแแแแแ แแแแขแแแแแ แแก แแแจแแแแแก แแ แแแ แแ แแ แ Kubernetes-แแ. แแแแขแแ, แแกแแแ แจแแแซแแแแ แแแแกแฎแแแแแแแแแแก แแแแแงแแแแแฃแแ แแแจแแแแแก แแแ แแแแกแ แแ แแแกแ แแแ แกแแแก แแแฎแแแแแ.
แกแฎแแ แกแแขแงแแแแแ แ แแ แแแฅแแแ, แแฃแจแแแแแก แแ แแแก แจแแชแแแแก แจแแแแแแ, แแแแขแแแแแ แก แจแแแซแแแแ แฐแฅแแแแแก แฌแแแแแ แกแฎแแแแแกแฎแแ แกแแกแขแแแฃแ แ แแแ แแแแก แแแแแแแฅแขแแ, แ แแแแแแช แแแ แจแแแซแแแแ แแแแแแงแแแแก แแ แแ แแแแแแงแแแแก. แแแจแแแแแก แฃแแแขแแกแแแ แแงแแแแแก
แแ แแคแแแแก docker/default
แแแซแแแแแแฃแแแ Kubernetes 1.11-แแก แจแแแแแ, แแแแขแแ แแแแ แแแแ แแแก แแแแแงแแแแแแก.
แฉแแแ แแแ แแ, แแ แแคแแแ runtime/default
แแแแแแฃแ แแ แจแแแคแแ แแแ แแ แแแแแแแก, แ แแกแแแแกแแช แจแแแฅแแแ: แแแแฎแแแ แแแแแแแก แแแชแแ แแ แซแแแแแแก แจแแกแ แฃแแแแแกแแแ แแแแแแจแแ แแแฃแแ แ แแกแแแแแกแแแ docker run
แแแ แแแแฅแแแแแแ. แแฃแแชแ, แ แแแแกแแช แกแแฅแแ แแฎแแแ Kubernetes แแแแกแขแแ แแแแ แแแจแแแแฃแ แแแแแแก แแแแแแแชแแแแก, แแ แแแแแแแแ แแแขแแแชแแแก, แ แแ แแกแแแ แแ แแคแแแ แซแแแแแ แฆแแแ แแ แแแแแแแแแ แแแแ แฃแแแ แแแแแแฎแแแแแ แงแฃแ แแแฆแแแ แแแแ แแแแแแแชแแแแแก (แแ แแแแแแแชแแแแแก แขแแแแแแก) แแ แแคแแแแแแก แจแแฅแแแแแ.
แ แฉแแแ # 3: แจแแฅแแแแแ seccomp แแ แแคแแแแแ แแแแแ แแขแฃแแ แแแแแแแชแแแแแกแแแแก. แแฃ แแก แจแแฃแซแแแแแแแ, แจแแฅแแแแแ แแ แแคแแแแแ แแแแแแแชแแแก แขแแแแแแกแแแแก, แแแแแแแแแ, แจแแฅแแแแแ แแแคแแ แแแแแฃแแ แแ แแคแแแ, แ แแแแแแช แแแแชแแแก Golang แแแแแแแชแแแก แงแแแแ แแแ API-แก. แแแแแแงแแแแ แแแจแแแแแก/แแแแฃแแแกแฎแแแแ แแ แ แแฎแแแแ แ แแแแ แช แแแแ แกแแจแฃแแแแแ.
แแแแแแแ แแแกแขแแแจแ แแ แแแแแแฎแแแแ, แแฃ แ แแแแ แจแแแฅแแแแ SecDevOps-แแ แจแแแแแแแแฃแแ seccomp แแ แแคแแแแแ, แแแขแแแแขแแแแ แแแ แแ แขแแกแขแแ แแแ แแแแกแแแแแแแจแ. แกแฎแแ แกแแขแงแแแแแ แ แแ แแแฅแแแ, แแฅแแแ แแ แแแฅแแแแแ แกแแแแแ, แ แแ แแ แแแแแแฎแแแ แแ แแแ แแแแก แกแแแชแแคแแแฃแ แแ แแคแแแแแแ.
4. แจแแฃแแฆแฃแแแแ แแ แแ แแก แแแ แแแแขแ.
Of PodSecurityPolicy
, แ แแแแแแช แฉแแ แแแแก แแแก แแแแกแขแแ แจแ, แงแแแแ แแแแ, แ แแแแแกแแแแกแแช seccomp แแ แแคแแแ แแ แแ แแก แแแแกแแแฆแแ แฃแแ, แแแฃแจแแแแแก seccomp=unconfined
.
แแ แ แแแแแจแ แแฃแจแแแแ แแแจแแแแก, แ แแ แแแแ แแแแ แแแแแแชแแแก แแแแแ แคแแแ, แ แแแแแแช แแชแแแก แแแแกแขแแ แก. แแก แแแแแแแ แแ แแ แแก แ แแแแแแแแแแฃแแ แฃแกแแคแ แแฎแแแแแก แแฅแกแแแ แขแแแแก แแแแ .
แ แฉแแแ # 4: แแแแกแขแแ แจแ แแ แชแแ แแ แแแแขแแแแแ แ แแ แฃแแแ แแงแแก แแแจแแแแฃแแ seccomp=unconfined
แแแแกแแแฃแแ แแแแ แกแแฌแแ แแแ แแแ แแแแจแ.
5. "แแฃแแแขแแก แ แแแแแ"
แแก แแฃแแฅแขแ แแ แแ แแก แฃแแแแแแฃแ แ Kubernetes-แแกแแแแก, แแแแ แแ แแแแแช แแแแแฃแแแแแแ โแ แแช แฃแแแ แแชแแแ แแแฌแงแแแแแแโ แแแขแแแแ แแแจแ.
แ แแแแ แช แแก แฎแแแแ, seccomp แแ แแคแแแแแแก แจแแฅแแแ แงแแแแแแแแก แ แแฃแแ แแงแ แแ แแแแฌแแแแ แแงแ แแแแแ แกแแชแแแแกแ แแ แจแแชแแแแแแก. แคแแฅแขแแ, แ แแ แแแแฎแแแ แแแแแแก แฃแแ แแแแ แแ แแฅแแ แจแแกแแซแแแแแแแ แจแแแแแฌแแแ แแกแแแ แกแแฌแแ แแแ แแแ แแแแจแ แแแแแแแชแแแก โแฉแแแแ แแแแกโ แ แแกแแแก แแแ แแจแ.
Linux kernel 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
Linux-แแก แแแ แแแแก แแฎแแ แแแญแแ แแ 2017 แฌแแแก แแแแแแแ, แแแ แจแแแแ แแแแ แชแแขแ แฎแแแก แฌแแ แจแแแแแ Kubernetes-แแก แแแแกแแกแขแแแแจแ. แแแแขแแ, แแ แแแแแแแก แแแแแกแแงแแแแแแแ แแแแญแแ แแแแแ Linux kernel 4.14 แแ runC แแแ แกแแ แแ แ แแแแแแ
แ แฉแแแ # 5: แฌแแ แแแแแแจแ แขแแกแขแแ แแแแกแแแแก แแฃแแแขแแก แ แแแแแแก แแ แแคแแแ แจแแแซแแแแ แจแแแฅแแแแก แจแแแ แแ แแแแ แ แกแแแแแก แแแแแแแแชแแแ แแ แงแแแแ แแแแแแแแแแกแแก แแแ แแแแกแขแ แแ แแแ แจแแกแแซแแแแแแแ.
6. แแแแแแงแแแแ แแแแ แ แกแแแแ
Whitelisting แแแแแฎแแแก แแแแแขแแแแ แซแแแแกแฎแแแแแก, แ แแแแแ แแฅแแแ แฃแแแ แแแแแแแแแ แงแแแแ แแแ แ, แ แแแแแแช แจแแแซแแแแ แแแแญแแ แแแก แแแแแแแชแแแก, แแแแ แแ แแก แแแแแแแ แแแแจแแแแแแแแแ แแฃแแฏแแแแกแแแก แฃแกแแคแ แแฎแแแแแก:
แ แแแแแแแแแแฃแแแ แแแแ แ แกแแแก แแแแแแแแก แแแแแงแแแแแ, แ แแแแแ แแก แฃแคแ แ แแแ แขแแแ แแ แกแแแแแแแ. แจแแแ แกแแ แฃแแแ แแแแแฎแแแแก, แ แแแแกแแช แแแแขแแแ แแแขแแแชแแฃแ แแ แกแแจแแจแ แกแแกแขแแแฃแ แ แแแ แ (แแ แกแแจแแจแ แแ แแจแ/แแคแชแแ, แแฃ แแก แจแแ แกแแแจแแ). แแแ แแ แแแแกแ, แฎแจแแ แแ แจแแกแแซแแแแแแแ แแแ แแแแขแ แแก แฌแแ แแแแแแแแก แจแแชแแแ แแแกแ แแ แกแแก แจแแชแแแแก แแแ แแจแ แแ แแแแ แจแแแ แกแแแก แจแแแฆแฃแแแแแแก แแแแ แแแก แแแแแ.
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: แงแฃแ แแแฆแแแ แแแแฅแชแแแ แแแขแแแแแก แแ แแแ แฌแแฃแแแแ, แ แแ แงแแแแ แกแแญแแ แ แกแแกแขแแแฃแ แ แแแ แ แแ แแก แแแแ แกแแแจแ.
แแแแ แแแกแ แฃแแแ แกแขแแขแแแแแก แกแแ แแแก แแแ แแแแ แแแฌแแแ Kubernetes-แจแ seccomp-แแก แแแแแงแแแแแแก แจแแกแแฎแแ SecDevOps-แแก แกแฃแแแกแแแแแแแแ. แจแแแแแ แแแฌแแแแแจแ แแแกแแฃแแ แแแ แแแแแ, แแฃ แ แแขแแ แแ แแก แแก แแแแจแแแแแแแแแ แแ แ แแแแ แแแแแฎแแแแแ แแ แแชแแกแแก แแแขแแแแขแแแแชแแ.
PS แแแแ แแแแแแแกแแแ
แแกแแแ แฌแแแแแแฎแแ แฉแแแแก แแแแแแ:
- ยซ
แฃแกแแคแ แแฎแแแแ Docker แแแแขแแแแแ แแแแกแแแแก "; - ยซ
33+ Kubernetes แฃแกแแคแ แแฎแแแแแก แแแกแขแ แฃแแแแขแแแ "; - ยซ
Docker แแ Kubernetes แฃแกแแคแ แแฎแแแแแกแแแแ แแแ แซแแแแแแ แ แแแ แแแแจแ "; - ยซ
9 แกแแฃแแแแแกแ แแ แแฅแขแแแ Kubernetes แฃแกแแคแ แแฎแแแแแกแแแแก ".
แฌแงแแ แ: www.habr.com