Konfiguration sicherer Felder vom Typ "File Upload" in Visforms
Sie können in Visforms Formular Felder vom Typ File Upload definieren, die es dem Webseitenbenutzer ermöglichen mit dem Formular Dateien auf Ihren Server hochzuladen. Dies stellt eine sehr interessante Funktionalität für ein Formular dar.
Achtung! Sie müssen sich aber bewusst sein, dass ein Dateiupload durch einen Nutzer immer mit einem gewissen Sicherheitsrisiko verbunden ist, da er ein potentielles Tor für Hacker Angriffe ist. Visforms bietet Ihnen größtmögliche Sicherheit bei der Verwendung von Upload Feldern. Allerdings gibt es einige Dinge, die Sie beachten sollten, wenn Sie einen sicheren Dateiupload anbieten wollen.
Warum können Dateiuploads gefährlich sein?
Es gibt verschiedene Wege, auf denen Hacker versuchen in eine Webseite einzubrechen. Ein Mechanismus besteht darin, Dateien, die ausführbare bösartige Software enthalten, auf den Server hochzuladen und diese letztlich auch zur Ausführung zu bringen. Dies ist ein langer Weg, aber schlecht geschützte Datei-Uploads sind hier der erste Schritt zum Erfolg des Hackens. Deshalb wird seitens der Hacker-Scene gezielt nach Sicherheitsmängel in Programmen, die einen Datei Upload ermöglichen, gesucht und wenn solche in verbreiteten Programmen gefunden werden kommt es oft dazu, dass eine große Anzahl von Webseiten gehackt wird.
Warum ist Visforms sehr sicher?
Visforms verwendet alle Sicherheitsmechanismen und Verfahren des Joomla! Frameworks um den Datei Upload möglichst sicher zu machen. Alles Wissen der erfahrenen Joomla! Sicherheitsexperten macht auch Visforms sicher.
Visforms bietet Ihnen viele Option zur Steuerung des Datei Uploads mit denen Sie Uploads zusätzlich absichern können.
Denn damit ein Angriff auf Ihre Webseite auf diesem Weg zum "Erfolg führen kann, müssen eine ganze Menge Dinge zusammenkommen und man kann sich sehr wohl schützen.
Legen Sie genau fest welche Art von Datei hochgeladen werden darf
In der Sicht Formular bearbeiten legen Sie unter dem Tab Erweitert über die Auflistung in Erlaubte Dateiendungen fest welche Art von Datei hochgeladen werden darf. Überlegen Sie sich genau, welche Datei-Erweiterungen Sie zulassen und begrenzen Sie die Liste auf genau jene Werte. Alle Datei-Erweiterungen werden als komma-separierte Liste eingegeben. Setzen Sie keine sogenannten "ausführbaren" Dateien wie .php oder .exe auf die Liste. Wenn Sie wolllen, können Sie auch auf Feld-Ebenen (in der Feldkonfiguration) eine abweichende Liste erlaubter Datei-Erweiterungen festlegen, die dann für dieses spezifische Feld den Default aus der Formularkonfiguration überschreibt.
Informationen über hochgeladene Dateien sind wertvoll
Wird eine Datei mit Visforms hochgeladen, so wird diese in einem Verzeichnis Ihrer Wahl abgelegt und umbenannt. Hierdurch wird verhindert, dass ein bösaratiger Benutzer die hochgeladene Datei direkt über den Browser aufrufen und gegebenfalls die Ausführung von Schadsoftware starten kann.
Wollen sie diesen Schutzmechanismen nutzen, dann legen Sie am besten ein Verzeichnis mit einem nicht leicht zu erratenden Namen als Downloadverzeichnis an und legen dieses in der Formular-Option "Verzeichnis für Fileupload" als Upload-Verzeichnis fest. Beachten Sie auch, dass jedes Verzeichnis eine "leere" index.html Datei enthalten sollte. Sie können z.B. die index.html Datei aus dem images-Verzeichnis Ihrer Joomla! Installation kopieren. Diese Datei verhindert, dass man sich durch einen Browseraufruf des Verzeichnisses eine Liste darin enthaltenen Dateien anzeigen lassen kann.
Sie können dem Nutzer Ihrer Webseite in der E-Mail für den Webseitennutzer auch die übertragenen Formulardaten übermitteln. In der Konfiguration dieser Mail (Formular bearbeiten im Tab "E-Mail Konfiguration") können Sie die Optionen Download link zeigen und File Upload Dateien auf "nein" setzen. In der E-Mail wird dann nur der ursprüngliche Dateinamen (vor der Umbenennung während des Uploads) angezeigt. (Bitte beachten Sie das die Option "File Upload Dateien" sowohl für die Ergebnismail als auch für die Benutzermail gibt. Passen Sie also bitte auf, dass Sie die richtige Option einstellen.)
Vorsicht! Falls sie die Option Download link zeigen auf "ja" setzen, erhält der Nutzer einen direkten Link zur hochgeladenen Datei. Überlegen Sie sich sehr genau, ob das wirklich nötig ist und wem Sie das erlauben!
Wenn Sie die Option File Upload Dateien für die E-Mail für den Webseitennutzer auf "ja" setzen wird die hochgeladene Datei an die E-Mail für den Webseitennutzer angehängt. Er erhält hiermit auch den Dateinamen nach dem Hochladen, also den Namen der umbenannten Datei.
Hinweis: Die Option Download link zeigen wird gleichzeitig zur Steuerung der Ergebnis Mail (an Sie) und zur Steuerung der Mail für den Webseitennutzer verwendet. Sie können aber die Option File Upload Dateien für die Ergebnis Mail auf "ja" setzen und erhalten dann die hochgeladene Datei als Anhang der E-Mail und haben so einen einfachen Zugriff auf die Datei.
Visforms bietet die Möglichkeit übermittelte Daten zu speichern und im Frontend anzuzeigen. Eine ausführliche Anleitung finden Sie im Artikel über das Speichern von Formulardaten. Wichtig im Zusammenhang mit der Sicherheit von Upload Feldern ist hierbei, dass Sie für jedes Formularfeld in der Feld bearbeiten Sicht unter dem Tab Erweitert individuell festlegen können ob es im Frontend angezeigt werden soll oder nicht. Bei Feldern vom Typ "File Upload" gibt es zusätzlich im Tab Grundeinstellungen die Option Im Frontend Link anzeigen die als Default abgewählt ist. Sie sollten sich der Sicherheitsrisiken bewusst sein, wenn Sie Upload Felder im Frondent anzeigen und/oder diese Option aktivieren.
Allgemeine Regeln zu Schutz Ihrer Webseite
Vielleicht hat diese etwas längere Ausführung ihr Aufmerksamkeit auf die Frage der Sicherheit Ihrer Joomla! Webseite gerichtet und Sie möchten mehr zu diesem Thema erfahren.
Joomla! gilt als eines der sichersten CMS überhaupt und das spiegelt sich auch darin wieder, dass es viel gute Literatur zu diesem Thema gibt. Aber das allein reicht nicht aus. Um Ihre Webseite sicher zu machen, müssen Sie die Risiken verstehen, grundsätzliche Sicherheitsregeln beachten und aktiv handeln. Die folgenden Webseiten haben mir hierbei sehr weitergeholfen.
Es gibt eine eigene sehr umfangreiche und gute deutschsprachige Webseite, die sich ausschließlich mit Fragen zur Joomla! Security beschäftigt. Insbesondere der Artikel über Htaccess-Einstellungen ist sehr interessant. Selbstverständlich gibt es auch in der englischsprachigen Joomla! Dokumentation sehr gute Informationen zum Thema. Zuletzt möchte ich Sie noch auf die immer sehr aktuelle Liste der bekannten "Vulnarable Extensions" aufmerksam machen. Ganz unten auf dieser Seite haben Sie die Möglichkeit sich in einen E-Mail Verteiler aufnehmen zu lassen, der Sie immer sofort informiert, wenn bekannt wird, dass eine Joomla! Erweiterung Sicherheitslücken bekommen hat (und auch einen der informiert, wenn Lücken geschlossen wurden). Diese Informationen sind sehr wertvoll. Wenn Hacker mal wieder ein größeres Loch gefunden haben, erhalten Sie innerhalb kurzer Zeit eine ganze Menge Mails, während es sonst oft monatelang sehr ruhig ist. (Und anhand der "gelöst" Mails sehen Sie welche Erweiterungen intensiv gepflegt werden und welche nicht.)