Ich möchte wissen, ob ein bestimmter Docker-Container das Standard-Seccomp-Profil ausführt oder nicht. Ich habe weder Zugriff auf die Befehlszeile, die zum Starten des Containers verwendet wurde, noch auf die Docker-Datei.
Beim Starten ps aufxwww
kann ich sehen, dass der Prozess /usr/bin/dockerd-current
die Optionen hat --seccomp-profile=/etc/docker/seccomp.json
. Dies ist tatsächlich die Standard-Seccomp-Profildatei.
/usr/bin/docker-containerd-current
Der Prozess , der die containerisierte Anwendung startet, hat dies jedoch nicht getan und docker inspect
gibt Folgendes zurück: "SecurityOpt": null,
.
Wem kann ich also vertrauen?
BEARBEITEN
Noch überraschender ist, dass ich einen Docker ausgeführt habe, während ich explizit einen Seccomp-Filter angegeben habe
docker run -d --security-opt seccomp=/etc/docker/seccomp.python.json friendly
und die /proc/$pid/status
Datei gibt zurück seccomp 0
.
Stattdessen hätte ich laut dem Mann erwartet:
2 SECCOMP_MODE_FILTER
Antwort1
Ich bin kein Experte und habe diesen Beitrag eigentlich gefunden, weil ich dieselbe Frage gegoogelt habe, aber ich habe Folgendes herausgefunden.
Wenn Sie Docker mit einem Seccomp-Profil ausführen, geben Sie entweder nichts an, und Docker verwendet den Standard, oder Sie geben selbst ein Profil in daemon.json
der Befehlszeile an und führen Folgendes aus:
docker run -it alpine /bin/sh
/ # grep Seccomp /proc/1/status
Seccomp: 2
Wie Sie sehen, ist der Seccomp-Filter im Docker aktiviert. Wenn Sie Docker explizit anweisen, ohne Seccomp-Profil zu laufen, erhalten Sie 0.
docker run -it --security-opt seccomp=unconfine alpine /bin/sh
/ # grep Seccomp /proc/1/status
Seccomp: 0
Sie können es also vom Docker aus sehen. Vielleicht ist das sinnvoll, da es die Prozesse im Docker sind, die durch das Seccomp-Profil eingeschränkt werden müssen.
Sie können auch testen, ob ein Profil etwas tut, indem SieHerunterladen des Standardprofilsund etwas daraus entfernen, zB chown
, und dann versuchen:
docker run -it --security-opt seccomp=/etc/docker/myseccomp.json alpine /bin/sh
/ # touch testfile
/ # chown 100.100 testfile
chown: testfile: Operation not permitted
Schließlich, nach dermanpagees sieht so aus, als ob Sie ab Kernel 4.14 etwas sehen können in:
/proc/sys/kernel/seccomp/actions_avail
Dies ist in meinem 4.9-Kernel nicht vorhanden. Ich hoffe, dass dies jemandem hilft.