Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.
 
Inhaltsverzeichnis
Vorwort
Teil I Grundlagen
1 Einleitung
2 Testumgebung einrichten
3 Live-Umgebung einrichten
4 Website planen
Teil II Joomla! benutzen
5 Website-Frontend kennenlernen
6 Administrations-Backend bedienen
7 Content verwalten
8 Contentpflege konfigurieren
9 Menüs aufbauen
10 Layout und Design anpassen
11 Benutzerverwaltung einrichten
12 Mehrsprachigkeit aktivieren
13 System konfigurieren
Teil III Joomla! erweitern
14 Erweiterungen aktivieren
15 Offizielle Joomla!-Komponenten
16 Empfohlene Erweiterungen
17 Joomla! als Content-Management‐System
18 Joomla! als Community-Plattform
19 Joomla! als Online-Shop
Teil IV Joomla! warten
20 Wartung allgemein
21 Joomla! und Content deployen
22 Sicherheit ausbauen
23 Performance- und Suchmaschinenoptimierung
24 Notfallmaßnahmen
Teil V Joomla!-Erweiterungen entwickeln
25 Grundlagen zur Erweiterungsentwicklung
26 Templates entwickeln
27 Plugins entwickeln
28 Module entwickeln
29 Komponenten entwickeln
30 Erweiterungen veröffentlichen
Stichwortverzeichnis

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Joomla! 3 von von Richard Eisenmenger
Das umfassende Handbuch
Buch: Joomla! 3

Joomla! 3
Pfeil 22 Sicherheit ausbauen
Pfeil 22.1 reCAPTCHA/NoCaptcha aktivieren
Pfeil 22.2 Administrations-Backend absichern
Pfeil 22.2.1 Backend-Verschleierung über AdminExile
Pfeil 22.2.2 Zusätzliches Serverpasswort einrichten
Pfeil 22.2.3 Websitezugriff anhand der IP einschränken
Pfeil 22.3 SSL aktivieren
Pfeil 22.3.1 Beschaffung eines SSL-Zertifikats
Pfeil 22.3.2 SSL-Aktivierung und -Konfiguration beim Webhoster
Pfeil 22.3.3 SSL-Aktivierung in Joomla!
Pfeil 22.3.4 Ausmerzen nachgeladener HTTP-Elemente
Pfeil 22.4 Starke Passwörter einsetzen
Pfeil 22.5 Verzeichnis- und Dateirechte prüfen
Pfeil 22.6 Vulnerable Extensions List kennen
 
Zum Seitenanfang

22    Sicherheit ausbauen Zur vorigen ÜberschriftZur nächsten Überschrift

Joomla! gilt bereits out-of-the-box als eines der sichersten Content-Management-Systeme. Weitere Sicherheitsmechanismen wie CAPTCHA-Abfragen, SSL-Verschlüsselung und Backend-Verschleierung konfigurieren Sie nachträglich per Hand.

Egal ob Spam-, Hacker- oder Lauschangriffe, am Thema Sicherheit kommen Sie mit Ihrer Website leider nicht vorbei. In Abschnitt 2.5.1, »Testumgebung von außen erreichbar machen«, hatten Sie sich schon mit Sicherheitsaspekten beschäftigt. Zum einen lesen Sie dort, wie Sie per phpMyAdmin individuelle Datenbankkonten erstellen, um den Datenbankzugriff von Joomla! auf die notwendigsten Rechte einzuschränken, eine mögliche Kundenanforderung im Enterprise-Bereich. Zum anderen bezieht sich der Abschnitt auf dieses Kapitel, mit dessen Hilfe Sie u. a. den Zugriff auf die Website oder das Backend durch eine zusätzliche HTTP-Passwortsperre einschränken. Ein praktischer Mechanismus, um von außen erreichbare Testsysteme vor öffentlichen Zugriffen zu schützen oder das Backend-Login vor Hackerangriffen zu verschleiern. Außerdem beschäftigen sich diese Seiten mit der Verschlüsselung von Datenübertragungen und vermitteln Ihnen Hintergrundwissen zur Passworterzeugung und Rechtevergabe des Dateisystems.

Vorab der sicherheitsrelevanteste Hinweis: Die Aktualität Ihrer Joomla!-Installation und aller Erweiterungen ist unverzichtbar. Sobald eine neue Version erscheint, ist es höchste Priorität, das Update auf einem Testsystem auszuprobieren, um sicherzustellen, dass die Website nach der Aktualisierung voll funktionsfähig ist. Wurde das geprüft, erzeugen Sie auf der Live-Website ein Backup und ziehen die Updates so schnell wie möglich nach. Während dies eine der wichtigsten Prämissen für Joomla! und Erweiterungen ist, gilt das auch für Templates. In der Regel greifen diese zwar nicht tief in sicherheitskritische Programmbereiche von Joomla! ein, doch insbesondere komplexe Template-Frameworks können ebenfalls Sicherheitslecks enthalten. Studieren Sie bei einem Update die Release Notes, und sichern Sie alle Dateien, die im Rahmen von Template-Overrides oder sonstigen Tweaks verändert wurden, um sie nach dem Aufspielen des Updates wieder in den Templateordner zu kopieren.

Begriff Erklärung
CAPTCHA Abkürzung für Completely Automated Public Turing Test to tell Computer and Humans Apart, eine Methode, menschliche Websitebesucher von Bots zu differenzieren, um z. B. das massenhafte Ausfüllen und Absenden eines Gästebuchformulars zu vermeiden. Dazu wird oft ein Bild eingeblendet, in dem eine schwierig zu erkennende Zeichenkette abzulesen und ein Textfeld einzugeben ist. Auch echte Mausbewegungen oder -klicks werden in neueren CAPTCHA-Verfahren eingesetzt.
Brute-Force-Angriff (deutsch: rohe Gewalt) Methode, durch Ausprobieren unzähliger Benutzername-/Passwort-Kombinationen Zugriff zu einem System zu gelangen. Dazu kursieren im Internet Passwortlisten (suchen Sie einfach nach »password list«), die ein simples Script nacheinander in Login-Formulare kopiert. In den letzten Jahren wurde eine schwieriger zu erkennende Brute-Force-Methode populär, bei der die Angreifer langsam vorgehen und für jeden Angriff eine andere IP verwenden, sodass die Login-Versuche nicht als Brute-Force-Angriff identifiziert werden. Sinnvolle Maßnahmen gegen einen Brute-Force-Angriff sind die Verschleierung der Login-Seiten-URL, starke Passwörter und individuelle Benutzernamen.
IP-Bereich IP-Bereiche (englisch: IP ranges) sind eine Schreibweise zur Definition einer großen Anzahl von Internetadressen von einer Start- zu einer End-IP. Dabei folgt der IP einem Schrägstrich, gefolgt von einer Zahl zwischen 1 und 32. Diese entspricht der Anzahl der Bits, die, von vorne gezählt, von der angegebenen IP zur Berücksichtigung des Bereichs verwendet werden. Beispiele: 192.168.0.0/24 ist der IP-Bereich von 192.168.0.0 bis 192.168.0.255, da der Bereich durch die ersten 24 Bit (192.168.0 = 3 Byte = 24 Bit) eingegrenzt wird. 0.0.0.0 ist das gesamte Internet, da die Eingrenzung über 0 Bit (identisch mit keiner Angabe) erfolgt und somit alle IPs von 0.0.0.0 bis 255.255.255.255 eingeschlossen sind.
Secure Sockets Layer, SSL, Transport Layer Security, TLS Verschlüsselungsprotokoll zur sicheren Datenübertragung, dessen Verwendung Sie in einer URL durch das vorangestellte HTTPS (Hypertext Transfer Protocol Secure) erkennen. Zeitgemäße Websites sollten alle Daten komplett per SSL übertragen, insbesondere wenn Benutzerdaten mit im Spiel sind.

Tabelle 22.1    Die wichtigsten Begriffe zu Sicherheitsaspekten in Joomla!

 
Zum Seitenanfang

22.1    reCAPTCHA/NoCaptcha aktivieren Zur vorigen ÜberschriftZur nächsten Überschrift

Ist Ihre Website einmal live und wurde von Google indexiert, dauert es nicht lange, bis Sie auch unerfreulichen Besuch erhalten. Spambots durchstöbern das Internet nicht nur nach verwundbaren Seiten, sondern auch nach Gästebuch- und Registrierungsformularen, um ihre Pharma- und Finanzierungswerbung zu platzieren. Davon bekommen Sie spätestens mit, wenn Registrierungs-Benutzernamen und -E-Mail-Adressen aus kryptischen Buchstaben- und Ziffernfolgen bestehen.

Joomla! enthält bereits ein gegen solche Spamversuche ankämpfendes Plugin, das die wichtigsten Formulare, z. B. die Benutzerregistrierung, um ein CAPTCHA ergänzt, einen Antispam-Mechanismus, dem Sie laufend im Internet beim Ausfüllen von Formularen begegnen. Vor dem Absenden-Button erscheint ein kleines Bild mit einem Text oder einer Zahl, die in ein Textfeld einzugeben ist; andernfalls lässt sich das Formular nicht abschicken. Spambots schaffen das nicht, denn sie sind nicht in der Lage, die Information im Bild zu entdecken, und so scheitern sie beim Absenden des Formulars. Bei modernen CAPTCHA-Varianten genügt übrigens auch schon ein einzelner echter Mausklick, um sich als Mensch zu identifizieren (siehe Abbildung 22.1).

Evolution der CAPTCHAs, vom Original-CAPTCHA über reCAPTCHA (1.0) zum aktuellen NoCaptcha (2.0), in dem ein Mausklick zur Validierung genügt

Abbildung 22.1    Evolution der CAPTCHAs, vom Original-CAPTCHA über reCAPTCHA (1.0) zum aktuellen NoCaptcha (2.0), in dem ein Mausklick zur Validierung genügt

Hintergrund: Was heißt Spam, und wofür steht CAPTCHA?

Monthy-Python-Fans wissen Bescheid: Das Wort Spam stammt aus einem Comedysketch der 70er-Jahre-Serie Monthy Python’s Flying Circus. Darin zitiert eine Gastwirtin aus dem Menü eines schäbigen britischen Cafés, in dem jedes Gericht Spam, gekochtes Dosenschweinefleisch (Frühstücksfleisch), enthält. Eines der vorgeschlagenen Gerichte ist »Spam, Spam, Spam, Spam, Spam, Spam, gebackene Bohnen, Spam, Spam, Spam and Spam«, was auffallende Ähnlichkeit mit dem Posteingang eines E-Mail-Kontos hat. Machen Sie eine kleine Joomla!-Pause, und schmunzeln Sie über den legendären Sketch auf YouTube: http://tinyurl.com/jh-spam-sketch.

Hinter dem Namen CAPTCHA verbirgt sich eine augenzwinkernde Referenz zum legendären Turing-Test, den Mathematiker Alan Turing 1950 erfand, um den Entwicklungsfortschritt künstlicher Intelligenz zu prüfen. Dabei soll sich ein Computer im Rahmen eines Dialogs als Mensch ausgeben. Der Test ist bestanden, wenn aus dem Dialog nicht ermittelt werden kann, dass es sich beim Gegenüber um eine Maschine handelte. So ist CAPTCHA die Abkürzung für Completely Automated Public Turing test to tell Computer and Humans Apart (deutsch: vollständig automatischer, öffentlicher Turing-Test, um Computer von Menschen auseinanderzuhalten).

Um CAPTCHAs auf Ihrer Website einzusetzen, müssen Sie ein Google-Konto besitzen und sich für den (kostenlosen) Dienst registrieren. Dabei erhalten Sie zwei Codes, über die Sie den CAPTCHA-Mechanismus von Joomla! aktivieren.

  1. Besuchen Sie die Website http://www.google.com/recaptcha, klicken Sie oben rechts auf Get reCAPTCHA, und loggen Sie sich mit Ihrem Google-Konto ein. Befüllen Sie nun auf der Verwaltungsseite das Formular Neue Website registrieren:

    • Geben Sie unter Label eine Bezeichnung ein, z. B. den Namen Ihrer Website.

    • Tragen Sie unter Domains den Domain-Namen Ihrer Website ein ohne »http« oder »https«, beispielsweise für die Website zu diesem Handbuch: »joomla-handbuch.com«.

    Klicken Sie auf den Button Registrieren, um Ihre CAPTCHA-Codes zu generieren.

  2. Nun erscheint eine Seite mit Codes und Quelltexten wie in Abbildung 22.2. Wichtig ist der aufklappbare Bereich Schlüssel und die darin enthaltenen Felder Websiteschlüssel und Geheimer Schlüssel, die Sie gleich für die Joomla!-Konfiguration benötigen.

  3. Öffnen Sie einen neuen Browsertab, und melden Sie sich im Backend Ihrer Joomla!-Website an. Aktivieren Sie dort den reCAPTCHA-Mechanismus über KomponentenPlugins, indem Sie per Mausklick in der Spalte Status der Zeile Captcha - ReCAPTCHA das grüne Häkchen (inline image) setzen.

  4. Wechseln Sie jetzt durch Anklicken der Captcha - ReCaptcha-Überschrift in die Konfiguration des Plugins. Hier wählen Sie aus der Dropdown-Liste Version entweder das alte reCAPTCHA (1.0) oder das neue, zu bevorzugende NoCaptcha (2.0).

    Nach Registrierung ihrer Website erhalten Sie einen »Site key« (Öffentlichen Schlüssel) und einen »Secret key« (Privaten Schlüssel) für die Konfiguration des Joomla!-Plugins.

    Abbildung 22.2    Nach Registrierung ihrer Website erhalten Sie einen »Site key« (Öffentlichen Schlüssel) und einen »Secret key« (Privaten Schlüssel) für die Konfiguration des Joomla!-Plugins.

  5. Kopieren Sie die beiden Codeschlüssel Websiteschlüssel und Geheimer Schlüssel nacheinander per Zwischenablage von der Google-Seite in die Plugin-Konfiguration.

    Über die Dropdown-Liste Aussehen lässt sich die Darstellung des reCAPTCHA/NoCaptcha leicht modifizieren. Experimentieren Sie später mit den Werten, um einen Stil zu finden, der am besten zum Design Ihrer Website passt. Speichern & Schliessen Sie die Plugin-Konfiguration.

  6. Nach der CAPTCHA-Konfiguration weisen Sie Joomla! an, diese CAPTCHA-Methode auf Formulare wie die Benutzerregistrierung oder Passwort-vergessen-Seite anzuwenden. Diese Einstellung ist notwendig, da Sie anstelle des eingebauten Captcha-ReCAPTCHA auch andere CAPTCHA-Erweiterungen aus dem Joomla! Extensions Directory installieren könnten.

    Wechseln Sie zur globalen Konfiguration SystemKonfiguration • Reiter Site, wählen Sie aus der Dropdown-Liste Standard Captcha den Eintrag Captcha - ReCAPTCHA, und Speichern & Schliessen Sie das Formular.

Für einen schnellen Test im Frontend klicken Sie auf den Link Benutzername vergessen? oder Passwort vergessen? im Loginmodul. Zwischen Formularfeldern und Senden-Button erscheint nun das CAPTCHA, das bei Nichtbeachtung eine Fehlermeldung beim Absenden des Formulars produziert (siehe Abbildung 22.3).

Ohne Setzen des NoCaptcha-Häkchens lassen sich die Registrierungs-, Kontakt-, Benutzername-vergessen- und Passwort-vergessen-Seiten nicht absenden.

Abbildung 22.3    Ohne Setzen des NoCaptcha-Häkchens lassen sich die Registrierungs-, Kontakt-, Benutzername-vergessen- und Passwort-vergessen-Seiten nicht absenden.

Problemlösung: Bereits eingerichtetes CAPTCHA funktioniert nicht mehr

Falls Sie zu einem späteren Zeitpunkt in Ihren Formularen das CAPTCHA nicht mehr vorfinden, war das vielleicht unmittelbar nach einem Joomla!-Update. Auch Google aktualisiert den reCAPTCHA-Dienst von Zeit zu Zeit, sodass einmal erzeugte Schlüssel nicht mehr gültig sind, wodurch das CAPTCHA nicht mehr geladen wird.

Wiederholen Sie dann einfach den auf diesen Seiten beschriebenen Prozess, erzeugen Sie einen neuen Websiteschlüssel und Geheimen Schlüssel, und tragen Sie diese noch mal in die Plugin-Konfiguration ein.

 


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
 Zum Katalog
Zum Katalog: Joomla! 3 Joomla! 3
Jetzt bestellen

 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: HTML5 und CSS3
HTML5 und CSS3


Zum Katalog: Schrödinger lernt HTML5, CSS und JavaScript
Schrödinger lernt HTML5, CSS und JavaScript


Zum Katalog: Einstieg in PHP 7 und MySQL
Einstieg in PHP 7 und MySQL


Zum Katalog: PHP 7 und MySQL
PHP 7 und MySQL


Zum Katalog: Erfolgreiche Websites
Erfolgreiche Websites


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2019
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de