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.
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