PHP 7.4 und die Sicherheit des antiken Skripts

PHP 7.4 und die Sicherheit des antiken Skripts

Leider laufen tatsächlich noch auf vielen Servern sehr viele PHP 7.4 Skripte oder Webanwendungen. Dabei handelt es sich meist um ungepflegte alte Projekte, welche aus vielerlei Gründen nicht offline gehen können oder sollen.

Der Einsatz derartiger Webanwendungen wird zunehemend extrem unsicher, PHP 7.4 bietet eine größere Angriffsfläche und auch die Anwendungen selbst wurden in vielen Fällen seit Jahren nicht mehr mit Updates gegen Sicherheitslücken versorgt.

Um die Anzahl der Angriffsvektoren zu reduzieren sollte bei der WAF eine tiefgehende Prüfung aller Anfragen aktiviert sein. Zusätzlich kann es sich empfehlen die PHP-Einstellungen über die php.ini anzupassen und besonders riskante Operationen zu unterbinden. Dazu gehört z. B. das Deaktivieren der Uploadmöglichkeiten und vieles mehr.

disable_functions = exec,passthru,shell_exec,system,proc_open,popen,eval,assert

allow_url_fopen = Off
allow_url_include = Off

expose_php = Off

display_errors = Off
log_errors = On

file_uploads = Off

Falls User ein Skript nicht mehr nutzen, sondern nur noch eine Webseite ansehen soll, kann es ggf. auch sinnvoll sein, einfach alle POST-Requests zu unterbinden. Damit sind dann keine Anmeldungen, Uploads und auch Logins mehr möglich. Anbei ein Beispiel über die htaccess Datei, bei welchem nur noch eine freigeschaltete IP derartige Requests durchführen kann:

<If "%{REQUEST_METHOD} == 'POST' || %{REQUEST_METHOD} == 'PUT' || %{REQUEST_METHOD} == 'DELETE'">
  Require ip 11.11.11.11
</If>

Natürlich können auch bestimmte Bereich oder Dateien in der selben Art und Weise für die Öffentlichkeit gesperrt werden:

<IfModule mod_rewrite.c>
  RewriteEngine On

  # Protect specific sensitive paths
  RewriteCond %{REQUEST_URI} ^/(callback|login\.php|admin|login_admin\.php|ResponsiveFilemanager|StyleEdit|updater) [NC]
  RewriteCond %{REMOTE_ADDR} !^11\.11\.11\.11$
  RewriteRule .* - [F,L]
</IfModule>

Was ebenfalls noch sinnvoll sein könnte: Wichtige Dateien wie htaccess und index.php dem root-Benutzer zuordnen. Damit können die Dateien nicht mehr geändert werden.

chown root:psacln index.php
chown root:psacln .htaccess

2 Antworten zu “PHP 7.4 und die Sicherheit des antiken Skripts”

    1. Die index.php wird dadurch nicht als root ausgeführt. Der Webserver läuft immer unter dem jeweiligen Benutzernamen und der Webserver hat Zugriff auf die Datei (obwohl diese root gehört) durch die Gruppe.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert