image

Ungeschütztes SVN-Verzeichnis

Unbefugte haben möglicherweise Zugriff auf Ihr Subversion-Verzeichnis.

Details:

Um den Programmcode eines Shopsystems zu entwickeln und dabei den Überblick zu behalten, verwenden viele Entwickler sogenannten Versionskontrollsysteme. Eines dieser Systeme ist Subversion, kurz auch SVN genannt.

Versionskontrollsysteme speichern Informationen und den Inhalt der meisten Dateien innerhalb des Shop-Installationsverzeichnisses, um Änderungen am Programmcode zu verfolgen und ggf. rückgängig machen zu können. Um dies zu ermöglichen, legt Subversion Metadaten in einem besonderen Verzeichnis ab, welches sich typischerweise innerhalb des Programmverzeichnisses befindet. Dieses Verzeichnis hat den Namen .svn.

Die Dateien im Verzeichnis .svn enthalten eine vollständige Kopie des Programmcodes Ihres Shops. Dieser allein ermöglicht es einem möglicherweise zielgerichteten Angreifer, Schwachstellen in der Programmierung zu finden, um in Ihren Shop einzudringen oder Ihre Kunden auszuspähen. Oftmals sind jedoch unter den Dateien im Shop-Installationsverzeichnis direkte Zugangsdaten (z.B. zur Shop-Datenbank) oder zu externen Systemen wie der Warenwirtschaft oder einer Kundensupport-Plattform zu finden. In einem solchen Fall wäre es möglich, direkt zu den entsprechenden Bereichen Zugang zu erlangen und Daten auszulesen, zu manipulieren oder unberechtigte Aktion darin auszuführen.

Lösungsweg

Die möglichen Schutzmaßnahmen gegen dieses Sicherheitsrisiko müssen den Zugriff auf das Verzeichnis .svn und die darin enthaltenen Dateien unterbinden. Dies können Sie wie folgt tun:

Verzeichnis nicht auf dem Webserver ablegen

Legen Sie das Verzeichnis .svn nicht auf dem Cluster ab oder löschen Sie es direkt nach einem Deployment. Das Verzeichnis ist nur notwendig, wenn Sie mit dem Versionskontrollsystem aktiv arbeiten wollen, also z. B. vom Server aus Aktualisierungen daran vornehmen. Wir empfehlen, stattdessen nur auf Staging- oder Entwicklungsumgebungen aktiv zu arbeiten. So können Sie auf das Verzeichnis .svn auf Ihrem produktiven Cluster verzichten.

Zugriff auf das .svn-Verzeichnis unterbinden

Falls Sie auf das Verzeichnis nicht verzichten können, muss der Zugriff darauf über den Webserver unterbunden werden. Je nach aktivem Webserver kann der Zugriffsschutz folgendermaßen umgesetzt werden:

Beispiel: Apache

Beim Einsatz von Apache lassen sich Subversion-Verzeichnisse über die .htaccess-Konfigurationsdatei schützen. Dieser Schutz gilt dabei für das Verzeichnis, indem sich diese Datei befindet sowie auch für alle Verzeichnisse darunter. Bearbeiten Sie eine vorhandene .htaccess-Datei im htdocs-Verzeichnis oder erstellen Sie die Datei, falls diese nicht existiert. Danach fügen Sie - möglichst am Anfang - die folgenden Zeilen ein.

# Zugriff auf Verzeichnisse mit Namen ".svn" sperren
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule (^|/)\.svn/ - [F,L]
</IfModule>
Beispiel: NGINX

Beim Einsatz von NGINX muss der Schutz in der Konfiguration der betroffenen Domain eingebaut werden. Verwenden Sie hierfür unsere Anwendungs-Templates für Magento 1, Magento 2 oder Shopware, in die der Schutz des .svn-Verzeichnisses bereits integriert ist.

Alternativ können Sie über den Regeleditor der betroffenen Domain die folgende Zeile in die userdefined.conf hinzufügen.

# Zugriff auf Verzeichnisse mit Namen ".svn" sperren
location ~* /\.svn/ { return 403; }
Weitere Handlungsempfehlungen
  • Schützen Sie auch die Verzeichnisse des Versionskontrollsystems Git sowie die MacOS-Dateien .DS_Store vor unerlaubtem Zugriff.
  • Schützen Sie Ordner mit Logdateien (bei Magento var/log) sowie Konfigurationsdateien (bei Magento app/etc).
  • 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 Anwendungs-Templates, welche bereits viele anwendungsspezifische Ordner und Dateien schützen.

Sie benötigen Unterstützung?

favicon
maxcluster GmbH
24 / 7 Kundensupport
Telefon:
+49 5251 414130
Telefon:
support@maxcluster.de
logo

Sie benötigen Unterstützung?

maxcluster GmbH
24 / 7 Kundensupport
Telefon:
+49 5251 414130
Telefon:
support@maxcluster.de
image
image