Wie kann ich meine local.xml schützen?
Bitte beachten Sie: Die Informationen in diesem Artikel beziehen sich ausschließlich auf unser Tool ShopSecurity, mit dem Sie Ihre Shop-Installationen hinsichtlich bekannter und potenzieller Sicherheitslücken prüfen können.
Wenn die local.xml Konfigurationsdatei Ihres Shopsystems ungeschützt ist, ermöglicht es Angreifern das Eindringen in das System.
- Die Konfigurationsdatei beinhaltet die wesentlichsten Einstellungen, die bereits vor Aufbau der Datenbankverbindung verfügbar sein müssen, darunter auch die Zugangsdaten zur Datenbank sowie die URL des Backends.
- Konfigurationsdaten müssen besonders geschützt werden, wenn sie sich in einem vom Webserver erreichbaren Verzeichnis befinden, wie es bei Magento 1 der Fall ist.
- Bei Magento 1 finden Sie die Datei unter dem Pfad
app/etc/local.xml
.
Lösung: Zugriff auf local.xml unterbinden
Die Konfigurationsdatei muss zwingend am vorgegebenen Ort existieren, daher muss der Zugriff auf die Datei über den Webserver unterbunden werden. Je nach aktivem Webserver kann der Zugriffsschutz folgendermaßen umgesetzt werden:
Beispiel: Apache
Magento liefert standardmäßig die Datei app/.htaccess
mit, welche den Zugriff auf das Verzeichnis app und alle Unterverzeichnisse und enthaltenen Dateien blockiert. Diese Datei hat den folgenden Inhalt:
Order deny,allow
Deny from all
Auch in anderen schützenswerten Verzeichnissen Ihrer Magento-Installation ist normalerweise eine solche Datei enthalten (z.B. var
).
- Vergleichen Sie die Version der
.htaccess
aus einem originalen Installationsarchiv Ihrer Magento-Version mit der in Ihrer Installation vorhandenen Datei, um alle fehlenden Einträge zu identifizieren. - Kopieren Sie danach die fehlenden Einträge und
.htaccess
-Dateien an den vorgesehenen Platz in Ihrem Shop-Installationsverzeichnis.
Sie finden die .htaccess-Datei nicht?
Falls Sie in Ihrem Shop-Installationsverzeichnis nirgendwo eine Datei mit Namen .htaccess
sehen, könnte dies an den Einstellungen Ihres FTP-Programms liegen. Da der Dateiname .htaccess
mit einem Punkt beginnt, wird diese Datei nur dann sichtbar, wenn Sie die Anzeige von versteckten Dateien aktiviert haben.
Auch beim Zugriff per SSH müssen Sie die Anzeige von versteckten Dateien aktivieren, beispielsweise in dem Sie zum Befehl ls
den Parameter -a
mit angeben.
Beispiel: NGINX
Beim Einsatz von NGINX muss der Schutz in der Konfiguration der betroffenen Domain eingebaut werden. Verwenden Sie hierfür unsere – in den NGINX-Regeln integrierten – Anwendungs-Templates für Magento 1, in die der Schutz des app-Verzeichnisses und der local.xml
bereits integriert ist.
Alternativ können Sie über den NGINX-Regeleditor der betroffenen Domain die folgende Zeile in die userdefined.conf
hinzufügen:
# Zugriff auf das Verzeichnis '/app/' sperren
location /app/ { return 403; }
Weitere Handlungsempfehlungen
- Schützen Sie auch die Verzeichnisse der Versionskontrollsysteme Git und SVN sowie die MacOS-Dateien
.DS_Store
vor unerlaubtem Zugriff - Schützen Sie Ordner mit Logdateien (bei Magento
var/log
) sowie Konfigurationsdateien (bei Magentoapp/etc
). Bei der Verwendung von Apache ist dies normalerweise bereits durch die Installation Ihres Shopsystems voreingestellt. - Prüfen Sie beim Einsatz von Apache in einer vorhandenen
.htaccess
-Datei, ob der Zugriff auf entsprechende Verzeichnisse oder Dateien gesperrt wird. Auch in den zu schützenden Verzeichnissen selbst können.htaccess
-Dateien enthalten sein. - Verwenden Sie beim Einsatz von NGINX unsere – in den NGINX-Regeln integrierten – Anwendungs-Templates, welche bereits viele anwendungsspezifische Ordner und Dateien schützen.
Bei Fragen steht Ihnen unser Support telefonisch unter 05251/414130 oder per E-Mail an support@maxcluster.de zur Verfügung.
Veröffentlicht am 05.06.2024