Angriff auf Joomla!-Installation

Vor ein paar Tagen wurde eine auf meinem vServer laufende Joomla!-Instanz massiv angegriffen. Der Inhaber dieser Seite bekam in ca. einer Stunde über 600 Mails vom Nachrichtensystem. So etwas ist bedauerlich und nicht gerade schön mit anzusehen.

Was war passiert?

Die Analyse des Logs /var/log/mail.log zeigte, dass Mails im 5-6 Sekunden-Takt vom Server an den Administrator gesendet wurden. 

Was wurde kurzfristig unternommen?

Zu allererst wurde der Versand der Systemmails der Joomla!-Installation deaktiviert. Damit konnte die Spam-Welle vorerst gestoppt werden. Bei der weiteren Analyse stellte sich heraus, dass die User-Registrierung aktiv war und sich über 600 User registriert hatten. Die dazu verwendeten eMail-Adressen hatten alle die Domain-Endung .ru. Im nächsten Schritt wurde die Registrierung ebenfalls deaktiviert. Warum diese aktiv war, kann ich leider nicht mehr nachvollziehen. Alle verdächtigen registrierten User der Seite wurden gelöscht.

Wie ging es weiter?

Da ich zu dem Zeitpunkt immer noch nicht genau wusste was genau passiert war, habe ich ein älteres Backup der Datenbank eingespielt (zum Glück werden Backups der Datenbanken, wie im Artikel „MySQL- Sicherung ohne Passwort im Script“ beschrieben, täglich automatisch angelegt). Nach dem Einspielen stellte sich heraus, dass hier nur die bekannten Administratoren als Benutzer in der Joomla!-Installation gespeichert waren. Die Registrierung wurde wieder deaktiviert und so die Sicherheitslücke geschlossen. Abschließend habe ich nachgeschaut, ob Dateien oder Verzeichnisse der Joomla!-Installation in den letzten Tagen verändert wurden. Dazu wechselte ich in das entsprechende Verzeichnis

und suchte die Änderungen der Dateien der letzten fünf Tage

Ausgabe:

sowie den Änderungen der Verzeichnisse

Ausgabe:

Die Dateien und Verzeichnisse wurden dann meinerseits überprüft. Da es hier keinerlei Auffälligkeiten gab, konnte auf das Einspielen eines Backups der kompletten Installation verzichtet werden.

Was war nun tatsächlich passiert?

Es konnten sich von außen User registrieren. Die so erstellten Accounts wurden aber nicht aktiviert, da die angegeben eMail-Adressen wahrscheinlich nicht valide waren. Das System verschickte jedoch bei jeder neuen Registrierung eine entsprechende eMail an den Superadministrator. So kam es zu einer massiven Welle von Registrierungsbestätigungen. Da die registrierten Accounts nicht aktiviert werden konnten, hatten die Aktionen keine Auswirkungen auf das System.

Kann das nochmal vorkommen?

Durch die deaktivierte Registrierung kann es zu dieser Art von Angriffen nun nicht mehr kommen.

PIWIK und https

piwik2

Zum wiederholten Male hatte ich nach der Umstellung einer Webseite auf https das Problem, dass PIWIK die Seite nicht mehr getrackt hat. Die Lösung ist relativ simpel.

Man verschiebt einfach das Statistik-Tool in das Verzeichnis, wo die Seite liegt. In der ensprechenden config.ini.php muss dann der Eintrag „trusted_hosts“ angepasst werden. Wie das genau aussehen soll, zeigt PIWIK beim ersten Aufruf nach dem Verschieben auf der Startseite. Da PIWIK nun über https://domain.tld/piwik/ erreichbar ist, wird so auch eine SSL-Verschlüsselung über das Zertifikat der eigentlichen Webseite sichergestellt.

Joomla! 3 – Das umfassende Handbuch

9783836237116_267

Joomla! 3 – Das umfassende Handbuch“ von Richard Eisenmenger ist 2015 im Rheinwerk Verlag (ehemals Galileo Press) in gebundener Auflage erschienen und umfasst 1094 Seiten. Dieses Buch baut auf der inzwischen veralteten Version 3.4 auf, ist jedoch voll übertragbar auf die aktuelle Joomla!-Version 3.6. Dieses Kompendium führt sicher durch die Installation von Joomla! und hilft dabei dieses Open Source Content Management System (CMS) mit Erweiterungen nach eigenen Bedürfnissen auszubauen.

Um erste Erfahrungen mit dem CMS Joomla! zu sammeln, empfiehlt es sich, alles in einer Testumgebung zu installieren, bevor man mit der ersten erstellten Seite online geht. „Joomla! 3 – Das umfassende Handbuch“ hilft natürlich auch hierbei eine entsprechende Plattform zu schaffen. Dabei wird ausgiebig auf die Installation der beliebten PHP-Entwicklungsumgebung XAMPP auf Windows, OS X und Linux eingegangen.

Nach der Installation von Joomla! wird der Aufbau des Content Management Systems erklärt. Hierbei erfährt der User den Unterschied zwischen dem Front- und dem Backend. Wie letzteres zu bedienen ist, wird in den nachfolgenden Artikeln dargelegt. Ein großer Vorteil eines CMS ist der Umgang mit dem Layout der Webseite. Mit Joomla! ist es problemlos möglich das Aussehen per Mausklick zu ändern. Hierfür stehen zahllose kostenlose, aber auch kostenpflichtige Templates bereit. Wo man diese bezieht und wie diese zu installieren sind, zeigt dieses Buch. Weiterhin werden Hilfestellungen u.a. beim Aufbau einer Seite mit mehreren Benutzerkonten und definierten Benutzerrollen gegeben. Dies ist besonders interessant, wenn bestimmte Bereiche nur für registrierte User einsehbar sein sollen. Es können bestimmte Rollen wie Super Users, Publisher, Editor, Author etc. mit den dazu gehörigen Rechten vergeben werden. Die einzelnen Unterschiede werden hier ausgiebig beschrieben. Weiterhin wird gezeigt wie man sinnvoll mit diesen Gruppen umgeht.

Joomla! aktuell und sicher zu halten sollte natürlich beim späteren Betrieb selbstverständlich sein, um Angreifern keine Chance zu bieten in das System einzudringen und dieses ggf. zu verändern oder zu übernehmen. Leider ist die Migration auf eine aktuelle Version hier und da mit Schwierigkeiten und einem gewissen Zeitaufwand verbunden. Dieses Handbuch erklärt wie man genau vorgeht und gibt Tipps wie auch noch Inhalte älterer 1.5-Versionen in eine aktuelle Joomla!-Installation migriert werden können. Auch auf das Thema der Suchmachinenoptimierung (SEO) wird ausreichend eingegangen.

Der letzte Teil des Buches richtet sich an den ambitionierten und erfahrenen Anwender. Wer Templates, Plugins, Module oder auch Komponenten selbst entwickeln möchte, findet hier den nötigen Einstieg.

Dieses umfassende Handbuch ist in fünf Teile mit 30 Kapiteln gegliedert.

Teil I Grundlagen

  • Einleitung
  • Testumgebung einrichten
  • Live-Umgebung einrichten
  • Website planen

Teil II Joomla! benutzen

  • Website-Frontend kennenlernen
  • Administrations-Backend bedienen
  • Content verwalten
  • Contentpflege konfigurieren
  • Menüs aufbauen
  • Layout und Design anpassen
  • Benutzerverwaltung einrichten
  • Mehrsprachigkeit aktivieren
  • System konfigurieren

Teil III Joomla! erweitern

  • Erweiterungen aktivieren
  • Offizielle Joomla!-Komponenten
  • Empfohlene Erweiterungen
  • Joomla! als Content-Management-System
  • Joomla! als Community-Plattform
  • Joomla! als Online-Shop

Teil IV Joomla! warten

  • Wartung allgemein
  • Joomla! und Content deployen
  • Sicherheit ausbauen
  • Performance- und Suchmaschinenoptimierung
  • Notfallmaßnahmen

Teil V Joomla!-Erweiterungen entwickeln

  • Grundlagen zur Erweiterungsentwicklung
  • Templates entwickeln
  • Plugins entwickelnBeitragsbild festlegen
  • Module entwickeln
  • Komponenten entwickeln
  • Erweiterungen veröffentlichen

Dem Buch liegt kein Installationsmedium (CD oder DVD) bei. Die aktuelle Version Joomla! 3.6 erhält man kostenlos auf der offiziellen Seite joomla.org.

Leseproben und Downloads

Fazit

„Joomla! 3 – Das umfassende Handbuch“ präsentiert sich als gutes Nachschlagewerk für das beliebte freie Content Management System Joomla! Es hilft bei der Installation, der Erweiterung und Wartung. Mit Joomla! stehen dem Anwender zahlreiche Möglichkeiten zur Verfügung. Egal ob man eine Seite statisch, als Blog, Portal mit eigenem Internet-Forum oder als Community-Plattform gestalten will. Dieses Handbuch zeigt dabei einige Wege auf und hilft Einsteigern als auch fortgeschritteneren Anwendern beim sicheren Umgang mit dem freien CMS Joomla!

Vergleichen lohnt sich

Beim Aufbau einer Internetpräsentation wird zunehmend zu Content Management Systemen wie Joomla!, Typo3, Drupal oder auch WordPress gegriffen. Solche dynamischen Systeme eignen sich besonders für Firmenauftritte, alle möglichen Internet-Präsentationen und natürlich Blogs. I.d.R.  besteht ein CMS aus einem Front- und einem Backend. Das Frontend zeigt die zugängliche und fertige Internetseite. In das Backend hingegen gelangt man nur mit den entsprechenden Zugangsdaten des Administrators. Hier befindet sich quasi der Maschinenraum des Webauftritts. Im Backend kann man aber nicht nur das Aussehen der Seite durch entsprechende Themes oder Templates per Mausklick verändern, sondern auch Erweiterungen, Komponenten, Plugins oder Widgets einbauen. Dadurch wird das Projekt entsprechend ausgebaut, egal ob Fotogalerie, Gästebuch oder eigenes Forum. Artikel oder Beiträge entstehen spielend im hauseigenen WYSIWG Editor. Damit bietet ein selbst gehostetes CMS natürlich weitaus mehr Möglichkeiten als ein Homepage-Webbaukasten.

news-723
WordPress Backend

Welches System nun für das jeweilige Projekt geeignet ist, sollte man im Vorfeld schon herausfinden. Typo3, Joomla! und Drupal eignen sich eher für Projektseiten und Firmenauftritte. WordPress hingegen spielt seine Stärken bei Blogs, News-Seiten und Magazinen, durch die fest integrierte Kommentar-Funktion, aus. Auf den entsprechenden Projektseiten kann man sich natürlich ausgiebiger informieren und auch teilweise Systeme live testen. Das kann unter Umständen die Wahl zum Content Management System seiner Wahl erleichtern.

google_server
Google-Serverfarm (Foto: Connie Zhou)

Ist nun die Entscheidung für ein CMS gefallen, so sollte dieses natürlich ins Netz. Hierfür benötigt man einen Hoster. Dieser stellt Webspace, eMail-Accounts und Datenbanken bereit, die zur Installation auf dem Hosting Server notwendig sind. Will man alles in einer Hand belassen, so ist es am Anfang ratsam, einen Anbieter zu wählen, der Hosting-Pakete mit Inklusiv-Domains anbietet. Dabei sollte man jedoch aufpassen, dass genügend Datenbanken genutzt werden können, um evtl. bei Bedarf auch noch ein Cloud-System oder ein weiteres CMS installieren zu können. Natürlich sollte man aber auch ein Auge auf Ausfallsicherheit, Redundanz und Service werfen. Bei der Wahl des richtigen Hosting-Pakets kann der Webhosting Test und Vergleich 2016 von Netzsieger hilfreich sein.

Experimente mit MODX Revolution

Vor über fünf Jahren hatte ich mir das CMS MODX zuletzt angesehen. Nun habe ich mir einmal die aktuelle Version MODX Revolution 2.4.0-pl heruntergeladen und bei meinem Hoster installiert.

Die Installation inkl. MySQL-Datenbankanbindung geht einfach und selbsterklärend, ähnlich wie bei Joomla! oder WordPress. Ist das System erst einmal oben, muss man sich darauf einlassen, was man nun geboten bekommt. Von großem Vorteil sind hier umso mehr HTML-Kenntnisse. Da man bei der Installation in den Einstellungen die Sprache wählen kann, kommt man so im deutschen Backend einigermaßen gut zurecht. MODX bietet einen völlig anderen Ansatz als die bekannten Content-Management-Systeme, sodass eine umfangreiche Einarbeitung nötig ist. Lässt man sich jedoch auf MODX ein, so wird man schnell feststellen, dass durch etwas probieren und suchen in den einschlägigen Internet-Foren hier einiges zu bewerkstelligen ist. Von Vorteil hierbei ist u.a., dass dieses CMS mittlerweile mit einer Paketverwaltung arbeitet, ähnlich wie auch Linux. Leider ist aber hier die Auswahl an Templates, Chunks und Snippets nicht so umfangreich, wie man sich das wünscht.

news-599

news-600

news-601

news-602

 

 

 

 

Fazit

MODX ist deutlich erwachsener geworden. Das Backend ist gut strukturiert und wirkt aufgeräumt. Die Installation gelingt ohne weitere Vorkenntnisse. Eine Paketverwaltung hilft bei der Installation von Templates etc.

Probleme macht zum Anfang das neue Bedienkonzept. Hier arbeitet man sich aber ganz gut ein, was jedoch seine Zeit dauert. Ganz ohne HTML-Kenntnisse ist MODX aus meiner Sicht wenig empfehlenswert. Negativ schlägt auch die geringe Auswahl an Paketen in den Repositories zu Buche. Deshalb würde ich MODX nur für kleinere Internetauftritte bzw. Blogs empfehlen.

MySQL-Datenbank mit MySQLDumper sichern

Über die Wichtigkeit der Sicherung der MySQL-Datenbank eines CMS wie Joomla!, MODx, WordPress etc. macht man sich immer erst ernsthafte Gedanken, wenn man feststellt, dass die Datenbank aus irgendwelchen Gründen Schaden genommen hat.

Zu Windows-Zeiten habe ich gern HeidiSQL zur Sicherung meiner Datenbanken eingesetzt. Nach meinem Komplett-Umstieg zu Linux, liefen die Backups meiner damaligen Joomla!-Seite über Akeeba Backup. Dieses Tool sicherte die komplette Seite (Dateien und Datenbank). Später mit WordPress sicherte ich von Hand über meinen Hoster.

Seit einigen Wochen nutze ich jedoch für diese Zwecke den MySQLDumper. Hierbei handelt es sich um ein wirklich tolles Open-Source-Projekt. Ist der MySQLDumper erst einmal auf dem FTP-Server installiert, ist die Sicherung eine Sache von wenigen Sekunden.

Auf der Projektseite http://www.mysqldumper.de/ wird die Einrichtung in drei Videos sehr gut beschrieben.

Seht selbst!


Quelle: http://www.mysqldumper.de/

Ein Jahr WordPress

vs

Vor fast genau einem Jahr habe ich mich entschlossen meine Seite von Joomla! in WordPress zu migrieren. Einfach war dies nicht, da ich kein geeignetes Tool für dieses Vorhaben fand. So habe ich begonnen jeden einzelnen Beitrag per Copy & Paste in WordPress mit dem ensprechenden Erscheinungsdatum neu anzulegen. Nach einer Woche Arbeit war ich dann endlich soweit durch.

Warum ich den Schritt tat, ist relativ einfach erklärt. Joomla! ist zwar ein sehr mächtiges CMS, doch muss man sehr viel Zeit und Geduld investieren. Die ständige Änderung von Standards hat mich echt Nerven gekostet. Kaum hatte man die Seite am Laufen, schon kam eine neuere Version heraus, die nicht ohne weiteres upzugraden war. Dies ist der Historie von Joomla! geschuldet.

Ich hatte meine erste dynamische Seite mit Mambo 4.5 erstellt. Aus Mambo ging das Joomla!-Projekt hervor. Also migrierte ich zu Joomla! 1.0. Ein Templatewechsel war die Folge. Dann kam Joomla! 1.5. Auch hier war kein einfaches Upgrade möglich. Zwischenzeitlich verlor ich meine Kommentare, da sich diese nicht migrieren ließen. Ab Version 1.6 sollten Aktualisierungen nun einfacher möglich sein. So migrierte ich meine Seite ein letztes Mal. Das Template konnte ich auch hier nicht mitnehmen. Ich hatte mich kaum an die Version 1.6 gewöhnt, da kam auch schon die 1.7, dann die 2.0. Deshalb zog ich die Notbremse. Alle Komponenten, Module und Plugins waren jedes mal zu überprüfen. Oft gab es nichts entsprechendes für die neuere Version. Dies empfand ich sehr frustrierend. Wie oft hatte ich meine Seite zerstört (FTP, MySQL)?

Davon hatte ich nun genug. Also probierte ich WordPress aus. Mittlerweile läuft die Version 3.5. Upgrades haben bisher nie Probleme gemacht. Mein Theme (Template) konnte ich seit Anfang an behalten. Alle Plugins die ich installiert hatte, laufen immer noch. Die Kommentar-Funktion ist fest integriert. Die Seite wurde bisher kein einziges Mal ernsthaft zerstört.

Diese Einfachheit von WordPress hat mich letztendlich überzeugt. Nach wie vor halte ich sehr viel von Joomla!, doch für das Modell eines Blogs wie intux.de, ist WordPress einfach optimaler geeignet.

WordPress 3.4

Wie man ja schon in vielen Blogs lesen konnte, ist WordPress 3.4 erschienen. Eigentlich wollte das Upgrade ein wenig aussitzen. Nun habe ich es aber doch gewagt. Zuerst war natürlich eine Sicherung der Datenbank sowie der FTP-Daten fällig. Das geht in der Regel recht flott.

Das anschließende Upgrade verlief zum Glück problemlos. Was nun die Neuerungen betrifft, so ist das verändern der Themes im Live-Modus zwar eine schöne Sache, aber da man nur oberflächlich am Layout live arbeiten kann, kann man sich über den Sinn streiten.

Weitere Neuerungen sind unter anderem die Tweet-Einbindung in Beiträgen von Twitter sowie erweiterte Möglichkeiten der Beschriftung eingebundener Bilder.

Spamfrei mit Akismet?

Der Eine oder Andere der meine Seite besucht hat oder regelmäßig besucht, hat bestimmt mein fast stets vollgespammtes Gästebuch bemerkt. Da ich mich damals für die Phoca Komponente PhocaGuestbook für Joomla! entschieden habe und auch schon einige Einträge zusammengekommen sind, schreckte ich immer wieder vor einer Portierung auf eine andere Komponente zurück. Auch weil ich PhocaGuestbook doch sehr komfortabel und simpel hielt. Der Spamschutz war jedoch grottig. Erst als nach einem Update das reCaptcha möglich war wurde es besser. Aber immer noch nervten Spambots die selbst das umgehen konnten. Ich begab mich also auf die Suche nach einer Lösung und stieß auf Akismet. Gehört hatte ich davon schon nur assoziierte ich Akismet immer mit einem gewissen Obolus. Ich wurde eines besseren belehrt als ich mich genauer durch die Homepage von Akismet klickte. Die unkommerzielle Nutzung ist frei, aber man kann auch durch monatliche Spenden eine gewisse Unterstützung gewähren.

Und nun zum Ergebnis: Ich besorgte mir nun ein Key und pflegte ihn in meiner Komponente ein und voila: Seither kein Spam mehr! Einfach Klasse!

Cevren