AppArmor

Apresentação

apparmor é um módulo de segurança do linux que permite restringir certas atividades na máquina logado com tal usuário.

AppArmor pode ser usado para o host linux também, assim como podemos implementar ele no nosso contêiner

Implementation

AppArmor profile são os arquivos de configurações que o linux irá ler para aplicar as regras, você pode ver como esses arquivos podem ser criados aqui

#include <tunables/global>
profile apparmor-profile flags=(attach_disconnected,mediate_deleted) {
  #include <abstractions/base>
  file,
  network,
  capability,
  deny /tmp/** w,
  deny /etc/passwd rwklx,
}

No meu caso estarei utilizando essa regra para demonstração, o que ela faz:

  • Não permite a criação de escrita no diretório /tmp/

  • Não permite o acesso ao arquivo /etc/passwd

Primeiro vamos carregar o profile no sistema com o comando:

sudo apparmor_parser -r -W <APPARMOR_PROFILE_FILE>

Logo após podemos utilizar a flag --security-opt com o argumento indiciando que a opção de segurança será o apparmor

docker run -it --rm --security-opt apparmor=<APPARMOR_PROFILE_FILE> <IMAGE_NAME> sh

Conclusão

Conseguimos com o auxilío de módulos de segurança do kernel do linux implementar mais segurança para o nosso contêiner, utilizando regras para permitir certas execuções no contêiner.

Last updated