Sicherheitsupdates und Aktualisierung des Basis-Systems

Aufgrund einiger aktueller Sicherheitslücken, insbesondere die kürzlich bekannt gewordene „ZombieLoad“-Lücke, ist ein kurzfristiges Systemupdate notwendig. Da hierfür auch der CPU-Microcode (also die „Firmware“ der CPU) aktualisiert werden muss, ist ein Neustart des Servers zusätzlich zu den üblichen Upgrades zwingend nötig. Die Softwarepakete werden bereits im Hintergrund aktualisiert, der Neustart wird in den späten Abendstunden durchgeführt, um möglichst wenig Auswirkungen zu haben.

Folgende Updates wurden für Webservice-relevante Anwendungen eingespielt:

  • Die installierten PHP-Versionen wurden auf die neuesten Bugfix-Releases aktualisiert – 7.2.18 und 7.3.5.
  • SQLite wurde von 3.27.2 auf 3.28.0 aktualisiert. Dieses Upgrade betrifft auch die entsprechenden PHP-Erweiterungen.
  • Weitere Programme wie ImageMagick und ffmpeg haben Bugfixes erhalten.

Mit dem Neustart des Servers wird der Linux-Kernel von 4.17 auf die Version 5.1 aktualisiert. Das sollte keine direkten Auswirkungen auf Benutzer-Software haben. Trotz des vermeintlich großen Versionssprungs sind die Änderungen relativ gering.

Sicherheitsupdates und Aktualisierung des Basis-Systems

Ich habe auf dem Server das Basis-System sowie alle installierte Software auf den jeweils aktuellsten stabilen Stand gebracht, um potentielle Sicherheitslücken zu schließen und Bugfixes sowie neue Features verfügbar zu machen.

Die für das Webhosting relevanten Software-Versionen sind nun wie folgt installiert:

  • Webserver Apache 2.4.37
  • PHP 7.2.12
  • MySQL 5.7.24

Die installierten PHP-Erweiterungen sowie deren Konfiguration können dem Aufruf von phpinfo() entnommen werden.

Kurzfristiges Kernel-Sicherheitsupdate

Im Linux-Kernel wurde eine neue Sicherheitslücke entdeckt und gestern veröffentlicht. Über diese Lücke kann das System von einem entfernten Angreifer über das Internet lahmgelegt werden, indem mittels manipulierter Netzwerkpakete die CPU des Systems ausgelastet wird. Die Lücke ermöglicht zwar keinen Einbruch, ist aber dennoch für den Betrieb des Servers relevant.

Sobald ein Patch für die Lücke verfügbar ist, werde ich den System-Kernel aktualisieren und den Server danach – möglichst in den Abendstunden – neu booten. Der Reboot wird wenige Minuten in Anspruch nehmen, während dieser Zeit sind die auf dem Server befindlichen Dienste (Websites, Postfächer etc.) nicht verfügbar.

Störung im Rechenzentrum / Systemupdates

Störung bei Hetzner

Am 2. und 3. Juli gab es im Rechenzentrum Falkenstein von Hetzner eine länger andauernde Router-Störung, die dazu führte, dass der Server zeitweise nicht erreichbar war. Die Störung ist nach dem Tausch diverser Hardware-Komponenten seit dem 3.7. ca. 13:00 Uhr behoben, Hetzner beobachtet die betroffenen Geräte jedoch weiterhin.

Nach dem Router-Ausfall gab es auf dem Server kurzzeitig Probleme mit der DNS-Namensauflösung in einigen Programmen wie z. B. cURL, da im Betriebssystem-Cache falsche Werte vorgehalten wurden. Der Cache wurde geleert, so dass die Namensauflösung nun wieder korrekt funktioniert.

Systemupdates

In den letzten Monaten sind keine akuten Sicherheitslücken in den installierten Software-Paketen bekannt geworden, die ein sofortiges Handeln erfordert hätten. Im Zuge der quartalsmäßigen Wartung des Systems wird derzeit alle installierte Software auf den aktuellsten, stabilen Stand gebracht. Keine für den Website-Betrieb relevanten Programme (insbesondere PHP, MySQL sowie der Apache-Webserver) machen große Versionssprünge:

  • PHP: Alt 7.2.4, Neu 7.2.7
  • MySQL: Alt 5.6.39, Neu 5.7.22
  • Apache: Alt 2.4.33, Neu 2.4.33-r1
  • ImageMagick: Alt 7.0.7.21, Neu 7.0.8.3
  • cURL: Alt 7.59.0, Neu 7.60.0-r1

Da nach dem Update die betroffenen Dienste neu gestartet werden müssen, kann es zu kurzzeitigen Ausfällen im Sekunden- bzw. maximal Minutenbereich kommen.

Sicherheitsupdates und Aktualisierung des Basis-Systems

Ich habe auf dem Server das Basis-System sowie alle installierte Software auf den jeweils aktuellsten stabilen Stand gebracht, um potentielle Sicherheitslücken zu schließen und Bugfixes sowie neue Features verfügbar zu machen. Zusätzlich wurde der C-/C++-Compiler auf GCC 7.3 aktualisiert und sämtliche Software damit neu übersetzt.

Einige der geschlossenen Lücken sind in den folgenden Sicherheitshinweisen zu finden:

Da auch kritische Lücken in der GNU-C-Bibliothek enthalten waren, die von nahezu jedem Prozess im System verwendet wird, war ein Neustart des Servers erforderlich. Nur so kann sichergestellt werden, dass keine verwundbare alte Version dieser Bibliothek mehr in Verwendung ist.

Sicherheitsupdate wegen Meltdown/Spectre

[Update]

Das Update wurde installiert und alle bisher verfügbaren Sicherheitsfeatures im Linux-Kernel aktiviert. Für das Update war ein Neustart mit einer Downtime von etwa einer Minute notwendig.

Wie aus den Medien mittlerweile bekannt, existiert eine hardwareseitige Schwachstelle in allen modernen Intel-Prozessoren sowie auch in einigen CPUs anderer Hersteller, die es ermöglichen, Speicherinhalte auszulesen, die üblicherweise besonders geschützt sind. Dadurch könnten Angreifer an kritische Informationen wie System-Passwörter, SSL-Schlüssel oder auch Arbeitsdaten von Anwendungen gelangen. Auch wenn über die Attacken keine Veränderung der Speicherinhalte möglich sind, können die darüber ausgelesenen Daten benutzt werden, um in das System einzubrechen oder private Daten zu stehlen bzw. verschlüsselte Verbindungen aufzubrechen und mitzulesen. Weitere technische Informationen zu den Schwachstellen sind hier zu finden:

Es sind mittlerweile erste softwareseitige Patches erhältlich, die das Ausnutzen der Schwachstellen verhindern oder zumindestens stark erschweren. Um den Server möglichst wenig Anfällig für solche – mittlerweile auch bereits kursierenden – Attacken zu machen, spiele ich am Wochenende verfügbare Aktualisierungen ein:

  • Kernel-Update von derzeit 4.10.0 auf die aktuelle Version 4.14.13
  • Aktivierung von „Page Table Isolation“ im aktualisierten Kernel
  • Aktualisierung der CPU-Microcodes für die verbaute Skylake-H/S-CPU auf Revision 0xc2

Die Aktualisierung erfordert mindestens einen Reboot, um den aktualisierten Kernel sowie die neuen CPU-Microcodes zu laden und die korrekte Aktualisierung zu überprüfen. Es kann daher zu kurzen (wenige Minuten) dauernden Ausfällen des Servers kommen.

Bei Fragen zum Update oder den Sicherheitslücken stehe ich gerne zur Verfügung.

Sicherheitsupdates und Aktualisierung des Basis-Systems

Das letzte größere System-Update ist einige Zeit her, ich habe daher heute nicht nur die üblichen Sicherheitsupdates eingespielt, sondern auch das Basis-System einem umfassenden Update unterzogen. Für Websites sollte das keine Auswirkungen haben, dennoch hier eine Liste der nennenswerten Anpassungen:

  • Das komplette System (Betriebssystem, Bibliotheken und alle Anwendungen) wurden mit einer aktualisierten Toolchain bestehend aus GCC 7.2 und glibc 2.26-r3 neu übersetzt.
  • Perl wurde von 5.24 auf 5.26.1 aktualisiert und alle installierten Perl-Module wurden in diesem Zuge auf die jeweils aktuellste Version gebracht. Alte Perl-Versionen wurden entfernt.

Ich möchte an dieser Stelle auch nochmal darauf hinweisen, dass der aktive Support für PHP 7.0 am 03.12.2017 ausgelaufen ist. Aus diesem Grund wird Anfang 2018 PHP auf Version 7.2 aktualisiert, um die längste mögliche Laufzeit ohne neuerliche Updates zu ermöglichen.

Mailversand an AOL nicht möglich [ERLEDIGT]

Seit dem Serverumzug ist der Versand von E-Mails an @aol.*-Adressen nicht möglich, da die neue Server-IP bei AOL auf der Liste unerwünschter Adressen geführt wird. Dies liegt daran, dass der vorherige Nutzer dieser IP offenbar Spam versendet hat, und AOL aufgrund von Nutzerbeschwerden die IP-Adresse auf die Blacklist gesetzt hat.

Ich habe am 20.09.2017 beim AOL-Postmaster-Support ein Ticket zu dem Problem eröffnet und warte derzeit auf Bearbeitung der Anfrage. Das kann einige Zeit dauern, und es besteht die Möglichkeit, dass die Anfrage nicht bearbeitet oder abgelehnt wird.

Sobald es Neuigkeiten gibt, folgt ein Update dieses Beitrags.

Update 27.09.2017

AOL hat die Server-IP von der Blacklist entfernt. Mailversand an @aol-Adressen ist wieder möglich.

Update auf PHP 7.2 in KW 15/2018

Update: Die Umstellung auf PHP 7.2.3 (oder die dann aktuellste Version) findet in der Woche vom 09.-15.04.2018 statt. Die neue Version ist bereits installiert. Einzelne Seiten können auf Anfrage zum Testen auf die neue Version umgestellt werden.

Da der aktive Support für die PHP-Version 7.0 bereits im Dezember 2017 ausläuft, wird die PHP-Version auf dem Server im 1. Quartal auf die zu diesem Zeitpunkt aktuellste Version der 7.2er-Reihe aktualisiert.

Ich bitte daher alle Kunden, zu prüfen, ob die jeweils eingesetzten PHP-Skripte – insbesondere CMS wie TYPO3 – mit der neuen PHP-Version kompatibel sind, und vorab die nötigen Aktualisierungen einzuspielen oder vorzubereiten.

Eine Liste der Änderungen und Neuerungen sowie potentieller Inkompatibilitäten gibt es auf der PHP-Website für die jeweiligen Zwischenversionen:

Serverumzug am 19.09.2017 durchgeführt

Am 19. September wurden alle Daten – Betriebssystem und Kundendaten – auf einen neuen physikalischen Server migriert. Neben aktueller Hardware (schnellere CPU, doppelter Festplattenplatz) hat der Server neue IPv4- und IPv6-Adressen erhalten. Für Domains, die in externen Nameservern eingetragen sind, lauten die Angaben nun wie folgt (DNS-Resource-Record-Typ in Klammern):

  • IPv4-Adresse (A): 136.243.106.219
  • IPv6-Adresse (AAAA): 2a01:4f8:171:fda::2
  • Mailserver-Eintrag (MX): 10 mail.wupper-lan.de.
  • Sender-Policy-Framework-Eintrag (TXT): v=spf1 ip4:136.243.106.219 ip6:2a01:4f8:171:fda::/64 a mx -all

Anstelle der genannten A/AAAA-Einträge kann für den jeweiligen Host-Eintrag auch ein CNAME-Record auf „thanatos.wupper-lan.de.“ eingerichtet werden. Dieser enthält immer die korrekten IP-Adressen.

Als Vorbereitung für den Umzug wurden noch einige Änderungen an der Software vorgenommen:

PHP

Die PHP-Laufzeitumgebung wurde von einzelnen FastCGI-Prozessen unterhalb des Apache-Webservers auf den getrennt laufenden PHP-FPM-Dienst umgestellt. Das hat zur Folge, dass nun keine domainspezifische PHP-Version mehr ausgewählt werden kann, sondern für alle Kundenseiten die selbe PHP-Version – jetzt 7.0.23 – verwendet wird. Auf der positiven Seite werden jetzt (auf Anfrage) Uploads von sehr großen Dateien unterstützt, sowie die in PHP integrierten Caches (APCu und Zend OpCache) automatisch zwischen allen Aufrufen und Websites eines Kunden-Accounts geteilt.

PHP wird vom Apache-Server über mod_proxy_fcgi angesprochen. Die PHP-Skripte laufen immer mit den Benutzerrechten des jeweiligen Kunden-Accounts.

Mail-Services

Aufgrund häufiger Probleme mit gehackten Kunden-E-Mail-Accounts, dem darauffolgenden Spamversand über diesen Server und damit zusammenhängendem Blacklisting der Server-IP in diversen Anti-Spam-Listen habe ich den Mailserver derart umkonfiguriert, dass als Spam erkannte E-Mails – eingehend wie ausgehend – vom Mailserver verworfen werden. Es erfolgt keine Mitteilung an den Absender der E-Mail.

Als weitere Maßnahme gegen Spam-Empfang werden jetzt eingehende Verbindungen externer Mailserver abgelehnt, wenn deren Server-IP oder der Domainname in einer von verschiedenen Spam-Blocklisten (z. B. Spamhaus) geführt wird. Dieser Schutz ist so effektiv, dass das vorher genutzte Greylisting abgeschaltet werden konnte, und eingehende Mails fortan umgehend (nach Spam- und Virenprüfung) zugestellt werden können.

Die Webmail-Oberfläche Roundcube wurde auf die neueste Version aktualisiert.