Cockpit vs. Webmin: Linux-Server-Verwaltung im Browser
Die Kommandozeile ist mächtig – aber nicht immer die schnellste Wahl für Routineaufgaben auf einem Linux-Server. Browser-basierte Administrationswerkzeuge wie Cockpit und Webmin bieten eine visuelle Alternative: Dienste überwachen, Netzwerkkonfigurationen anpassen und System-Updates einspielen, ohne tief in die Shell einsteigen zu müssen. Dieser Vergleich zeigt dir, welches Tool für deinen Einsatzzweck besser geeignet ist.
Was ist Cockpit?
Cockpit ist ein modernes, leichtgewichtiges Server-Management-Interface, das von Red Hat entwickelt wird und seit 2014 in aktiver Entwicklung ist. Es ist in vielen Linux-Distributionen vorinstalliert oder direkt aus den offiziellen Paketquellen verfügbar – darunter Fedora, RHEL, CentOS Stream, Rocky Linux, AlmaLinux, Debian und Ubuntu.
Das Besondere an Cockpit: Es ist kein separater Webserver im klassischen Sinne. Cockpit läuft als systemd-Socket-Service und kommuniziert direkt mit dem Kernel und systemd. Dadurch ist der Overhead minimal, und Cockpit „sieht" den Server so, wie er tatsächlich ist – nicht durch eine Abstraktionsschicht hindurch.
Technische Basis von Cockpit:
- Backend: C + JavaScript (D-Bus für Systemkommunikation)
- Frontend: React.js-basiertes Web-UI (PatternFly Design System)
- Kommunikation: WebSocket über
cockpit.socket(systemd-aktiviert) - Standardport: 9090 (HTTPS)
- Benutzerauthentifizierung: über PAM (Linux-Systemnutzer)
Typischer Funktionsumfang:
- System-Übersicht (CPU, RAM, Disk, Netzwerk in Echtzeit)
- Journal-Logs (systemd journal direkt im Browser)
- Dienste verwalten (systemd services starten/stoppen/aktivieren)
- Netzwerkkonfiguration (NetworkManager-Integration)
- Benutzer- und Gruppe-Verwaltung
- Software-Updates (PackageKit-Integration)
- Terminal direkt im Browser
Was ist Webmin?
Webmin ist ein langjähriger Klassiker der Linux-Administration, 1997 von Jamie Cameron entwickelt und seitdem kontinuierlich gepflegt. Mit über 25 Jahren Entwicklungsgeschichte ist Webmin deutlich umfangreicher als Cockpit – und entsprechend komplexer.
Webmin läuft als eigenständiger Perl-basierter Webserver auf Port 10000 und kommuniziert mit dem System über Systemaufrufe und Konfigurationsdatei-Parsing. Der Ansatz ist dadurch distributionsunabhängiger als Cockpit, aber auch schwerer zu sichern und weniger elegant in der systemd-Ära.
Technische Basis von Webmin:
- Backend: Perl (eigener HTTP-Server)
- Frontend: Perl-generated HTML / JavaScript (älteres UI-Framework)
- Kommunikation: HTTP/HTTPS auf Port 10000
- Benutzerauthentifizierung: eigene Benutzerdatenbank oder PAM
- Plugin-System: über 100 offizielle und Drittanbieter-Module
Typischer Funktionsumfang:
- Apache, Nginx, PHP, MySQL/MariaDB konfigurieren
- DNS (BIND), DHCP, Samba-Freigaben verwalten
- Cronjobs, Firewall (iptables/ufw), SSH-Konfiguration
- E-Mail-Server (Postfix, Dovecot)
- Let's Encrypt SSL-Zertifikate integriert
- Datei-Manager (Browser-basiert)
- Virtualmin-Add-on für Web-Hosting-Management
Installation im Vergleich
Cockpit installieren
Cockpit ist in den Standard-Repositories der meisten Distributionen verfügbar:
# Ubuntu / Debian
sudo apt install cockpit
# Fedora / RHEL / Rocky Linux / AlmaLinux
sudo dnf install cockpit
# Dienst aktivieren und starten
sudo systemctl enable --now cockpit.socket
Das war es. Cockpit ist sofort über https://server-ip:9090 erreichbar. Keine weiteren Konfigurationsschritte notwendig.
Webmin installieren
Webmin wird über das eigene Repository installiert:
# Repository hinzufügen
curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh
# Installation
sudo apt install webmin # Debian/Ubuntu
sudo dnf install webmin # RHEL-Familie
Webmin ist dann über https://server-ip:10000 erreichbar. Nach der Installation empfiehlt sich eine initiale Konfiguration (SSL-Zertifikat, Admin-Passwort, IP-Beschränkungen).
Ressourcenverbrauch
| Merkmal | Cockpit | Webmin |
|---|---|---|
| RAM (idle) | ~5–15 MB | ~50–100 MB |
| RAM (aktive Session) | ~30–60 MB | ~100–200 MB |
| CPU-Last (idle) | ~0% (Socket-aktiviert) | ~1–2% (laufender Prozess) |
| Festplatte | ~3 MB | ~50–100 MB |
| Abhängigkeiten | Minimal (systemd-basiert) | Perl + viele Module |
Cockpit hat einen enormen Vorteil beim Ressourcenverbrauch: Da es socket-aktiviert ist, läuft der Prozess nur, wenn tatsächlich jemand verbunden ist. Webmin läuft permanent als Daemon.
Sicherheit
Cockpit
Cockpit integriert sich nativ in das Linux-Sicherheitssystem:
- Authentifizierung über PAM: Cockpit nutzt dieselben Nutzerkonten wie SSH. Kein separates Passwort notwendig.
- sudo-Integration: Administrationsaufgaben erfordern wie gewohnt Sudo-Rechte. Cockpit zeigt einen Passwortdialog, wenn erhöhte Rechte benötigt werden.
- Keine offenen Ports im Idle: Der
cockpit.socketwird nur bei Bedarf aktiviert. - SELinux/AppArmor-kompatibel: Cockpit ist für sichere Linux-Umgebungen ausgelegt.
Webmin
Webmin läuft als root-Prozess und verwaltet seine eigene Benutzerdatenbank – was ein potenzielles Angriffsziel darstellt:
- Eigene Benutzerverwaltung: Webmin-Nutzer sind unabhängig von Linux-Systembenutzern (kann Vor- und Nachteil sein).
- Bekannte CVEs: Webmin hatte in der Vergangenheit kritische Sicherheitslücken (CVE-2019-15107 – Remote Code Execution). Updates sind essenziell.
- IP-Allowlisting: Webmin erlaubt Zugriffsbeschränkungen per IP – nutze diese Funktion.
- Empfehlung: Webmin ausschließlich über VPN oder SSH-Tunnel erreichbar machen, nicht direkt aus dem Internet.
Funktionsvergleich
| Feature | Cockpit | Webmin |
|---|---|---|
| System-Monitoring | ✅ Echtzeit-Grafiken | ✅ Einfache Statistiken |
| Dienste (systemd) | ✅ Nativ | ⚠️ Teilunterstützung |
| Terminal im Browser | ✅ Integriert | ✅ Integriert |
| Dateimanager | ❌ Kein Browser-FM | ✅ Integriert |
| Apache/Nginx-Config | ⚠️ Nur via Terminal | ✅ GUI-Konfiguration |
| MySQL/MariaDB | ❌ Nicht integriert | ✅ GUI-Verwaltung |
| DNS/BIND | ❌ Nicht integriert | ✅ Vollständige GUI |
| E-Mail-Server | ❌ Nicht integriert | ✅ (Postfix, Dovecot) |
| Firewall (iptables) | ✅ Firewalld-GUI | ✅ GUI |
| Kubernetes | ✅ Via Plugin | ❌ Begrenzt |
| Container (Docker) | ✅ Via Plugin | ⚠️ Begrenzter Support |
| Updates einspielen | ✅ PackageKit | ✅ Integriert |
| SSL-Zertifikate | ⚠️ Manuell | ✅ Let's Encrypt integriert |
Erweiterbarkeit
Cockpit-Plugins
Cockpit lässt sich durch offizielle und Community-Plugins erweitern:
- cockpit-machines: KVM/QEMU-VM-Verwaltung (direkter Einstieg in die Virtualisierung)
- cockpit-podman: Podman-Container-Management
- cockpit-storaged: Storage-Verwaltung (LVM, RAID, LUKS)
- cockpit-navigator: Dateimanager (Community-Plugin)
- cockpit-389-ds: LDAP-Verzeichnisverwaltung
Plugins werden als Pakete installiert und erscheinen automatisch in der Cockpit-Oberfläche.
Webmin-Module
Webmin hat ein umfangreiches Modul-Ökosystem mit über 100 offiziellen Modulen:
- Apache, Nginx, Lighttpd (Webserver)
- BIND, djbdns (DNS)
- Postfix, Sendmail, Exim (E-Mail)
- MySQL, PostgreSQL (Datenbanken)
- Samba, NFS (Dateifreigaben)
- Virtualmin (Web-Hosting-Management als eigenes Produkt)
Für klassisches Web-Hosting-Management ist Webmin + Virtualmin eine vollständige Plattform, die Cockpit in diesem Bereich klar übertrifft.
Use Cases: Wer sollte was nutzen?
Cockpit: Ideal für...
- DevOps-Teams und Systemadministratoren, die systemd-zentriert arbeiten
- Kubernetes-/Container-Umgebungen mit Podman oder KVM-Virtualisierung
- RHEL/Fedora/Rocky Linux/AlmaLinux-Installationen (dort standardmäßig integriert)
- Moderne Server-Setups, die auf systemd und aktuelle Linux-Kernel setzen
- Security-bewusste Umgebungen, in denen ein minimaler Angriff-Footprint wichtig ist
Webmin: Ideal für...
- Web-Hoster und Shared-Hosting-Provider, die Apache/PHP/MySQL verwalten
- DNS-Server-Administration mit BIND
- E-Mail-Server-Setup (Postfix + Dovecot)
- Administratoren, die eine vollständige GUI-Verwaltung aller Server-Dienste bevorzugen
- Ältere Infrastruktur, die nicht vollständig auf systemd migriert ist
- Virtualmin-Nutzer (umfassendes Web-Hosting-Panel auf Webmin-Basis)
Cockpit vs. Webmin: Meine Empfehlung
Für einen modernen Linux-Server mit Container-Workloads und systemd-Diensten ist Cockpit klar die bessere Wahl: schlank, sicher, nativ integriert. Für klassisches Web-Hosting mit Apache, Datenbanken, DNS und E-Mail bietet Webmin (in Kombination mit Virtualmin) eine vollständigere GUI-Lösung.
Die gute Nachricht: Beide Tools schließen sich nicht aus. Es ist möglich, Cockpit für tägliche Adminaufgaben zu nutzen und Webmin zusätzlich für spezifische Module (z.B. DNS-Verwaltung) einzusetzen – sofern man den Sicherheitsaspekt im Auge behält.
Fazit
Cockpit ist das modernere, sicherere und ressourcenschonendere Tool – ideal für Administratoren, die einen aufgeräumten Linux-Server mit systemd-Integration bevorzugen. Webmin ist der mächtigere Allrounder mit einem riesigen Modul-Ökosystem, aber auf Kosten von mehr Komplexität und einem größeren Angriffspotenzial.
Für Self-Hoster mit modernen Setups (Docker, Kubernetes, Proxmox als Basis) ist Cockpit der einfachere, sicherere Einstieg. Für klassische Server-Administration mit Web-Hosting, DNS und E-Mail bleibt Webmin ein relevanter Klassiker – solange du ihn nicht dem offenen Internet aussetzt.