Let’s Encrypt Zertifikate bei Variomedia

Ab dem 3. Dezember wird die Zertifizierungsstelle Let’s Encrypt kostenlose SSL-Zertifikate für Webserver ausstellen, die von sämtlichen Web-Browsern akzeptiert werden. Wir erhalten derzeit viele Anfragen von Kunden, ob wir diese ebenfalls unterstützen werden. Grundsätzlich planen wir, Let’s Encrypt Zertifikate anzubieten. Es gibt allerdings noch einige bisher ungelöste technische Probleme bei der Domain-Validierung durch Let’s Encrypt, so dass wir derzeit noch nicht genauer sagen können, wann und in welcher Form wir diese Zertifikate anbieten können.

Um ein SSL-Zertifikat zu erhalten, muss zuvor bei der Zertifizierungsstelle der Besitz der Domain nachgewiesen werden. Let’s Ecrypt nutzt hierzu einen Mechanismus, der eine Datei mit einem verschlüsselten Token per HTTP von der gewünschten Domain herunterlädt, die nur vom Inhaber der Domain angelegt werden kann. Alternativ kann auch eine Validierung mittels spezieller DNS-Einträge erfolgen, dieses Verfahren wird jedoch zum Start von Let’s Encrypt am 3. Dezember noch nicht unterstützt, sondern erst später nachgereicht.

Um den gesamten Vorgang zu automatisieren stellt Let’s Encypt eine eigene Software bereit, die jedoch auf unseren Webservern nicht funktioniert. Wir müssen daher das von Let’s Encrypt genutzte ACME-Protokoll selbst implementieren. Weiterhin gelten die Let’s Encrypt-Zertifikate nur 90 Tage, so dass wir auch eine automatische Verlängerung implementieren müssen. Eine automatisierte Validierung ist in unserem Webserver-Verwaltungssystem praktisch nur mittels DNS-Validierung umsetzbar, daher müssen wir noch warten, bis dies von Let’s Encrypt unterstützt wird.

Bitte beachten Sie, dass es bei uns grundsätzlich nicht möglich ist, selbst erstellte oder von regulären Zertifizierungsstellen direkt erworbene SSL-Zertifikate einzubinden, da wir ein automatisiertes System zur Verwaltung von SSL-Zerfikaten nutzen, das nicht mit Zertifikaten anderer Anbieter funktioniert.

Aktionsangebot zum Start von .auto im Januar 2016

https://auto.domains/
Unser Angebot für .auto-Domains

Im Januar 2016 starten mehrere neue Top-Level-Domains, die sich an Autohersteller, Autohäuser und Autovermieter richten: .auto, .car und .cars.

Wir haben uns für diese neuen TLDs ein besonderes Angebot einfallen lassen: Zu jeder Domain gibt es ein Hosting-Paket mit 25 GB Speicherplatz und eigenem SSL-Zertifikat kostenlos dazu. Sie finden das Angebot unter https://auto.domains.

.auto-Domains sind mit 2.500 Euro pro Jahr zzgl. MwSt. nicht billig, allerdings sind kurze und prägnante Domainnamen wie potsdam.auto, frankfurt.auto oder mueller.auto möglich. Eine so kurze Domain funktioniert in einer Suchmaschine genau so gut wie in einem Radio-Spot, auf einer Visitenkarte oder als E-Mail-Adresse.

Vormerkungen sind wie auch bei anderen TLDs unter https://ntlds.variomedia.de/ möglich.

Liberalisierung von .pro-Domains am 16.11.2015

Die Top-Level-Domain “.pro” (“Professionals”) war bisher Freiberuflern vorbehalten. Ärzte, Architekten, Anwälte und einige andere Berufsgruppen konnten .pro-Domains registrieren und mussten bisher dazu eine Kammerzulassung nachweisen.

Diese Einschränkung entfällt nun ab dem 16.11.2015. Die TLD .pro kann von jedem Interessenten registriert werden. Der Preis beträgt 33,- Euro pro Jahr zzgl. einer einmaligen Einrichtungsgebühr von 10,- Euro. Bisher sind nur gut 100.000 .pro-Domains registriert, so dass es noch viele interessante Domainnamen unter dieser Top-Level-Domain gibt. Zum Vergleich: Weltweit sind über 120.000.000 .com-Domains und über 16.000.000 .de-Domains registriert.

Phusion Passenger für Ruby, Python und Node.js

Wir erhalten regelmäßig Anfragen, ob wir auch Hosting für Ruby on Rails, Python WSGI oder Node.js anbieten können. Daher planen wir, in unseren Pro-Paketen und auf Dedicated-Servern zukünftig auch Ruby Rack (z.B. Ruby on Rails, Sinatra), Python WSGI (z.B. Django, Flask, Pyramid) und Node.js mittels Phusion Passenger (als Apache-Modul) zu unterstützen. Passenger, auch als mod_rails bekannt, ist der Standard-Application-Server für Ruby on Rails, unterstützt jedoch auch andere Sprachen wie Python (WSGI) und Node.js.

Um eine Web-Anwendung mittels Passenger zu nutzen, muss sich diese an die typische Rack-Verzeichnisstuktur halten. Python- und Node.js-Anwendungen lassen sich sehr einfach anpassen:

  • Im Hauptverzeichnis der Web-Anwendung muss ein Unterverzeichnis “public” für statische HTML-Dateien, Bilder und CGI-Scripte angelegt werden.
  • Der Webserver-Pfad für die gewünschten Domains sollte auf dieses Verzeichnis zeigen.
  • Im Hauptverzeichnis der Web-Anwendung muss Passenger per .htaccess-Datei aktiviert und ein Startup-Script angelegt werden, dass die Anwendung lädt (z.B. config.ru, passenger_wsgi.py, app.js).
  • Wenn im Public-Verzeichnis keine Indexdatei (index.html, index.php, usw.) hinterlegt ist, wird die Anfrage vom Webserver an Passenger weitergeleitet.
  • Passenger lädt beim ersten Seitenaufruf das Startup-Script der Anwendung und leitet dann alle Anfragen an diese weiter.

Für interessierte Kunden bieten wir ab sofort eine kostenlose Testphase unserer Pro-Pakete an, bitte wenden Sie sich dazu an unsere Kundenbetreuung.

Mögliche Probleme mit Apache 2.4.17 und mod_rewrite

Wir haben am 15.10. ein Update der Webserver-Software Apache von Version 2.4.16 auf 2.4.17 vorgenommen, dabei hat sich eine unerwartete Änderung im Modul mod_rewrite ergeben, die zu Problemen mit einigen PHP-Anwendungen (z.B. Concrete5) führen kann: Die Server-Variable “REDIRECT_URL” wurde von einer relativen URL (z.B. “/kapitel/2/”) auf eine vollständige URL (z.B. “http://www.domain.de/kapitel/2/”) umgestellt, daher könnten PHP-Scripte, die auf diese Variable zurückgreifen, unter Umständen nicht mehr korrekt funktionieren.

Falls Sie seit dem 15.10. Probleme mit Ihrer Webseite festgestellt haben, die zuvor nicht aufgetreten sind, wenden Sie sich bitte an unsere Kundenbetreuung.

.uk-Domains jetzt mit Treuhandservice

Vor etwas über einem Jahr hat die Registrierungsstelle für .uk-Domains (Nominet) auch echte .uk-Domains zur Registrierung freigeben; bis dahin gab es nur .co.uk-, .me.uk- und .org.uk-Domains (und einige andere Second-Level-Domains unterhalb von .uk). Inhaber einer bestehenden .co.uk/.me.uk/.org.uk-Domain haben für fünf Jahre nach der Einführung das Recht, ihre gleichlautende .uk-Domain bevorzugt zu registrieren. Der Inhaber der bisherigen Domain muss mit dem Inhaber der neuen .uk-Domain identisch sein.

Dies allein wäre für viele unserer Kunden mit einer .co.uk/.me.uk/.org.uk-Domain kein größeres Problem, allerdings gilt bei .uk-Domains die Einschränkung, dass eine Postanschrift des Inhabers in Großbritannien angegeben werden muss. Wir können dafür nun ab sofort einen Treuhandservice anbieten. Inhaber der Domain bleibt der Kunde, als Anschrift wird jedoch die Anschrift des Treuhandservices in Großbritannien angegeben. Wir berechnen für diesen Dienst einmalig 15,- Euro pro neu registrierter .uk-Domain.

Auch weiterhin können nur Domains registriert werden, für die es bisher kein .co.uk/.me.uk/.org.uk-Äquivalent gibt oder wenn unser Kunde selbst Inhaber einer entsprechenden .co.uk/.me.uk/.org.uk-Domain ist.

MySQL 5.6 für neue Datenbanken verfügbar

Seit einigen Tagen lässt sich im Kundenmenü für neue Datenbanken die MySQL-Version 5.6 auswählen. Sie wird für manche Content-Management-Systeme oder Online-Shops wie Magento 2 benötigt.

Wenn Sie eine bestehende Datenbank mit MySQL 5.6 nutzen möchten, können Sie diese z.B. über phpMyAdmin exportieren, eine neue Datenbank mit MySQL 5.6 anlegen und die Daten dort importieren.

Hinweis zum Umstieg von MySQL 5.5

Bei MySQL Version 5.6 sind standardmäßig die Optionen STRICT_TRANS_TABLES und NO_ENGINE_SUBSTITUTION gesetzt, die Option STRICT_TRANS_TABLES  kann allerdings manchmal zu Problemen führen. Diese Option kann jedoch in einer MySQL-Session über folgenden Befehl deaktiviert werden:

SET SESSION sql_mode = "NO_ENGINE_SUBSTITUTION";

Weiterhin unterscheidet sich der serverseitige Standard-Zeichensatz: Unsere MySQL-5.5-Datenbanken nutzen aus Gründen der Abwärtskompatibilität zu MySQL 4 standardmäßig den Latin1-Zeichensatz, MySQL 5.6 nutzt UTF-8. Falls Sie eine bestehende MySQL-5.5-Datenbank auf MySQL 5.6 migrieren, kann es dadurch unter Umständen zu Problemen bei der Darstellung von Umlauten und Sonderzeichen kommen. Diese Probleme treten meistens bei selbst entwickelten PHP-Scripten auf, wenn der der gewünschte Datenbank-Zeichensatz nicht ausdrücklich vorgegeben wird. Die meisten bekannten PHP-Anwendungen nutzen seit längerem UTF-8 als Standard-Zeichensatz und sind daher von diesen Problemen nicht betroffen, Sie können bei Problemen den alten Standard-Zeichensatz durch folgenden SQL-Befehl setzen:

SET NAMES 'latin1';

Aktuelle Änderungen an unseren Anti-Spam-Regeln

Wir haben in den letzten Tagen einige Änderungen an unseren Mailservern vorgenommen, um die Zahl der nicht erkannten Spammails (False-Negatives) zu reduzieren. Zusätzlich zum bestehenden Spamfilter Expurgate nutzen wir nun DNS-basierte Blackhole-Listen (DNSBL) und werten SPF– (Sender Policy Framework), DKIM– (DomainKeys Identified Mail) sowie DMARC– (Domain-based Message Authentication, Reporting & Conformance) Einträge aus. Um fälschlicherweise als Spam klassifizierte E-Mails (False Positives) zu vermeiden, lehnen wir betroffene Mails nicht ab, sondern nutzen das Greylisting-Verfahren, um die Zustellung zu verzögern.

Was ist eine DNSBL?

Eine DNSBL ist eine laufend aktualisierte Liste verdächtiger IP-Adressen. Verdächtige IP-Adressen sind beispielsweise solche, über die kürzlich massenhaft Spam versendet wurde, oder dynamische IP-Adressen wie etwa von DSL-Anschlüssen von Privatkunden, die E-Mails ausschließlich über SMTP-Relays (z.B. smtp.variomedia.de) versenden sollten.

Was ist SPF?

Mittels SPF können Domaininhaber über spezielle DNS-Einträge festlegen, welche Mailserver E-Mails für diese Domain versenden dürfen.

Was ist DKIM?

Mittels einer DKIM-Signatur kann geprüft werden, ob eine E-Mail von der angegebenen Absenderadresse versendet und beim Transport nicht verändert wurde. Diese Signatur wird automatisch durch den Mail-Server des Absenders erzeugt.

Was ist DMARC?

DMARC nutzt eine Kombination aus SPF und DKIM, um zu prüfen, ob eine E-Mail von der angegebenen Absenderadresse versendet wurde. Weiterhin wird mittels DMARC festgelegt, ob E-Mails, die keine bzw. ungültige DKIM-Signaturen aufweisen oder die SPF-Regeln verletzen, abgelehnt oder angenommen werden sollen. Ähnlich wie bei SPF werden dazu spezielle DNS-Einträge genutzt, die vom Domaininhaber gesetzt werden können. DMARC wird von vielen bekannten Anbietern wie z.B. Google oder Facebook eingesetzt.

Was ist Greylisting?

Greylisting ist ein Verfahren zur Verzögerung der E-Mail-Zustellung. Verdächtige E-Mails werden dabei nicht sofort angenommen, sondern mit einem temporären Fehler abgelehnt, so dass der absendende Server später einen erneuten Zustellversuch unternimmt. Nach Ablauf der Verzögerung (meistens 5 Minuten) wird diese Mail dann angenommen. Erfolgt ein erneuter Zustellversuch, so wird der betroffene Mailserver permanent freigeschaltet, so dass weitere verdächtige E-Mails von diesem Server nicht mehr verzögert werden. Die Strategie dahinter ist, dass viele Spam-Programme keine erneuten Zustellversuche unternehmen und eine verzögerte E-Mail bei einer späteren Zustellung eventuell von unserem Spamfilter korrekt klassifiziert wird.

Wie funktionieren die neuen Anti-Spam-Regeln?

Falls die IP-Adresse des absendenden Servers auf einer DNSBL eingetragen ist, oder die SPF bzw. DMARC-Prüfung fehlschlägt, wird eine E-Mail gegreylistet (auch wenn die betroffene E-Mail nach SPF bzw. DMARC eigentlich abgelehnt werden sollte).
Eine Ausnahme sind E-Mails von PayPal (paypal.com, paypal.de), die bei fehlgeschlagener DMARC-Prüfung gemäß den Vorgaben von PayPal abgelehnt werden, da es sich mit sehr hoher Wahrscheinlichkeit um Phishing handelt.

Mögliche Probleme

Die SPF-Prüfung schlägt bei E-Mail-Weiterleitungen häufig fehl, da die weiterleitenden Server nicht zum Versenden vom E-Mails der Absenderdomain autorisiert sind. Eine Möglichkeit dieses Problem zu umgehen ist SRS (Sender Rewriting Scheme), das von uns und vielen anderen Anbietern für E-Mail-Weiterleitungen genutzt wird. Dabei wird die Absenderadresse anhand bestimmter Regeln umgeschrieben und die Absenderdomain durch die Empfänger-Domain des weiterleitenden Servers ersetzt.

PHP 7 RC 3 verfügbar

Ab sofort steht auf unseren Webservern der aktuelle Release Candidate 3 von PHP 7 zu Testzwecken zur Verfügung.

Wir haben dabei eine für viele Kunden interessante Neuerung hinzugefügt, und zwar einen Datei-basierten PHP-Beschleuniger.

Hintergründe zu PHP-Beschleunigern

PHP ist eine Script-Sprache, die vor der Ausführung auf unseren Webservern in für Computer verständlichen Mikroprozessor-Code übersetzt werden muss. PHP nutzt dabei (ähnlich wie Java) eine sogenannte Virtuelle Maschine, es wird also nicht direkt Mikroprozessor-Code erzeugt, sondern zunächst sogenannter Bytecode für eine Virtuelle Maschine (Zend Engine), die daraus dann im nächsten Schritt Mikroprozessor-Code erzeugt und diesen ausführt.
Dieser Bytecode wird jedoch nach der Ausführung eines PHP-Scripts verworfen, und muss jedes Mal zeitaufwändig neu generiert werden. Um dies zu vermeiden gibt es diverse PHP-Beschleuniger wie den PHP-eigenen OpCache, die den Bytecode für spätere Script-Aufrufe optimieren und zwischenspeichern. Allerdings wurde dieser Bytecode bisher immer im Arbeitsspeicher abgelegt, was auf unseren Shared-Hosting-Servern aus technischen Gründen nicht funktioniert, und nur in den Pro-Paketen (bzw. auf Dedicated-Servern) mit PHP-FPM möglich ist.

Seit PHP 7 kann der PHP OpCache den Bytecode optional auch in Dateien speichern, damit lässt er sich auf allen Shared-Hosting-Servern nutzen.

Wir haben anhand einer aktuellen WordPress-Installation die möglichen Performance-Verbesserungen durch OpCache getestet (Mittelwert über 100 Aufrufe):

opcache-file-small

Im Vergleich zu PHP 5.6 ohne OpCache verkürzt sich die PHP-Ausführungszeit für die WordPress-Startseite um Faktor 2, der Datei-OpCache lohnt sich also wirklich.

PHP 7 und OpCache aktivieren

Um PHP 7 mit OpCache zu nutzen, erstellen Sie zunächst ein Verzeichnis für die Bytecode-Dateien auf Ihrem Webserver. Dieses Verzeichnis können Sie beliebig benennen (z.B. “opcache”), und an beliebiger Stelle in Ihrem Benutzerverzeichnis anlegen, die Zugriffsrechte sollten jedoch aus Sicherheitsgründen auf Ihren Benutzeraccount beschränkt werden (chmod 700).

Legen Sie dann im gewünschten Webserver-Verzeichnis eine .htaccess-Datei mit folgendem Inhalt an (bzw. fügen Sie folgende Zeile zu einer bestehenden .htaccess-Datei hinzu):

AddHandler application/x-httpd-php70 .php

Anschließend legen Sie in diesem Verzeichnis eine php.ini-Datei mit folgendem Inhalt an (bzw. fügen die folgenden Zeilen zu einer bestehenden php.ini-Datei hinzu):

zend_extension=/vrmd/webserver/php70/lib/opcache.so
opcache.file_cache=/homepages/u12345/opcache
opcache.file_cache_only=1

Ersetzen Sie dabei “/homepages/u12345/opcache” durch den vollständigen Pfad zu Ihrem Bytecode-Verzeichnis. Beachten Sie bitte, dass php.ini-Dateien nur in dem Verzeichnis gelten, wo auch das aufgerufene PHP-Script liegt, eventuell müssen Sie diese Datei daher noch in weitere Unterverzeichnisse kopieren.

Hinweis

Bitte beachten Sie, dass sich PHP 7 noch in der Entwicklungsphase befindet, es können noch diverse kleinere Fehler und Probleme auftreten. Sie sollten PHP 7 daher besser noch nicht für kritische Webseiten einsetzen.

PHP 7 im Performance-Vergleich

Die PHP-Entwickler haben für Version 7 drastische Performance-Verbesserungen um 100% und mehr im Vergleich zu den Vorgängerversionen angekündigt. Um dies zu überprüfen, haben wir die PHP-Ladezeiten einer aktuellen WordPress-Installation (Version 4.3) mit den unterschiedlichen bei uns verfügbaren PHP-Versionen gemessen (Mittelwert über 100 Zugriffe):

barchart

Tatsächlich ist PHP 7 deutlich schneller als die Vorgängerversionen, die angekündigte Verbesserung um 100% tritt unter PHP-FPM in Kombination mit dem PHP Opcode Cache tatsächlich ein.

Weitere Informationen zur Nutzung von PHP 7 auf unseren Webservern finden Sie hier.

Bitte beachten Sie, dass PHP-FPM  gegenwärtig nur in den Pro-Paketen bzw. für Reseller mit Dedicated-Server genutzt werden kann, zur Aktivierung von PHP-FPM wenden Sie sich bitte an unsere Kundenbetreuung.