Wer unseren Blog regelmässig liest oder schon länger mit uns unterwegs ist, hat vielleicht bemerkt: In den letzten Monaten war es auf den ersten Blick etwas ruhiger. Aber der Eindruck täuscht – denn unter der Haube hat sich eine ganze Menge getan!
Wir haben uns ganz bewusst dazu entschieden, in dieser Zeit weniger neue, sichtbare Funktionen zu veröffentlichen. Nicht, weil es an Ideen mangelte – ganz im Gegenteil. Unser Fokus lag auf einem Bereich, der oft unsichtbar bleibt, aber absolut zentral ist: die Sicherheit deiner Contao-Installationen.
Wir haben viel Zeit und Herzblut in neue Versionen des Contao Managers und das reibungslose Zusammenspiel aller Komponenten gesteckt. Prozesse wurden durchleuchtet, verbessert und abgesichert – kurz: Wir haben das Fundament gestärkt, auf dem alles andere aufbaut.
Und jetzt ist es so weit: Mit dem neuesten Release unserer App kommen all diese Entwicklungen zusammen. Die Puzzle-Teile greifen ineinander, alles fühlt sich runder, stabiler und vor allem sicherer an.
Wir freuen uns riesig, dir das Ergebnis endlich vorstellen zu können!
Contao Manager 1.9 und 1.10
Nachdem im Februar unser Lieblings-CMS auf die Version 5.5 gehoben und mit vielen neuen tollen Funktionen versehen worden ist. Haben wir dafür gesorgt, dass der Contao Manager dank der Versionen 1.9 und 1.10 mit noch mehr Sicherheit glänzen kann. Der Manager verfügt jetzt über eine integrierte Benutzer- und Rechteverwaltung sowie über einen Schutz vor der Manipulation von Composer-Paketen. Das Beste: Davon profitierst du ab sofort direkt in trakked.
Doch was hat es mit der Benutzerverwaltung auf sich?
Dazu möchte ich dir einen kurzen Überblick über die neuen Benutzerrollen verschaffen:
- READ: kann die installierten Pakete sehen und Log-Dateien lesen, aber das System nicht verändern.
- UPDATE: darf bestehende Pakete aktualisieren und Wartungsaufgaben vornehmen (z. B. Cache leeren).
- INSTALL: darf Pakete aktualisieren und installieren und Systemeinstellungen ändern.
- ADMIN: kann alle Funktionen des Contao Managers nutzen.
Bis zum heutigen Release hatte trakked Vollzugriff (Benutzerrolle: ADMIN) auf den Contao Manager. Würde es ein:e Angreifer:in schaffen, an unsere Daten zu kommen, könnte mit Hilfe der Zugangstokens und der API des Contao Managers beliebige Composer-Pakete installiert werden. Es wäre relativ einfach, alle Installationen unserer Kund:innen zu übernehmen.
Mit der heute veröffentlichten Version wird nun automatisch die neu geschaffene Benutzerrolle UPDATE verwendet. Unsere bestehenden Tokens mit AMDIN-Rolle haben wir automatisch herabgestuft, so dass keinerlei Handlungsbedarf deinerseits besteht.
Abgesehen davon, dass jetzt niemand mehr ungewollte Pakete über unsere Zugriffs-Tokens einschleusen kann, hat das noch einen anderen netten Nebeneffekt: Neu bieten wir allen Benutzer:innen von trakked das direkte Login auf Klick beim Contao Manager an. Die Zugriffsberechtigungen sind in diesem Fall natürlich ebenfalls diejenigen der UPDATE-Rolle. Du kannst also weiterhin bequem Datenbank-Updates durchführen und nicht-destruktive Wartungsaufgaben ausführen.
Wenn du also nun einen Contao Manager deiner Wahl via trakked öffnest, wird dir eine Meldung angezeigt, dass du mit eingeschränkten Berechtigungen angemeldet bist. Möchtest du nun doch eine Aktion ausführen, die eine höhere Rolle erfordert (z. B. ein neues Paket installieren), gelangst du durch Klick auf «Neu anmelden» zum Login-Bildschirm und kannst dich dort erneut einloggen.
Wie funktioniert die neue UPDATE-Rolle?
In der neusten Version des Contao Manager 1.10 geht es darum die Composer Resolver Cloud und die Contao Manager API über die Validierung der composer.lock davor zu schützen, dass ihr bösartige Pakete, bei der Übernahme dieser Dienste, untergejubelt werden können. Wir stellen also sicher, dass die composer.lock nicht beliebige Daten enthalten kann, sondern immer zur composer.json passen muss!
Dafür wurde das Paket terminal42/composer-lock-validator geschaffen, welches diverse Angriffsszenarien korrekt erkennt.
Nach der automatischen Aktualisierung auf Contao Manager 1.10. wird es also nicht mehr möglich sein:
- Pakete hinzuzufügen, obwohl sie in der
composer.jsongar nicht erwähnt werden. - Pakete hinzuzufügen, obwohl sie von keinem anderen Paket gewünscht werden.
- Pakete zu entfernen, die da sein müssten.
- Die Metadaten eines Pakets zu verändern.
Die UPDATE-Rolle erlaubt es, eine composer.lock-Datei per API zu übermitteln – jedoch nicht die composer.json. Und genau darin liegt der grosse Sicherheitsgewinn: Du kannst über trakked weiterhin bequem Updates durchführen, aber es ist nun ausgeschlossen, dass dabei ungewollt oder gar heimlich ein potenziell schädliches Paket eingeschleust wird!
Weitere Neuerungen beim Contao Manager
Neben der neuen Benutzer- und Rechteverwaltung hielten auch Passkeys und Zwei-Faktor-Authentifizierung Einzug in den Contao Manager und auch die Komponenten wurden bei dieser Gelegenheit aktualisiert.
Natürlich wurde die neue Version des Contao Manager bei deinen trakked-Installationen automatisch über Nacht aktualisiert. Es sei denn du bist mit deiner Installation noch auf PHP 7.4 bzw. 8.0, dann wird dir die letzte kompatible Version des Contao Managers zur Verfügung gestellt. Höchste Zeit sich also Gedanken zu einem Update auf die neuste PHP-Version zu machen.
Wenn du die allgemeine Sicherheit deiner Contao-Installation verbessern möchtest, empfehlen wir dir unseren Blogbeitrag.
Ausserdem haben wir eine Seite veröffentlicht, auf der wir dir Einblick geben, was wir für die Sicherheit deiner Daten alles tun.
Es gibt zwar keine spektakuläre neue Funktion in trakked – dafür aber wichtige Verbesserungen, die für deutlich mehr Sicherheit sorgen. Und genau deshalb schlafen wir (und hoffentlich auch du) jetzt ein gutes Stück besser.