Friday, June 14, 2013

OTRS und die Paketverifizierung

Seit kurzem gibt es im OTRS Paketmanager eine Paketverifikation (OTRS >= 3.1.16 bzw. 3.2.7), die zu einigem Unmut geführt hat. Nicht, dass es eine Paketverifikation gibt ist hier das Problem, sondern die Vorgehensweise der Nicht-Kommunikation und Diskreditierung von Drittanbietern (Disclaimer: Ich gehöre zu diesen Drittanbietern). Außerdem bin ich der Hauptentwickler und Betreiber von OPAR, dem OTRS Package Archive, doch dazu später mehr.

Bei der Paketverifikation wird für das Paket eine MD5-Summe erzeugt und zusammen mit dem Paketnamen an einen Webservice der OTRS AG übermittelt. Stimmen die Werte mit denen überein, die bei der OTRS AG hinterlegt sind ist alles in Ordnung. Andernfalls bekommt der Benutzer eine Warnung angezeigt, die auch ganz klar die Empfehlung ausspricht, das Paket nicht zu installieren.

Wie wird denn jetzt ein Paket verifiziert? Man muss seinen kompletten Code an die OTRS AG schicken und die prüfen dann manuell, ob das Paket Auswirkungen auf die Stabilität und die Sicherheit hat.

Hier tauchen schon die ersten Probleme auf:

  •  Welche Kriterien werden angewandt? Auf meine Mails habe ich bisher entweder keine oder nur sehr allgemein formulierte Antworten bekommen.
  •  Wenn die Pakete sehr spezifische Einstellungen oder Code enthält, der "geschäftskritisch" für meinen Kunden ist, dann darf ich den nicht einfach so weitergeben, also kann ich das nie verifizieren lassen.
  •  Es vergeht viel Zeit von der Einreichung des Codes bis zur Verifizierung durch die OTRS AG. Für ein Paket, das ich verifizieren lassen wollte, liegt mir auch nach über einer Woche noch keine Aufwandsabschätzung und Angebot vor.
  •  Wenn ich Code für das Kernprodukt beisteuere muss ich ein "Contributor Agreement" unterschreiben, in dem steht, dass ich alle Rechte an allen Einsendungen die ich für irgendein Projekt der OTRS AG mache an die OTRS AG abtrete. Die Paketverifikation ist ein Projekt der OTRS AG. Ist das Einreichen von Paketen zur Verifikation schon eine "Contribution"?

Die Probleme gehen weiter:

  • Die Verifikation wird nur ausgeführt, wenn ein zusätzliches Modul für https installiert ist
  • Wenn ein Paket den Paketmanager oder das UserAgent-Modul überschreibt ist die Verifikation dahin und der User merkt nichts bzw. die Sicherheit ist nur vorgetäuscht.
  • Die rein manuelle Verifikation ist sehr fehleranfällig. Wer garantiert ein sehr gutes Perl-Wissen desjenigen, der das Paket verifiziert?
  • Was passiert wenn zwei Anbieter den gleichen Paketnamen verwenden? Wenn z.B. Anbieter A ein Paket X verifizieren lässt und Anbieter B sein Paket ebenfalls X nennt und verifizieren lässt?


Die c.a.p.e IT hat mittlerweile das Paket ConfigureCallHome veröffentlicht, mit dem man die Verifikation optional deaktivieren kann. Sie haben auch in einer Pressemitteilung ihren Unmut über die Paketverifikation kundgetan.

Und die OTRS AG hat dazu eine Stellungnahme formuliert. Auf diese möchte ich hier noch eingehen:

"Im Sinne des Open Source-Gedankens begrüßt die OTRS AG weiterhin jedes zur Verifizierung eingereichte Software-Paket..."
Natürlich begrüßen sie jedes eingereichte Software-Paket. Immerhin verdienen sie damit Geld, die Pakete zu verifizieren. Ich begrüße auch jede Gelegenheit, relativ leicht Geld zu verdienen. Was das aber mit "Im Sinne des Open Source-Gedankens" zu tun hat, ist mir schleierhaft. Im Sinne des Open Source begrüße ich jede veröffentlichte OTRS-Erweiterung. Für Open Source braucht es keine Verifizierung, sonst wäre ja Perl und das CPAN - dessen sich die OTRS AG übrigens für die Programmierung von OTRS ja bedient - kein Open Source.

"...und stellt auf Anfrage jedem Interessierten den Katalog der Verifizierungskriterien zur Verfügung."
Davon habe ich bisher noch nichts gemerkt. Ich habe den bisher noch nicht bekommen - obwohl ich lieb bei verify@otrs.com nachgefragt habe.

"Die OTRS AG steht in ständigem und regem Austausch mit der Community."

Ständiger und reger Austausch? Über dieses Thema wurde nicht öffentlich gesprochen - weder auf der Mailingliste noch im Forum. Vielleicht ist es mir durch die Lappen gerutscht, aber vermutlich nicht allen, die ihren Unmut geäußert haben und die Forensuche hat auch nichts ergeben. Zusätzlich hat sich die OTRS AG jetzt erst auf die Pressemitteilung von c.a.p.e IT geäußert und nicht in dem oben verlinkten Thread.

Wenn es einen anständigen Dialog gegeben hätte, hätte man gleich was ordentliches machen und viel Unmut vermeiden können. Das hätte zwar mehr Zeit gekostet, aber der Nutzen wäre viel größer.

"als auch die Tatsache, dass im von der Community betriebenen OTRS Package Archive (OPAR) jeder unter Verwendung eines Pseudonyms ohne jegliche Sicherheitsprüfung Pakete veröffentlichen kann, spricht für ein geringes Sicherheitsbewusstsein, für das die OTRS AG keine Verantwortung übernehmen kann und auch nicht will."
Jetzt setze ich mir den Hut des Hauptentwicklers von OPAR auf: Ja, jeder kann unter Verwendung eines Pseudonyms Pakete veröffentlichen. OPAR ist als CPAN-Pendant für OTRS gedacht. Denn je mehr Entwickler ihre Leistungen der Allgemeinheit bereitstellen, um so besser kann das einzelne OTRS werden. Warum muss für jedes OTRS so etwas wie MultiSMTP neu entwickelt werden? Jeder soll doch von den Erfahrungen und Entwicklungen der anderen profitieren.

Ohne jegliche Sicherheitsprüfung? Jein. Ich habe Perl::Critic::OTRS geschrieben (das anscheinend auch bei der OTRS AG bzw. einigen Entwicklern dort genutzt wird), bei dem auch auf Systemaufrufe geprüft wird. Also nicht ganz ohne einen kleinen Blick auf die Sicherheit zu werfen. Ich würde gerne noch mehr machen, aber der Tag hat nur 24 Stunden.

Aber @OTRS_AG: Wie wäre es, wenn ihr alle Module auf OPAR kostenlos verifizieren würdet (auch ohne Contributor Agreement etc)? Das wäre eine super Sache für die Community!

Der Admin in einem kleinen Unternehmen der eine kleine Erweiterung geschrieben hat, möchter sicherlich kein Geld ausgeben um diese Erweiterung verifizieren zu lassen...

Was ich mir wünschen würde:

  • Ein echter Dialog mit der Community und den Drittanbietern
  • Eine Offenlegung der Kriterien der Verifizierung
  • Die Möglichkeit, dass man selbst Pakete verifizieren kann
  • Die OTRS AG als echter Teil der Community
  • und noch vieles mehr...

1 comment:

eliasp said...

Ich muss deinem Post leider zustimmen.

Die Paketverifizierung hinterlässt aus Sicht des Community-/FOSS-Gedanken ein deutliches "G'schmäckle", wie man hier im Süd-Westen sagen würde…