SecComp

Apresentação

seccomp é um módulo de segurança do linux que permite restringir as syscalls que podem ser executadas

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

Implementation

O seccomp é similar ao apparmor, porém ele restringe certas syscalls de serem executadas, você pode ver como os arquivos de configuração são criados aqui

{
        "defaultAction": "SCMP_ACT_ALLOW",
        "architectures": [
                "SCMP_ARCH_X86_64",
                "SCMP_ARCH_X86",
                "SCMP_ARCH_X32"
        ],
        "syscalls": [
                {
                        "name": "chmod",
                        "action": "SCMP_ACT_ERRNO",
                        "args": []
                }

        ]
}

Esse arquivo que usei para exemplo não permite a chamada da syscall chmod, podemos executar o contêiner com o seccomp usando o seguinte comando

docker run --rm -it --security-opt seccomp=<SECCOMP_PROFILE.json> <IMAGE_NAME> sh

Se usarmos a opção --privileged a flag security-opt será ignorada, ignorando assim as regras aplicadas

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.

Mas de nada adianta se usarmos a flag --privileged

Last updated