nginx default php location und cms hardening

noonecanhide

New Member
Hallo,

nachdem ich bei einem Kundem im /tmp-Verzeichnis verschiedene Überreste (fehlgeschlagener) Exploits feststellen musste, die nur aufgrund meiner strikten PHP-Konfiguration fehlgeschlagen sind, möchte ich die Sicherheit meiner Systeme noch weiter verschärfen. Dazu gehört es, die Ausführung von php-Dateien in cms-typischen Ordnern zu verhindern. Leider habe ich etwas Probleme damit, den entsprechenden regexp für das location matching in nginx zu erstellen.

Dieser hier ist für Wordpress gedacht:

Code:
location ~* /(?:uploads|files|wp-content|wp-includes)/.*\.php$ {
         deny all;
}

Leider hat er trotz Prüfung mit regexp-tools nicht funktioniert, daher war es naheliegend das ein anderer Ausdruck stört. Konkret ist es die default location für das handling von php skripten seitens ispconfig/nginx:

Code:
location ~ \.php$ {
             try_files /8941a0815c203e5264aef71c23c87bd3.htm @php;
}

nginx wählt bei regexp immer den ersten Treffer, und bricht dann ab - das ist in diesem Fall immer der php-handler, d.h. meine Regel wird komplett ignoriert. Das lässt sich mittels einer Änderung am template beheben, was ich aber eigentlich nicht machen möchte. Daher die kurze Frage, kennt jemand hier eine andere Lösung, die nicht so tief eingreift ?
 

Till

Administrator
Die templates sind doch extra dafür da, um solcle Änderungen zu machen. Kopiere das default template nach conf-custom und ändere es dort.
 

Werbung

Top