Frage

Z.B. Ist die Verwendung sicherer? mod_php anstatt php-cgi?Oder ist die Verwendung sicherer? mod_perl statt traditionell cgi-scripts?

Ich interessiere mich hauptsächlich für Sicherheitsbedenken, aber die Geschwindigkeit könnte ein Problem sein, wenn es erhebliche Unterschiede gibt.

War es hilfreich?

Lösung

Sicherheit in welchem ​​Sinne?In jedem Fall kommt es wirklich darauf an, welches Skript ausgeführt wird und wie gut es geschrieben ist.Heutzutage sind zu viele Skripte halbherzig und führen die Eingabevalidierung nicht ordnungsgemäß durch.

Ich persönlich bevorzuge FastCGI gegenüber mod_php, da, wenn ein FastCGI-Prozess stirbt, ein neuer erzeugt wird, während ich gesehen habe, dass mod_php den gesamten Apache tötet.

Aus Sicherheitsgründen könnten Sie mit FastCGI den PHP-Prozess technisch gesehen unter einem anderen Benutzer als dem Standardbenutzer des Webservers ausführen.

Wenn Sie die neue Worker-Threading-Unterstützung von Apache verwenden, sollten Sie außerdem sicherstellen, dass Sie nicht mod_php verwenden, da einige der Erweiterungen nicht threadsicher sind und zu Race Conditions führen.

Andere Tipps

Wenn Sie Ihren eigenen Server gehen, um das Modul Weg laufen, dann ist es etwas schneller. Wenn Sie auf einem gemeinsamen Server sind ist die Entscheidung bereits für Sie, in der Regel auf der CGI-Seite genommen. Der Grund hierfür sind Dateisystem-Berechtigungen. PHP als Modul läuft mit den Rechten des HTTP-Server (in der Regel ‚Apache‘) und es sei denn, Sie Ihre Skripte für diesen Benutzer chmod können Sie chmod sie auf 777 - Welt lesbar. Das bedeutet leider, dass Ihr Server Nachbar auf sie einen Blick darauf werfen können - denken Sie an, wo Sie die Datenbank-Zugriff Kennwort speichern. Die meisten gemeinsam genutzten Servern dies mit Sachen wie phpsuexec gelöst haben und solche, die Skripte mit den Berechtigungen des Skripts Besitzer laufen, so können Sie (müssen) haben Ihren Code CHMOD auf 644. Phpsuexec läuft nur mit PHP als CGI - das ist mehr oder weniger alle , es ist nur eine lokale Maschine Sache -. macht keinen Unterschied in der Welt im Allgemeinen

Die meisten Sicherheitslücken entstehen durch miese Programmierung im Skript selbst, also ist es wirklich Art von strittig, wenn sie als cgi laufen oder in Modulen. Dies vorausgeschickt, Apache-Module können potenziell die gesamte Webserver zum Absturz bringen (vor allem, wenn Verwendung von threaded MPM) und mod_php ist eine Art berühmt.

cgi wird langsamer sein, aber heutzutage gibt es Lösungen, dass, vor allem FastCGI und Freunde.

Was ist Ihr Bedrohungsmodell?

Von der PHP install.txt doc für PHP 5.2.6:

Server-Module bietet eine deutlich bessere Performance und zusätzliche    Funktionalität an den CGI-binary verglichen.

Für IIS / PWS:

Warnung

das CGI Setup Durch die Verwendung von Ihrem Server ist offen für mehrere mögliche    Anschläge. Bitte lesen Sie unsere CGI-Sicherheitsabteilung zu lernen, wie zu verteidigen    Sie sich vor diesen Angriffen.

Ein Modul wie mod_php oder FastCGI ist unglaublich schneller als normale CGI .. einfach nicht CGI tun. Wie andere gesagt haben, selbst das PHP-Programm ist die größte Bedrohung für die Sicherheit, aber zu ignorieren, dass es eine andere Überlegung, bei gemeinsamen Rechnern.

Wenn Ihr Skript auf einem gemeinsamen Host mit anderen PHP-Programmen und die Host läuft nicht im abgesicherten Modus, dann ist es wahrscheinlich, dass alle Server-Prozesse als den Benutzer ausgeführt werden. Dies könnte bedeuten, dass jeder anderer PHP-Skript Ihre eigenen lesen kann, einschließlich Datenbank-Passwörter. So sicher sein, um die Serverkonfiguration zu untersuchen, um sicherzustellen, dass der Code für andere nicht lesbar ist.

Auch wenn Sie Ihre eigenen Hosting-Kontrolle, bedenken Sie, dass ein andere gehackte Web-Anwendung auf dem Server eine Leitung in anderen sein könnte.

Mit einem eingebauten Modul wird auf jeden Fall schneller als CGI. Die Auswirkungen auf der Sicherheit hängen von der Konfiguration. In der Standardkonfiguration sind sie so ziemlich die gleiche, aber cgi kann einige sicheren Konfigurationen, die Module gebautet nicht bieten können, speziell im Rahmen des Shared-Hosting. Was genau tun Sie sich gegen sichern wollen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top