Wichtiges Joomla-Update auf Version 3.4.5

Dienstag, 20 Oktober 2015 02:31

Das Joomla-Sicherheitsteam hat am vergangenen Freitag angekündigt, dass am kommenden Donnerstag, dem 22. Oktober, um 16 Uhr mitteleuropäischer Zeit ein sehr wichtiges Sicherheitsupdate für Joomla 3 veröffentlicht wird. Dieses Vorgehen ist äusserst ungewöhnlich und lässt darauf schliessen, dass die gefundene Sicherheitslücke sehr kritisch ist. Die offizielle Ankündigung des Updates finden Sie in Englisch auf der offiziellen Joomla-Website.

In einem vergleichbaren Fall beim Content-Managment-System Drupal konnten bereits nach sieben Stunden grossangelegte und automatisierte Angriffswellen beobachtet werden. Bei Drupal wurde die Schliessung der Sicherheitslücke nicht angekündigt und die Kriminellen hatten keine Zeit sich vorzubereiten. Durch die Ankündigung des Joomla-Updates haben nun auch die Kriminellen genügend Zeit, um sich auf Ihre Angriffe vorzubereiten und ich rechne damit, dass die ersten grossen Angriffswellen innerhalb von zwei oder drei Stunden nach der Veröffentlichung des Updates starten.

Alle Joomla-Websites, die am Donnerstag bis spätestens 18 Uhr nicht aktualisiert wurden, sind ab dann in ernsthafter Gefahr gehackt zu werden. Damit sind hohe Risiken für Ihre Besucher verbunden und im schlimmsten Fall kann eine gehackte und durch Kriminelle missbrauchte Website für Sie zu straf- oder zivilrechtlichen Konsequenzen führen.

Ob auch ältere Joomla-Version von der Lücke betroffen sind ist nicht bekannt und wird auch nicht bekannt gegeben. Bei Joomla 1.5 schätze ich die Gefahr als sehr gering ein. Dass Joomla 2.5 betroffen ist, ist durchaus denkbar. Ältere Joomla 3-Versionen sind wahrscheinlich sicher betroffen.

Wartungsvertrag

Auf Grund der Tragweite des Problems und des engen zeitlichen Rahmens kann ich das Update leider nicht für alle Kunden innerhalb der notwendigen Zeitspanne durchführen. Garantieren kann ich die Durchführung nur für Kunden mit einem Wartungsvertrag. Der Abschluss eines Wartungsvertrags mit einer Mindestlaufzeit von 12 Monaten ist noch möglich, falls aktuell zumindest Joomla 3.4.x verwendet wird. Bei Verwendung einer älteren Joomla 3-Version besteht nach Absprache eventuell die Möglichkeit eines Wartungsvertrags. Für Joomla 2.5 kann ich Ihnen aktuell leider keinen Wartungsvertrag anbieten. Nähere Informationen zum Wartungsvertrag finden Sie auf meiner Website.

Update-Anleitung

Falls Sie das Update selbst durchführen möchten, finden Sie auf meiner Website eine ausführliche Anleitung. Falls Sie sich unsicher sind, lesen Sie den Text bitte vollständig und genau durch und erstellen Sie zuvor auf jeden Fall eine Sicherung Ihrer Website. Die Anleitung beschreibt nur ein einfaches Update (z.B. von Joomla 3.4.1 auf 3.4.4) und kein Upgrade (z.B. von Joomla 2.5.x auf 3.4.x).

Handlungsempfehlungen

Falls Sie aktuell Joomla 3 verwenden, sollten Sie bis spätestens Mittwoch-Abend auf die aktuellste Version 3.4.4 aktualisieren und eine vollständige Sicherung Ihrer Website beziehungsweise Ihres Webspaces inklusive aller Datenbanken erstellen. Die Sicherung müssen Sie auf jeden Fall auf Ihren Rechner herunterladen. Am Donnerstag-Mittag sollten Sie dann das Update auf Joomla 3.4.5 zeitnah nach der Veröffentlichung einspielen.

Falls Sie noch Joomla 2.5 einsetzen, ist die Zeit für ein Upgrade auf Joomla 3 ziemlich knapp bemessen. Ich kann diese Woche zeitlich leider keine Upgrades mehr unterbringen. Das Upgrade ist mit einigen Schwierigkeiten verbunden und sollte daher nur von Personen mit dem nötigen Fachwissen durchgeführt werden. Falls Sie keine Möglichkeit mehr haben, auf Joomla 3 zu aktualisieren, würde ich Ihnen empfehlen, am Mittwoch-Abend eine umfangreiche Sicherung Ihres Webspaces und Ihrer Datenbanken zu erstellen. Wichtig ist, dass Sie auch alle Dateien sichern, die nichts direkt mit Joomla zu tun haben. Diese Sicherung müssen Sie dann auf Ihren Computer herunterladen, sodass sie in Sicherheit ist und später gegebenenfalls verwendet werden kann. 

Sollte Joomla 2.5 von der Sicherheitslücke betroffen sein, wird mit etwas Glück zeitnah ein inoffizieller Sicherheitspatch veröffentlicht. Dieser würde dann voraussichtlich die letzte Version der Joomla 2.5-Serie voraussetzen, sodass es empfehlenswert ist, bis Mittwoch-Abend bereits auf Joomla 2.5.28 zu aktualisieren.

Weiterlesen

Sitemap-Generator, Joomla-Galerie und Simple Image Slider

Montag, 20 April 2015 11:27

Seit meinem letzten Post hier im Blog hat sich bei meinen Projekten wieder einiges getan. Im Folgenden gibt es eine kurze Übersicht.

Sitemap-Generator

Der Sitemap-Generator und vor allem der zugrunde liegende Sitecrawler wurden an einigen Stellen verbessert. Folgend eine Liste der wichtigsten Neuerungen:

  • Unterstützung für Domains mit Umlauten und Sonderzeichen.
  • Unterstützung für Port-Angaben.
  • Die Robots.txt-Datei wird nun berücksichtigt. Dazu gehört die Berücksichtigung der nicht erlaubten Bereiche, sowie die Erweiterung Crawl-Delay.
  • Die Sitemap-URLs werden nun alphabetisch sortiert.
  • Absolute URLs zur zu erfassenden Website werden nun wie relative URLs behandelt.

Joomla-Galerie

Die Joomla-Galerie-Erweiterung wurde aktualisiert und ist nun in Version 1.0.0-alpha.8 verfügbar. Die folgenden Änderungen wurden vorgenommen:

  • Behebung eines Fehlers bei der Entfernung des Copyrights mit einem Freischaltcode.
  • Behebung von Problemen mit dem URL-Routing.
  • Reparatur der Lazy Loading-Funktion.
  • Nutzung des Joomla-Caches statt einem eigenen Cache-System.
  • Der Schutz der Fotos via .htaccess ist nun optional.

Der Quellcode der Galerie ist auf Github verfügbar und der Download auf meiner Website.

Simple Image Slider für Joomla

Neu habe ich noch den Simple Image Slider für Joomla 3 mit den folgenden Funktionen entwickelt:

  • Responsive.
  • Dynamische Bildgenerierung abhängig von der Bildschirmbreite des Besuchers.
  • Verwendung von AJAX-Aufrufen zur Reduzierung der Bandbreitennutzung.
  • Nutzung der Joomla-Layout-Funktion zur einfachen Überschreibung des HTML-Codes.

Zur Nutzung der Erweiterung sind ein Inhaltsplugin und ein AJAX-Plugins notwendig, deren Quellcode auf Github verfügbar ist. Den Download eines Installationspaketes gibt es auf meiner Website.

Weiterlesen

Sitemap-Generator aktualisiert

Freitag, 12 Dezember 2014 11:19

Ich habe heute den Sitemap-Generator auf meiner Website aktualisiert. Neu werden auch PDF-Dateien erfasst und in die Sitemap aufgenommen. Zudem ist es bei Websites mit weniger als 500 URLs nicht mehr notwendig, eine Freigabe zu erteilen. Mit einer Freigabe durch die Platzierung einer Datei auf dem eigenen Webspace werden ab sofort bis zu 2500 URLs erfasst.

Weiterlesen

HTTPS erklärt, Joomla-Update-Anleitung und Sitemap-Generator

Dienstag, 18 November 2014 01:42

Heute gibt es mal wieder ein kurzes Status-Update über die Änderungen an meiner Hauptwebsite.

Anfang November habe ich dort einen Artikel über SSL, TLS und HTTPS veröffentlicht. In dem Artikel werde diese Technologien und deren grobe Funktionsweise erklärt und Handlungsempfehlungen zur Anwendung abgesicherter Verbindungen gegeben.

Letzte Woche habe ich nochmal etwas an der Joomla-Update-Anleitung gearbeitet und vor allem die Anleitung für das manuelle Update verbessert und um zwei wichtige Schritte ergänzt. Neu wird nun auch beschrieben, wie man die Datenbank auf den aktuellen Stand bringt und nicht mehr benötigte Dateien ausfindig macht und löscht.

Gestern habe ich auf meiner Website noch einen Sitemap-Generator veröffentlicht. Der Generator ist momentan in der Lage, eine einfache XML-Sitemap einer Website zu erstellen. Also nichts wirklich spektakuläres. Der Funktionsumfang wird aber bald noch deutlich erweitert, sodass beispielsweise auch Bilder und Videos auf der Sitemap aufgenommen werden.

Weiterlesen

buttons-for-website.com schädlich?

Sonntag, 16 November 2014 01:03

Anfang diesen Monats ist mir in Piwik (ein Open Source Besucherstatistikprogramm vergleichbar mit Google Analytics) aufgefallen, dass ich ein paar Besucher mit der Referral-URL buttons-for-website.com auf meinen Websites hatte.

Anfangs habe ich dem noch keine große Beachtung geschenkt, aber als immer mehr Besucher aus aller Welt über diesen Link auf meine Websites kamen, wollte ich mir einmal ansehen, in welchem Kontext meine Websites dort verlinkt werden. Auf der Website buttons-for-website.com konnte ich dann aber keine Verlinkung finden. Da die Website sehr einfach gehalten ist, konnten auch versteckte Links ausgeschlossen werden. Ich vermutete, dass das angebotene Skript eventuell eine Fehlfunktion hat und daher, warum auch immer, Besucher auf meine Website umleitet. Daraufhin habe ich das Thema erst einmal abgehackt.

Screenshot: buttons-for-website.com

Da Mitte des Monats immer noch Besucher von dieser Website den Weg auf meine Websites finden, habe ich heute nochmal etwas recherchiert und mir ein paar Gedanken zur Ursache gemacht. Schlussendlich kam ich zu der Erkenntnis, dass dies eine raffinierte Spam-Kampagne ist. Meiner Recherche zufolge bin ich nicht der einzige Webmaster, der neugierig wurde und sich die Referral-URL einmal näher angesehen hat. Für die angebotenen Share-Buttons stimmt die Zielgruppe auf jeden Fall.

Bei meiner Recherche habe ich in einem Forum auch gelesen, dass mehrere Personen durch die Besucher von der unbekannten Website verunsichert waren und nicht wussten, ob ihre Website dadurch geschädigt werden kann. Dies kann klar ausgeschlossen werden, aber dennoch ist erhöhte Vorsicht geboten.

Vorsicht ist geboten!

Das Skript auf der Website buttons-for-website.com sollte auf keinen Fall auf der eigenen Website verwendet werden. So wie der Code angeboten wird, können die Betreiber das Skript später problemlos austauschen und beispielsweise Schadcode oder Werbung in Websites, die das Skript nutzen, injizieren. Ich vermute sogar, dass dies die Absicht hinter der Aktion ist.

Grund für meine Vermutung sind verschiedene Indizien, die dafür sprechen. Zum einen haben die Betreiber der Domain ihre Identität verschleiert und es ist daher nicht einfach herauszufinden, wer hinter dem Angebot steckt. Zum anderen ist diese Spam-Aktion mit einem gewissen Aufwand verbunden und angeboten wird nur ein werbefreies, kostenloses und noch dazu optisch ansprechendes Skript.

Abhilfe gegen die unerwünschten Besucher

Für alle, die nicht möchten, dass ihnen die unechten Besucher die Besucherstatistik verzerren, gibt es die Möglichkeit, diese Besucher mit mod_rewrite und der Variable HTTP_REFERER auszusperren. Bei der Umsetzung der Maßnahme, muss allerdings gut aufgepasst werden, dass versehentlich nicht auch legitime Besucher ausgesperrt werden.

Ich könnte mir allerdings gut vorstellen, dass solcher Referral-Spam in Zukunft häufiger zu sehen und das aussperren daher nicht von langer Dauer ist.

Nachtrag

Wie ich nun herausgefunden habe, existiert diese Art des Spams bereits seit längerem. Der deutsche Wikipedia-Artikel zum Thema wurde bereits 2006 angelegt. Piwik setzt allerdings eine (offensichtlich gut funktionierende) Referrer-Filter-Liste zur Filterung dieser Besucher ein und daher habe bisher noch nicht viel davon mitbekommen. Es gibt auch eine Möglichkeit, die Piwik-Referrer-Spam-Liste über die Variable referrer_spam_urls in der Konfiguration zu ergänzen. Eventuell gibt es in Zukunft zudem die Möglichkeit, Spam-URLs dynamisch aus Piwik heraus auf die Spam-Liste zu setzen. Die Diskussion dazu findet auf Github statt.

Weiterlesen

Nachtrag zur Drupal-Sicherheitslücke vom 15. Oktober 2014

Mittwoch, 29 Oktober 2014 10:23

Drupal LogoDas Drupal Security Team hat heute einen Nachtrag zur am 15. Oktober 2014 veröffentlichten SQL-Injection-Sicherheitslücke veröffentlicht. Darin weist das Sicherheitsteam darauf hin, dass die Sicherheitslücke bereits wenige Stunden nach der Veröffentlichung aktiv und automatisiert ausgenutzt wurde. Alle Drupal-Installationen, die am 15. Oktober bis 23 Uhr (UTC) noch nicht aktualisiert wurden, sollten als kompromittiert betrachten werden.

Da die restlose Entfernung aller möglicherweise installierten Hintertüren sehr schwierig ist, wird zur Wiederherstellung eines sauberen Zustands empfohlen, auf ein Backup, welches vor der Veröffentlichung der Lücke erstellt wurde, zurückzugreifen.

Weitere Informationen zur allgemeinen Vorgehensweise nach einem Hack gibt es im Artikel Your Drupal site got hacked. Now what?

Weiterlesen

Absprungrate (Bounce Rate) in Piwik reduzieren

Sonntag, 26 Oktober 2014 11:42

Mir ist schon seit längerem aufgefallen, dass die Absprungrate (Boune Rate) bei den meisten meiner Websites relativ hoch ist und viele Besucher sogar direkt (nach null Sekunden Besuchszeit) wieder abspringen. Bisher habe ich mich dem Thema nicht angenommen. Vorgestern habe ich mich aber auf die Ursachensuche gemacht und wurde relativ schnell fündig.

In Piwik wird die Besuchszeit nach dem Schema: Zeit der letzten Aktion minus Zeit der ersten Aktion berechnet. Wenn ein Besucher nun nur einen Artikel ließt und die Seite dann direkt wieder verlässt, wird dies als Absprung gewertet und eine Besuchszeit von null Sekunden angegeben. Tatsächlich war der Besucher aber am Artikel interessiert und hat sich auch damit auseinander gesetzt. Also nicht wirklich ein Absprung.

Abhilfe schafft es, wenn man im Piwik-Tracking-Code ein Timeout setzt und manuell nach einigen Sekunden ein Event auslöst. Bei meiner Recherche fand ich oftmals die Empfehlung, dass Besuche ab zehn Sekunden nicht als Absprung gewertet werden sollten. Ich halte dies für relativ kurz und entschied mich für 60 Sekunden. Dann kann man sicher gehen, dass der Besucher wirklich am Artikel interessiert war. Bei meiner Testseite ließ sich damit die Absprungrate von etwa 70 Prozent auf unter 30 Prozent reduzieren.

Entwicklung der Absprungrate in Piwik

Ausgelöst werden kann das Event durch die folgende Codezeile. Sie kann direkt im Piwik-Tracking-Code oder in einem eigenen JavaScript-Block untergebracht werden.

setTimeout("_paq.push(['trackEvent', 'Bounce', '60 seconds on page'])",
 60000);

Die Besucher, die mindestens 60 Sekunden auf der Seite verweilt haben, werden dann nicht mehr als Absprung gewertet. Die Besuchszeit wird mit 60 Sekunden angeben. Die tatsächliche Besuchszeit lässt sich mit diesem Code allerdings noch nicht erfassen. Dazu müsste man noch einen Schritt weiter gehen.

Weiterlesen