Einrichten von Cockpit Project unter Ubuntu

Der ein oder andere kenn das Cockpit Project. Es handelt sich dabei um ein Tool um einen Linux Server über einen Browser verwalten (=administrieren). Unter anderen kann die Auslastung von Prozessor, Arbeitsspeicher, Festplatten und des Netzwerks angeschaut, Benutzer angelegt – geändert und gelöscht werden. Zudem können Dienste gestoppt und gestartet werden. Es können natürlich weitere Tools wie z.b. tuned installiert werden, um den Funktionsumfang zu erweitern. Des Weiteren kann über die Weboberfläche auch ein SSH-Terminel zugegriffen werden. Damit ist jeder Zeit ein SSH Zugriff gewährleistet.

Da die Weboberfläche auch Responsive Design unterstützt, kann Cockpit auch problemlos von unterwegs auf einem Smartphone oder Tablet aufgerufen werden. Neben dem eigentlich Server können natürlich auch weitere Server über eine Installation problemlos verwaltet werden.

Nachstehend eine Installations- und Konfigurationsanleitung für Cockpit unter Ubuntu 18.04 LTS.

Installation von Cockpit inkl. Plug-Ins

cockpit-packagekit: Cockpit verwendet das Package Kit D-Bus-API, um Informationen zu verfügbaren Paketaktualisierungen abzurufen und diese unabhängig vom Betriebssystem anzuwenden.

cockpit-pcp: Verwendet Cockpit das Performance Co-Pilot-Framework, um Metrikdaten über das System zu erfassen.

cockpit-storaged: Verwendet Cockpit Storaged zum Konfigurieren und Überwachen von Speicher, Festplatten, Mounts usw. auf dem System.

tuned: Tuned bietet eine Möglichkeit zum Anwenden von Systemen und anderen Optionen, um die Leistung, Akkulaufzeit, Datenträgerdurchsatz oder andere Leistungsprofile zu optimieren.

Konfiguration für Cockpit anlegen

Dienst neu starten

SSL-Zertifikat
Nach der Installation bzw. Start von Cockpit wird ein selbstsigniertes Zertifikat erzeugt und eingebunden. Das erkennt man sehr gut daran, dass beim Aufruf der Weboberfläche von Cockpit eine Sicherheitswarnung im Browser angezeigt wird. Abhilfe kann ein Zertifikat von Let’s Encrypt schaffen.

Installation von acme.sh

Die Awwenudung wird unter /opt/acme.sh abagelegt. Die Konfiguration(en) befinden sich unter /etc/acme.sh. An die Account E-Mailadresse werden Benachrichtigungen verschickt, wenn das Ablaufdatum des Zertifikats erreicht wird.

Installationsdateien löschen

Abrufen eines Zertifikats

Für einen Testlauf einfach nach dem Parameter --issue den Parameter --test hinzufügen. Die Variable fqdn entspricht dem vollqualifizieren Hostname (z.B. cockpit-test.wydler.eu).
Über den Parameter --reloadcmd wird das Zertifikat für Cockpit aufbereitet und an der richtige Stelle abgelegt. Abschließend der Service Cockpit neu gestartet, damit das Zertifikat auch geladen ist.

SSL Version und Cihper Suites anpassen
Standardmäßig werden aktuell die Protokoll TLS 1.1 und 1.2 genutzt. Ein kurzer SSL Server Test bei Qualys zeigt allerdings ein mittelmäßiges Ergebnis.

Da ist meiner Meinung nach Luft nach oben. Zu mal es in der Dokumentation von Cockpit genannt wird. Allerdings für meinen Geschmack ist das Thema leider nur ganz leicht angerissen. Um TLS 1.1 und diverse unsichere Cipher Suites zu deaktivieren, folgende Befehle ausführen:

Ein erneuter Test liefert fast ein perfektes Ergebnis:

Um ein A+ zu erreichen ist inzwischen HTTP Strict Transport Security (HSTS) notwendig. Ich habe bis zum Schreiben des Artikels keine Dokumentation gefunden, um dieses Technik unter Cockpit zu aktivieren. 🙁 Abhilfe könnte der Einsatz eines Reverse Proxy schaffen. Da die meisten Webserver HSTS unterstützen.

Ein Aufruf der Weboberfläche steht nun nichts mehr im Weg. Die Adresse lautet: https://qfdn:9090.

Falls ihr eine Firewall auf dem Linux Server aktiviert habt, ist natürlich für den Port 9090 noch die enstprechend Access Regel zu konfigurieren.

Viel Spaß beim Ausprobieren. 🙂