2013-05-23 9 views
10

Was ist der Vorteil der Verwendung von ITK Modul anstelle von Suexec mit Apache-Server? Die Idee ist die gleiche, die Skripte mit Besitzerrechten anstelle von niemand, www oder Apache ausführen!Apache ITK vs Suexec

Ist es besser zu verwenden ITK zugunsten suexec? Wenn ja warum? Was ist mit Sicherheit und Performance im Vergleich?

Antwort

18

Mit MPM-ITK können Sie Apache mit Benutzerberechtigungsnachweisen anstelle von Apache-Benutzer/Gruppe ausführen. Suexec führt Skripte als CGI unter einem bestimmten Benutzer/einer bestimmten Gruppe aus, aber die statischen Dateien, die von Apache bedient werden, benötigen weiterhin mehr offene Berechtigungen, auf die zugegriffen werden kann.

Mit MPM-ITK können alle Apache-Module (mod_php usw.) unter einem bestimmten Benutzer laufen: Gruppe mit den statischen Dateien, die die gleichen Berechtigungen wie die Skripte haben. Der Hauptnachteil ist, dass der Steuerprozess von Apache als root ausgeführt werden muss (mit reduzierten Rechten), so dass er zu jedem Benutzer wechseln kann, nachdem die Anfrage analysiert wurde. Suexec hat dieses Sicherheitsrisiko nicht, aber es ist nur eine Lösung für die Ausführung von Skripten (nicht für die Isolierung von Webseiteninhalten).

Hier ist a blog post with a good summary regarding MPM-ITK vs Suexec and other solutions. Der Autor akzeptiert die Sicherheitsimplikationen von MPM-ITK mit der Meinung, dass die Nachteile der konkurrierenden Lösungen übertroffen werden. Ich stimme dem Autor nicht zu, dass ein Apache-Exploit weniger erfolgreich sein wird, nur weil der MPM-ITK-Patch in Verwendung ist. Daher würde ich empfehlen, auf Ihren Sicherheitspatches auf dem neuesten Stand zu sein (wir sollten trotzdem, oder?) bereit, das Sicherheitsrisiko zu akzeptieren, um den Nutzen pro Benutzer zu erhalten.

Zusammenfassend ist MPM-ITK vs Suexec wirklich eine Situation-Entscheidung. Die einzige Lösung außerhalb von MPM-ITK sind Apache-Instanzen pro Benutzer hinter einem Reverse-Proxy, wenn Serverressourcen keine Rolle spielen. Lesen Sie mehr dazu hier: http://wiki.apache.org/httpd/ExtendingPrivilegeSeparation

+1

Vielen Dank für Ihre Mühe! Ich habe diesen Artikel bereits gelesen und es scheint, dass es die einzige ITK-bezogene Zusammenfassung da draußen ist! :) Ich verstehe alles außer einer Sache, wenn wir sagen, dass ITK alle Prozesse als root ausführt und sie dann als benutzerspezifisch erzeugt - ist das eine theoretische Bedrohung im Falle einer unbekannten Apache-Schwachstelle? Es ist nicht möglich, zu root zurückzukehren, nachdem Sie als ein bestimmter Benutzer erzeugt wurden, oder? –

+2

Korrigieren. Der Kontrollprozess läuft als root mit reduzierten Privilegien und Forks pro Anfrage und wechselt zur richtigen user: group. Die gespaltenen Prozesse können nicht in root zurückversetzt werden. [Laut dem MPM-ITK-Autor:] (http://mpm-itk.ssesse.net/) "Da mpm-itk in der Lage sein muss, setuid() zu verwenden, läuft es als root (wenn auch eingeschränkt mit POSIX-Fähigkeiten und seccomp v2, soweit möglich), bis die Anfrage analysiert und der vhost ermittelt wurde. Das bedeutet, dass jede Codeausführung vor der Analyse der Anfrage eine potentielle Root-Sicherheitslücke ist. (Der wahrscheinlichste Platz ist wahrscheinlich in mod_ssl.) " – jimp

+1

für den Fall, dass ich richtig liege: Halten Sie suexec für die meiste Sicherheit und verwenden Sie ITK für die Geschwindigkeit, aber die vorstellbare, aber nicht bewiesene Möglichkeit einer potenziellen Sicherheitslücke? Was lässt dich denken, dass es mod_ssl ist? Hast du versucht, es zu kompromittieren? Hast du gehört, dass irgendjemand es umfassen könnte? –