Chroot + Flags gemounteter Partitionen

kesandal

New Member
Guten Abend,

ich habe auf meinem vserver einen MySQL-Server aufgesetzt und in eine Chroot-Umgebung gesteckt (home/jail_mysql).
Das alles klappt problemlos.

Nun mache ich mir aber ein paar Gedanken;
Der Sicherheit wegen habe ich meine Partitionen folgendermaßen gemountet:
(Ein Auszug)
home (nosuid, nodev), tmp (nodev, nosuid, noexec), var (nodev), log (nodev, nosuid, noexec)

Wenn ich nun meinen mysql-jail auf /home setze, haben beispielsweise weder tmp noch log das "noexec" Flag.

Meine Frage an Euch:
Wie kann ich das elegant lösen?
Eine Idee wäre es für meinen Jail separate Paritionen anzulegen (jail_mysql_home, jail_mysql_tmp usw.)
Das ganze artet aber schnell aus, wenn ich beispielsweise noch weitere Sachen in einen neuen Jail stecke und hier erneut Partitionen anlege.

Vielen Dank im Voraus.
 
Welches SteinzeitOS? systemd verfügbar?

Mir wär der Chroot Aufwand viel zu groß und die Performance-Einbußen unixsocket vs tcp würd ich nicht in Kauf nehmen.

Mit systemd gibts viele Möglichkeiten, um an die Sicherheit eines Chroot heran- bzw. darüber hinaus zu kommen.

zB gibts da die nette Direktive "PrivateTmp", mit der automatisch ein isoliertes Temp-Verzeichnis in /tmp erstellt wird, somit von deinen Mountoptionen profitiert.
 
Hallo,

danke für Deine Antwort.
Für Alternativansätze bin ich gerne offen.

Ich habe freie Wahl auf dem System und habe Debian 8.2 installiert.
Systemd ist also entsprechend vorhanden.

Viele Grüße.
 
Hallo,

ich habe meine Mysql Installation (Arch Linux) folgendermaßen abgesichert (man systemd.exec):

Code:
PrivateTmp=true
PrivateDevices=true
PrivateNetwork=true
ProtectHome=true
ProtectSystem=full
NoNewPrivileges=true

Ggf. kann man mit ReadWriteDirectories=, ReadOnlyDirectories= oder InaccessibleDirectories= noch weiter einschränken.

Grüße
 
Back
Top