Das Buch „WordPress 6 Schnelleinstieg“ von Vladimir Simovic und Thordis Bonfranchi-Simovic ist in der 1. Auflage 2023 im mitp-Verlag erschienen. Es trägt den Untertitel „Blogs und Webseiten erstellen – Einfach und ohne Vorkenntnisse“. Das Buch hat insgesamt 272 Seiten und richtet sich an Einsteiger, aber auch fortgeschrittene Nutzer des Content-Management-Systems WordPress.
Das Buch „WordPress 6 Schnelleinstieg“ vom MITP-Verlag bietet einen umfassenden Leitfaden für alle, die sich schnell und effektiv mit dem Bloggen und der Webseitengestaltung mit WordPress vertraut machen möchten. Die Autoren geben mit detaillierten Anleitungen und praktischen Tipps einen strukturierten Überblick über die wichtigsten Funktionen und Möglichkeiten des beliebten Content-Management-Systems.
Dieses Buch ist sachlich verfasst und vermittelt dank der Fachkenntnisse der beiden Autoren dem Leser enorm viel Wissen. Durch die klare Strukturierung kann die erste Webseite in kürzester Zeit umgesetzt werden. Es wird detailliert erklärt, wie WordPress installiert wird, wie das Dateisystem und die Datenbank aufgebaut sind. Der Nutzer wird ausreichend in diese Thematik eingearbeitet. Backups spielen hierbei eine zentrale Rolle, auf die die Autoren ausführlich eingehen. Im Buch erfährt man, welche Nutzerberechtigungen in WordPress vergeben werden können und wie das System gewartet und aktualisiert wird.
Besonders erwähnenswert ist das Kapitel „Design anpassen“, in dem sich die Autoren mit dem Full Site Editing auseinandersetzen. Dabei werden anhand des Themes „Twenty Twenty-Twon“ die Gestaltungsmöglichkeiten mit dem Blockeditor Gutenberg erläutert. Dies ermöglicht nahezu unbegrenzte Anpassungsmöglichkeiten bei der Erstellung oder Bearbeitung eines Webprojekts.
Am Ende des Buches wird es vom Inhalt etwas technischer, jedoch nicht weniger interessant. Möglichkeiten durch den Eingriff in den Programmcode lassen noch mehr Spielraum zu. Auch die Erstellung von Child-Themes wird ausführlich erklärt, damit Änderungen im Code problemlos ein Upgrade des Themes überstehen können.
Ein weiterer bedeutender Fokus der Autoren liegt auf der Suchmaschinenoptimierung (SEO). Dabei spielt die Qualität des Inhalts, die korrekte Verwendung von Überschriften und die Bereitstellung von ausreichenden Metadaten z.B. für Bilder eine entscheidende Rolle. Diese Maßnahmen sind nicht nur für die Zugänglichkeit der Website von Vorteil, sondern auch für ein verbessertes Ranking in Suchmaschinen und sorgen für optimale Suchergebnisse im Internet.
Das Buch gliedert sich in folgende Kapitel:
WordPress installieren und grundlegende Einstellungen
Das Buch „WordPress 6 Schnelleinstieg“ ist sowohl für Anfänger als auch Fortgeschrittene eine nützliche Informationsquelle. Ich empfehle dieses kompakte Handbuch jedem, der daran interessiert ist, seine erste Website mit WordPress zu erstellen. Daher rate ich definitiv zum Kauf dieses Buches!
Es sollte auch darauf hingewiesen werden, dass zu dem gedruckten Exemplar ein eBook zum Download zur Verfügung steht.
Im Frontend ändert sich mein Blog nur noch marginal. Jedoch musste ich mich aufgrund von Änderungen im Sourcecode von WordPress für ein anderes Theme entscheiden. Zuvor hatte ich ein Theme von einem deutschen bekannten Entwicklerpaar gekauft, aber leider endet hier der Support doch recht schnell. Auch Bugfixes, welche ich einmal auf Github eingereicht hatte, wurden ... Weiterlesen
Ich habe nun das nächste Plugin aus WordPress entfernt. Auch habe ich mir nochmals Gedanken über dieses Plugin gemacht und es ist definitiv nicht Datenschutz konform, wenn ich Daten aus Github nachgeladen habe. Ich hatte zwar somit immer die neueste Version des Codes eingebunden, aber es war eigentlich eine Faulheit auf Kosten der Lesenden. Im ... Weiterlesen
WP-Appbox ist ein wunderbares Plugin, welches vielfältige Darstellungsmöglichkeiten für die Verlinkung verschiedener Apps bietet. Das Plugin war bei mir seit 2013 in Benutzung. Ich habe es erstmals bei dem Blogbeitrag Ownstagram ein eigenes Instagram verwendet. Das Plugin bindet verschiedene Stores anhand eines Shortcodes ein und zieht sich hier die gewünschten Daten aus dem Shop. Ein ... Weiterlesen
Ich habe nun meine Bannermeldung nach dem Telekommunikation-Telemedien-Datenschutz-Gesetz (TTDSG) abgeschaltet. Siehe hierzu auch das Urteil des Bundesgerichtshofs vom 28. Mai 2020, Aktenzeichen I ZR 7/16.Ich betrieb meine Installation von Matomo schon so, dass seitens Matomo keine Cookies gesetzt wurden. Durch das Abschalten der Kommentarefunktion in WordPress konnten auch hier auf Cookies verzichtet werden. Den letzten Teil ... Weiterlesen
Nach über 14 Jahren Gebrauch ist WordPress eine Art von Hassliebe. Es ist nicht so, dass ich nicht andere Plattform für das Schreiben im Netz ausprobiert hatte. Ich startete mit WordPress, besuchte Drupal,Octopress und Serendpity, um am Ende doch wieder bei WordPress zu landen. Somit sitze ich im Moment vor meinem, doch in die Jahre ... Weiterlesen
Ich habe mich entschlossen, die Kommentare in meinem Blog abzuschalten. Ursprung war wie immer der Frühjahrsputz in dem Blog. Hierzu habe ich eine Funktion genutzt, welche neben den Kommentaren auch die Trackbacks und Pings entfernt.Ein sehr großer Vorteil ist, dass ich die alten Kommentare hierdurch noch behalte. Früher übernahm das Plugin My Custom Functions von ... Weiterlesen
Am 16. September 2023 fanden in Halle am Institut für Informatik der Martin-Luther-Universität die Campus Medien Tage 2023 statt.
Hierzu wurde ich von der Studierendenzeitschrift hastuzeit angefragt, einen kleinen Workshop zum Thema WordPress durchzuführen. Da dies eine gute Plattform bot, die freie Software WordPress vorzustellen, habe ich nicht lange überlegt und ja gesagt. Ich wusste zu diesem Zeitpunkt nicht, in wie weit das Puplikum schon mit diesem Content-Management-System gearbeitet hat, deshalb habe ich mich kurzerhand dazu entschieden auf die Grundlagen von WordPress einzugehen und die Basics etwas näher zu beleuchten.
Da tatsächlich nur ein Viertel der anwesenden Studierenden mit WordPress (aus administrativer Sicht) bisher in Berührung kam, lag ich mit meinem Gefühl hier durchaus richtig. Einige Fragen konnten in der anschließenden Diskussion noch beantwortet werden.
Neben meinem Vortrag gab es viele weitere interessante Themen, wie Grafikbearbeitung, die richtige Verwendung von Suchmaschinen, Künstliche Intelligenz, Fotografie, Tipps zum redaktionellen Schreiben und Rechtliches, in Form von Vorträgen und Workshops.
Alles in allem war es eine sehr gute Veranstaltung, organisiert und durchgeführt von engagierten jungen und wissbegierigen Menschen.
Ich stelle hier meine Erwartung an eine Dokumentation heraus, zeige die Schwächen der exemplarisch ausgewählten Dokumentation heraus und gebe einen Tipp, wie man weniger schlechte Dokus schreibt. Ich schließe mit Fragen an meine Leserinnen und Leser und freue mich auf eure Rückmeldungen.
In meinen Augen sind folgende drei Abschnitte zwingender Bestandteil einer jeden Dokumentation:
Was ist dies für eine Anwendung? Wofür wird sie verwendet und wofür nicht?
Wie wird diese Anwendung installiert?
Wie wird diese Anwendung konfiguriert?
Die ersten beiden Punkte mag ich als erfüllt betrachten. Beim dritten Punkt sehe ich ein Problem.
Die Installationsanleitung ist prägnant. Sie enthält einen Link, der suggeriert, zur Konfigurationsanleitung zu führen. Dort erwartet den neugierigen Leser folgendes Bild.
Hier gibt es noch keine nützlichen Informationen zu sehen. Die Seite ist in meinen Augen überflüssig. Aber gut, ein Satz tut nicht weh. Mit einem Klick auf „Next“ geht es weiter.
Hier steht im Wesentlichen, dass Nutzer, welche sich bereits auskennen, zum nächsten Abschnitt gehen können. Leider finden sich für neue Nutzer hier kaum brauchbare Informationen. Der Hinweis, die Datei wp-config.php zu sichern, bevor man diese bearbeitet, ist nett, mehr nicht. Es wird erwähnt, dass die freie (im Sinne von Freibier) Version des Plugins durch Definition von Konstanten in der Datei wp-config.php konfiguriert wird. Wie so eine Konstante aussieht oder wo man weiterführende Informationen dazu findet, steht hier nicht. Ich habe an dieser Stelle entsprechende Hinweise erwartet. Gut, ich kann ja noch auf „Next“ klicken.
Auch in diesem Abschnitt findet sich keine Information, was man nun mit der Datei wp-config.php soll. Immerhin gibt es in Abschnitt 4.2.1. einen Link, der Nutzer, welche nicht mit der Konfiguration vertraut sind, zur Konfigurationsanleitung führen soll. Ich habe ein Déja Vu und fühle mich langsam ver…hohnepiepelt. Also klicke ich auf den nächsten LInk. Es heißt ja schließlich: „Was lange währt, wird endlich gut.“
TL;DR: Auch auf der nächsten Seite erfahren wir nichts über die wp-config.php.
Zur Erinnerung: Ich nutze die freie Version des Plugins WP fail2ban, welches angeblich durch die Definition von Konstanten in der Datei wp-config.php konfiguriert wird. Welche Konstanten dies sind und wie man diese konfiguriert, wird auch auf Seite 4 immer noch nicht mit einem Wort erklärt.
Stattdessen lernt man in Abschnitt „4.3.1.1. Typical Settings“, dass die Dateien wordpress-hard.conf und wordpress-soft.conf in das Verzeichnis fail2ban/filters.d zu kopieren sind. Hier wurden in meinen Augen zwei Fehler gemacht:
Es wird nicht erwähnt, wie man die Dateien wordpress-,{hard,soft}.conf erhält bzw. erstellt. Als unerfahrener Nutzer strandet man hier. Zum Glück hatte ich mir das damals aufgeschrieben.
Es wird eine relative Pfadangabe fail2ban/filters.d genutzt. Dies ist nicht ganz so wild, ich persönlich bevorzuge es, wenn vollständige Pfadangaben genutzt werden, damit Nutzer das entsprechende Verzeichnis sicher finden.
Fazit
Eine Dokumentation sollte die notwendigen Informationen bereitstellen, mit denen auch neue Nutzer eine Anwendung installieren und konfigurieren können. Dies ist nicht so leicht, wie es auf den ersten Blick erscheint, leiden Autoren, welche die Anwendung bereits kennen, doch häufig unter Betriebsblindheit und können sich nur schwer in die Rolle des unerfahrenen Nutzers versetzen.
Wenn ich selbst Dokumentationen schreibe, gebe ich diese meist Kolleginnen und Kollegen zu lesen und arbeite deren Rückmeldungen mit ein. Dies hat in der Vergangenheit zu deutlich besseren Ergebnissen geführt.
Die hier kritisierte Dokumentation ist ein Beispiel dafür. Sie befindet sich damit leider in guter Gesellschaft im Internet.
Ohne meinen Eingangs erwähnten Artikel hier im Blog wäre ich nicht in der Lage gewesen, mir dieses Plugin wieder einzurichten. Nun werde ich einige Tage prüfen, ob es wie erhofft arbeitet und dann ggf. einen Merge-Request mit einigen Verbesserungsvorschlägen einreichen.
Fragen an meine Leserinnen und Leser
Wie steht ihr zu Dokumentation? Ist das eher etwas für alte weiße Männer mit grauen Bärten? Oder wünscht ihr euch ebenfalls belastbare und ausführliche Dokumentationen zu den von euch verwendeten Anwendungen?
Tragt ihr selbst zu Dokumentationen bei? Welche Erfahrungen habt ihr dabei gemacht? Welche Tipps könnt ihr Schreiberlingen geben, die ihr Projekt dokumentieren möchten?
Bitte hinterlasst mir eure Antworten in den Kommentaren oder im Chat.
Sie wollen WordPress auf einem Server mit RHEL 9 oder einem Klon installieren? Diese Anleitung fasst alle erforderlichen Schritte zusammen. Dabei gehe ich davon aus, dass Sie über eine minimale Installation auf einem Root-Server oder in einer virtuellen Maschine verfügen. Ich habe meine Tests mit AlmaLinux 9 in einer Hetzner-Cloud-Instanz durchgeführt.
DNS-Einträge
Nachdem Sie Ihren Server in Betrieb genommen und sich mit SSH eingeloggt haben, ermitteln Sie die IP-Adressen, unter denen der Server nach außen hin erreichbar ist. Beachten Sie, dass das an sich nützliche Kommando hostname -I nicht in jedem Fall zielführend ist. Wenn Ihre virtuelle Maschine als EC2-Instanz in der Amazon Cloud (AWS) läuft, liefert das Kommando eine Adresse in einem privaten Netzwerk. Diese Adresse gilt aber nur AWS-intern! Sie müssen in der AWS-Konsole ergründen, welche IP-Adresse nach außen gilt.
Ich gehe hier davon aus, dass Ihre WordPress-Installation unter den Adressen example.com und www.example.com zugänglich sein soll und dass Sie IPv4 und IPv6 unterstützen. Dann müssen Sie für Ihre Domain example.com vier DNS-Einträge definieren. Naturgemäß müssen Sie die Beispiel-IP-Adressen durch Ihre echten IP-Adressen ersetzen. Normalerweise dauert es eine Weile (fünf Minuten bis hin zu mehreren Stunden), bis diese DNS-Änderungen wirksam werden.
Typ Name Zieladresse
----- ------- -------------------
A @ 1.2.3.4
A www 1.2.3.4
AAAA @ 2345:1234:1234::1
AAAA www 2345:1234:1234::1
Software-Installation
Auf Ihrem Server müssen Sie nun einen Webserver, einen Datenbank-Server sowie PHP installieren. Ich gehe hier davon aus, dass Sie Apache und MySQL verwenden. Statt Apache wäre natürlich auch NGINX denkbar, statt MySQL auch MariaDB. (Beachten Sie aber, dass die mit RHEL 9 uralte MariaDB-Versionen ausgeliefert werden. Wenn Sie MariaDB einsetzen möchten, sollten Sie den Datenbank-Server aus dem Repository von MariaDB installieren, siehe https://mariadb.org/download/?t=repo-config.)
Bei Cloud-Instanzen entfällt dieser Schritt normalerweise: Die meisten Cloud-Anbieter haben in ihren Instanzen die RHEL-interne Firewall deaktiviert und verwenden stattdessen Firewalls auf Cloud-Ebene, die über die Web-Oberfläche des Cloud-Systems konfiguriert werden muss.
Apache ausprobieren
Um zu testen, dass Ihre Website im Internet zugänglich ist, schreiben Sie »Hello World« in eine Datei im Webverzeichnis /var/www/html:
echo "Hello World" > /var/www/html/index.html
Nun öffnen Sie im Webbrowser auf Ihrem Notebook die Adresse www.example.com oder example.com. Statt »Hello World« wird der Webbrowser eine Sicherheitswarnung anzeigen, weil Ihr Server noch über kein richtiges Zertifikat verfügt. Das ist ein gutes Zeichen: Der Web-Server an sich funktioniert. Ihr Webbrowser erkennt, dass Ihr Server HTTPS unterstützt und will dieses verwenden.
Let’s-Encrypt-Zertifikat für HTTPS einrichten
Es gibt verschiedene Tools, um Zertifikate von Let’s Encrypt zu installieren. Meiner Ansicht nach funktioniert acme.sh am besten. Zur Installation führen Sie die folgenden Kommandos aus:
dnf install tar socat
curl https://get.acme.sh -o acme-setup
less acme-setup (kurze Kontrolle)
sh acme-setup email=admin@example.com
An die E-Mail-Adresse werden Warnungen verschickt, sollte in Zukunft die automatische Erneuerung von Zertifikaten nicht funktionieren. Damit Sie das frisch installierte Script verwenden können, müssen Sie sich aus- und neu einloggen. Jetzt fordern Sie das gewünschte Zertifikat an, wobei Sie natürlich example.com wieder durch Ihren tatsächlichen Hostnamen ersetzen:
acme.sh --issue -d --server letsencrypt example.com -d www.example.com -w /var/www/html
Your cert is in
/root/.acme.sh/example.com/example.com.cer
...
acme.sh speichert das Zertifikat also vorerst in Ihrem Heimatverzeichnis. Sie könnten die Zertifikatsdateien einfach in das /etc-Verzeichnis kopieren, aber das wäre keine gute Idee: Das Zertifikat muss regelmäßig erneuert werden, und acme.sh muss wissen, wohin die neuen Zertifikate dann kopiert werden müssen. Daher weisen Sie acme.sh an, die Zertifikate in das Verzeichnis /etc/mycert zu kopieren:
acme.sh merkt sich den Installationsort und berücksichtigt ihn in Zukunft automatisch bei Updates der Zertifikate. Für diese Updates ist das Kommando acme.sh --cron zuständig, das automatisch einmal täglich durch /var/spool/cron/root ausgeführt wird.
Die Zertifikatsdateien sind nun im /etc-Verzeichnis, aber Apache weiß noch nichts davon. Sie müssen also in der Webserver-Konfiguration angeben, wo sich die Verzeichnisse befinden. Dazu verändern Sie zwei Zeilen in ssl.conf:
# in /etc/httpd./conf.d/ssl.conf zwei Zeilen ändern
SSLCertificateFile /etc/mycert/example.com.fullchain
SSLCertificateKeyFile /etc/mycert/example.com.key
Jetzt starten Sie Apache neu:
systemctl restart httpd
Danach versuchen Sie nochmals, die Seite example.com im Webbrowser zu öffnen. Jetzt sollte alles klappen, d.h. »Hello World« wird verschlüsselt vom Webserver zum Webbrowser übertragen und der Webbrowser ist mit dem Zertifikat zufrieden.
MySQL absichern
Unbegreiflicherweise ist die MySQL-Installation von RHEL 9 und all seinen Klonen offen wie ein Scheunentor. Jeder Benutzer, der sich auf dem Linux-System anmelden kann, erhält mit mysql -u root ohne Passwort Root-Rechte für MySQL. Abhilfe schafft das Kommando mysql_secure_installation. Die folgenden Zeilen fassen stark gekürzt die wichtigsten Eingaben zusammen:
mysql_secure_installation
Would you like to setup VALIDATE PASSWORD component? n
New password: xxxxxx
Re-enter new password: xxxxxx
Remove anonymous users? y
Disallow root login remotely? y
Remove test database and access to it? y
Reload privilege tables now? y
MySQL-Datenbank einrichten
WordPress braucht eine Datenbank, in der Ihre Einstellungen, den HTML-Code Ihrer Blog-Beiträge, die Kommentare anderer Benutzer usw. speichern kann. Diese Datenbank sowie ein Datenbank-Nutzer, der darauf zugreifen darf, wird jetzt eingerichtet. Ich habe für die Datenbank und den Benutzer jeweils den Namen wp verwendet, aber natürlich sind Sie bei der Namenswahl frei.
mysql -u root -p
Password: xxxxxxx (gleiches Passwort wie bei mysql_secure_installation)
mysql> CREATE DATABASE wp;
mysql> CREATE USER wp@localhost IDENTIFIED BY 'strengGeheim';
mysql> GRANT ALL ON wp.* TO wp@localhost;
mysql> exit
WordPress-Dateien installieren
WordPress steht nicht als Paket zur Verfügung, sondern muss manuell installiert werden. Dazu laden Sie die Dateien herunter, packen Sie aus und weisen Ihnen die richtigen Zugriffsrechte samt SELinux-Kontext zu.
cd /var/www/html
rm index.html
wget https://de.wordpress.org/latest-de_DE.tar.gz
tar xzf latest-de_DE.tar.gz
chown -R apache wordpress
chcon -R system_u:object_r:httpd_sys_content_rw_t:s0 wordpress
rm latest-de_DE.tar.gz
Mit der Installation der WordPress-Dateien in /var/www/html/wordpress soll dieses Verzeichnis der Startpunkt für die Dateien in Apache sein. Daher mussdie Variable DocumentRoot von /var/www/html auf /var/www/html/wordpress umgestellt werden. Bei der Gelegenheit können Sie auch gleich den Server-Namen einstellen:
# in /etc/httpd/conf/httpd.conf zwei Zeilen ändern
DocumentRoot "/var/www/html/wordpress"
ServerName example.com
Damit die Einstellungen wirksam werden, ist das folgende Kommando notwendig:
systemctl reload httpd
WordPress konfigurieren
Damit ist es endlich soweit. Sie können nun mit der WordPress-Konfiguration beginnen. Dazu öffnen Sie die Seite example.com/wp-admin/setup-config.php. Im ersten Schritt müssen Sie den Namen der Datenbank, den Datenbank-User sowie dessen Passwort angeben.
Im nächsten Schritt legen Sie den Namen Ihrer Website sowie einen Benutzernamen und ein Passwort für die WordPress-Administration fest. Mit diesen Daten können Sie sich danach bei Ihrer neuen Seite anmelden und die mit Inhalten füllen.
Fine Tuning
Wenn alles funktioniert, sollten Sie sich noch um die folgenden Details kümmern:
Dieses Buch basiert auf der Arbeit von Richard Eisenmenger, der 2021 nach schwerer Krankheit verstarb und mit „WordPress 5 – Das umfassende Handbuch“ den Grundstein zu dieser Neuerscheinung legte. Florian Brinkmann konnte dieses Werk weitgehend überarbeiten, aktualisieren und erweitern. Die Teile dieses Buches bauen didaktisch aufeinander auf und sind somit für Neulinge und Fortgeschrittene gleichermaßen interessant.
Auch in dieser Ausgabe geht der Autor einleitend und ausführlich auf zwei entscheidende Unterschiede zum Betrieb von WordPress ein; will man die Seite selbst hosten oder hosten lassen. Ob Dot-org oder Dot-com entscheidet oft der Preis, aber auch die Frage, wie weit sich der Nutzer auf die Technik und die Vorzüge Freier Software selbst einlassen möchte.
Das Buch ist in vier Teile gegliedert.
TEIL I WordPress installieren und bedienen gibt dem Leser einen Einblick über die Möglichkeit einer lokalen Installation auf dem PC in einer Virtualisierungsumgebung zum Testen, aber auch zur finalen Installation bei einem Webhoster seiner Wahl. Als erste Anlaufstelle wird hier auf den Open-Source-Spezialisten Bitnami verwiesen, von dem man sich ein vorkonfiguriertes Anwendungspaket herunterladen kann, um WordPress auf einem PC oder Notebook auszuprobieren. Begrifflichkeiten, wie Frontend und Backend werden hinreichend besprochen. Weiterhin werden ausreichende Tipps und Hinweise zur Administration, Konfiguration und Absicherung der eigenen Webseite gegeben. Diese Erläuterungen setzt der Autor anhand des Themes Twenty Twenty-Two praxisnah um.
Mit WordPress 5.0 wurde im Jahre 2018 der neue Block-Editor Gutenberg eingeführt, auf den in diesem Teil sehr ausführlich eingegangen wird. Dies dient nicht nur dazu Kritiker dieses Editors zu überzeugen, sondern gibt einen Einblick in die vielfältigen Gestaltungsmöglichkeiten dieses Werkzeugs.
TEIL II WordPress-Website anpassen und erweitern geht auf die neuen Möglichkeiten des mit WordPress 6 eingeführten Full Site Editing ein. Hiermit wird dem Anwender eine Möglichkeit gegeben, die neuen Block-Themes noch freier und umfangreicher zu gestalten als im bekannten Customizer.
Weiterhin zeigt dieser Teil des Handbuches, wie man mit WordPress einen Blog, eine statische Webseite, eine Community-Seite oder einen Online-Shop mit WooCommerce aufbauen kann.
TEIL III WordPress optimieren und warten behandelt Themen wie Updates, Updateverhalten, Backups, Wartung, Suchmaschinenoptimierung und Umzug einer WordPress-Seite auf eine andere. Der Leser findet viele nützliche Tipps und Hinweise rund um die Sicherheit sowie den reibungslosen Betrieb der eigenen Webseite. Themen wie die Optimierung der Zugriffsgeschwindigkeit über Aktivierung eines Caches als Erweiterung, aber auch die Option, die Seite über ein Plugin bei Bedarf in einen Wartungsmodus zu versetzen, sind hinreichend beschrieben.
TEIL IV WordPress für Entwicklerinnen und Entwickler ist für diejenigen interessant, die noch tiefer in das Content Management System einsteigen möchten, um eventuell Plugins oder Themes selbst zu entwickeln bzw. die eigene Webseite noch individueller zu gestalten.
Das Buch umfasst 21 Kapitel.
Was Sie mit WordPress vorhaben und wo Sie jetzt weiterlesen
WordPress-Installation in wenigen Minuten
WordPress-Installation – flexibel
Online-Installation beim Webhoster
Administration und Konfiguration von WordPress
Inhalte veröffentlichen
Benutzer und Besucher
Design anpassen
Neue WordPress-Funktionen mit Plugins hinzufügen
Das Blog
Die Community
Einen Online-Shop mit WooCommerce betreiben
WordPress-Wartung und Pflege
Migrationen, Synchronisationen und Deployments
Sicherheit ausbauen
Performance- und Suchmaschinenoptimierung
Notfallmaßnahmen
Grundwissen für WordPress-Entwicklerinnen und Entwickler
Theme entwickeln
Plugin und Block entwickeln
Rechtliche Aspekte: Newsletter, Datenschutz und Cookies
„WordPress 6 – Das umfassende Handbuch“ ist, wie der Name schon verrät, ein ideales Nachschlagewerk für Einsteiger und versierte WordPress-Nutzer gleichermaßen. Florian Brinkmann geht in der fast tausendseitigen Überarbeitung dieses Werkes so ziemlich auf jedes Szenario ein und hilft dem Leser beim Auf- bzw. Ausbau der eigenen Webseite mit dem Content Management System WordPress. Zahlreiche Beispiele in Form von Code-Schnipseln helfen, dabei Fehler beim Abtippen zu vermeiden.
Dieses ausführliche Handbuch ist aus den zuvor genannten Gründen eine klare Empfehlung.
Wer wie ich seine WordPress-Seite über das beliebte Plugin Two-Factor absichert, wird bestimmt bemerkt haben, dass man mit den neuen Versionen 112 von Firefox und Google Chrome über seinen U2F-Token keinen Zugang mehr zum Backend bekommt. Wohl dem, der bei der Einrichtung zusätzlich auf TOTP gesetzt hat und sich vom System Backup-Codes erstellen ließ. Über diese Hintertüren erhält man trotz Verweigerung des Hardware-Keys Zugang zur eigenen Webseite.
Was ist passiert?
Ich vermute, dass die neuen Browserversionen die Nutzung von FIDO verweigern und nur noch den neueren Standard FIDO2 bzw. Webauthn zulassen, was zur Folge hat, dass einige Dienste im herkömmlichen Sinne den aktivierten Zugang über USB-Token, wie u.a. YubiKey verweigern. Ein weiteres Indiz hierfür wäre, die kaputte Webauthn-Anmeldung in Nextcloud 26, welche heute mit Version 26.0.1 gefixt wurde.
Wie kann WordPress nun wieder via YubiKey abgesichert werden?
Eine einfache Lösung wäre vorerst das Plugin WebAuthn Provider for Two Factor zu installieren, welches auf dem Plugin Two-Factor aufsetzt, bis der Entwickler dieses an die neuen Gegebenheiten angepasst hat. Hierbei wird die weitere Auswahlmöglichkeit Webauthn in der Einstellung des Profils hinzugefügt. Der zuvor aktivierte FIDO-Token wird automatisch übernommen und unter FIDO2 genutzt. Somit ist die Webseite wieder über den zweiten Faktor abgesichert.
Eine passwortlose Anmeldung wie in der Nextcloud ist aber leider nicht möglich.
Am 11. und 12 März 2023 finden nach dreijähriger Zwangspause endlich wieder die Chemnitzer Linux-Tage an der TU Chemnitz statt. Unter dem Motto „Bewusst sein“ treffen sich zahlreiche Aussteller, Vortragende und Besucher zum Thema Linux und freie Software auf dem Uni-Campus.
Ich freute mich riesig dieses Event nach 2019 wieder besuchen zu können, um interessante Leute zu treffen und Gedanken auszutauschen. Am ersten Tag verabredete ich mich mit meinem Mitstreiter Andi alias Waldstepper aus Berlin, um gemeinsam einige Vorträge zu besuchen.
Das Highlight war einmal mehr der lebendige Beitrag „Nachhaltiges Computing mit KNOPPIX“ von Prof. Dipl.-Ing. Klaus Knopper. Überlegungen zu CO2-Fußabdrücken des von Knopper entwickelten Betriebssystems sowie Einblicke in das Innenleben dieser Live-Distribution stießen auf reges Interesse.
Natürlich konnte ich noch weiteren interessanten Vorträgen lauschen, wie VPN via WireGuard, Programmierung mit Scratch und Ausführungen zur komplexen Thematik Linux-Desktop, wo darüber philosophiert wurde, warum sich das OS bis heute noch nicht im Desktopbereich durchsetzen konnte und was nötig wäre, um ein solches Projekt zu realisieren. Hier gab es natürlich interessante und praxisnahe Ansätze, die zum Nachdenken anregten.
Internet- bzw. Webseiten-Besitzer brauchen einen sicheren Zugang auf all Ihre Informationen im Internet. Dies wird unter den Herausforderungen der aktuellen Zeit aus IT-Sicht immer bedeutender. Man denke nur an unbefugte Zugriffe auf Ihre Webseite oder einen Hackerangriff, bei dem heikle Daten gestohlen werden könnten. Aus diesen Gründen ist es wichtig, auf das richtige Webhosting vertrauen zu können. Auf dem Computersystem können all diese Informationen sicher verwahrt werden, wenn bestimmte Kriterien eingehalten werden. Der Kern des Hosting-Programms ist das Computersystem auf dem die Webseiten gehostet werden. Als Internetbenutzer müssen Sie Ihre Webseite unter Ihrem Browser suchen bzw. verwenden. Das ermöglicht Ihnen den Zugriff auf die eigene Webseite. Wenn eine sichere Verbindung gefunden worden ist, wird der Computer diese manifestieren. Steht diese Verbindung erst einmal, dann lässt sich über diese Verbindung ein Datenfenster zum Webserver herstellen. Bei der Auswahl einer sicheren Verbindung ist man stark von der Wahl des Hosting-Anbieters bzw. des Servicepakets abhängig. Man unterscheidet zwischen verschiedenen Hosting-Modellen auf die wir im folgenden Unterkapitel kurz näher eingehen möchten.
Welche Arten von Hosting-Services werden heute angeboten
Sie werden es kaum glauben, aber es wird auch heute noch kostenloses Hosting dem Kunden angeboten. Von diesem Paket dürfen Sie sich allerdings nicht allzu viel erwarten. Es gilt aber als Basisversion, die durchaus als Einstiegspaket gedacht ist. Ein kostenloser Webhosting Dienst bietet diesen Service unter Einschränkungen für eine eingeschränkte Anzahl an Webseiten an. Ein bedeutender Service ist das sogenannte virtuelle Webhosting. Bei diesem Service können verschiedene Webseiten auf einem einzigen Webserver gehostet werden. Eine Voraussetzung ist die Verbindung zum Internet.
Wenn viel Traffic gemanagt werden muss
Damit lässt sich bereits der Start einer Influencer Karriere aufbauen. Der Vorteil liegt vor allem bei einem sehr günstigen Preis. Für einen erschwinglichen Preis erhalten Sie inzwischen gute Leistungspakete. Ebenso bieten viele Anbieter einen technischen Kundendienst an. Interessant dürfte vielleicht auch ein sogenanntes dediziertes Hosting sein. Dieser Service wurde speziell für Webseiten mit einem hohen Traffic-Volumen hergestellt. Hier wird ein kompletter Webserver angemietet und die sichere Internetverbindung läuft über ein Hosting-Unternehmen. Vor allem Unternehmen mit einem starken Wachstum werden auf diesen Service zurückgreifen. Große Webseiten mit einem hohen Datenaufkommen sind bei diesem Service bestens aufgehoben.
Nach einem kurzen Umzug letzte Woche in Richtung PHP 8.0 bzw. PHP 8.1 verweigerte WordPress leider den Dienst. Scheinbar habe ich es mir leichter vorgestellt als es in Wirklichkeit sein sollte. Hier kann nur mein veraltetes Theme und vielleicht ein Plugin die Ursache sein. Um einen Überblick über die letzten Updates der Plugins in WordPress ... Weiterlesen
In letzter Zeit rollt wieder eine Abmahnwelle übers Land, die den ein oder anderen Betreiber eigener kleiner WordPress-Seiten kalt erwischen dürfte. Dieses Mal ist der Stein des Anstoßes die mögliche Einbinung von Google Fonts. Nicht, dass die Verwendung dieser Schriftarten nicht erlaubt wäre. Nein, es geht darum, dass diese Schriftarten von Google beim Aufruf der Seite i.d.R. erst heruntergeladen werden und es hierbei zu einem Austausch von IP-Adressen kommt, was kritisch bewertet wird.
Abhilfe schafft hier das Plugin Local Google Fonts. Dieses aktiviert man und setzt das Häkchen „Schriften automatisch laden“ (siehe Grafik). Danach besucht man die eigene Seite und klickt sich durch die Inhalte. Die entdeckten Google-Schriftarten werden nun lokal auf die Webseite geladen. Der Besucher bekommt diese dann nun direkt von der Webseite ausgeliefert und tauscht somit keine IP-Adressen mit Dritten (Google) aus.
Der Umzug meiner Website zum Hoster all-inkl.com gestaltete sich etwas holprig. Nun sind aber zum Glück alle Artikel wieder verfügbar. Auf ein Problem stieß ich im Nachhinein dennoch. Und zwar gibt es im Footer den Bereich „Redaktionstipp„. Dieser füllte sich, als die Seite noch auf meinem Server lief, automatisch. Nach dem Umzug blieb diese Kategorie jedoch leer.
Das von mir verwendete Theme Newspaper von tagDiv bietet zwar zahlreiche Möglichkeiten der Darstellung meiner WordPress-Seite, jedoch erschloss sich mir nicht, wie ich Artikel in die zuvor erwähnte Rubrik schieben bzw. darstellen konnte. Nach ein wenig Recherche im Support-Forum fand ich dann den ausschlaggebenden Hinweis zu den fehlenden Redaktionstipps. Die Lösung ist hierbei relativ einfach. Ich musste nur die Kategorie „Featured“ anlegen. Hierüber kann ich nun Beiträge wie gewünscht kennzeichnen und darstellen lassen.
Kaufberater.io bewertet intux.de als eine der besten Webseiten 2022.
Auswahlverfahren
Dem Team von Kaufberater.io geht es um großartige Inhalte. Deshalb haben wir eine mehrstufige Untersuchung von Websites in verschiedenen Kategorien durchgeführt. Das Ergebnis: Die besten Websites werden mit unserem Qualitätssiegel „Top Webseite 2022“ ausgezeichnet.
Sie haben 35/40 in unsererem großen Webseiten-Vergleich gesammelt und qualifizieren sich damit für unsere Auszeichnung „Beste Webseite 2022“ (mind. 30 / 40 Punkte erforderlich).
Schritt 1: Identifizierung der Kandidaten
Zunächst wurde eine Liste mit allen Websites erstellt. Die Daten stammen aus verschiedenen Datenquellen wie Online-Verzeichnissen und CMS-Systemen (WordPress, Blogspot usw.). Zeitungen, Fachzeitschriften, Portale und ausländische Websites wurden aus der Liste der Kandidaten aussortiert.
Schritt 2: Relevanz
Von den übrigen Websites wurden alle Websites entfernt, die weniger als 5 Beiträge pro Jahr veröffentlichten. Darüber hinaus wurden Websites mit sehr geringem monatlichem Datenverkehr aussortiert.
Schritt 3: Detaillierte Recherche
Die übrigen Websites wurden von Kaufberater.io-Experten anhand objektiver und subjektiver Kriterien geprüft. Der Forschungskatalog enthielt Merkmale in 4 Kategorien. Anhand eines Punktesystems wurden dann die Gewinner der Umfrage ermittelt.
Die Bewertungskriterien
Die Auszeichnung basiert auf einer Bewertung in vier Bereichen:
UX / Benutzerfreundlichkeit
Vertrauen und Sicherheit
Informationsgehalt & Forschung
Dienstleistungen & Kommunikation
UX / Benutzerfreundlichkeit
Wie hochwertig ist das Layout und die Seitenstruktur?
Wie funktionell ist die Programmierung der Website?
Wie praktisch ist die Suchfunktion? Gibt es einen automatischen Abschluss?
Vertrauen und Sicherheit
Werden personenbezogene Daten nur erhoben, verarbeitet, genutzt und an Dritte weitergegeben, soweit dies gesetzlich zulässig ist oder der Nutzer seine Einwilligung gegeben hat?
Werden Informationen über die Verwendung personenbezogener Daten in verständlicher und leicht zugänglicher Form bereitgestellt?
Gibt es Informationen zur Datensicherheit (z.B. SSL)
Wie vertrauenswürdig ist die Website?
Ist ein Ausdruck und eine Datenschutzerklärung vorhanden und wenn ja, sind diese auf der Homepage verlinkt?
Informationsgehalt & Recherche
Wie gründlich werden die Stellen recherchiert?
Werden die Artikel durch visuelle Elemente (Bilder, Grafiken, Videos) unterstützt?
Wird der Inhalt professionell wiedergegeben?
Wer betreibt die Website?
Wie lange ist die Website bereits in Betrieb?
Wie beliebt ist die Website?
Dienstleistungen & Kommunikation
Kommuniziert die Website mit ihren Lesern (z. B. in Kommentaren)?
Bietet die Website weitere Dienstleistungen an (z. B. E-Books / Online-Kurse)?
Verfügt die Website über Social-Media-Kanäle?
Wie viele Follower hat die Website auf den verschiedenen Plattformen?
Ich habe soeben eines meiner Lieblingsplugins des Jahres entdeckt. Wie eine Seuche greifen die Meldungen im administrativen Bereich von WordPress um sich. Trotz vermehrten Rufe nach einer Änderung gibt es hier nicht wirklich ein Vorankommen. Das Plugin ermöglicht mir die administrativen Meldungen von Plugins komplett abzuschalten, oder auch Meldungen nur für bestimmte Plugins freizugeben. Hier ... Weiterlesen
Es hat ja nun ein wenig gedauert bis ich mich bewegt habe.Ich selbst genieße den Darkmode jeden Abend an meinen Rechnern und sehe Ihn als Standard an.Erzwingen muss ich Ihn via Firefoxplugin bei manchen Seiten, aber sind wir ehrlich, ich bin eigentlich auch nicht besser. So wenig Zeilen Script, so eine positive Änderung für die ... Weiterlesen
Wenn man eine neue Webseite erstellt oder die bestehende Webseite überarbeiten möchte, ist eine „Coming soon“ oder „Bald gibt es etwas neues“-Seite oft angemessen. Da ich häufig Webseiten mit WordPress gestalte, habe ich hierfür auch eine Idee gesucht.
Den Wartungsmodus kann man in WordPress relativ schön gestalten, wenn man das Plugin WP Maintenance Mode installiert. Das Plugin ist schlank und macht genau das was es soll: eine Coming Soon Seite anzeigen.
Das Plugin ist sehr minimalisitisch und bietet ein paar wenige Features. Ich halte mich dabei gerne an die Regel „weniger ist mehr“. Das bedeutet, dass ich meistens nur ein Bild anzeigen lasse. Es gibt noch mehr Möglichkeiten, zum Beispiel ein Countdown und die Möglichkeit, Text zu schreiben. Mir genügt lediglich das Bild.
Ein responsive-Bild lädt man übrigens über den Hintergrund hoch. Er wird standardmäßig über CSS so formatiert, dass immer die volle Breite des Fensters verwendet wird.
background-size: cover;
Manche Bilder wirken aber besser, wenn man die volle Höhe anzeigt und die Ränder links und rechts abschneidet. Das kann man machen, wenn man folgenden Code im Plugin-Editor in die Datei wp-maintenance-mode/includes/functions/helpers.php einfügt:
Die Sicherheit einer Webseite ist ein sehr wichtiges Thema. Man muss sich stets darum kümmern, auch wenn es lästig sein kann. Wer seine Webseite mit WordPress betriebt hat es auf der einen Seite sehr einfach, auf der anderen Seite aber auch wieder schwierig.
Die Sicherheitsvorteile, die WordPress mit sich bringt
WordPress ist sehr weit verbreitet. Millionen von Webseite laufen über diese Software. Die Entwicklung findet in einer sehr aktiven Community statt. Darin sind viele Sicherheitsexperten, die sich um das Beheben von Sicherheitslücken kümmern. Da diese Software so stark entwickelt wird, bleiben Sicherheitslücken nicht lange offen sondern werden zeitnah geschlossen.
Durch die Popularität von WordPress wird es für Angreifer aber auch wieder attraktiv, die Software zu knacken. Denn hat man einmal eine Lücke gefunden, kann man sie bei vielen Webseiten verwenden. Und schon sind wir beim typischen Katz-und-Maus-Spiel zwischen Hackern und Sicherheitsexperten.
Die Sicherheit von WordPress erhöhen
Mit den folgenden Artikeln habe ich Möglichkeiten gezeigt, wie man typische Eintrittstore von WordPress ausfindig macht und wie man wieder schließen kann. Die Goldene Regel der Sicherheit für jegliche Software lautet: Updates installieren, Updates installieren und Updates installieren. Alles weitere habe ich in einzelnen Artikeln zusammengefasst.
Mit der Datei .htaccess auf dem Webserver kann man WordPress serverseitig absichern. Die Angreifer möchten mit ihren Botnetzen das Passwort der Benutzer erraten. Wenn wir unsere Anmeldeseite von WordPress einfach hinter die abschließbare Tür unseres Servers packen, erhöhen wir die Eintrittshürde für Angreifer erheblich. Wie das geht und wie man das ganz genau Installiert, habe ich in einer Schritt-für-Schritt-Anleitung zusammengefasst.
Bei Softwareentwicklern und auch bei Angreifern ist die xmlrpc.php von WordPress sehr beliebt. Sie ist eine Schnittstelle für die Entwickler, worüber sie auf viele Funktionen von WordPress zurückgreifen können. Für Hacker ist das ein gefundenes fressen, denn sie können die Datei verwenden, um massenhaft Passwortanfragen zu stellen. In dieser Anleitung erkläre ich, warum die xmlrpc.php so gefährlich ist und wie man sie deaktivieren kann.
Die Goldene Regel der Sicherheit lautet Updates, Updates, Updates. Doch manchmal verliert man den Überblick über die Software, die in WordPress so eingebunden wird. Dazu zählen natürlich die Plugins, aber auch die Themes von WordPress. Man kann nicht nur im Backend von WordPress erkennen, welche Softwareversion die Plugins haben. Auch über das Frontend bzw. Schnittstellen vom Server kann man die Softwareversionen, und damit den Sicherheitsstatus, erkennen. Was man mit dem Programm wpscan so alles sieht und wie man es verwendet, wird in dieser Anleitung erklärt.
WordPress ist ein weit verbreitetes Content-Management-System. Eine sehr große Anzahl an Webseiten weltweit werden damit erstellt. Früher war es rein für Blogs gedacht, doch der weite Umfang der Funktionen, die einfache Handhabbarkeit und die Vielzahl an Erweiterungen hat dazu geführt, dass auch vollwertige Webseiten auf WordPress aufbauen.
Viele der Administratoren sind Laien und lassen sich von der Einfachheit der Software überzeugen. Leider werden so auch oft Updates vernachlässigt und sich auch sonst sehr wenig um die Sicherheit gekümmert. Diese Faktoren – starke Verbreitung, laienhafte Admins, Vielzahl an Plugins – macht WordPress auch attraktiv für Angreifer.
Bruteforce-Angriffe sind bei WordPress-Admins sehr bekannt. Unbekannte versuchen, häufig mit osteuropäischen IPs, durch plumpes Raten die Passwörter zu erhalten. Dabei setzen sie Bots ein, die selbstständig lange Listen an Passwortvorschlägen abarbeiten und so hoffen, das richtige Passwort zu erraten. Der Schutz der wp-login.php über .htaccess ist zumindest der erste Schritt, dieses Verfahren einzudämmen. Doch es gibt noch ein weiteres, sehr großes Fenster, über das Angreifer Eintritt suchen: die xmlrpc.php.
Was ist die xmlrpc.php?
Unter XML-RPC (Extensible Markup Language Remote Procedure Call) versteht man eine Schnittstelle zwischen einem System (hier WordPress) und externen Funktionen. Sie kümmert sich beispielsweise um Pingbacks, also ein- und ausgehende Mitteilungen von anderen Webseiten. Außerdem greifen verschiedene Plugins (wie beispielsweise Jetpack) oder Apps darauf zu. Es ist sozusagen die Schnittstelle zur Außenwelt.
Das wird uns Betreibern nur dann zum Verhängnis, wenn jemand versucht sie zu missbrauchen. Denn abgesehen von den gewollten Funktionen kann man diese Schnittstelle auch für Bruteforce Methoden verwenden. Hier können Angreifer gleich eine Vielzahl an Passwörtern ausprobieren, um das richtige zu erraten.
Seit WordPress 3.5 ist die Datei standardmäßig aktiviert. Vorher musste man im Admin-Panel die Funktion aktivieren.
Warum sollte man die xmlrpc.php deaktiveren?
Die xmlrpc.php hat die primäre Funktion, WordPress zu vernetzen und Funktionen von außerhalb des Admin-Panels zu verwenden. Etliche Plugins brauchen diese Funktion, doch lange nicht jeder Benutzer verwendet solche Erweiterungen. Gerade wer WordPress eher als statische Seite verwendet, kann in der Regel auf die Funktionen der xmlrpc.php verzichten. In diesem Fall bietet sie Angreifern eine potentielle Zielscheibe und macht damit die Seite unsicher.
So deaktiviert man die xmlrpc.php in WordPress
Es gibt zwei Wege, wie man die Datei sinnvoll deaktiviert. Der erste davon beschreibt, wie man die Funktion „von innen heraus“ deaktiviert. Dazu editiert man die functions.php des aktuellen Themes und fügt dort folgenden Codeschnipsel hinzu.
Die wichtigsten Schutzmaßnahmen für WordPress sind die gleichen wie für jede andere Anwendung auch: Verwendet sichere Passwörter und haltet die Software auf dem neuesten Stand, vor allem wenn sicherheitsrelevate Updates erschienen sind.
WordPress ist ein Content-Management-System (CMS), das sich sehr weit verbreitet hat. Die Einfachheit der Installation und Bedienung hat stark dazu beigetragen, dass sich WordPress im Internet zu einer starken Größe etabliert hat. Viele Webseiten sind damit ausgestattet.
Kleine Firmen nutzen für ihre erste Webseite dieses CMS, denn mit nur wenigen Klicks ist die Internetseite erstellt und mit den vielen Plugins lässt sich der Funktionsumfang stark erweitern.
Die große Verbreitung von WordPress macht die Software interessant für Angreifer. Hacker freuen sich regelrecht auf so weit verbreitete Systeme. Wenn dort eine Sicherheitslücke bekannt wird, lassen sich gleich viele Webseiten angreifen und vielleicht sogar übernehmen. Umso wichtiger ist es, solchen Angriffen aus dem Internet vorzubeugen und zu wissen, wie sicher die eigene WordPress-Installation ist.
Eigene Webseite auf Sicherheitslücken untersuchen und vor Angreifern schützen
Um die eigene Webseite vor Angreifern zu schützen, gibt es verschiedene Wege. Der wichtigste Punkt ist es, die Software aktuell zu halten und regelmäßig die Updates zu installieren. Außerdem sind schwierige Passwörter wichtig für das Sicherheitskonzept. Die besten Sicherheitsmaßnahmen nützen nichts, wenn die Passwörter leicht zu erraten sind.
Um die Sicherheit auf der eigenen Webseite zu erhöhen, muss man zunächst die Schwachstellen kennen. Die Sicherheitslücken von WordPress kann man mit dem Programm wp-Scan aufdecken. Das kleine Tool untersucht WordPress-Installationen und zeigt Sicherheitslücken auf. Solche Scans sollte man von Zeit zu Zeit durchführen, um den Überblick zu behalten.
Um einen Angreifer entgegentreten zu können, sollte man seine Werkzeuge kennen. Wenn man diese Werkzeuge kennt, kann man sie selbst einsetzen und kämpft mit gleichen Waffen. wpscan ist dann schon der erste wichtige Schritt. Denn diese Software wird gerne verwendet, um verwundbare WordPress-Seiten zu finden.
Sicherheitsmaßnahmen überprüfen
Es gibt viele Plugins, die einem höhere Sicherheit für WordPress versprechen. Es gibt zum Beispiel Erweiterungen, die die WordPress-Version der Webseite verschleiern sollen. Außerdem können angeblich Benutzernamen versteckt werden. Auch den Namen „admin“ sollte man vermeiden.
Diese Sicherheitsmaßnahmen sind sehr gut, doch ihre Wirksamkeit kann man nicht einfach überprüfen. Mit wpscan kann man es, denn das versucht über verschiedene Wege, Infos aus der Webseite zu crawlen. Die Sicherheitsmaßnahmen der Plugins kann man sofort feststellen, indem man seine Seite mit wpscan überprüft.
Installation von wpscan
Wpscan ist ein Projekt für UNIX und ist leider nicht auf Windows lauffähig. Um es unter Windows nutzen zu können, könnt ihr euch in einer Virtuellen Box eine Linuxdistribution installieren und von dort aus mit der Anleitung fortfahren.
Schritt 1: Die Installation der Abhängigkeiten von wpscan könnte ihr unter Ubuntu mit folgendem Befehl tun. Das Projekt läuft über git, daher wird es mit installiert.
Schritt 2: Das Programm selbst installiert man mit folgenden Befehlen in der Kommandozeile:
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test
Schritt 3: Ausführen kann man das Program mit folgenden Befehlen. Es gibt jetzt eine Liste mit interessanten Meta-Informationen über die WordPress-Seite aus: Welche Version ist installiert, welches Theme, welche Plugins und welche Versionen jeweils. Es zeigt sogar an, ob es die aktuelle Version ist, oder ob es Updates davon gibt.
Unsichere WordPress Plugins, Themes und Benutzer entdecken
ruby wpscan.rb --update
ruby wpscan.rb --url http(s)://www.deineSeite.com --enumerate p
Die Ausgabe sieht danach etwa so aus.
Gleiches Prinzip gilt für die Suche nach installierten Themes
ruby wpscan.rb --url http(s)://www.deineSeite.com --enumerate t
oder nach Benutzern
ruby wpscan.rb --url http(s)://www.deineSeite.com --enumerate u
Fazit
Das Programm ist sehr mächtig und zeigt einem erstmal, wie verwundbar eine WordPressseite eigentlich ist. Dadurch wird es offensichtlich: man sollte seine Installation sauber halten. Je mehr Plugins man installiert, desto angreifbarer wird die Seite. Jedes Plugin birgt potentielle Sicherheitslücken, die mit wpscan offensichtlich werden.
Es ist wichtig, die Webseite abzusichern. Wenn die Webseite übernommen wird, können Kriminelle ihre verbotenen Daten über den Server verteilen. So wird man schnell zum Mittäter, was sehr gefährlich werden kann.
Weitere Sicherheitsmaßnahmen sind wichtig. Diese kann man mit wpscan direkt testen, was die Wirksamkeit sofort zeigt. Um die Sicherheit von WordPress zu verbessern, sollte man sich mit wpscan befassen.
WordPress Seiten findet man immer häufiger im Internet. Das schlanke CMS ist sehr einfach zu bedienen und deshalb auch für Einsteiger interessant. Auch Firmen nutzen zum Start ins Internet sehr oft WordPress und tragen so zur rasanten Verbreitung bei. Die vielen Installationen von WordPress machen das Content-Management-System auch für Angreifer interessant. Die Bedienung von der Software ist so einfach, dass auch Web-Anfänger WordPress installieren und sich danach wenig um die Updates kümmern. Das öffnet Angreifern Tür und Tor.
Angreifer wollen euren Speicherplatz
Auch bei aktuell gehaltener Software und einer Minimalanzahl von Plugins gibt es genügend Schwachstellen, die man angreifen kann. Die größte Schwachstelle – und da kann WordPress selbst leider wenig machen – ist der Benutzer selbst. Durch zu leichte Passwörter lassen sich viel zu einfach Webseiten übernehmen.
Warum sollte jemand meine Webseite hacken?
In wenigen Ausnahmefällen interessiert sich der Angreifer tatsächlich für diese spezielle Webseite. Ein Wettbewerber könnte bei einer Firma gezielt Falschinformationen verbreiten, um sich selbst als besser da zu stellen. Das kommt vermutlich eher seltener vor.
In den allermeisten Fällen interessiert sich der Angreifer nicht für die eigentliche Webseite. In erster Linie geht es um die Übernahme des Servers bzw. zumindest des Speicherplatzes. Wer ins Backend von WordPress kommt, hat die Berechtigung, Dateien hochzuladen. Das ist ganz interessant, vor allem wenn es um urheberrechtlich geschütztes Material geht. Noch brisanter wird es, wenn es um illegale Daten geht, etwa gewaltverherrlichende Videos oder Kinderpornografie.
Als dritten Grund möchte ich Suchmaschinenoptimierung nennen. Wer von vielen Internetseiten Links auf seine Seite erhält, wird bei Google besser gerankt. Wer viele Zugangsdaten zu Webseiten hat, kann auch viele Links streuen und damit besser bei Google gefunden werden.
Wie kann ich Angreifer abhalten?
Es gibt sehr viele Sicherheits-Plugins für WordPress, die einem das Blaue vom Himmel versprechen. Zweifelsohne: Einige davon mögen hilfreich sein. Effektiver ist es aber, die Sicherheitsfunktion des Servers zu nutzen. Diese schützen auch vor so genannten Brute Force Attacken, bei denen Angreifer mit viel Rechenpower versuchen, die Passwörter zu erraten.
Sicherer Schutz der WordPress Anmeldeseite durch .htaccess
Mit der .htaccess-Datei kann man die Sicherheitsfunktion des Servers nutzen. Dabei ist das Prinzip so: Wenn man sich bei WordPress einloggen möchte, wird die Datei wp-login.php verwendet. Ohne diese Datei kann man sich nicht im Backend einloggen. Mit der .htaccess-Datei gibt man dem Server die Anweisung, dass nicht jeder auf diese Datei zugreifen darf. Wer diese Datei aufruft, muss seine Berechtigung dazu nachweisen – über einen Benutzernamen und Passwort.
.htaccess- und .htpasswd-Datei erstellen
Mit zwei einfachen Textdateien kann man den Serverschutz aktivieren.
.htaccess aktiviert das zugehörigen Servermodul und startet damit den Schutz der wp-login.php
.htpasswd enthält die Benutzernamen und (verschlüsselte) Passwörter, die den Zugang zu wp-login.php gewähren.
Schritt 1: Zunächst erstellt man die .htpasswd. Mit z.B. dem htpasswd-Generator kann man das Passwort verschlüsseln lassen und im Editor von Windows speichern. Mehrere Einträge sind möglich und sollten untereinander in die Datei geschrieben werden. Speichert die Datei unter dem Namen a.htpasswd auf dem Rechner ab.
Schritt 2: Jetzt erstellt man die .htaccess-Datei und füllt sie mit folgendem Inhalt. Speichert sie unter dem Namen a.htaccess auf dem PC ab.
# Stop Apache from serving .ht* files
<Files ~ "^.ht">
Order allow,deny
Deny from all
</Files>
# Protect wp-login
<Files wp-login.php>
AuthUserFile /pfad/zur/.htpasswd
AuthName "Private access"
AuthType Basic
</Files>
Die Zeile die mit AuthUserFile anfängt, muss natürlich angepasst werden. Wenn ihr nicht wisst, wie der genaue Pfad dorthin lautet, erstellt fix eine PHP-Datei (zum Beispiel „pfad.php“) mit folgendem Inhalt, ladet sie mit FTP hoch und ruft sie im Browser auf (www.example.com/pfad.php). Löscht die Datei danach gleich wieder!
Schritt 3: Beide Dateien, a.htaccess und a.htpasswd werden mit FTP im WordPress-Hauptverzeichnis abgelegt.
Mit FTP die htaccess-Datei in das WordPress Hauptverzeichnis ablegen
Schritt 4: Benennt beide Dateien auf dem Server um, indem ihr das a vor dem Punkt entfernt. Die Dateien heißen jetzt .htaccess und .htpasswd und entfalten ihre Funktionen.
Hinweis: Falls dort schon .htaccess ist, öffnet die alte Datei und fügt den neuen Inhalt unten drunter hinzu!
Wie schützt mich die .htaccess-Datei vor Angreifern?
Professionelle Angreifer sitzen nicht mehr selbst am PC und versuchen die Passwörter zu knacken. Stattdessen nutzen sie Bot-Netzwerke und greifen automatisiert WordPress-Seiten an. Die Bots suchen gezielt nach einfachen Systemen und nutzen Schwachstellen von WordPress. Wenn dieser Bot nun auf das zusätzliche Sicherheitssystem stößt, bricht er entweder ab, oder er bricht sich die Zähne aus.
Was kann ich für meine Sicherheit tun?
Das wichtigste ist natürlich, die Software aktuell zu halten. Die Entwickler von WordPress bringen immer mal wieder Updates für die Software heraus, die man stets installieren sollte. In den meisten Fällen geht es dabei um Sicherheitsupdates.
Weiterhin sehr wichtig sind sichere Passwörter. Noch ist diese Botschaft nicht bei jedem angekommen, denn viel zu viele Leute verwenden viel zu einfache oder zu kurze Passwörter.