Skip to content

Security/caps selinux - #144

Open
MenomDE wants to merge 20 commits into
mainfrom
security/caps-selinux
Open

Security/caps selinux#144
MenomDE wants to merge 20 commits into
mainfrom
security/caps-selinux

Conversation

@MenomDE

@MenomDE MenomDE commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Ich nutze bei mir CAPS und habe das hier ebenfalls umgesetzt. Bei Nextcloud bin ich mir allerdings nicht zu 100 % sicher, ob alle notwendigen CAPs enthalten sind, aber es sollte passen.

Des Weiteren ist mir aufgefallen, dass :z nicht konsequent verwendet wird.

Außerdem fehlte teilweise beim ?error der Doppelpunkt davor. Nach meinem Verständnis ist das dann wirkungslos, da der String leer bleibt.


Ein Fehler der mir noch aufgefallen ist beim Nachrichten-Bot, den ich noch nicht angepasst habe,

volumes:
  - "data:/app/data"

fehlt doch

- "${DOCKER_DATA_DIR:?error}/${COMPOSE_PROJECT_NAME:?error}"

Oder übersehe ich hier etwas?

@MenomDE
MenomDE requested a review from TheConen July 28, 2026 11:11
@MenomDE MenomDE added the enhancement New feature or request label Jul 28, 2026
@TheConen

Copy link
Copy Markdown
Contributor

CAPS: Können wir machen, aber dann einzeln pro Anwendung, damit im Zweifelsfall nicht alles auf einmal kaputt geht. Docker schränkt die Capabilites im Default bereits ein und erlaubt keine gefährlichen Caps.

:z wird nur dort benötigt, wo mehrere Container auf das gleiche Volume zugreifen. Das ist nur beim bind mount des DOCKER_DATA_DIR der Fall (wegen Kopia). Ansonsten ist :Z korrekt.

Den Doppelpunkt können wir der Konsistenz halber überall ergänzen, hat aber bei unserem Setup keine praktische Auswirkung. Durch den Doppelpunkt wird nur angegeben, dass der übergebene Wert nicht leer sein darf - wenn aber die Variable gar nicht übergeben wird, schlägt es trotzdem fehl. https://docs.docker.com/reference/compose-file/interpolation/

Der Nachrichten-Bot nutzt ein named volume statt eines bind mounts, da die Daten nicht so wichtig sind, dass sie durch Kopia gesichert werden müssen.

Das Traefik-Dashboard ist über 8090 freigegeben, damit es auch zugreifbar ist, wenn Traefik kaputt ist.

Comment thread docker/kopia/compose.yaml
- "--server-password=${SERVER_PASSWORD?error}"
environment:
KOPIA_PASSWORD: "${REPOSITORY_PASSWORD:?error}"
KOPIA_SERVER_USERNAME: "${SERVER_USERNAME:?error}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Diese Variablen sind in der Kopia Doku nicht erwähnt. https://kopia.io/docs/installation/#docker-images

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nein, das richtig. Aber vorhanden, nutze es so bei mir:

https://github.com/search?q=repo%3Akopia%2Fkopia+Envar

Da findest du die mit der Suche

@MenomDE

MenomDE commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

:z wird nur dort benötigt, wo mehrere Container auf das gleiche Volume zugreifen. Das ist nur beim bind mount des DOCKER_DATA_DIR der Fall (wegen Kopia). Ansonsten ist :Z korrekt.

Ja das richtig. Es gab auch nur zwei Stellen mit :Z (groß), nämlich bei den beiden Webseiten /mpmissions

Da greifen mindestens zwei Services drauf zu. Live und Beta.

@MenomDE

MenomDE commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

Der Nachrichten-Bot nutzt ein named volume statt eines bind mounts, da die Daten nicht so wichtig sind, dass sie durch Kopia gesichert werden müssen.

Seit der Anpassung, dass auch Streams angefragt werden ggf schon. Aber kann man auch erstmal so lassen. Wichtig ist das nicht.

@TheConen

TheConen commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

:z wird nur dort benötigt, wo mehrere Container auf das gleiche Volume zugreifen. Das ist nur beim bind mount des DOCKER_DATA_DIR der Fall (wegen Kopia). Ansonsten ist :Z korrekt.

Ja das richtig. Es gab auch nur zwei Stellen mit :Z (groß), nämlich bei den beiden Webseiten /mpmissions

Da greifen mindestens zwei Services drauf zu. Live und Beta.

Ah, in dem Falle ist das aber kein normales Volume oder bind mount, sondern ein SMB Mount. Da wird von Docker für jeden Container jeweils ein eigener Mount angelegt, auf den nur der jeweilige Container zugreift.

@MenomDE

MenomDE commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

CAPS: Können wir machen, aber dann einzeln pro Anwendung, damit im Zweifelsfall nicht alles auf einmal kaputt geht. Docker schränkt die Capabilites im Default bereits ein und erlaubt keine gefährlichen Caps.

Ich gehe nicht davon aus, dass was broke gehen sollte. Ich hab extra pro Anwendung einen Commit., also könnte man stückeln.

Authentik, komodo, Matomo, Traefik, Beszel, Kopia hab ich bei mir auch laufen mit diesen Caps. Die sollten eigentlich safe sein.

@TheConen

Copy link
Copy Markdown
Contributor

Der Nachrichten-Bot nutzt ein named volume statt eines bind mounts, da die Daten nicht so wichtig sind, dass sie durch Kopia gesichert werden müssen.

Seit der Anpassung, dass auch Streams angefragt werden ggf schon. Aber kann man auch erstmal so lassen. Wichtig ist das nicht.

Kann man natürlich umstellen, dann sollten aber auch die Daten aus dem named volume migriert werden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants