Seccomp
Basic Information
Seccomp or Secure Computing mode is a feature of Linux kernel which can act as syscall filter. Seccomp has 2 modes.
Original/Strict Mode
In this mode **Seccomp only allow the syscalls** exit()
, sigreturn()
, read()
and write()
to already-open file descriptors. If any other syscall is made, the process is killed using SIGKILL
Seccomp-bpf
This mode allows filtering of system calls using a configurable policy implemented using Berkeley Packet Filter rules.
Seccomp in Docker
Seccomp-bpf is supported by Docker to restrict the syscalls from the containers effectively decreasing the surface area. You can find the syscalls blocked by default in https://docs.docker.com/engine/security/seccomp/ and the default seccomp profile can be found here https://github.com/moby/moby/blob/master/profiles/seccomp/default.json. You can run a docker container with a different seccomp policy with:
If you want for example to forbid a container of executing some syscall like uname
you could download the default profile from https://github.com/moby/moby/blob/master/profiles/seccomp/default.json and just remove the uname
string from the list.
If you wan to make sure that some binary doesn't work inside a a docker container you could use strace to list the syscalls the binary is using and then forbid them.
In the following example the syscalls of uname
are discovered:
Last updated