Lese-Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.

WordPress auf dem Kriegspfad

Von: Ferdinand

Das Open-Source-CMS WordPress kommt aus den Schlagzeilen derzeit nicht mehr raus. Grund ist ein Streit zwischen WP-Mitbegründer Matt Mullenweg und der Firma WP Engine, einem der größten WP-Hoster überhaupt.

Quelle

WordPress 6 Schnelleinstieg

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
  • WordPress anpassen
  • Seiten und Beiträge verfassen und bearbeiten
  • Design anpassen
  • Funktionalität erweitern mit Plugins
  • Tipps für Fortgeschrittene

Leseproben und Downloads

Inhaltsverzeichnis und Leseprobe

Fazit

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.

Neues Theme in WordPress neue Darkmode CSS

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

Der Beitrag Neues Theme in WordPress neue Darkmode CSS erschien zuerst auf Got tty.

Entfernen des gist-Plugins und YouTube aus WordPress

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

Der Beitrag Entfernen des gist-Plugins und YouTube aus WordPress erschien zuerst auf Got tty.

Plugin WP-Appbox für WordPress deaktiviert

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

Der Beitrag Plugin WP-Appbox für WordPress deaktiviert erschien zuerst auf Got tty.

Cookieless WordPress seit heute

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

Der Beitrag Cookieless WordPress seit heute erschien zuerst auf Got tty.

Auf ein Minimum in WordPress

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

Der Beitrag Auf ein Minimum in WordPress erschien zuerst auf Got tty.

PHP Code entfernt Kommentarfunktion in WordPress

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

Der Beitrag PHP Code entfernt Kommentarfunktion in WordPress erschien zuerst auf Got tty.

WordPress-Plugin Fastest Cache ermöglicht SQL-Injection

Experten von WPScan haben während einer internen Überprüfung des WordPress Fastest Cache Plugins eine schwerwiegende SQL-Injection-Schwachstelle entdeckt.

Diese Schwachstelle ermögliche es nicht authentifizierten Angreifern unter Umständen, den gesamten Inhalt der WordPress-Datenbank mithilfe eines zeitbasierten blinden SQL-Injection-Payloads zu lesen, heißt es in der Mitteilung von WPScan.

Nach Entdecken der Schwachstelle habe man das Plugin-Entwicklungsteam alarmiert, das die Version 1.2.2 veröffentlicht habe, die das Problem behebe, teilen die Security-Experten mit. Administratoren sollten sicherstellen, dass ihre WordPress-Installationen vollständig aktualisiert sind, um sich vor dieser Sicherheitslücke zu schützen, heißt es weiter.

Der Beitrag WordPress-Plugin Fastest Cache ermöglicht SQL-Injection erschien zuerst auf Linux-Magazin.

WordPress 6.4 mit neuem Theme und Verbesserungen

Die neue Version 6.4 des Content-Management-Systems WordPress bietet ein neues Theme, eine verbesserte Symbolleiste und eine überarbeitete Befehlspalette. Vorlagen lassen sich in Kategorien sammeln, zudem haben die Entwickler bei den Bildern nachgelegt.

Das neue Standard-Theme Twenty Twenty-Four richtet sich vor allem an Autoren, Künstler und Unternehmen. Wie das breite Anwendungsspektrum zeigt, ist das Theme äußert flexibel einsetzbar.

Bei der Eingabe von Text erscheint über ihm eine schwebende Symbolleiste mit häufig benötigten Formatierungsaktionen, wie etwa Fettdruck. In WordPress 6.4 verhält sie sich bei Navigation-, List- und Quote-Blöcken etwas anders: Dort schwebt sie ab sofort über dem ganzen Block und nicht mehr über dem gerade bearbeiteten Child-Block. Dies verbessert vor allem die Übersicht.

Autoren können direkt in der Link-Vorschau festlegen, dass sich die Seite in einem neuen Tab öffnen soll. Im Navigation-Block darf man zudem Schaltflächen hinzufügen. Listen lassen sich zudem jetzt einfacher zusammenführen.

Überarbeitet haben die Entwickler auch die Befehlspalette, die mit der Vorversion eingeführt wurde und über die man schnell eine gesuchte Aktion aufruft. In WordPress 6.4 präsentiert sie sich in einer aufgefrischten Optik und kennt Block-spezifische Aktionen.

Das CMS legt auch bei den Bildern nach: So darf man Group-Blöcke nicht nur umbenennen, sondern auch mit einem Hintergrundbild tapezieren. WordPress 6.4 bietet von Haus aus den Lightbox-Effekt – bisher musste man dazu auf Plugins zurückgreifen. Die List View bietet neue Vorschauen für Gallery- und Image-Blöcke und kennt neue Tastenkürzel.

Vorlagen darf man nicht nur in Kategorien gruppieren, sondern auch nach weiteren Kriterien filtern. Darüber hinaus lassen sich Vorlagen im JSON-Format exportieren und in einer anderen WordPress-Installation wieder importieren. Dies soll vor allem den Austausch von Vorlagen vereinfachen.

In frischen Installationen deaktiviert WordPress 6.4 standardmäßig die Anhang-Seiten. Sie präsentierten jeden hochgeladenen Anhang noch einmal auf einer eigenen Seite. Diese Seiten enthalten jedoch keine sinnvollen Informationen. Zudem landen sie im Index von Suchmaschinen, von wo aus Besucher dann auf den eher kargen Anhang-Seiten landen. Aus diesem Grund haben sich die WordPress-Entwickler dazu entschieden, sie nicht mehr standardmäßig generieren zu lassen. Bestehende WordPress-Installationen erzeugen die Anhang-Seiten nach einem Update jedoch weiterhin. WordPress 6.4 ist der Jazz-Musikerin Shirley Horn gewidmet.

Der Beitrag WordPress 6.4 mit neuem Theme und Verbesserungen erschien zuerst auf Linux-Magazin.

Campus Medien Tage 2023

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.

Instagram-Post cameta_halle
Flyer der Campus Medien-Tage 2023
Campus Medien Tage 2023

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.

Geöffnetes Notebook im Workshop CaMeTa
Workshop CaMeTa

Alles in allem war es eine sehr gute Veranstaltung, organisiert und durchgeführt von engagierten jungen und wissbegierigen Menschen.

Gruppenfoto der Studierenden
Gruppenfoto

WordPress 6.3.2 schließt Lücken

Die aktuelle WordPress-Version bringt diverse Updates, darunter auch Patches für acht Sicherheitsprobleme.

Produktpflege und Sicherheit sind die Hauptmerkmale von WordPress 6.3.2. Eines der genannten Sicherheitsprobleme könne dafür sorgen, dass Kommentare zu privaten Beiträgen an andere Nutzer weitergegeben werden könnten. Weiterhin haben Experten eine Lücke entdeckt, die es einem angemeldeten Benutzer erlaubt einen beliebigen Shortcode auszuführen. XSS-Schwachstellen in der Passwortseite der Anwendung und im Fußnotenblock sind ebenfalls genannt.

Mit dem Maintenance-Teil von WordPress 6.3.2 behebt das Wartungs-Team zudem 22 Bugs im Block-Editor und 19 Fehler im Core. Das komplette Changelog steht derzeit noch aus.

Der Beitrag WordPress 6.3.2 schließt Lücken erschien zuerst auf Linux-Magazin.

Ninja Forms macht WordPress unsicher

Drei Sicherheitslücken haben die Experten von Patchstack im WordPress-Plugin Ninja Forms entdeckt. Damit sei eine Ausweitung der Rechte und ein damit möglicher Datenklau verbunden, berichten die Sicherheitsexperten.

Nutzer von WordPress und dem sehr populären Formulartool Ninja Forms sollten das Plugin auf Version 3.6.26 aktualisieren. In dieser Version seien die Probleme behoben, alle früheren Versionen

Bei der ersten Schwachstelle handelt es sich laut Mitteilung von Patchstack um ein POST-basiertes reflektiertes XSS. Diese Lücke könnte es jedem nicht authentifizierten Benutzer ermöglichen, sensible Informationen zu stehlen, um in diesem Fall die Rechte auf der WordPress-Website zu erweitern, indem er privilegierte Benutzer dazu bringt, die manipulierte Website zu besuchen. Die beschriebene Sicherheitslücke sei in Version 3.6.26 behoben und mit CVE-2023-37979 gekennzeichnet.

Bei der zweiten und dritten Sicherheitslücke handle es sich um eine nicht funktionierende Zugriffskontrolle für die Exportfunktion von Formularübermittlungen. Diese Schwachstelle ermöglicht es Benutzern mit der Rolle Abonnent und Mitwirkender, alle Ninja Forms-Eingaben auf einer WordPress-Website zu exportieren. Die beschriebene Sicherheitslücken seien in Version 3.6.26 behoben und mit CVE-2023-38393 und CVE-2023-38386 gekennzeichnet.

Der Beitrag Ninja Forms macht WordPress unsicher erschien zuerst auf Linux-Magazin.

WordPress: Exploit-Kampagne gegen WooCommerce Payments

Das WordPress-Plugin WooCommerce Payments weist eine Sicherheitslücke auf, die nach den Erkenntnissen der Sicherheitsexperten von Wordfence derzeit massiv angegriffen wird.

Da das Plugin bei rund 600.000 WordPress-Seiten installiert ist, wird die Sicherheitslücke in großem Stil ausgenutzt. Wordfence spricht von einer gezielten Exploit-Kampagne.

Die Sicherheitslücke ermöglicht es laut Wordfence nicht authentifizierten Angreifern, administrative Rechte auf anfälligen Websites zu erlangen, was mit einem kritischen CVSS-Wert von 9,8 bewertet werde. Die Lücke ist als CVE-2023-28121 gekennzeichnet. Nach den Beobachtungen von Wordfence haben die Angriffe am Donnerstag, den 14. Juli 2023 begonnen und sich über das Wochenende fortgesetzt. Am Samstag, den 16. Juli habe die Attacke mit 1,3 Millionen Angriffen auf 157.000 Websites ihren Höhepunkt erreicht.

Den Anbietern von WooCommerce kann man dabei keinen Vorwurf machen, die Sicherheitslücke war mit einem Update auf Version 5.6.2 des Woocommerce Payments-Plug-ins schon im März 2023 geschlossen worden. Administratoren sollten also dringend ein Update einspielen. In der Analyse von Wordfence lassen sich weitere Informationen zum Aufspüren von Angriffen und der Funktionsweise des Exploits nachlesen.

Der Beitrag WordPress: Exploit-Kampagne gegen WooCommerce Payments erschien zuerst auf Linux-Magazin.

WP fail2ban: Gutes Plugin mit ausbaufähiger Dokumentation

WP fail2ban ist ein Plugin zum Schutz von WordPress-Installationen vor Brute-Force-Angriffen. Installation und Konfiguration habe ich bereits im Artikel WordPress mit Fail2Ban vor Brute-Force-Angriffen schützen dokumentiert. Dieser Text beschäftigt sich mit der offiziellen Dokumentation des Plugins, bzw. dem Text, der sich als Dokumentation ausgibt.

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:

  1. Was ist dies für eine Anwendung? Wofür wird sie verwendet und wofür nicht?
  2. Wie wird diese Anwendung installiert?
  3. Wie wird diese Anwendung konfiguriert?

Die ersten beiden Punkte mag ich als erfüllt betrachten. Beim dritten Punkt sehe ich ein Problem.

Bildschirmfoto der WP fail2ban-Installationsanleitung. Zeitstempel 2023-06-04T20:54+02

Die Installationsanleitung ist prägnant. Sie enthält einen Link, der suggeriert, zur Konfigurationsanleitung zu führen. Dort erwartet den neugierigen Leser folgendes Bild.

Bildschirmfoto vom Einstieg in die WB fail2ban-Konfigurationsanleitung. Zeitstempel 2023-06-04T20:59+02

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.

Bildschirmfoto WP fail2ban-Dokumentation. Zeitstempel 2023-06-04T21:04+02

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.

Bildschirmfoto WP fail2ban-Dokumentation, Abschnitt Logging. Zeitstempel 2023-06-04T21:14+02

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.

Bildschirmfoto der URL: https://docs.wp-fail2ban.com/en/5.0/configuration/fail2ban.html#configuration-fail2ban. Zeitstempel 2023-06-04T21:21+02

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:

  1. 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.
  2. 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.

WordPress-Installation unter RHEL 9 bzw. AlmaLinux 9

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.)

dnf install epel-release httpd mod_ssl mysql-server
dnf module install php:8.1
dnf install php-mysqlnd

Mit systemctl starten Sie den Web- und Datenbank-Server:

systemctl enable --now httpd   
systemctl enable --now mysqld

Firewall

Falls Sie auf einem Root-Server arbeiten, müssen Sie die Firewall für die Protokolle HTTP und HTTPS (also Port 80 und 443) freischalten:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

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:

mkdir /etc/mycert

acme.sh --install-cert -d example.com \
  --cert-file      /etc/mycert/example.com.cert \
  --key-file       /etc/mycert/example.com.key \
  --fullchain-file /etc/mycert/example.com.fullchain

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.

Konfiguration des Datenbankzugriffs für WordPress

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:

  • SSH absichern (z.B. mit Fail2Ban)
  • Paket-Updates automatisieren (Paket dnf-automatic)
  • automatische Umleitung HTTP -> HTTPS sowie Optimierung der HTTPS-Optionen (siehe https://ssl-config.mozilla.org)
  • Backup-System einrichten

Kritische Lücke in WordPress-Plugin Essentials Addon for Elementor

Das WordPress-Plugin Essentials Addon for Elementor bringt eine kritische Sicherheitslücke mit. Angreifer könnten so eine WordPress-Instanz kompromittieren. Das Plugin bringt es auf rund eine Million aktiver Installationen.

In einem Update des Plugins auf Version 5.7.2 ist die Lücke geschlossen. Admins sollten rasch ein Update machen. Die Entdecker der Lücke, Experten vom WordPress-Sicherheitsanbieter Patchstack schreiben von einer Rechteausweitung, die ohne vorherige Authentifizierung möglich ist. Sie ermögliche es jedem nicht authentifizierten Benutzer, seine Rechte auf die Rechte eines beliebigen Benutzers auf der WordPress-Site auszuweiten, heißt es im Bericht zum Sicherheitsproblem.

Es sei etwa möglich, das Passwort jedes Benutzers zurückzusetzen, solange sein Benutzername bekannt sei, sodass man auch das Passwort des Administrators zurücksetzen und sich bei seinem Konto anmelden könne. Diese Sicherheitslücke trete auf, weil die Funktion zum Zurücksetzen des Passworts einen Passwort-Reset-Schlüssel nicht validiere, sondern stattdessen das Passwort des angegebenen Benutzers direkt ändere.

Der Beitrag Kritische Lücke in WordPress-Plugin Essentials Addon for Elementor erschien zuerst auf Linux-Magazin.

❌