我正在使用Docker调查内核安全性。我正在测试seccomp,它在Debian和Ubuntu上工作得非常好,但它不适用于Kali Linux。
示例:
我使用以下内容创建了一个名为sec.json
的简单json文件:
{
"defaultAction": "SCMP_ACT_ALLOW",
"syscalls": [
{
"name": "mkdir",
"action": "SCMP_ACT_ERRNO"
}
]
}
它假设使用seccomp运行容器并且此文件将导致您无法在容器内使用mkdir
命令。这是docker run命令:
docker run --rm -ti --security-opt seccomp=/path/to/sec.json ubuntu:xenial sh
正如我所说,它在Debian和Ubuntu上运行得很好,但在Kali Linux上我遇到了这个错误:
docker: Error response from daemon: linux seccomp: seccomp profiles are not supported on this daemon, you cannot specify a custom seccomp profile.
我的docker-engine版本为17.05.0-ce
,我的内核为4.9.0-kali3-amd64 #1 SMP Debian 4.9.18-1kali1 (2017-04-04) x86_64 GNU/Linux
。我搜索了这个并且很奇怪。如果可以检查,则支持seccomp:
cat /boot/config-`uname -r` | grep CONFIG_SECCOMP=
我得到了结果:
CONFIG_SECCOMP=y
所以它被支持了。我错过了什么或者对此有何解释是不是在为Kali工作?感谢。
答案 0 :(得分:0)
好的,我找到了这篇文章。我会尽力回答:
https://github.com/moby/moby/issues/26497
非常相似。我检查了我的docker info
输出,在Ubuntu和Debian上我有Security Options: seccomp
而我在Kali上什么都没有。
可能的解释是包含所需库的libseccomp2
包太旧了。也许如果Kali工作人员更新库,它可以得到支持。
答案 1 :(得分:0)
使用
echo'tapt :: sandbox :: seccomp“false”;' > /etc/apt/apt.conf.d/999seccomp
这应该有效。