CPanel - Wie kann ich verhindern, dass Apache als Root-Benutzer ausgeführt wird?

CPanel - Wie kann ich verhindern, dass Apache als Root-Benutzer ausgeführt wird?
<?php echo `whoami`; ?>

Dies gibt also „root“ zurück und ich weiß nicht, wie ich das verhindern kann. Ich verwende WebHost Manager/CPanel, das mehrere Benutzer/vHosts erstellen und Apache seinen Prozess als diesen Benutzer/diese Gruppe starten lassen soll. Dies passiert nicht.

Wenn ich mich bei WHM anmelde und den Abschnitt „PHP- und SuExec-Konfiguration“ öffne, sind meine Einstellungen:

Default PHP Version (.php files)    5
PHP 5 Handler                       cgi
PHP 4 Handler                       none

Apache suEXEC                       on

Was ist falsch? Wie kann ich Apache dazu bringen, als richtiger Benutzer und nicht als Root ausgeführt zu werden?

Antwort1

Wenn Sie möchten, dass jede Site als eigener Benutzer ausgeführt wird, ist die richtige PHP 5-Handler-Einstellung „suPHP“ statt „CGI“. Sobald Sie dies ändern, sollten Sie sehen, dass Ihre whoamiBerichte die einzelnen Benutzer enthalten.

Beachten Sie, dass Sie möglicherweise EasyApache ausführen und während dieses Vorgangs „Mod SuPHP“ auswählen müssen, um Apache/PHP neu zu kompilieren, damit diese Option zuerst verfügbar ist. Dies geschieht unter:

Hauptseite >> Software >> EasyApache (Apache Update) oder auf der Kommandozeile/scripts/easyapache

Antwort2

Apache selbst wird höchstwahrscheinlich als Apache-Benutzer ausgeführt, aber dank SuExec werden PHP-Skripte, die root gehören, als root ausgeführt. Aus diesem Grund gibt Ihr whoamiBefehl den root-Benutzer zurück.

Wenn Sie den Besitzer der Dateien in Ihrem Dokumentstammverzeichnis in „Apache“ oder „www-data“ ändern (je nachdem, was Ihr Server verwendet), gibt derselbe Befehl den neuen Besitzer der Datei zurück.

Es lohnt sich wahrscheinlich auch, sicherzustellen, dass alle Ihre PHP-Skripte chmod 555und -Verzeichnisse nicht demselben Benutzer gehören wie die Dateien. Dadurch kann CGI die Skripte ausführen, aber wenn in einem der PHP-Skripte jemals ein Fehler gefunden wird, kann es sich selbst oder eines der anderen Skripte nicht ändern und in keinem der Verzeichnisse ein neues Skript erstellen. Es gibt immer noch viele Dinge, die ein Angreifer tun könnte, wenn er einen Fehler in einem PHP-Skript findet, aber alles, was Sie tun können, um es ihm schwerer zu machen, ist sinnvoll.

verwandte Informationen