Ich habe in diesem Bereich viel recherchiert. Ich habe sogar AppArmors Regelsätze für MySQL ausgenutzt . AppArmor ist die schwächste Form der Prozesstrennung. Die Eigenschaft, die ich ausnutze, ist, dass alle Prozesse Schreibrechte für einige der gleichen Verzeichnisse haben, wie z /tmp/
. Das Schöne an AppArmor ist, dass es einige Exploits bricht, ohne Benutzer / Administratoren in die Quere zu kommen. AppArmor weist jedoch einige grundlegende Mängel auf, die nicht in Kürze behoben werden können.
SELinux ist sehr sicher, es ist auch sehr ärgerlich. Im Gegensatz zu AppAmoror werden die meisten legitimen Anwendungen erst ausgeführt, nachdem SELinux neu konfiguriert wurde. In den meisten Fällen führt dies dazu, dass der Administrator SELinux falsch konfiguriert oder alles gemeinsam deaktiviert.
grsecurity ist ein sehr umfangreiches Werkzeugpaket. Die, die mir am besten gefällt, ist die verbesserte Chroot von grsecuirty. Dies ist noch sicherer als SELinux, obwohl es einige Kenntnisse und einige Zeit in Anspruch nimmt, ein Chroot-Gefängnis einzurichten, in dem SELinux und AppAprmor "nur funktionieren".
Es gibt ein viertes System, eine virtuelle Maschine. In VM-Umgebungen wurden Sicherheitslücken gefunden, durch die ein Angreifer "ausbrechen" kann. Eine VM hat jedoch einen noch größeren Abstand als eine Chroot, da Sie in einer VM weniger Ressourcen zwischen Prozessen gemeinsam nutzen. Die einer VM zur Verfügung stehenden Ressourcen sind virtuell und können sich kaum oder gar nicht mit anderen VMs überschneiden. Dies betrifft auch das <buzzword>
" Cloud Computing " </buzzword>
. In einer Cloud-Umgebung kann es zu einer sehr sauberen Trennung zwischen Datenbank und Webanwendung kommen, was für die Sicherheit wichtig ist. Es ist auch möglich, dass 1 Exploit die gesamte Cloud und alle darauf ausgeführten VMs besitzt.