TLS 1.2 only für Webserver

Am 18. Mai 2020 werden wir die TLS-Versionen 1.0 und 1.1 deaktivieren und komplett auf die Version TLS 1.2 umstellen. Dies ist ein weiterer wichtiger Schritt zur Verbesserung der Sicherheit Ihrer durch SSL-Zertifikate abgesicherten Webseiten.

Was ist TLS?

Es steht für Transport Layer Security und ist die Weiterentwicklung von SSL. Im Internet übertragene Daten werden über dieses Protokoll verschlüsselt, um nicht auf dem Transportweg mitgelesen werden zu können.

Was müssen Sie tun?

Bitte überprüfen Sie die von Ihnen genutzten Browser auf Kompatibilität mit mindestens TLS 1.2. Generell empfehlen wir als Basis die Betriebssysteme Windows 8.1, Windows 10 oder MAC OS X in mindestens Version 10.9 zu nutzen. Bei Nutzung von Linux empfehlen wir Ihnen ebenfalls die Kompatibilität zu prüfen. Bitte prüfen Sie auch ältere Mobiltelefone und Tablets. Wenn Sie nicht wissen, wir Sie dies überprüfen sollen, loggen Sie sich im Webmail ein. Funktioniert das Login (natürlich mit korrekten Zugangsdaten), dann unterstützt Ihr Browser bereits TLS 1.2.

Wenn Sie einen Zahlungsdienstleister auf Ihrer Webseite eingebunden haben, empfehlen wir Ihnen eine Überprüfung der eingesetzten Sicherheitsprotokolle.

Sollten Komplikationen bei Ihnen auftreten oder Rückfragen bestehen, stehen wir Ihnen selbstverständlich jederzeit gerne zur Verfügung.

www wegrationalisieren

Streng genommen handelt es sich beim Zusatz „www“ um eine reguläre Third-Level-Domain.
Ihre weite Verbreitung ist historisch bedingt und technisch nicht zur reibungslosen Funktion einer Webseite notwendig, daher kann auch getrost auf den Zusatz verzichtet werden.

Um alle Aufrufe mit „www“ auf die Domain ohne die Subdomain umzuleiten, reichen diese fünf Zeilen aus:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]

Natürlich funktioniert es auch umgekehrt, um das „www“ immer zu erzwingen.

www erzwingen

Streng genommen handelt es sich beim Zusatz „www“ um eine reguläre Third-Level-Domain.
Ihre weite Verbreitung ist historisch bedingt und technisch nicht zur reibungslosen Funktion einer Webseite notwendig, viele Menschen finden www.personenname.de aber schöner für das Auge, als nur personenname.de im Browser stehen zu haben.

Unsere Webserver reagieren daher per default auch auf Aufrufe per www-Subdomain, auch wenn diese nicht separat eingerichtet wurde.

Um auch Aufrufe ohne „www“ umzuleiten, reichen diese fünf Zeilen in der .htaccess-Datei:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Natürlich funktioniert das auch umgekehrt, um das „www“ immer zu vermeiden.

Update von PHP und Apache

Wir aktualisieren zwischen dem 21.10. und 23.10.2019 unsere PHP- und Apache-Versionen auf den Webservern.
Durch den dafür notwendigen Neustart des Webservers kommt es bei Ihren Webseiten zu einer Nichterreichbarkeit von wenigen Minuten.

Änderungen der PHP-Versionen

  • 7-73LATEST = PHP 7.3.10 (zuvor: 7.3.6)
  • 7-73STABLE = PHP 7.3.6
  • 7-72LATEST = PHP 7.2.23 (zuvor: 7.2.19)
  • 7-72STABLE = PHP 7.2.19 (zuvor: 7.2.11)
  • 7-72LEGACY = PHP 7.2.11
  • 7-71LATEST = PHP 7.1.32 (zuvor: 7.1.30)
  • 7-71STABLE = PHP 7.1.30 (zuvor: 7.1.23)
  • 7-71LEGACY = PHP 7.1.23 (zuvor: 7.1.15)
  • 7-70LATEST = PHP 7.0.33 (zuvor: 7.0.32)
  • 7-70STABLE = PHP 7.0.32 (zuvor: 7.0.28)
  • 7-70LEGACY = PHP 7.0.28 (zuvor: 7.0.24)
  • 5-56LATEST = PHP 5.6.40 (zuvor: 5.6.38)
  • 5-56STABLE = PHP 5.6.38 (zuvor: 5.6.34)
  • 5-56LEGACY = PHP 5.6.34 (zuvor: 5.6.31)

Bitte beachten Sie, dass sich die Versionen noch ändern können, falls bis zum 21.10.2019 eine neue PHP-Version erscheint.

Änderung der Apache-Webserver-Version

Der Apache-Webserver wird auf die neuste verfügbare Version 2.4.41 (zuvor: 2.4.39) aktualisiert.

Sollten Komplikationen bei Ihnen auftreten oder Rückfragen bestehen, stehen wir Ihnen selbstverständlich jederzeit gerne zur Verfügung.

Assoziative Arrays in PHP 7

Wie vor ein paar Tagen angekündigt, werden wir demnächst die alte PHP-Version 5 deaktivieren.

Der Umstieg auf die neuere Version PHP 7 ist im Allgemeinen problemlos möglich, jedoch kommt es gegebenenfalls zu Problemen mit assoziativen Arrays, die in PHP 7 leicht anders deklariert werden müssen.

Bei assoziativen Arrays, auf dessen Values man nicht mit einem numerischen Keys á la $user[0] oder $user[1] zugreift, sondern Namen dafür benutzt (zum Beispiel: $user[id] oder $user[name]), so führt dies in PHP 7 zu einer Warnung im Logfile:

PHP Warning: Use of undefined constant name – assumed ’name‘ (this will throw an Error in a future version of PHP)

Aus dieser alten Notation:

$user[name]

Sollte für PHP 7 also diese Notation werden:

$user['name']

Um nicht händisch via Suchen & Ersetzen durch alle Codefiles gehen zu müssen, kann man sich mit diesem regulären Ausdruck die Arbeit vereinfachen:

RegEx-Ausdruck für assoziative Arrays in PHP 7

Mit einem einfachen regulären Ausdruck kann man sich viel Handarbeit im Code ersparen:

Suchen nach:

\[([a-zA-Z]+)\]

Ersetzen mit:

\['\1'\]

Das Suchmuster sucht nach den öffnenden und schließenden eckigen Klammern von Arrays [ + ] und prüft, ob darin alphabetische Zeichen von a bis z oder A bis Z drin vorkommen (mindestens eines, aber beliebig viele).

Lässt man das einmal über alle seine Daten laufen, sind die assoziativen Arrays korrekt ausgezeichnet. Ältere PHP-Versionen haben über diese, eigentlich falsche, Notation noch gütig hinweggesehen, aber bald ist es damit vorbei und die warning messages sind ein erstes Anzeichen dafür.

Apostroph escapen

Man muss natürlich kein Apostroph nehmen, normale Anführungszeichen eignen sich dafür auch. Nutzt man als Array-Index beispielsweise einen Namen, der ein Apostroph enthält (Ku’damm) ist es einfacher, direkt auf Anführungszeichen auszuweichen.

Nutzt man Apostrophe, kann man die in den values enthaltenen Apostrophe auch escapen: Ku\‘damm.

Deaktivierung von PHP-Version 5

Aus Sicherheitsgründen stellen wir die Unterstützung veralteter PHP-Versionen ein. Ab dem 02. März 2020 werden wir die PHP-Version 5 endgültig deaktivieren.

Um Ihnen die Umstellung zu erleichtern, können Sie die PHP-Version 5 bis zu dem genannten Termin weiter nutzen, wir übernehmen jedoch keine Haftung für etwaige bestehende oder neue Sicherheitslücken.

Eine genaue Übersicht Ihrer betroffenen Domains finden Sie unter PHP-Einstellungen, in Ihrem Kundencenter.

Im Kundencenter finden Sie auch eine Übersicht der neuen und weiterhin unterstützten PHP-Versionen.
Bitte wählen Sie hier mindestens PHP in der Version 7.2 oder höher aus.

Bitte prüfen Sie anschließend unbedingt die Funktionalität Ihrer Webseite oder führen Sie vorab einen Test im Staging-System durch.

Sollten Komplikationen bei Ihnen auftreten oder Rückfragen bestehen, stehen wir Ihnen selbstverständlich jederzeit gerne zur Verfügung.

Request-Header auslesen

Bei jeder Anfrage an einen Webserver sendet der Browser einen Request-Header mit.
Dieser enthält technische Informationen über zur Verfügung stehende Kompilierungs-Module, wie beispielsweise Kompressionsalgorithmen aber auch für diese Webseite gespeicherte Cookies.

Für den Fall, dass Sie im Rahmen des Debuggings oder auch der Webentwicklung einmal eine Liste ihrer gesendeten Request-Header benötigen, habe ich im Bereich „Tools“ auf der Webseite die Informationen des gesendeten Request-Headers zusammengefasst.

Abschaltung der MySQL-Versionen 3 und 4

Um die Datensicherheit zu erhöhen, werden wir die Datenbanken in den Versionen MySQL 3 und MySQL 4 zum 30. Juli 2019 abschalten. Ab diesem Zeitpunkt steht Ihnen ausschließlich die aktuelle Version von MySQL 5 zur Verfügung.

So stellen Sie Ihre Datenbanken auf MySQL 5 um

Erstellen Sie bitte immer ein Backup, bevor Sie eine Änderung an Ihren Datenbanken vornehmen.

Wenn Sie Fragen dazu haben oder Hilfe wünschen, stehen wir Ihnen selbstverständlich gerne zur Seite.

Erforderliche Schritte für die erfolgreiche Migration auf MySQL 5

Theoretisch sind nur wenige Schritte erforderlich, um die bestehende MySQL ¾ Datenbank auf eine neue Version zu migrieren:

  1. Sicherung der aktuellen Datenbank erstellen
  2. Neue MySQL 5-Datenbank anlegen
  3. Sicherung in die neue Datenbank einspielen
  4. Ihre Skripte anpassen, damit diese auf die neue Datenbank zugreifen
    1. Datenbankname sowie den Benutzernamen der Datenbank anpassen
    2. Pfad zum MySQL-Host umstellen auf „mysql5.ihr-domainame.tld“ (ihr-domainame.tld bitte durch Ihren Domainnamen ersetzen)

Um ein Backup einer MySQL-Datenbank vorzunehmen und anschließend in einer anderen Datenbank wieder einzuspielen, existieren zwei Varianten, auf die wir im Folgenden kurz eingehen:

Variante 1 – Migration via SSH-Verbindung zum Server

Wenn Sie über einen SSH-Zugang verfügen und die Arbeit auf der Konsole nicht scheuen, können Sie einen „MySQL-Dump“, also eine Datenbanksicherung, direkt über die Konsole erstellen und anschließend wieder einspielen.

Sicherung der Datenbank erstellen

Verbinden Sie sich via SSH zu Ihrem Server und nutzen Sie den folgenden Befehl für die Erstellung des Backups:

Dump einer MySQL3-Datenbank erstellen:
mysqldump -h127.0.0.1 -uDATENBANKNAME -pPASSWORT DATENBANKNAME > dump.sql

Dump einer MySQL4-Datenbank erstellen:
mysqldump -h127.0.0.2 -uDATENBANKNAME -pPASSWORT DATENBANKNAME > dump.sql

Anstatt „DATENBANKNAME“ geben Sie den Namen Ihrer Datenbank an.
„PASSWORT“ ist das Passwort der Datenbank.
Achten Sie darauf, dass zwischen dem „-h“ und dem anschließenden Hostnamen kein Leerzeichen vorhanden ist. Dies gilt auch für „-u“ und dem Benutzer sowie dem „-p“ und dem nachfolgenden Passwort.

Abhängig der genutzten Codierung, z.B. latin1 oder utf8 kann es noch erforderlich sein, dass Sie diese bei der Erstellung des Dumps noch mit angeben. Die Option für utf8 lautet hierbei beispielsweise „–default-character-set=utf8“.

Sicherung der Datenbank wieder einspielen

Um nun den erstellten MySQL-Dump in eine neu angelegte MySQL5-Datenbank zu importieren, geben Sie auf der SSH-Konsole den folgenden Befehl ein und ersetzen die Werte wie oben, jedoch mit den Angaben der neuen Datenbank:
mysql -h127.0.0.3 -uDATENBANKNAME -pPASSWORT DATENBANKNAME < dump.sql

Passen Sie dann Ihre Skripte, die sich zur Datenbank verbinden, auf die Daten der neuen Datenbank an.

Variante 2 – Migration über phpMyAdmin

Eine andere Möglichkeit für die Migration ist die Nutzung der Export-/Import-Funktionen des phpMyAdmin-Tools.

Bitte beachten Sie: Bei sehr großen Datenbanken kann es passieren, dass Sie an die serverseitigen Skriptlimits stoßen und die Sicherung mit einer anderen der vorgeschlagenen Varianten vornehmen müssen.

Sicherung der Datenbank erstellen

Bitte öffnen sie über Ihr Kundencenter unter dem Menüpunkt „MySQL Datenbanken“ die Verwaltungsoberfläche des phpMyAdmin und wählen dann in der linken Leiste die Datenbank aus, für die Sie einen Export ausführen möchten. Klicken Sie anschließend bitte auf der rechten Seite oben auf den Reiter „Exportieren“.

Standardmäßig sind nun alle Tabellen dieser Datenbank vorausgewählt und entsprechend markiert.
Im unteren Teil der Seite kann nun der Modus gewählt werden, in welchem der Datenbank-Export erstellt werden soll. Hierbei empfehlen wir, dass Sie den Modus „SQL“ ausgewählt lassen und die Checkbox bei „Senden“ aktivieren. Optional kann der Dateiname der Exportdatei geändert werden.
Als letzten Schritt klicken Sie nun rechts unten auf die Schaltfläche „OK“ und Sie erhalten, abhängig der Größe der Datenbank, bereits nach wenigen Augenblicken den Download des Datenbank-Exports in Form des Dateinamens „DATENBANKNAME.sql“ angeboten. Diese Datei speichern Sie bitte auf Ihrem lokalen Rechner ab.

Sicherung der Datenbank einspielen

Um nun die im vorangegangenen Schritt exportierte SQL-Datei in eine MySQL5-Datenbank zu importieren, wählen Sie bitte im phpMyAdmin auf der linken Seite die neu angelegte MySQL-Datenbank aus und klicken anschließend auf den Reiter „Importieren“.
Betätigen Sie dann bitte die Schaltfläche „Durchsuchen“ und wählen in dem Popup-Fenster die zuvor abgespeicherte Datei „DATENBANKNAME.sql“ auf Ihrem lokalen Rechner aus. Bei den Optionen „Partieller Import“ und „Dateiformat“ sind keine Änderungen der Vorabeinstellung erforderlich und Sie können zum Abschluss auf die Schaltfläche „OK“ klicken.

Nachdem der Import erfolgreich durchgeführt wurde, erhalten Sie die Meldung „Der Import wurde erfolgreich abgeschlossen“ und Sie können die Datenbank verwenden.

Passen Sie dann Ihre Skripte, die sich zur Datenbank verbinden, auf die Daten der neuen Datenbank an.

Was passiert, wenn Sie Ihre MySQL 3/4 Datenbanken nicht umstellen?

Nach der Abschaltung werden Datenbanken dieser Versionen nicht mehr erreichbar sein. Ihre Webseiten, die diese Datenbanken nutzen, geben dann Fehlermeldungen zurück.

Bitte beachten Sie, dass die Datenbanken auch in Ihrem Kundencenter nicht mehr verfügbar sein werden. Eine Umstellung im Nachhinein ist leider nicht möglich!

Sollten Komplikationen bei Ihnen auftreten oder Rückfragen bestehen, stehen wir Ihnen selbstverständlich jederzeit gerne zur Verfügung.

Update von PHP, Apache und FTP

mit dieser E-Mail möchten wir Sie über eine Aktualisierung der PHP- und Apache-Versionen, sowie des FTP-Dienstes auf unseren Webservern informieren.

PHP-Version und Apache Webservers:

Zwischen dem 22.10. und 25.10.2018 ab je 07:00 Uhr werden wir neue Versionen von PHP, Apache und dem FTP-Dienst auf den Systemen verteilen. Durch den dafür notwendigen Neustart des Webservers kommt es zu einer Nichterreichbarkeit von wenigen Minuten

PHP-Aktualisierungen

Die PHP-Versionen ändern sich wie folgt:

  • 7-72LATEST = PHP 7.2.10 (zuvor: 7.2.3)
  • 7-71LATEST = PHP 7.1.22 (zuvor: 7.1.15)
  • 7-70LATEST = PHP 7.0.32 (zuvor: 7.0.28)
  • 5-56LATEST = PHP 5.6.38 (zuvor: 5.6.34)

Bitte beachten Sie, dass sich die Versionen noch ändern können, falls bis zum 22.10.2018 eine neue PHP-Version erscheint.

Aktualisierung vom Apache-Webserver

Der Apache-Webserver wird auf die neuste verfügbare Version 2.4.35 (zuvor: 2.4.29) aktualisiert.

Aktualisierung des FTP-Dienstes

Sollten Sie während des Updates via FTP zu Ihrem Webserver verbunden sein, wird die Verbindung unterbrochen und Sie können sie direkt neu aufbauen.

Bitte beachten Sie, dass die neue Version eine verschlüsselte Verbindung (FTPS) nur noch über TLS 1.2 unterstützt. Das bedeutet, dass Sie ein aktuelles FTP-Programm benötigen, um sich verschlüsselt über Ihren FTP-Account zu Ihrem Webserver zu verbinden. Sollten Sie nach dem Update keine verschlüsselte Verbindung mehr aufbauen können oder eine Fehlermeldung erhalten, aktualisieren Sie bitte Ihr FTP-Programm oder nutzen Sie SFTP, sofern das Ihr FTP-Programm unterstützt.

Sollten Komplikationen bei Ihnen auftreten oder Rückfragen bestehen, stehen wir Ihnen selbstverständlich jederzeit gerne zur Verfügung.