рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рд╕реЗрдХрдХреЙрдореНрдк: 7 рдЧреЛрд╖реНрдЯреА рдЬреНрдпрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдЧрджреА рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрдирдЪ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ

рдиреЛрдВрдж. рдЕрдиреБрд╡рд╛рдж: рдмреНрд░рд┐рдЯреАрд╢ рдХрдВрдкрдиреА ASOS.com рдордзреАрд▓ рд╡рд░рд┐рд╖реНрда рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реБрд░рдХреНрд╖рд╛ рдЕрднрд┐рдпрдВрддрд╛ рдпрд╛рдВрдЪреНрдпрд╛ рд▓реЗрдЦрд╛рдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдЖрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрдгреВрди рджреЗрдд рдЖрд╣реЛрдд. рдпрд╛рд╕рд╣, рддреЛ seccomp рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рджреНрд╡рд╛рд░реЗ Kubernetes рдордзреНрдпреЗ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдкрд┐рдд рдкреНрд░рдХрд╛рд╢рдирд╛рдВрдЪреА рдорд╛рд▓рд┐рдХрд╛ рд╕реБрд░реВ рдХрд░рддреЛ. рдЬрд░ рд╡рд╛рдЪрдХрд╛рдВрдирд╛ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдЖрд╡рдбрд▓реА, рддрд░ рдЖрдореНрд╣реА рд▓реЗрдЦрдХрд╛рдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░реВ рдЖрдгрд┐ рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рддреНрдпрд╛рдВрдЪреЗ рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рд╕рд╛рд╣рд┐рддреНрдп рдЪрд╛рд▓реВ рдареЗрд╡реВ.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рд╕реЗрдХрдХреЙрдореНрдк: 7 рдЧреЛрд╖реНрдЯреА рдЬреНрдпрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдЧрджреА рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрдирдЪ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ

рдЬрд╛рджреВ рдЖрдгрд┐ рдЬрд╛рджреВрдЯреЛрдгреНрдпрд╛рдВрдЪрд╛ рдЕрд╡рд▓рдВрдм рди рдХрд░рддрд╛, SecDevOps рдЪреНрдпрд╛ рднрд╛рд╡рдиреЗрдиреЗ seccomp рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ рдпрд╛рд╡рд░реАрд▓ рдкреЛрд╕реНрдЯрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рд╣рд╛ рд▓реЗрдЦ рдкрд╣рд┐рд▓рд╛ рдЖрд╣реЗ. рднрд╛рдЧ XNUMX рдордзреНрдпреЗ, рдореА Kubernetes рдордзреНрдпреЗ seccomp рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреА рдЖрдгрд┐ рдЕрдВрддрд░реНрдЧрдд рддрдкрд╢реАрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░реЗрди.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреЗрдирд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рдЪреЗ рд╡рд┐рд╡рд┐рдз рдорд╛рд░реНрдЧ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рд▓реЗрдЦ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдЧрдгрди рдореЛрдб рдпрд╛ рдирд╛рд╡рд╛рдиреЗрд╣реА рдУрд│рдЦрд▓рд╛ рдЬрд╛рддреЛ рдпрд╛рдмрджреНрджрд▓ рдЖрд╣реЗ рд╕реЗрдХреЙрдореНрдк. рдХрдВрдЯреЗрдирд░рджреНрд╡рд╛рд░реЗ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдгреЗ рд╣реЗ рддреНрдпрд╛рдЪреЗ рд╕рд╛рд░ рдЖрд╣реЗ.

рддреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдХрд╛ рдЖрд╣реЗ? рдХрдВрдЯреЗрдирд░ рд╣реА рдХреЗрд╡рд│ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╢реАрдирд╡рд░ рдЪрд╛рд▓рдгрд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗ. рдЖрдгрд┐ рддреЗ рдЗрддрд░ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдкреНрд░рдорд╛рдгреЗрдЪ рдХрд░реНрдирд▓ рд╡рд╛рдкрд░рддреЗ. рдЬрд░ рдХрдВрдЯреЗрдирд░ рдХреЛрдгрддреЗрд╣реА рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд░реВ рд╢рдХрдд рдЕрд╕рддреАрд▓, рддрд░ рд▓рд╡рдХрд░рдЪ рдорд╛рд▓рд╡реЗрдЕрд░ рдХрдВрдЯреЗрдирд░ рдЕрд▓рдЧрд╛рд╡ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛рдЪрд╛ рдлрд╛рдпрджрд╛ рдШреЗрдИрд▓ рдЖрдгрд┐ рдЗрддрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░реЗрд▓: рдорд╛рд╣рд┐рддреА рд░реЛрдЦрдгреЗ, рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдмрджрд▓рдгреЗ рдЗ.

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 рд▓рдХреНрд╖реНрдп рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реВрдЪреАрдмрджреНрдз рдЖрд╣реЗрдд. рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХрд╛рд░рдг рдлрд┐рд▓реНрдЯрд░ рд╕реНрд╡рддрдГ, рдХрд░реНрдирд▓ рд╕реНрддрд░рд╛рд╡рд░ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░реНрд╕рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ, рдкреНрд░реЛрдлрд╛рдЗрд▓рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдирд╛рд╡рд╛рдВрд╡рд░ рдирд╛рд╣реА. рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рдкрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдУрд│рдЦрдХрд░реНрддреНрдпрд╛рдВрд╢реА рдЬреБрд│реЗрд▓. рдХрд▓реНрдкрдирд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓рдордзреНрдпреЗ рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдкреВрд░реНрдгрдкрдгреЗ рднрд┐рдиреНрди ID рдЕрд╕реВ рд╢рдХрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ 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 - рдЕрдВрджрд╛рдЬреЗ рдЕрдиреБрд╡рд╛рджрд╛рдЪреНрдпрд╛ рдкреБрдвреАрд▓ рдкреНрд░рдХрд╛рд╢рдирд╛рдд рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрд╣реЗ).

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдиреЗрд╣рдореАрдЪ рд╣реЛрддреЗ рд╣реЗ рдлрд╛рд░ рдХрдореА рд▓реЛрдХрд╛рдВрдирд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдХрд┐рдбрд╛рдЬреНрдпрд╛рдореБрд│реЗ seccomp рдкреНрд░реЛрдлрд╛рдЗрд▓ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдХрдВрдЯреЗрдирд░ рд╡рд┐рд░рд╛рдо рджреНрдпрд╛. рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдЕрдВрд╢рддрдГ рдпрд╛ рдХрдорддрд░рддреЗрдЪреА рднрд░рдкрд╛рдИ рдХрд░рддреЗ, рдкрд░рдВрддреБ рд╣реЗ рдХрдВрдЯреЗрдирд░ рдкреЙрдбреНрд╕рдордзреВрди рдЕрджреГрд╢реНрдп рд╣реЛрдд рдирд╛рд╣реА, рдХрд╛рд░рдг рддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ.

рд╕рдорд╕реНрдпрд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рд╣рд╛ рдХрдВрдЯреЗрдирд░ рдиреЗрд╣рдореАрдЪ рд╕реБрд░реВ рд╣реЛрддреЛ AllowPrivilegeEscalation=true, рдкрд░рд┐рдЪреНрдЫреЗрдж 1 рдордзреНрдпреЗ рдЖрд╡рд╛рдЬ рдЙрдард╡рд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдХрдбреЗ рдЕрдЧреНрд░рдЧрдгреНрдп, рдЖрдгрд┐ рд╣реЗ рдмрджрд▓рд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА.

рдХрдВрдЯреЗрдирд░ рд╕реНрддрд░рд╛рд╡рд░ seccomp рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╡рд╛рдкрд░реВрди, рддреБрдореНрд╣реА рд╣рд╛ рддреНрд░рд╛рд╕ рдЯрд╛рд│рддрд╛ рдЖрдгрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░рд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реА рдкреНрд░реЛрдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛. рд╡рд┐рдХрд╛рд╕рдХ рдмрдЧрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░реЗрдкрд░реНрдпрдВрдд рдЖрдгрд┐ рдирд╡реАрди рдЖрд╡реГрддреНрддреА (рдХрджрд╛рдЪрд┐рдд 1.18?) рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рд╣реЛрдИрдкрд░реНрдпрдВрдд рд╣реЗ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.

рдЯреАрдк # 2: рдХрдВрдЯреЗрдирд░ рд╕реНрддрд░рд╛рд╡рд░ seccomp рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕реЗрдЯ рдХрд░рд╛.

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрд░реНрдерд╛рдиреЗ, рд╣рд╛ рдирд┐рдпрдо рд╕рд╣рд╕рд╛ рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЙрддреНрддрд░ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рддреЛ: тАЬрдорд╛рдЭреЗ seccomp рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╛ рдХрд╛рдо рдХрд░рддреЗ? docker runрдкрд░рдВрддреБ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рддреИрдирд╛рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА?

3. рдлрдХреНрдд рд╢реЗрд╡рдЯрдЪрд╛ рдЙрдкрд╛рдп рдореНрд╣рдгреВрди рд░рдирдЯрд╛рдЗрдо/рдбрд┐рдлреЙрд▓реНрдЯ рд╡рд╛рдкрд░рд╛

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдХрдбреЗ рдЕрдВрдЧрднреВрдд рдкреНрд░реЛрдлрд╛рдЗрд▓рд╕рд╛рдареА рджреЛрди рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд: runtime/default ╨╕ docker/default. рджреЛрдиреНрд╣реА рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдорджреНрд╡рд╛рд░реЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реЗ рдЬрд╛рддрд╛рдд, рдХреБрдмреЗрд░рдиреЗрдЯреЗрд╕рдиреЗ рдирд╡реНрд╣реЗ. рдореНрд╣рдгреВрди, рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рдЖрд╡реГрддреНрддреА рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рддреЗ рднрд┐рдиреНрди рдЕрд╕реВ рд╢рдХрддрд╛рдд.

рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рд░рдирдЯрд╛рдЗрдо рдмрджрд▓рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА, рдХрдВрдЯреЗрдирд░рд▓рд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓рдЪреНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рд╕реЗрдЯрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЕрд╕реВ рд╢рдХрддреЛ, рдЬреЛ рддреЛ рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ рдХрд┐рдВрд╡рд╛ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рдмрд╣реБрддреЗрдХ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рдкрд░рддрд╛рдд рдбреЙрдХрд░ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА. рддреБрдореНрд╣реА рд╣реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╡рд╛рдкрд░реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдХреГрдкрдпрд╛ рддреЗ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдЕрд╕рд▓реНрдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛.

рдкреНрд░реЛрдлрд╛рдЗрд▓ docker/default Kubernetes 1.11 рдкрд╛рд╕реВрди рдирд╛рдкрд╕рдВрдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рддреНрдпрд╛рдореБрд│реЗ рддреЗ рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛.

рдорд╛рдЭреНрдпрд╛ рдорддреЗ, рдкреНрд░реЛрдлрд╛рдЗрд▓ runtime/default рдЬреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рд╕рд╛рдареА рддреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рддреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рд╕рд╛рдареА рдкреВрд░реНрдгрдкрдгреЗ рдЕрдиреБрдХреВрд▓: рдХрдорд╛рдВрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЬреЛрдЦрдореАрдкрд╛рд╕реВрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреЗ docker run рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЧрд╛рдбреНрдпрд╛рдВрд╡рд░. рддрдерд╛рдкрд┐, рдЬреЗрд╡реНрд╣рд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рд╡рд░ рдЪрд╛рд▓рдгрд╛рд░реНтАНрдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рддреЗрд╡реНрд╣рд╛ рдореА рдЕрд╕рд╛ рдпреБрдХреНрддрд┐рд╡рд╛рдж рдХрд░рдгреНрдпрд╛рдЪреЗ рдзрд╛рдбрд╕ рдХрд░реЗрди рдХреА рдЕрд╕реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдЦреВрдк рдЦреБрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА (рдХрд┐рдВрд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреЗ рдкреНрд░рдХрд╛рд░) рдкреНрд░реЛрдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

рдЯреАрдк # 3: рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА seccomp рдкреНрд░реЛрдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░рд╛. рд╣реЗ рд╢рдХреНрдп рдирд╕рд▓реНрдпрд╛рд╕, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╛рдареА рдкреНрд░реЛрдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдПрдХ рдкреНрд░рдЧрдд рдкреНрд░реЛрдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░рд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ Golang рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреЗ рд╕рд░реНрд╡ рд╡реЗрдм API рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. рдлрдХреНрдд рд╢реЗрд╡рдЯрдЪрд╛ рдЙрдкрд╛рдп рдореНрд╣рдгреВрди рд░рдирдЯрд╛рдЗрдо/рдбреАрдлреЙрд▓реНрдЯ рд╡рд╛рдкрд░рд╛.

рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ, рдореА SecDevOps-рдкреНрд░реЗрд░рд┐рдд seccomp рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ, рддреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рдЖрдгрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдордзреНрдпреЗ рддреНрдпрд╛рдВрдЪреА рдЪрд╛рдЪрдгреА рдХрд╢реА рдХрд░рд╛рд╡реА рд╣реЗ рд╕рд╛рдВрдЧреЗрди. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдлрд╛рдЗрд▓реНрд╕рд╡рд░ рдЕрдкрдЧреНрд░реЗрдб рди рдХрд░рдгреНрдпрд╛рдЪреЗ рдХреЛрдгрддреЗрд╣реА рдирд┐рдорд┐рддреНрдд рдЕрд╕рдгрд╛рд░ рдирд╛рд╣реА.

4. Unconfined рд╣рд╛ рдкрд░реНрдпрд╛рдп рдирд╛рд╣реА.

рдЗрдЭ рдкреНрд░рдердо рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕реБрд░рдХреНрд╖рд╛ рдСрдбрд┐рдЯ рд╣реЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдмрд╛рд╣реЗрд░ рд╡рд│рд▓реЗ seccomp рдЕрдХреНрд╖рдо. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдЬрд░ рддреБрдореНрд╣реА рд╕реЗрдЯ рдХреЗрд▓реЗ рдирд╛рд╣реА PodSecurityPolicy, рдЬреЗ рддреЗ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╕рдХреНрд╖рдо рдХрд░реЗрд▓, рд╕рд░реНрд╡ рдкреЙрдбреНрд╕ рдЬреНрдпрд╛рд╕рд╛рдареА seccomp рдкреНрд░реЛрдлрд╛рдЗрд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА seccomp=unconfined.

рдпрд╛ рдореЛрдбрдордзреНрдпреЗ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдореНрд╣рдгрдЬреЗ рдЗрдиреНрд╕реБрд▓реЗрд╢рдирдЪрд╛ рд╕рдВрдкреВрд░реНрдг рдерд░ рдирд╖реНрдЯ рд╣реЛрддреЛ рдЬреЛ рдХреНрд▓рд╕реНрдЯрд░рдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рддреЛ. рд╕реБрд░рдХреНрд╖рд╛ рддрдЬреНрдЮрд╛рдВрдиреА рдпрд╛ рдкрджреНрдзрддреАрдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА.

рдЯреАрдк # 4: рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдХреЛрдгрддрд╛рд╣реА рдХрдВрдЯреЗрдирд░ рдЖрдд рдЪрд╛рд▓реВ рдирд╕рд╛рд╡рд╛ seccomp=unconfined, рд╡рд┐рд╢реЗрд╖рддрдГ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд.

5. "рдСрдбрд┐рдЯ рдореЛрдб"

рд╣рд╛ рдореБрджреНрджрд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рд╣реА, рдкрд░рдВрддреБ рддрд░реАрд╣реА "рд╢реБрд░реВ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЬрд╛рдгреВрди рдШреНрдпрд╛рдпрдЪреНрдпрд╛ рдЧреЛрд╖реНрдЯреА" рд╢реНрд░реЗрдгреАрдд рдпреЗрддреЛ.

рдЬрд╕реЗ рдШрдбрддреЗ рддрд╕реЗ, 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"
        }
    ]
}

(рдордзреНрдпрдо-рдорд┐рд╢реНрд░-seccomp.json)

рдкрд░рдВрддреБ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдЕрд╕рд▓реЗрд▓реЗ рд╕рд░реНрд╡ рдХреЙрд▓реНрд╕ рдмреНрд▓реЙрдХ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реАрдд рдЖрдгрд┐ рддреЗ рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛ рд╣рд╛рдиреА рдкреЛрд╣реЛрдЪрд╡реВ рд╢рдХрддрд╛рдд. рдпрд╛рджреА рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рдЖрдзрд╛рд░ рдореНрд╣рдгрдЬреЗ рдЕрдзрд┐рдХреГрдд рдбреЙрдХрд░ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг. рдбреАрдлреЙрд▓реНрдЯ рдкреНрд░реЛрдлрд╛рдЗрд▓рдордзреНрдпреЗ рдХреЛрдгрддреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдмреНрд▓реЙрдХ рдХреЗрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдХрд╛ рддреЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ.

рддрдерд╛рдкрд┐, рдПрдХ рдЭреЗрд▓ рдЖрд╣реЗ. рддрд░реА SCMT_ACT_LOG рдХрд░реНрдирд▓рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд Linux реирежрезрен рдЪреНрдпрд╛ рдЕрдЦреЗрд░реАрд╕ рддреЗ рдиреБрдХрддреЗрдЪ рдХреБрдмрд░рдиреЗрдЯреАрд╕ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рджрд╛рдЦрд▓ рдЭрд╛рд▓реЗ рдЖрд╣реЗ. рддреНрдпрд╛рдореБрд│реЗ, рд╣реА рдкрджреНрдзрдд рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд░реНрдирд▓рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓. Linux рек.резрек рдЖрдгрд┐ runC рдЖрд╡реГрддреНрддреА рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА рдирд╕рд╛рд╡реА. v1.0.0-rc9.

рдЯреАрдк # 5: рдЙрддреНрдкрд╛рджрдирд╛рддреАрд▓ рдЪрд╛рдЪрдгреАрд╕рд╛рдареА рдСрдбрд┐рдЯ рдореЛрдб рдкреНрд░реЛрдлрд╛рдЗрд▓ рдмреНрд▓реЕрдХ рдЖрдгрд┐ рд╡реНрд╣рд╛рдИрдЯ рдпрд╛рджреНрдпрд╛ рдПрдХрддреНрд░ рдХрд░реВрди рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЖрдгрд┐ рд╕рд░реНрд╡ рдЕрдкрд╡рд╛рдж рд▓реЙрдЧ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

6. рд╢реНрд╡реЗрддрд╕реВрдЪреА рд╡рд╛рдкрд░рд╛

рд╡реНрд╣рд╛рдЗрдЯрд▓рд┐рд╕реНрдЯрд┐рдВрдЧрд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрддреНрди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд рдХрд╛рд░рдг рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рдгрд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдУрд│рдЦрд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓, рдкрд░рдВрддреБ рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░рддреЛ:

рд╢реНрд╡реЗрддрд╕реВрдЪреА рдкрджреНрдзрдд рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЕрддреНрдпрдВрдд рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ рдХрд╛рд░рдг рддреА рд╕реЛрдкреА рдЖрдгрд┐ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рдЬреЗрд╡реНрд╣рд╛ рд╕рдВрднрд╛рд╡реНрдп рдзреЛрдХрд╛рджрд╛рдпрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ (рдХрд┐рдВрд╡рд╛ рдмреНрд▓реЕрдХрд▓рд┐рд╕реНрдЯрдордзреНрдпреЗ рдЕрд╕рд▓реНрдпрд╛рд╕ рдзреЛрдХрд╛рджрд╛рдпрдХ рдзреНрд╡рдЬ/рдкрд░реНрдпрд╛рдп) рдЬреЛрдбрд▓рд╛ рдЬрд╛рддреЛ рддреЗрд╡реНрд╣рд╛ рдмреНрд▓реЕрдХрд▓рд┐рд╕реНрдЯ рдЕрдкрдбреЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реЗрд▓. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдкреЕрд░рд╛рдореАрдЯрд░рдЪреЗ рд╕рд╛рд░ рди рдмрджрд▓рддрд╛ рддреНрдпрд╛рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрджрд▓рдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдмреНрд▓реЕрдХрд▓рд┐рд╕реНрдЯрдЪреНрдпрд╛ рдирд┐рд░реНрдмрдВрдзрд╛рдВрдирд╛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.

рдЧреЛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╛рдареА, рдореА рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЛрдмрдд рдЕрд╕рддреЗ рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рджрд░рдореНрдпрд╛рди рдХреЗрд▓реЗрд▓реЗ рд╕рд░реНрд╡ рдХреЙрд▓ рдЧреЛрд│рд╛ рдХрд░рддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЦрд╛рд▓реАрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╕рд╛рдареА:

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 рд╡рд╛рдкрд░рдгреНрдпрд╛рд╡рд░реАрд▓ рд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рдкрд╣рд┐рд▓реНрдпрд╛ рднрд╛рдЧрд╛рдЪреА рд╕рдорд╛рдкреНрддреА рдХрд░рддреЗ. рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдХрд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд╢реА рдХрд░рд╛рд╡реА рдпрд╛рдмрджреНрджрд▓ рдЖрдкрдг рдкреБрдвреАрд▓ рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рдЪрд░реНрдЪрд╛ рдХрд░реВ.

рдЕрдиреБрд╡рд╛рджрдХрд╛рдХрдбреВрди рдкреБрдирд╢реНрдЪ

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:

рд╕реНрддреНрд░реЛрдд: www.habr.com

DDoS рд╕рдВрд░рдХреНрд╖рдг, VPS VDS рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реЗрджреА рдХрд░рд╛ ЁЯФе рдбреАрдбреЙрд╕ рд╕рдВрд░рдХреНрд╖рдгрд╛рд╕рд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рд╡реНрд╣реАрдкреАрдПрд╕ (VPS) рд╡реНрд╣реАрдбреАрдПрд╕ (VDS) рд╕рд░реНрд╡реНрд╣рд░реНрд╕ рдЦрд░реЗрджреА рдХрд░рд╛ | ProHoster