• avatar

    Martin Wandelt am 11. Mai  

    Um die Sicherheit eines Pixtacy-Shops zu erhöhen, empfiehlt es sich, diesen über eine verschlüsselte Verbindung (also über eine https-Adresse) zugänglich zu machen. Dieser Artikel beschreibt, was es mit der Verschlüsselung genau auf sich hat und wie man sie praktisch umsetzen kann.


    Hintergrund

    Wenn man in seinem Webbrowser eine Adresse aufruft, die mit „http://“ beginnt, kommunzieren Browser und Server über eine unverschlüsselte Verbindung. Das heißt, die ausgetauschten Daten können ohne großen Aufwand von anderen Benutzern, die sich im gleichen Netzwerk befinden, mitverfolgt werden. Bei gewöhnlichen Webseiten, die ohnehin öffentlich zugänglich sind, spielt das keine große Rolle. Problematisch wird es aber, wenn über ein Formular sensible Informationen (Passwörter, Kreditkartendaten o. ä.) an den Server übertragen oder von dort abgerufen werden.

    Immer mehr Webbrowser blenden inzwischen Warnhinweise ein, wenn ein Benutzer sensible Informationen in ein unverschlüsseltes Formular einzutragen versucht. Webseiten, die so etwas ermöglichen, hinterlassen nicht nur einen schlechten Eindruck bei den Besuchern, sondern sie müssen auch damit rechnen, von Suchmaschinen durch ein schlechtes Ranking abgestraft zu werden. Da Pixtacy in der Login- und in der Registrierungsmaske ein Passwort abfragt, sollten Sie Ihren Bildershop grundsätzlich nur über eine verschlüsselte Verbindung, also über eine Adresse mit „https://“ am Anfang, zugänglich machen.

    Das Einrichten einer verschlüsselten Verbindung, erfordert Anpassungen an drei verschiedenen Stellen:

    • Als erstes sind die technischen Voraussetzungen zu schaffen, damit der Webserver, auf dem Pixtacy läuft, überhaupt verschlüsselte Verbindungen erlaubt.
    • Zweitens muss sichergestellt werden, dass keine unverschlüsselten Verbindungen mehr möglich sind.
    • Drittens ist dafür sorgen, dass es innerhalb der Pixtacy-Seiten keinerlei Verweise mehr auf Grafiken, Stylesheets o. ä. gibt, deren URL mit „http://“ beginnen.



    Verschlüsselung ermöglichen

    Damit eine verschlüsselte Verbindung überhaupt technisch möglich ist, muss auf dem Webserver ein sogenanntes SSL-Zertifikat für die Domäne hinterlegt werden, unter der Pixtacy installiert ist. Bei manchen Providern ist das eine Sache von wenigen Mausklicks, bei anderen muss man dazu den technischen Support einschalten. Auch bei den Preisen, die für SSL-Zertifikate verlangt werden, gibt es teilweise große Unterschiede zwischen den Providern. Wichtig zu wissen: Zertifikate gelten immer nur für einen begrenzten Zeitraum und müssen dann erneuert werden. Deshalb können sich Preisunterschiede im Laufe der Zeit zu größeren Beträgen aufsummieren.

    Let's Encrypt ist eine Non-profit-Organisation, die kostenlose SSL-Zertifikate herausgibt. Für die Zwecke, um die es hier geht, genügen diese Zertifikate vollauf, allerdings sind sie nur 90 Tage gültig und müssen danach erneuert werden. Diese Erneuerung lässt sich mit Hilfe von Skripten automatisieren, die bei manchen Providern bereits vorinstalliert sind. Wenn Sie einen eigenen Server betreiben, sollte Sie sich einmal die Mühe machen, diese Skripte selbst zu installieren, da Sie dann auf Dauer viel Geld bzw. Zeit sparen können.

    Ein anderer recht bekannter Anbieter von kostenlosen Zertifikaten, StartSSL, ist nicht zu empfehlen, da dessen neueren Zertifikate zumindest von Firefox nicht mehr als vertrauenswürdig eingestuft werden. Besucher, die Firefox benutzen, erhalten eine Warnmeldung eingeblendet, wenn sie die Verbindung zu einem Server herstellen, der ein StartSSL-Zertifikat verwendet.

    Falls Pixtacy bei Ihnen unter einer eigenen Subdomain läuft (z. B. shop.meinebilder.de), müssen Sie bei der Beantragung des Zertifikats darauf achten, dass es auch für diese Subdomain gilt. Sollte Pixtacy unter verschiedenen Domains erreichbar sein (z. B. meinebilder.de und meinefotos.de), müssen Sie für jede Domain ein eigenes Zertifikat beantragen oder aber dafür sorgen, dass Besucher beim Aufruf der einen Domain auf die andere umgelenkt werden (siehe folgenden Abschnitt).


    Besucher umlenken

    Wenn Sie das SSL-Zertifikat beschafft und auf dem Server hinterlegt haben, sind verschlüsselte Verbindungen möglich, aber nicht zwingend. Ein Suchmaschinenroboter würde erst einmal fortfahren, die ihm bekannte unverschlüsselte Verbindung zu nutzen, so dass in dieser Hinsicht nichts gewonnen wäre. Sie müssen daher sicherstellen, dass Ihr Server keine unverschlüsselten Abfragen mehr beantwortet beziehungsweise solche Abfragen auf eine verschlüsselte Verbindung umlenkt.

    Falls Ihr Provider keine Möglichkeit vorgesehen hat, eine SSL-Verschlüsselung zu erzwingen, können Sie dies meistens (aber leider nicht immer) mit Hilfe einer sogenannten htaccess-Datei erledigen. Erstellen Sie dazu im Wurzelverzeichnis Ihres Webservers eine Textdatei mit dem Namen .htaccess und mit folgendem Inhalt:

    RewriteEngine on
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


    Falls es bereits eine htaccess-Datei gibt, fügen Sie diese Zeilen einfach am Anfang ein.

    Sollten Sie nach dem Erstellen bzw. Ändern der htaccess-Datei einen internen Serverfehler (HTTP-Statuscode 500) erhalten, unterstützt Ihr Server offensichtlich nicht diese Art von Umlenkung. In dem Fall müssen Sie die htaccess-Datei (bzw. die hinzugefügten Zeilen) wieder entfernen und sich an Ihren Provider wenden.


    Verweise auf unverschlüsselte Inhalte entfernen

    Viele Webbrowser blenden einen Warnhinweis ein, falls eine Seite, die über eine verschlüsselte Verbindung aufgerufen wurde, Verweise auf unverschlüsselt bereitgestellte Grafiken, Skripte oder Stildateien enthält. Daher müssen Sie sicherstellen, dass in Ihren Pixtacy-Seiten keine Inhalte eingebunden werden, deren URL mit „http://“” beginnt. Zum Glück erledigt Pixtacy dies zum größten Teil automatisch. Es gibt aber Punkte, die Sie selbst prüfen und gegebenenfalls anpassen müssen:

    • Wenn Sie unter „Einstellungen > Erscheinungsbild“ ein Logo hochgeladen haben, laden Sie dieses (über die verschlüsselte Verbindung) erneut hoch.

    • Wenn Sie unter „Einstellungen > Erscheinungsbild“ eigenen HTML-Code hinterlegt haben, ersetzen Sie in allen „src“-Attributen das „http://“ durch „https://“.

    • Wenn Sie eigene View-Dateien, eigene JavaScript- oder CSS-Dateien eingebunden haben, führen Sie auch hier diese Ersetzung durch.

    • Wenn Sie in der Pixtacy-Konfigurationsdatei (config/config.php) eigene "baseURL"-Parameter hinterlegt haben, müssen Sie hier ebenfalls das „http://“ durch „https://“ ersetzen.



    Probleme vermeiden ohne Verschlüsselung

    Wenn Ihnen das Erstellen und Hinterlegen eines SSL-Zertifikats zu aufwendig ist, gibt es noch eine andere Möglichkeit zu verhindern, dass Sie von Suchmaschinen abgestraft werden. Die Voraussetzung dazu wäre, dass Sie die Selbstregistrierung von Benutzern ("Einstellungen > Rechte") abschalten und dass es nur eine begrenzte Zahl von Menschen gibt, die sich in Ihrem Pixtacy-Shop einloggen. Sie müssten nämlich alle Links, die auf die Loginmaske verweisen, aus Pixtacy entfernen. Ab Pixtacy 4.1.7 lässt sich dies erreichen, indem Sie unter "Einstellungen > Erscheinungsbild" beim Button „Login“ die Option „ausblenden“ wählen. Sie können sich dann nur noch einloggen, indem Sie die URL der Loginmaske direkt in das Adressfeld des Webbrowsers eingeben oder ein entsprechendes Lesezeichen aufrufen. Die URL lautet:

    http://www.meinedomain.de/pfad-zu-pixtacy/index.php?login


    Dabei müssen Sie „meinedomain.de“ durch Ihren Domainnamen ersetzen und „pfad-zu-pixtacy“ durch den Pfad zu Ihrem Pixtacy-Verzeichnis (sofern Pixtacy in einem Unterverzeichnis installiert ist).

    Beachten Sie, dass dieses Vorgehen ausschließlich dabei hilft, Probleme mit den Suchmaschinen zu vermeiden. Das Einloggen über eine unverschlüsselte Verbindung stellt auch weiterhin ein Sicherheitsrisiko dar, und manche Webbrowser weisen Sie beim Aufruf der Loginmaske unmissverständlich auf diesen Umstand hin.

  • Matthias am 11. November  

    Wäre es möglich, dass https z.B. in der Konfiguration generell eingestellt wird?
    Der Automatismus bei pixtacy funktiniert bei uns nicht.
    Wir haben im RZ einen Proxy vorgestschaltet, der das Loadbalancing und Verschlüsselung übernimmt.
    Zwischen dem Proxy und den Zielknoten wird aber unverschlüsselt gesprochen.
    Das ist Verschmerzbar, weil die Systeme im gleichen VLAN liegen. Aber Pixtacy geht somit von http und nicht https aus.

  • avatar

    Martin Wandelt am 13. November  

    Wenn ich das Problem richtig verstanden habe, müsste es sich dadurch lösen lassen, dass in der Konfigurationsdatei config/config.php der Parameter baseURL auf die gewünschte URL (mit https am Anfang) gesetzt wird.

  • Matthias am 15. November  

    Letztenendes habe ich den shop nochmals neu eingerichtet. Danach ging es.

  • Um eine Antwort zu diesem Beitrag zu schreiben, müssen Sie sich einloggen.