Strato Webseite auf HTTPS umstellen, ein Ausflug ins WordPress Nerdland

Mein Internet Blog funktioniert seit mehreren Jahren einwandfrei. Leider ist es gelegentlich erforderlich tief in den schmierigen Maschinenraum hinunter zu klettern, um etwas zu reparieren. So war die Umstellung von meinem Blog auf HTTPS:// letztendlich schwieriger als gedacht.

Mit der Umstellung auf HTTPS ist gemeint, dass die Webseite verschlüsselt ausgeliefert wird. Das ist ein umgemein wichtiger Schritt, damit einem als Blogbetreiber oder Benutzer nicht ständig das Passwort geklaut wird.

Ich bin jemand, der oft anderen hilft und dafür meist alles stehen und liegen lässt. Sei es, um unterwegs ein Fahrzeug fit zu machen oder um irgendwem irgendwas in die Hand zu drücken, was er gerade braucht. Ich finde, mein Internetblog mit vielen gesammelten Anleitungen und Tipps – ohne dass mir daran gelegen wäre damit Kohle zu machen – ist ein weiteres Beispiel.

Um so niederschmetternder war dann mein Kontakt zu den Teilnehmern aus dem WordPress Forum, wo ich versucht habe, mir Hilfe zu suchen. Dort sind (teilweise) Leute, die dir sagen: ich weiss zwar genau wie es geht und beweise es durch meine Antwort den anderen Nerds auch, aber ich sag es dir nicht. Du bist nämlich zu dumm. Kannst kein Linux usw. Oder es gibt als Antwort orakelhaften Äusserungen, die jemand der im Grunde keine Ahnung vom programmieren hat gar nicht umsetzen kann. Die Mischung aus vorhandenem Fachwissen und sozial extrem inkompetenten und hochnäsigen Bildschirmmenschen fand ich ziemlich abstossend. Nach zwei Tagen des hin und her schreibens war dort keiner bereit, mir die .htaccess Datei so zu ändern, so dass die Verschlüsselung automatisch funktioniert.

Letztendlich waren es drei Zeilen code, die ergänzt werden mussten !

Zum Schluss hab ich mich bei dem entsetzlichen Gedanken erwischt, dass es am besten wäre, der Konzern „Apfel“ kauft WordPress. Dann gibt es einen bezahlpflichtigen Shop für Plugins und ein jährliches Abo Modell. Aber dafür ist die Benutzererfahrung exzellent und auf irgendwelche sich überlegen fühlende WordPress Einzelgänger ist man nicht angewiesen. Für HTTPS müsste man als zahlungspflichtiger Untertan im schneeweissen, makellosen „Apfel“ Regime dann vermutlich einfach nur einen Haken irgendwo setzen, zack erledigt. Und keine Scheiss Textdateien umschreiben so wie JETZT – oder wie anno 1985 beim C64.

Aber was rege ich mich auf – ich verbringe den ganzen Sommer 2022 in Island. Wenn ich aus dem Fenster blicke, sehe ich den blauen Fjord von Flateyri, am Ende der Welt, in dem die untergehende Sonne glitzert. Auf dem Spielplatz nebenan toben fröhlich ein paar isländische Kinder herum, obwohl es längst Zeit für das Bett ist. Gleich geh ich ins einzige Restaurant in dem kleinen, abgelegenen Ort hier in den Westfjorden und bestell irgend etwas unkompliziertes. Ich bin hier, die sozialamputierten, selbsternannten WordPress-Spezialisten schreiben stundenlang sinnlos in Foren oder an Code, der in ein paar Jahren sowieso wieder obsolet ist. Und vergeuden damit in Deutschland ihre Lebenszeit. Viel Spass dabei, Leute. Und bucht euch ne 14-tägige Kreuzfahrt !

Obwohl ich fachlich denkbar ungeeignet bin, schreibe ich nun trotzdem eine Schritt für Schritt Anleitung, wie man seinen WordPress Auftritt beim Strato WP Starter auf die Verschlüsselung mit HTTPS umstellt. Für Dich entfällt learning-by-doing, herzlichen Glückwunsch.

Einschränkung: so wie es bei mir funktioniert hat. Für nette, kreative Menschen, die keine Lust auf einen enttäuschenden Besuch im Nerdland haben.

Den Support von Strato hatte ich auch angeschrieben, aber keine Antwort erhalten. Offenbar ist es bei 4€ / Monat Kunden schon zu viel, wenn 1x in drei Jahren eine Anfrage gestellt wird. Unexplored Nerdland.

Erster Schritt: ein SSL Zertifikat für die Verschlüsselung installieren

Das stellt inzwischen jeder Webhoster seinen Kunden gratis bereit und ist Voraussetzung für alles weitere. Mein Blog hat das ganz einfache Strato WordPress Starter für sparsame 4 € im Monat, SSL ist inklusive. Das ist bei Strato wirklich gut ! Exakt das, was man als einfacher Blogger braucht. So hat mein WP Starter Paket eine Webadresse, eMail, SSL, ordentliche 25 GB Speicher für Bilder und das ganze reicht sogar noch für ein eigenes Mikro Forum über chinesische Dieselheizungen. Günstig + macht normalerweise was es soll.

Auf der Strato Konfigurationsseite kann man sich ein SSL Verschlüsselungszertifikat für die eigene Seite besorgen. Wenn das aktiviert ist, wird die eigene Webseite auf Wunsch verschlüsselt ausgeliefert.

Dafür muss der Besucher von 25u.de aber immer noch explizit https://25u.de oder https://www.25u.de eintippen. Wenn das soweit manuell funktioniert ist es Zeit, das Blog auf Automatik umzustellen.

Zweiter Schritt: WordPress etwas umstellen

Dazu erst Mal als Admin einloggen. Dann auf Einstellungen / Allgemein gehen und dort alles, was http: hat auf https: ändern. Ein kleines s mehr.

Etwas unklar ? Eine gute Schritt für Schritt Anleitung mit vielen Bildern hab ich bei dem folgenden, schweizer Provider gefunden:

www.cyon.ch/support/a/weiterleitung-auf-https-einrichten-mit-wordpress

Als nächstes prüfen, ob unter Einstellungen / Permalinks https steht und 1x abspeichern.

Dann müssen alte Links in Artikeln gesucht werden, die noch ein HTTP anstatt einem HTTPS enthalten. Das kann etwas aufwändiger sein, mir steht das noch bevor. Empfohlen wird dazu das WordPress Plugin better search replace. Ich kann dazu noch keine Erfahrung beisteuern. Das kann man auch Stück für Stück verbessern, wenn Zeit ist.

Dritter Schritt: .htaccess Datei umschreiben

Das war für mich am schwierigsten ! Diese Datei liegt im wordpress Verzeichnis. Mit Filezilla baut man zunächst eine SFTP Verbindung zu seinem Server auf. Die Zugangsdaten bekommt man von seinem Provider, in meinem Fall Strato.

Filezilla ist dazu gut, um direkt auf die Dateien zuzugreifen, aus dem das Internet Blog besteht. Ich verwende Filezilla regelmässig, um backups anzulegen (die mySQL Datenbank muss dazu in einem zweiten Schritt direkt bei Strato ebenfalls gesichert werden). Daher war an der Stelle bereits alles einsatzbereit und eingerichtet.

Das Ziel der Reise ist dann die .htaccess Text Datei, die editiert werden muss. In dem Text stehen bereits Steuerbefehle von WordPress drin. Oberhalb dessen muss der vorhandene WordPress Textblock um ein paar Codezeilen erweitert werden. Die sorgen dann für eine automatische Weiterleitung auf HTTPS.

Die .htaccess datei wird zunächst heruntergeladen und – als erstes – macht man eine Kopie davon. Wenn die Experimente des Alchemisten schief gehen, läd man einfach die ursprüngliche Datei wieder hoch und überschreibt die durch Narrenhände und falsche Ratschläge missratene .htaccess Datei.

Ich hab es letztendlich durch ausprobieren hinbekommen. Das heisst, 25u.de hatte immer Mal wieder Server Fehler zwischendurch … sorry dafür. Die ganzen orakelhaften Vorschläge der selbsternannten WordPress Päpste (und Päpstinnen) haben stets zu einem Serverabsturz geführt.

Was ändern, Server Fehler, Internetblog nicht mehr aufrufbar, alles zurück setzen, ausprobieren ob noch alles geht, neu probieren. Das war mein Tag. Aber wie schon geschildert, einigen Leuten (nicht allen) aus dem WordPress Forum ist mehrheitlich daran gelegen, sich gegenseitig ihrer Code Überlegenheit zu vergewissern – und nicht, einem mit einer Lösung zu helfen. Und um zu demonstrieren, wie fachlich kompetent das eigene, aparte webdesign Büro ist.

Kommentar dazu einer arroganten A. R., die im königlichen Wir wie folgt verkündet:

Wir liefern dir hier keine fertigen Lösungen. Wenn du das benötigst, musst du ein Dienstleistungsunternehmen beauftragen, vor allem dann, wenn dich bereits bebilderte und ausführlich geschilderte Dokumentationen überfordern.

Das ganze für drei Zeilen Code ! Wie hochnäsig !

Ich bin Reise Blogger und damit im Lager der Kreativen daheim. Programmieren kann ich leider nicht. Das ist mir unverständlich und meine Stärken liegen ganz einfach woanders. Es war echt ätzend, als Noob mit diesen eingebildeten WordPress Sonderlingen zwei Tage lang herumzuschreiben, ohne irgend etwas zu erreichen.

Meine anscheinend funktionierende .htacess Datei sieht jedenfalls nun so aus:

# Zugriff auf Zugriff auf die Konfigurationsdatei wp-config.php ausschalten
<FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>

# XMLRP Schnittstelle abschalten externe Editoren
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

# <IfModule mod_rewrite.c> hat den Server zum stehen gebracht warum auch immer
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
# </IfModule> auskommentiert, hat den Server zum stehen gebracht 

# BEGIN WordPress
# Die Anweisungen (Zeilen) zwischen „BEGIN WordPress“ und „END WordPress“ sind
# dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
# Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Interessant sind daher die drei oberen Blöcke, vor allem der, in dem es um den Port 443 geht. Das ist die Umleitung auf HPPTS / Verschlüsselung.

Nach dieser Änderung ist es notwendig, den Cache im Browser zu leeren und alle Cockies zu löschen. Tut man das nicht, landet man wahrscheinlich auf einer Strato appslocked Seite anstatt auf dem eigenen Blog. Das löschen von Cache erzwingt, dass die Seite komplett neu mit HTTPS geladen wird. Kein Strato applocked mehr.

Bei vielen Webauftritten kann das aber auch einfach ein Schalter sein, den man auf HTTPS und automatischen Umleitung dahin umstellen muss. So dass diese manuelle Bastelei einfällt.

Vierter Schritt: sinnvolle Sicherheits Plugins installieren

Wenn man schon einmal dabei ist, die Webseite abzudichten kann die Installation von ein paar entsprechenden Plugins nicht schaden.

Bei mir ist es zum einen das WP Activity Log. Damit kann man sehen, ob ungewöhnliche Aktivitäten wie vielfache Einlogversuche oder komische Dateiuploads vorliegen.

Dann hab ich miniOrange 2-Factor installiert. Das Plugin erweitert das Blog um einen 2-Faktor Schutz beim einloggen. Um sich einzuloggen, muss man das Passwort vom User „Admin“ wissen und zusätzlichen einen 6-stelligen Code eintippen. Der wird alle 30 Sekunden auf dem Handy generiert, dazu muss dort die Google App Authenticator installiert sein. Für die Einrichtung auf dem Handy und im Blog sollte man sich etwas Zeit nehmen, aber es lohnt sich.

Falls ein Angreifer an das Passwort vom Internetblog gelangt ist, nützt ihm das gar nichts. Zusätzlich ist der sich ständig ändernde Code vom Handy erforderlich, einem zweiten Gerät. Vermehrte Einlogversuche bei einem still und leise geklauten Passwort bekommt man dann über das WP Activity Log mit.

Wurde das Passwort geklaut & geändert, wie es mir anfangs tatsächlich mehrfach passiert ist (keine Verschlüsselung der Seite) kann man es über zurücksetzen per eMail link erneuern. Und in aller Ruhe nach der Ursache forschen.

Dann ist jetzt noch Aksimet gegen Spam Kommentare installiert und Advanced noCaptcha & invisible Captcha was ähnliches macht. Englische Kommentare lösche ich ohne lesen, das ist immer richtig.

Ladezeiten optimieren, noch etwas Feenstaub aufs eigene Blog …

Mit folgendem Code Schnipsel soll man die Ladezeit für Texte noch etwas optimieren können. JPG Bilder sind bereits komprimiert und können nicht weiter für bessere Ladezeiten optimiert werden. Wird unterhalb vom #Wordpress Block eingefügt !

# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml

Ein weiteres, sehr sinnvolles Plugin ist dann das Plugin „conterter vor media“ von matt plugins. Das sorgt automatisch dafür, dass JPEG Bilder als WebP ausgeliefert werden, wenn der Browser das unterstützt. Das ist aber praktisch immer der Fall, Bilder mit 300kb haben dann nur noch 150kb.

Das reduziert Ladezeiten von Bildern dramatisch, ohne sichtbar an Qualität zu verlieren. Für sehr bilderlastige Blogs wie meins ist das ein ziemlicher Schritt nach vorn, um im Google Ranking halbwegs mitmachen zu können.

Fazit

Leider ist die Welt voller Arschlöcher und im Internet ist die Konzentration besonders hoch. Leute, die dringend dein unbedeutendes Blog hacken wollen, geltungssüchtige Trolle, arrogante Forumszicken. Deprimierend, aber nun läuft ja wieder alles. Ich werde hoffentlich eine ganze Zeit lang nicht mehr in den Maschinenraum von meinem Blog zu den stinkenden Morlocks runter müssen.

Update Oktober 2022

Inzwischen hab ich meinen Frieden mit den WordPress Forums Leuten gemacht. Bei ein paar anderen Fragen waren die Antworten hilfreich, wahrscheinlich hatten wir alle in der Angelegenheit htaccess einen schlechten Tag. Bzw drei schlechte Tage.

Update November 2024

Es war inzwischen mal wieder Zeit für einen Besuch im ölverschmierten, stickigen, schlecht belüfteten und lauten Maschinenraum von meinem Internetblog, um ein paar der Stabilisatoren zu warten und Löcher im Rumpf zu stopfen.

Offenbar ist mein Blog inzwischen so berühmt, das irgendwer massenhafte, automatisierte Benutzeranmeldungen mit fake eMails bei mir macht. Sinn und Zweck – völlig unklar. Rechteausweitung vielleicht oder potentielle Forums Spam Beiträge ? Die Anmeldungen liessen sich jedenfalls trotz blockierter Schnittstellen und nachgerüstetem Captcha nicht unterbinden. Das war mein erster Versuch, das Problem zu lösen mit den Löchern im Rumpf.

Eigentlich war für diese Aufgabe Aksimet zuständig, aber das Plugin hat sich nur um Spam Kommentare gekümmert, nicht um fake Benutzeranmeldungen. Nachdem die Bot Anmeldungen von 5 pro Woche auf 100 pro Tag gestiegen waren war leider klar: da muss etwas passieren …

Aksimet ist inzwischen durch die pro Variante von WP Armor ersetzt worden, der beides kann. Auf nervige Captchas (Wikipedia) kann ich daher wieder verzichten, hat sowieso kaum etwas gebracht.

Im Moment sind es pro Monat über 5000 Benutzeranmeldungen und über 100 Spam Kommentare. Dazu tausende Versuche pro Woche das „admin Passwort“ zu erraten. Das alles verglüht nun im WP Armor Plugin. Shields up, yeahhh !

(Die manuelle Installation und Aktivierung war dafür leider etwas hakelig).

Hast du auch ein Admin Passwort ? Dann mach es Millionen Jahre lang unknackbar.

Passwort Generator von Datenschutz.org: Link zur Webseite

Passwörter sollten mindestens 16 Zeichen haben und Grossbuchstaben, Zahlen und Sonderzeichen enthalten. Unsere Sonne wird in 450 Millionen Jahren zur Supernova und killt dann alles bis zum Jupiter. Wenn dein Passwort sogar 32 Zeichen lang ist – reicht es wahrscheinlich bis dahin.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert