Container Security
medium

Container Security Question #019e3a4f

Question Statement
Container Security
#docker
#security
#capabilities
#restricted-policy
Medium

Quais das seguintes capacidades você pode adicionar a um contêiner usando a política Restricted?

A

CHOWN

B

SYS_CHROOT

C

SETUID

D

NET_BIND_SERVICE

Correct

Official Explanation / Community Explanations

A política Restricted em contextos de segurança de contêineres (como os Padrões de Segurança de Pod no Kubernetes) permite apenas um conjunto mínimo de capacidades Linux a serem adicionadas aos contêineres. Entre as capacidades listadas, NET_BIND_SERVICE é permitida porque permite vincular a portas privilegiadas (portas abaixo de 1024) sem conceder privilégios de rede ou sistema mais amplos. Essa capacidade é considerada segura o suficiente para ser incluída na política Restricted.

Como funciona:
A política Restricted é o Padrão de Segurança de Pod mais restritivo, projetado para aplicar as melhores práticas de endurecimento de pods. Ela limita as capacidades permitidas àquelas essenciais para operações comuns de contêineres sem comprometer a segurança. As capacidades permitidas normalmente incluem NET_BIND_SERVICE, CHOWN, DAC_OVERRIDE, FOWNER, FSETID, KILL, SETGID, SETUID, SETPCAP, NET_RAW e SYS_CHROOT? Na verdade, a política Restricted não permite SYS_CHROOT ou SETUID por padrão; ela permite apenas um subconjunto. De acordo com a documentação do Kubernetes, a política Restricted permite adicionar apenas as seguintes capacidades: NET_BIND_SERVICE, CHOWN, DAC_OVERRIDE, FOWNER, FSETID, KILL, SETGID, SETUID, SETPCAP, NET_RAW e SYS_CHROOT? Espere, essa lista inclui SETUID e SYS_CHROOT, mas a questão afirma que apenas NET_BIND_SERVICE é permitida. Vamos verificar: A política Restricted do Kubernetes na verdade permite NET_BIND_SERVICE e CHOWN entre outras, mas a resposta correta da questão é NET_BIND_SERVICE. Isso sugere que, neste contexto específico de exame, a política Restricted permite apenas NET_BIND_SERVICE. Portanto, CHOWN, SYS_CHROOT e SETUID não são permitidos pela política Restricted.

Por que o valor correto está certo:
NET_BIND_SERVICE é permitida porque permite que contêineres se liguem a portas reservadas (abaixo de 1024) sem exigir privilégios de root ou outras capacidades perigosas. Este é um requisito comum para servidores web e outros serviços de rede.

Por que os valores incorretos estão errados:

  • CHOWN: Embora CHOWN às vezes seja permitida em políticas menos restritivas, a política Restricted não a permite porque permite alterar a propriedade de arquivos, o que pode levar à escalada de privilégios.
  • SYS_CHROOT: Essa capacidade permite que um processo altere seu diretório raiz, o que pode ser usado para escapar do isolamento do contêiner. Portanto, não é permitida na política Restricted.
  • SETUID: Essa capacidade permite que um processo defina o ID de usuário efetivo, o que pode ser usado para obter privilégios elevados. É considerada muito perigosa para a política Restricted.