Ist auto_prepend_file für mehrere Wordpress-Installationen möglich?

  • Hallo,
    ich habe folgendes Problem:
    - Ich bin Kunde bei einem Liveconfig-Hoster


    - Unter meinem Account sind mehrere Wordpress-Installationen installiert, die in unterschiedlichen Verzeichnissen liegen


    - In jeder dieser Installationen läuft die WebApplicationFirewall (=WAF) von www.wordfence.com.


    - Um maximale Sicherheit zu erreichen wird das Vorladen per auto_prepend_file empfohlen, das über suPHP oder per php.ini erfolgen könnte


    Mein Hoster teilte mir jedoch mit, das Liveconfig diese Konstellation nicht abbilden kann, was ich mir ehrlich gesagt nicht vorstellen kann, da zusätzliche php.ini kein Hexenwerk ist.


    Kann mir evt. jemand sagen, wie ich das Hinbekommen könnte?


    Danke schon mal vorab,
    Ralf

  • Sie können im LiveConfig keine verschiedenen php.ini-Einstellungen innerhalb des selben Vertrags vornehmen. Oder anders formuliert: Sie können auto_prepend_file lediglich global (für alle .php-Dateien des Vertrags) auf den selben Wert setzen.


    Ansonsten müssten Sie die WordPress-Installationen auf separate Verträge aufteilen.


    Eine zusätzliche php.ini ist an sich kein Hexenwerk, aber in LiveConfig eben nur pro Vertrag und pro PHP-Version möglich, nicht aber noch pro Verzeichnis.
    Bei FastCGI müsste sonst mindestens ein eigener PHP-Prozess pro .ini-Datei laufen. Das geht schlicht auf Kosten der Ressourcen.

  • Einziger Workaround der mir eben noch einfällt: Ihr Webhoster könnte Ihnen die Einstellung user_ini.filename freischalten. Damit könnten Sie theoretisch (je nach PHP-Ausführungsart) eigene php.ini-Anweisungen pflegen. Gleichzeitig bringt das aber ein gewisses Sicherheitsrisiko mit sich (nicht umsonst ist diese Einstellung von LiveConfig aus standardmäßig deaktiviert).


    Viele Grüße


    -Klaus Keppler

  • Hallo Herr Keppler, Lieber Klaus,
    vielen Dank für die Info. Genaugenomme wäre das auch das Vorgehen, das Wordfence bevorzugen würde. Was genau sind denn die Sicherheitsbedenken? Liegen diese eher im "DAU macht Fehler" oder sehen Sie die Site-Security kompromitiert? Hierzu konnte ich online nichts finden.


    Vielen Dank bereits vorab,
    Ralf Römling

  • [FONT=&amp]Für alle, die sich ebenfalls mit dem Problem herumschlagen, hier ein Lösungsvorschlag für Wordfence.


    Basierend auf diesem Artikel...
    https://wordpress.org/support/…s-using-one-prepend-file/
    (vgl. 1.Antwort)[/FONT]


    [FONT=&amp]...hat einer der anderen Kunden meines Hosters diese Lösung erarbeitet, die auch für mich funktioniert hat.


    Wordfence nutzt die auto_prepend_file Variable, um möglichst vor allen anderen Scripten ausgeführt zu werden. Bei mehreren Wordpressinstanzen mit einer gemeinsamen php.ini entsteht ein Konflikt.[/FONT]


    [FONT=&amp]Folgende Schritte führten zum Erfolg:[/FONT]


    [FONT=&amp]1. [/FONT][FONT=&amp]Erstellen einer Datei loader.php unter /pfad/zu/webroot/apps (o.ä) mit folgendem Inhalt:[/FONT]


    [FONT=&amp]

    PHP
    <?php // Prepend Wordfence firewall config for website1.deif (strpos($_SERVER['SERVER_NAME'], ‚[COLOR=#2B2E2F][FONT=&amp]website1.de[/FONT][/COLOR]') !== false) { // Add the full path to wordfence-waf.php: if (file_exists('/pfad/zum/webroot/apps/website1.de/wp-content/plugins/wordfence/waf/bootstrap.php')) { define("WFWAF_LOG_PATH", '[COLOR=#2B2E2F][FONT=&amp]/pfad/zum/webroot/apps/website1.de[/FONT][/COLOR]/wp-content/wflogs/'); include_once '[COLOR=#2B2E2F][FONT=&amp][COLOR=#2B2E2F][FONT=&amp]/pfad/zum/webroot/apps/website1.de[/FONT][/COLOR][/FONT][/COLOR]/wp-content/plugins/wordfence/waf/bootstrap.php'; } } [COLOR=#2B2E2F][FONT=&amp] // Prepend Wordfence firewall config for website2.deelseif (strpos($_SERVER['SERVER_NAME'], ‚[COLOR=#2B2E2F][FONT=&amp]website2.de[/FONT][/COLOR]') !== false) { // Add the full path to wordfence-waf.php: if (file_exists('/pfad/zum/webroot/apps/website2.de/wp-content/plugins/wordfence/waf/bootstrap.php')) { define("WFWAF_LOG_PATH", '[COLOR=#2B2E2F][FONT=&amp]/pfad/zum/webroot/apps/website2.de[/FONT][/COLOR]/wp-content/wflogs/'); include_once '[COLOR=#2B2E2F][FONT=&amp][COLOR=#2B2E2F][FONT=&amp]/pfad/zum/webroot/apps/website2.de[/FONT][/COLOR][/FONT][/COLOR]/wp-content/plugins/wordfence/waf/bootstrap.php'; } } [/FONT][/COLOR][COLOR=#2B2E2F][FONT=&amp][COLOR=#2B2E2F][FONT=&amp] // Prepend Wordfence firewall config for website3.deelseif (strpos($_SERVER['SERVER_NAME'], ‚[COLOR=#2B2E2F][FONT=&amp]website3.de[/FONT][/COLOR]') !== false) { // Add the full path to wordfence-waf.php: if (file_exists('/pfad/zum/webroot/apps/website3.de/wp-content/plugins/wordfence/waf/bootstrap.php')) { define("WFWAF_LOG_PATH", '[COLOR=#2B2E2F][FONT=&amp]/pfad/zum/webroot/apps/website3.de[/FONT][/COLOR]/wp-content/wflogs/'); include_once '[COLOR=#2B2E2F][FONT=&amp][COLOR=#2B2E2F][FONT=&amp]/pfad/zum/webroot/apps/website3.de[/FONT][/COLOR][/FONT][/COLOR]/wp-content/plugins/wordfence/waf/bootstrap.php'; } } [/FONT][/COLOR][/FONT][/COLOR]?>

    [/FONT][/COLOR]


    [FONT=&amp]2. [/FONT][FONT=&amp]In der LiveConfig den Parameter "auto_prepend_file" auf
    /pfad/zum/webroot/apps/loader.php setzen.[/FONT]


    [FONT=&amp]3. [/FONT][FONT=&amp]Installation und Einrichtung des Plugins Wordfence auf allen drei
    Wordpressinstanzen.[/FONT]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!