α αααΆαα ααααααα ααΎαααααΎαααααα αΆαααΌααααα’αααααΌαααΆαααααααα’αααααααααα·ααααααα»ααααα·ααΆααααααα·ααΈααΆααααααααα αααα»αα αα»αα’ααααααα ASOS.com α ααΆαα½αααΆ ααΆααα αΆααααααΎαααΆαααααα»αααααΆαααααααααΆαααααα§αααα·ααααααΆααααααα’αα»ααααα·ααΆααα αααα»α Kubernetes ααΆααααααΆαααααΎααααΆαα seccomp α ααααα·αααΎα’αααα’αΆαα αΌαα α·αααααΆαααααΆαααα ααΎαααΉαααααΎααΆαα’ααααα·αααα α αΎαααααααΆαα½αααΉααααααΆααααΆαααα’ααΆααααααααΆααααΎαααααΆααααααα
α’ααααααααααΊααΆααΎαααααΌααααα»αααΆααααααΆαααΆαααααααααΆααα’αααΈαααααααααΎααααααα seccomp αα
αααα»αααααΆαααΈαα SecDevOps ααααα·αααααΎααααααα αα·αα’αΆααααααα αα
αααα»ααααααααΈ 1 αααα»αααΉααααααΆααα’αααΈααΌαααααΆα αα·αααααααΆααααα’α·ααααααααα»αααααΆαα’αα»αααα seccomp αα
αααα»α Kubernetes α
ααααααααβα’αααΌα‘αΌαααΈ Kubernetes αααααβααΌαβαα·ααΈβααΆα
αααΎαβααΎααααΈβααΆααΆβαα»ααααα·ααΆα αα·αβααΆααβαα»αβααΆα
ααααα‘ααα α’ααααααααααΊα’αααΈ Secure Computing Mode αααααααΌαααΆαααααααΆααααΆααΆ αααΈααα. ααααΉαααΆαααααααΆααΊααΎααααΈααααααΆαα α
αααααααααααααΆααααααΆααααΆαααααα·ααααα·ααααα»αααΊαααα
α ααα»α’αααΈααΆαααΆααΆααααΆαα? αα»αααΊαααααΊααααΆααααααΆααααΎαααΆααααααααΎαααΆαααΎαααΆαααΈαααΆααααΆαααα½αα α αΎαααΆααααΎααΊαααααΌα αααααα·ααΈαααααααααααα ααααα·αααΎαα»αααΊαααα’αΆα ααααΎααΆαα α ααΌαααααααΆαααααααααααΆαα½αααα ααΆαααααα αααααααΉαααΆαααα’αααααααααααααΈααΆ ααΎααααΈααααααΆααααΆαα―αααααα»αααΊααα α αΎααααααΆααααααααααα·ααΈααααααααα ααααΆααα αΆααααααααΆα ααααΆααααααΌαααΆααααααααααααααααα
αααααααααααΆα 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
(ααααΎααΎααααΈααα½αααααααΆαααΈαααα) ααΆα ID = 64 αα
ααΎαααααααα x64 αα·α ID = 517 αα
ααΎ x86 α
αα
αααα»αααααα syscalls
ααΆαααΆαα α
ααΆαααααααααααΆααα’αα α αΎααααααΆααα’αααΈαααααααΌαααααΎααΆαα½ααα½αααα α§ααΆα ααα α’αααα’αΆα
αααααΎααααααΈααααααΆαααααα defaultAction
αα
ααΎ SCMP_ACT_ERRNO
αα·αααΆαα α
ααΌαααααααα
αααα»αααααα syscalls
α
αΆααααΆαα SCMP_ACT_ALLOW
. ααΌα
αααα α’αααβα’αα»ααααΆαβα±ααβα α
βααΌααααααβαααβααΆαβαααααΆααβαααα»αβαααααβααα»αααααα syscalls
αα·αα αΆαααΆααα’ααααααααΆααα’ααα αααααΆαααααααΈαααα
α’ααααα½αααααααΆααααααΌαααααα defaultAction
αα·ααααααααΆααααα»αα
α₯α‘αΌααααααΎααα½ααααα·ααΆαααΆαααααΈαααΈα’αααΈ nuances ααααα·αααΌαα αααΆααα ααΌαα αααΆαααΆααΆαααααΆαααΆααααααααααααααΆα’ααααααα»αααΆαααααααΆααααααΆαααααααααα·ααΈα’αΆααΈααααααα ααΎ 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
. αααααΆαααΆαααΆααααα αααα αΆααααααα·αααααΆααααΊααΆαααα’αα»ααααΆαα±ααααααΎαααΆααααα’αααααααΆαααΆααααααααααααΆαααααα»α α’ααααααα»αααααΆαααααααααα
ααΉαααΆαα’αα»αααααα»αααΊααααααααααΎαααΆαα αααααΆααα·αααα ααααααΆαα½α α’αααα’αΆα
ααΉαααΉαααΆ αααααΆααααΈααααΎαα
αα
α»ααααααααΆαααα·ααΆααΆααααααααΎαααΆααα»αααΊααα (αααα’ααα α¬ααααααΆαααα’ααααααααααααΆααα) αα»ααααα»αααααΆαααααααααΎαααΆαα
αααααΉαααα α€α ααααΎαααΆααα»αααΆαα½α 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
αααααΆααα
ααααααα αΆαααααΆααααα
αααααα»ααααΆααααααΈ 1 α αΎαααααα·αα’αΆα
ααααΆααααααΌαααΆαααα
αααααααΎαααααα seccomp αα ααααα·ααα»αααΊααα α’ααααααααΆαααΆαααααΆααααα α αΎαα’αΆα αααααΎαααααααααααααααΌαααΆααα»αααΊαααααΆααααΆαααα½αα ααΆααΉαααααΌαααααΎαα αΌααααα’αααα’αα·αααααααα½ααα»αααα α»α α αΎαααααααααΈ (αααα ααααΆ 1.18?) ααΆααααααΆααα’αααααΆααααααΆα
αααααΉαααα α€α ααααααααααα seccomp αα ααααα·ααα»αααΊαααα
αα
αααα»ααααααΆααααααα α
αααΆαααααααΆααααααΆαααααΎααΆα
ααααΎαααΆαααα
αααααααα½αα βα ααα»α’αααΈααΆαααΆαααααα seccomp αααααααα»αααααΎαααΆαααΆαα½α docker run
ααα»αααααα·αααααΎαααΆααααααΆααααΈααΆαααααααΆααα
αααα»α Kubernetes?
3. ααααΎαααααααΎαααΆα/ααααΆαααΎαααααΆααααααΆαααααααΆαα α»ααααααααα»αααααα
Kubernetes ααΆααααααΎαααΈααααααΆαααααααααααααααΆααααααΆαα½αα runtime/default
ΠΈ docker/default
. ααΆααααΈαααααΌαααΆαα’αα»ααααααααα»αααΊαααααααΎαααΆα αα·αααα Kubernetes ααα ααΌα
αααααα½αααΆα’αΆα
αα»αααααΆα’αΆαααααααΎααα·ααΆααΆααααααααΎαααΆααααααΆαααααΎ αα·αααααααααααΆα
αααααΆααα·αααα ααΆααααααααααΆαααααΆααααααΌααααααααΎαααΆα αα»αααΊαααα’αΆα
α
αΌαααααΎαααα»ααααααααααΆααααΆαα α
αααααααα αααααΆα’αΆα
ααααΎ α¬αα·αααααΎα αααααααΆααααΎαααΆαααΆαα
αααΎαααααΎ
α’αΆα docker/default
ααααΌαααΆαααα·αααα
αΆααααΆααααΈ Kubernetes 1.11 ααΌα
ααααααΌααααααΆαααΆαααααΎααΆα
ααΆααααα·ααααααααα»α αααααααα·ααΌα runtime/default
ααα₯αααα
αααααααΆααααααααααααααΆααααΌαααΆααααααΎαα‘αΎαα ααΆαααΆαα’αααααααΎααααΆααααΈα αΆαα·ααααααααΆααααααΉαααΆαααααα·ααααα·ααΆααααααααΆ docker run
αα
ααΎαααααααααααα½αααα αααααΆαααΆαααΆααααα αα
ααααα·ααΆαα’αααΈαααααα·ααΈα’αΆααΈααααααααααααΎαααΆαααΎα
ααααα Kubernetes αααα»αααΉαα ααΆαααααααααΆααααααααααααααΊααΎαα
αα ααα α αΎαα’αααα’αα·αααααααα½ααααααααααΎααΆααααααΎααααααααααααΆαααααααα·ααΈαααααα½ααα (α¬αααααααααααααα·ααΈ)α
αααααΉαααα α€α αααααΎααααααα seccomp αααααΆαααααααα·ααΈααΆααααΆααα ααααα·αααΎααΆαα·αα’αΆα αα αα½α αααααΎααααααααααααΆαααααααααααααα·ααΈ α§ααΆα ααα αααααΎαααααααααααα·ααααααααααα½ααααα αΌα API αααααΆαααΆααα’αααααααααα·ααΈ Golang α ααααΎαααααααα/ααααΆαααΎαααΆαααααΎαα α»ααααααααα»αααααα
αα αααα»αααΆααααα ααααΆαααα’ααΆαα αααα»αααΉααααααΆααα’αααΈαααααααααΎααααααα seccomp ααααααα»ααααα·αααα SecDevOps ααααααααααααα·αααααα½αααΆ αα·αααΆααααααα½αααΆαα αααα»ααααααα αααααΆααα·αααα α’αααααΉαααααΆαααααα·αααααΎαα αα α»ααααααααΆααα ααααααααΆααααΆαααααααααα·ααΈαααααα
4. Unconfined αα·ααααααΆαααααΎαααα
ααΈ PodSecurityPolicy
αααααΉαααΎαααΆαα
αααα»αα
ααααα ααααΆααα’ααααααααααα seccomp αα·αααααΌαααΆααααααααΉαααααΎαααΆααα
αααα»α seccomp=unconfined
.
ααααΎαααΆααα αααα»ααααααααααΆααααααΆαααααΆααα’ααΈααΌα‘ααααΆααααΌαααααΌαααΆαααΆααααααααααΆαααΆαα αααααα αα·ααΈααΆαααααααααα·αααααΌαααΆαααααΆααααα’αααααααΆαααααα·αα»αααα
αααααΉαααα α€α ααααΆααα»αααΊααααα
αααα»αα
ααααααα½αααααααΎαααΆααα
αααα»α seccomp=unconfined
ααΆαα·ααααα
αααα»αααα·ααΆααΆαααα·αααααα
5. "ααααααααααα"
α ααα»α ααααα·αααΆααααα½αααααααααΆαα Kubernetes ααααα ααα»αααααα αααααα·ααααα»ααααααα "ααΏααααααααΌαααΉααα»ααααα’αααα αΆααααααΎα"α
ααΌα αααααΆααΎαα‘αΎα ααΆααααααΎααααααα seccomp αααααααΆααααα αΆααααα αα·αααΉαααα’ααααααΆααααΎααΆαααΆααααα αα·αααα α»αα ααΆααα·αααΊααΆα’αααααααΎααααΆαααα·αααΆαα±ααΆαααΆααααααα½αααΆαα αααα»αααα·ααΆααΆαααα·αααααααααα·αααααα»αααΉα "αααααΆαα" αααααα·ααΈαααααα
αααααΆααααΈααΆαα
ααααααΆαααααΊαααααΈαα»α
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 ααΆααΆαα
αΌααα
αααα»αααααααααα’αααΌ Kubernetes ααααΈααααααα»αααααα ααΌα
αααα ααΎααααΈααααΎαα·ααΈααα α’αααααΉαααααΌαααΆαααΊαααααΈαα»α
4.14 αα·ααααα runC αα·αααΆαααΆα
αααααΉαααα α€α αααααααααααααααααααααααΆααααΆαααααΎααααααα αααα»αααΆαααα·αα’αΆα ααααΌαααΆααααααΎααααααΆααα½ααααα αΌααααααΈαααα αα·αα α αΎαααααΈααΎααααααΆααα’ααα’αΆα α αΌαααΆαα
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",
αααααΆαααααααα αααααααΆααααααΆα§ααΆα αααααα»ααααα ααααααΆααααα’α·αααααααα’αααΈα§αααααααΉαααααΎααΆαα
αααααΉαααα α€α α’αα»ααααΆαβα±ααβααβααΆαβα α βααΌαααααβαααβα’αααβαα·αβααΆβααααΌαβααΆα α αΎαβααΆααΆααβα’αααβαααααβααΆααβα’ααα
7. ααΆααααΌαααααΆαααααΉαααααΉαααααΌα (α¬αααα ααααααΆααα’αΆαααααα·αα·ααΆααααα·αααΉαααααΆαααα)
ααΊαααααΉααααααΉαααααααααααα·ααα·αααΈα’αααΈαααα’αααααααααα
αααα»αααΆα αααααΈααΆααΆαα·ααααααΆα’αααΈαααα’αααα
ααααΆααααααα α§ααΆα αααααααα·αααΎα’αααααΆααΆααααΆαα
αΌαααααΎααΆαα α
ααΌααααααααΌα
ααΆ exit
α¬ exit_group
αα»αααΊαααααΉααα·αα’αΆα
αα·αααΆαααααΉαααααΌα αα·αααΌααααΈααααΆααααααααΆααΆααααααΌα
ααΆ echo hi
αααα»αααααΈαααααα α§αααααααααΎααααΆααα’αΆα
αααα½αααααααααααΆαα strace
- ααΆααΉααααα αΆαααΈαααα αΆαααα’αΆα
ααΎαααΆαα
sudo strace -c -p 9331
ααααΌαααααΆααααΆααααααααΆαααΆαα α ααααααααααΆααα’ααααααααααα·ααΈααααΌαααΆααα αααααααΎαααΆαα
αααααΉαααα α€α ααα α·ααααα»αααΆααα ααααααααααΆααααα’α·α αα·αααααΌαααααΆααααΆααΆαα α ααΆαααααααααα αΆαααΆα αααΆααα’ααααααΌαααΆαααΆαααααα»ααααααΈαα
ααααααα αααααααααααΌαααα’αααααααΆαααααααααΆααα’αααΈααΆαααααΎααααΆαα seccomp αα αααα»α Kubernetes αααα»αααααΆαααΈαα SecDevOps α αα αααα»ααααααααΆαααααα ααΎαααΉααα·ααΆαα’αααΈααΌαα ααα»αααααΆααααΆαα αα·αααααααααΎα±ααααααΎαααΆααααααααααααααααα·α
PS ααΈα’ααααααααα
ααΌαα’αΆαααααααα ααΎαααααααααααΎαα
- Β«
αα»ααααα·ααΆααααααΆαααα»α Docker Β» - Β«
α§ααααααα»ααααα·ααΆα Kubernetes 33+ Β» - Β«
Docker αα·α Kubernetes αα αααα»αααα·ααααΆααααααΆαααΆααα»ααααα·ααΆα Β» - Β«
ααΆαα’αα»ααααααα’αααα»α 9 Kubernetes Security "α
ααααα: www.habr.com