A pasta compartilhada da VM do minikube é segura para uso online do cluster?

A pasta compartilhada da VM do minikube é segura para uso online do cluster?

Estou executando o minikube em um host MacOSX com um hipervisor VirtualBox. Ele compartilha uma pasta (/Users) com o host. Para que serve e quão seguro é isso, seguro o suficiente para executar meu cluster online?

Acho que é difícil escapar de um contêiner e depois de um pod e depois da VM, mas entrei lá simplesmente com minikube sshe, não sabia da pasta compartilhada e que o shell me permite explorar o host.

Responder1

Não, não é seguro. Imagine ter um pod implantado com uma imagem de contêiner que foi construída com uma diretiva USER daemon no Dockerfile, o que faz com que o contêiner seja executado sob o usuário daemon. E se um invasor obtiver acesso ao seu registro de imagem e inserir uma imagem diferente na mesma tag? A imagem do invasor está configurada para ser executada como usuário root. Quando o Kubernetes agenda uma nova instância do seu pod, o Kubelet baixará a imagem do invasor e executará qualquer código colocado nela. Embora os contêineres sejam em sua maioria isolados do sistema host, executar seus processos como root ainda é considerado uma prática inadequada. Por exemplo, quando um diretório host é montado no contêiner, se o processo em execução no contêiner estiver sendo executado como root, ele terá acesso total ao diretório montado, enquanto se estiver sendo executado como não-root, não terá. Para evitar o cenário de ataque descrito anteriormente, você pode especificar que o contêiner do pod precisa ser executado como um usuário não root, conforme mostrado na listagem a seguir.

apiVersion: v1
kind: Pod
metadata:
  name: pod-run-as-non-root
spec:
  containers:
  - name: main
    image: alpine
    command: ["/bin/sleep", "999999"]
    securityContext:
      runAsNonRoot: true

informação relacionada