Plesk als Web Hosting Panel kennt man da draußen, oder auch cPanel, Webmin, Vesta und so weiter. Ich bin nach 4 Jahren Plesk nun zum Open Source ISPConfig 3 gewechselt und ziehe ein erstes Fazit. Kann ISPConfig 3 mit Plesk mithalten?
Ich kann mich noch sehr gut an meine ersten Plesk-Tage erinnern, denn kurz nachdem ich Plesk lizenzierte wurde dessen Preis massiv erhöht. Alles begann im Juli 2017, da hatte ich mir beim „Aldi Webhoster“ Contabo.de eine Plesk-Lizenz zur VM dazu bestellt, damals kostete Plesk Pro noch 5€ im Monat.
Von 2014-2017 hatte ich mein Webhosting unter Debian bei OVH vollständig mit Command Line selbstverwaltet, inkl. Mail-Server und Name-Server (DNS).
„Nur“ 5€ also für Plesk Pro, relativ günstig möchte man meinen. Die Pro-Lizenz erlaubte es schon damals bis zu 30 Domains zu verwalten. Wirklich im Einsatz hatte ich zu Höchstzeiten lediglich 10 Domains. Der erwähnte Preis-Rakenanstieg kam kurz darauf im September 2019, als Plesk die Kosten der Pro-Lizenz auf 9€/Monat anhob, beinahe um 100% teurer.
Und so nutze ich Plesk seit rund 4 Jahren, das macht insgesamt mehr als 400€ Lizenzkosten, ohne die Kosten der Debian VMs dazu gerechnet. Hat es sich gerechnet? Also ich weiß nicht so recht. Plesk ist eine tolle Software, genauso wie cPanel oder Webmin. Man kann sehr viel mit Plesk anstellen.
Aber braucht man das alles? Darauf zumindest meine Antwort: Nein. Die einzige Funktion, die mein „Kunde“ alias meine Schwester tatsächlich benutzte war der Auto-Responder für E-Mails während dem Urlaub. Und das kann ISPConfig genauso.
Warum verwalte ich meinen Webserver nicht selbst mit SSH und Linux Command Line? Weil ich bis zu 10 Domains besitze und manchmal Freunden oder Familienmitgliedern einen kleinen Anteil Webspace zu Verfügung stelle.
Aus Bequemlichkeit aber auch aus Sicherheitsgründen nutze ich gerne eine Hosting-Software. Durch die Hosting-Software werden Zugriffe der Kunden bereits gehärtet und abgeschottet, zum Beispiel weil chrooted (jail) automatisch an Board ist. Denn ein gehackter Webspace sollte nicht auf andere Webspaces oder auf den Host übergreifen können.
Und hier kommt ISPConfig ins Spiel, eine Web Hosting Panel Software die in ihrer aktuellen Version eigentlich keine Wünsche offen lässt und aktiv weiter entwickelt wird (ich glaube sogar durch deutsche Entwickler drüben in der Lüneburger Heide, richtig?)
Goodbye Plesk
Meine Umstellung von Plesk zu ISPConfig habe ich schon vor 2 Jahren angekündigt. Zudem habe ich auch die E-Mail VM wegmigriert. Insgesamt wird innerhalb der nächsten 2 Wochen defintiv abgeschaltet weil migriert:
-
1 Webserver mit Plesk
-
1 E-Mail Server mit mailcow (noch ohne docker), Teamspeak3-Server, ZNC und ein paar Extrawürste
Was kann ISPConfig?
Um zu versehen in welcher Liga ISPConfig 3 spielt sollte man wissen, dass ISPConfig vollkommen mandantenfähig ist. Man kann Reseller – zu deutsch Wiederverkäufer – anlegen und diese Reseller können wiederum eigene Kunden haben. Damit das eigene Hosting-Imperium auch performant bleibt lassen sich mehrere Server als sogn. „Multiserver Mode“ zusammenführen.
So nutze ich es derzeit:
- Server #1 ist für Web + Datenbank + Admin-/Kundenpanel
- Server #2 ausschließlich für E-Mails
- aber die Verwaltung von Server#2 erfolgt über Server #1.
Man könnte das Spiel noch weiter treiben und dedizierte Datenbank-Server ins Multiserver-Setup integrieren, bis hin zu einem Setup reduntanter MySQL MariaDB, Stichwort Galera Cluster.
Mit ISPConfig lässt sich zusammengefasst folgende Dienste selber hosten:
-
E-Mail Server
-
Web Server
-
DNS Server
-
File Server
-
Datenbank Server
-
vServer (OpenVZ, nicht KVM)
-
XMPP
Brauche ich Linux Skill, um ISPConfig zu betreiben?
Die kurze Antwort: Ja!
Die lange Version: ISPConfig nutzt Debian bzw. Ubuntu als Unterbau und bringt fast keine eigenen Scripte mit. Alles, was ISPConfig über die Web-Oberfläche einstellen lässt, das alles lässt sich auf der Linux Command Line anpassen oder verändern oder erweitern.
Ein Beispiel: Du möchtest PHP 7.4 oder sogar PHP 8 anbieten? Dann musst du PHP 8 aus einem Ubuntu Repository (PPA) oder Debian Repository herunterladen – über die Linux Command line. Danach kann in ISPConfig unter System > Zusätzliche PHP Versionen das zuvor auf dem Server installierte PHP 8 verlinkt werden. Das sieht dann so aus, hier am Beispiel PHP 7.4:
Daher mag ich ISPConfig so sehr: Die ISPConfig GUI ist keine Zauberei oder proprietäres binäres Zeugs, sondern nur eine Oberfläche die 100% Ubuntu bzw. Debian nutzt und konfiguriert. Alle Änderungen der GUI können auf der Command Line verfolgt oder angepasst werden, wenn man denn möchte.
Welche ISPConfig-Features nutze ich, und was nicht?
Wie vorher schon einmal erklärt ist mein Setup ist überschaubar:
-
Server #1 web.schroeffu.ch macht Web + Datenbank
-
Server #2 web2.schroeffu.ch macht Web (leer) + E-Mail
-
beide Server laufen im Multiserver Mode, die WebUI läuft auf #1.
Wie man sieht nutze ich nicht die DNS Features von ISPConfig. Das hat den Hintergrund, dass ich schon damals bei Plesk nicht dessen DNS-Funktion nutzen wollte, sondern meine DNS-Einträge über namecheap.com verwalte. Vor 2017, also noch vor meiner Plesk-Ära, hatte ich zwei Debian-Server zu Nameserver gemacht.
Nach einigen Jahren eigene Nameserver zu betreiben fand ich das eher lästig. Mit der Entscheidung alle Domains über namecheap.com kostenlos zu verwalten habe ich bisher nichts falsch gemacht. Läuft, und läuft, und läuft.
Wie man auch sieht, nutze ich kein vServer Feature. Das Problem ist, ISPConfig nutzt OpenVZ und nicht KVM. Eine virtuelle Maschine teilt sich also den Kernel mit dem Host. Das mag ich ganz und gar nicht. Man kann in der virtuellen Maschine keine Kernel-Module nachladen. OpenVZ ist eben keine echte Virtualisierung. Daher nutze ich das nicht, auch wenn die Funktion mit wenigen Klicks weitere VMs zu erstellen echt verlockend daher kommt.
Was ist mit Rspamd?
Der informierte Leser weiß, dass ISPConfig nur mit Spamassassin daherkommt, das ist der Apache unter den Spam-Abwehr Tools. Rspamd ist der Nginx, sozusagen. Man kann rspamd nachinstallieren, aber über die Linux Command Line und nicht über das ISPConfig Panel. Trotzem ist das alles kein Problem. Ich habe meine Spam-Abwehr recht stark getweakt, da habe ich sogar etwas von Mailcow abgeguckt. Ein paar zusätzliche Blacklists hier, ein paar Makro-Abwehr dort. Ich denke das Thema rspamd ist derart komplex und spannend, ich sollte einmal separat dazu etwas schreiben.
Was ist mit einer Web Application Firewall?
Eine Web Application Firewall, kurz WAF, schützt deinen Webspace vor Angriffen auf den Application Server Apache2/Nginx/Tomcat. Eine WAF scannt alle Zugriffe und blockiert z.B. XSS Injection, SQL Injections und so weiter. Eine WAF ist nicht dasselbe wie firewalld/nftables/iptables!
ISPConfig hat zwar eine minimale PHP WAF integriert, die meines Erachtens aber nur das Web-Panel schützt.
Ich empfehle in jedem Fall ModSecurity mit dem neusten CRS Ruleset nach zu installieren und für schützenswerte Webseiten den Paranoia Level von 1 auf 2, 3 oder 4 (sic!) zu erhöhen. Aber Achtung: Schon ab Paranoia Level 2 muss man je nach Website-Typ schon eine Menge False-Positive bearbeiten. Mod Security ist eine Anomaly Based Firewall, sie reagiert also auf alles Böse und nicht nur auf spezifische Attacken.
Auch dieses Thema ist ein eigener Blogpost wert. Vielleicht später einmal mehr dazu.
Fazit
ISPConfig 3 kann Plesk ersetzen. Mehr noch: ISPConfig kann dank Reseller-Funktion ein ganzes Plesk-Imperium ersetzen.
Hingegen der Administrator muss Linux-Skills mitbringen oder sich mit learning-by-doing aneignen, um das Maximum aus ISPConfig heraus zu holen. Oder um extras nachzuinstallieren, wie z.B. PHP8 oder rspamd. Und um im Störungsfall auf der Command Line zu analysieren.
PS: Alle reden von „Yunohost“, habe ich noch nie selbst ausprobiert. Was unterscheidet denn Yunohost zu Plesk/cPanel/ISPConfig?
2 Kommentare
Sven · 12. August 2021 um 08:08
„das Thema rspamd ist derart komplex und spannend, ich sollte einmal separat dazu etwas schreiben“ – darf man darauf hoffen oder gar darum bitten?
Schroeffu · 12. August 2021 um 12:19
Kommt darauf an woran man interessiert ist. Wenn ich meine jetzige Installation beschreibe, könnte ich „nur“ erklären wie man rspamd hinter ISPConfig mit nur einem Server (Ubuntu 20.04 LTS) ohne Redis-Cluster und ohne Ansible betreibt. Dafür mit einigen Tweaks wie:
– ClamAV + alle Makros als Virus ablehnen
– Diverse weitere Blacklists
– Eine Spamtrap Mailbox mit -Scoring abstraft
– Die Heinlein SpamAssassin Regeln dazu nimmt
– RAZOR dazu nimmt (Pyzor verwende ich nicht weil leere Mails mit nur Betreff in Pyzor anschlagen)
– DCC dazu nimmt
– Ausführbare Dateien wie .exe/.bat so hoch be-scoren dass sie allesamt als Spam abgelehnt werden
– (Ich bin so zu 80% zufrieden bisher, beim Thema AntiPhishing ist noch deutlich Luft nach oben)
Ich plane @work rspamd als Cluster dazu zu schalten, dann hätte ich auch 100% Ansible Playbooks für einen Blogpost. Das wird aber noch einige Wochen dauern bis ich dazu komme. Dann wären Features mit dabei wie:
– Redis-Clustering HA
– ICAP Virenscanning mit ESET oder FortiGate
– Behandlung von ausgehenden Mails
– Praktische Erfahrung bei 5000+ Mails/Tag