Kommentar zu Docker – Genauso schlimm wie befürchtet

Marius hat gestern in Braunschweig darüber gebloggt, dass Docker – Genauso schlimm wie befürchtet ist. Bis Marius zu seiner Analyse kommt, stimme ich ihm voll und ganz zu. Auch ich gehöre zu den ewig gestrigen, den Nörglern, Pessimisten und Schwarzsehern, welche es von Anfang an gesagt haben. Und unsere düstere Vorsehung ist eingetreten. Welch Überraschung.

Wo ich Marius nicht mehr zustimme, sind die Ergebnisse seiner Analyse, welche er in der zweiten Hälfte seines Artikels vornimmt. So schreibt er dort:

Der sicherere Ansatz ist und bleibt, daß jemand das OS vorgibt und sich die Apps an die Umgebung anpassen müssen. Damit sind die gezwungen Updates zu machen und das dient dann der allgemeinen Sicherheit.

URL: https://marius.bloggt-in-braunschweig.de/2019/02/27/docker-genauso-schlimm-wie-befuerchtet/

Diese Aussage ist in meinen Augen falsch. Denn niemand wird gezwungen, Updates für die in einem Betriebssystem installierten Anwendungen zu veröffentlichen. Folgende Beispiele sollen dies verdeutlichen.

Man nehme ein herkömmliches Betriebssystem, sagen wir Ubuntu oder Red Hat Enterprise Linux. Unter beiden Betriebssystemen kann ich mir nun eine Anwendung als DEB- bzw. RPM-Paket oder auch ganz klassisch als TAR-Archiv aus dem Internet herunterladen und auf meinem Betriebssystem installieren. Habe ich nun eine Garantie, dass ich Sicherheitsupdates für diese Software erhalte? Die Antwort lautet: Nein.

Verwendet man eine nach obigem Muster installierte Software und nutzt diese gemeinsame Bibliotheken, mag man das Glück haben, dass die Software nach der Aktualisierung eben dieser Bibliotheken nicht mehr funktioniert. Ob man dies als Sicherheitsgewinn wertet oder es doch nur ein Ärgernis ist, sei einmal dahingestellt.

Im Ubuntuversum soll die Paketquelle universe als abschreckendes Beispiel dienen. In dieser befindet sich so viel alte und nicht mehr gepflegte Software, dass man auch hier die Chance hat, Anwendungen mit ein oder mehreren Sicherheitslücken zu finden.

Zugegeben, mit einer zentralen Paketverwaltung ist es einfacher, sein System aktuell zu halten, um es vor Sicherheitslücken zu schützen. Eine Garantie ist es nicht und kein Sysadmin sollte sich darauf ausruhen.

Abzulehnen ist also alles, was eine App installiert, die mit eigener Umgebung kommt, sowas wie FlatPak, Docker und Snap.

URL: https://marius.bloggt-in-braunschweig.de/2019/02/27/docker-genauso-schlimm-wie-befuerchtet

Marius schließt seinen Beitrag mit obigem Satz. Dieser ist mir zu pauschal. Denn FlatPak, Docker und Snap sind nicht per Definition unsicher. Wer sich jedoch ohne lange nachzudenken, den erstbesten Container vom Docker Hub herunterlädt ist selber schuld.

Es gibt jedoch auch die Möglichkeit eine eigene Registry für Container aufzusetzen und zu betreiben, um nur Container zu verwenden, die man selbst geprüft bzw. gebaut hat. Oder man nutzt die Registries der Enterprise Distributionen wie z.B. Red Hat OpenShift, welche sich gegen Entgelt um die Bereitstellung geprüfter Container-Images kümmern. Auch dies ist keine Garantie für (absolute) Sicherheit und Aktualität. Doch hat hier wenigstens jemand den Sicherheitsaspekt im Auge und arbeitet an diesem Thema. Dies ist im Vergleich zur völlig freien, unkontrollierten und schwer prüfbaren Müllhalde ein großer Vorteil.

Ähnliches gilt für FlatPak und Snap. Letztlich stehen und fallen die kommerziellen Angebote damit, wie gut ihr Anbieter seinen Job macht. Auch hier wurden schon Pakete gefunden, die neben ihrer eigentlichen Aufgabe noch einen Zweitjob (Crypto currency mining) hatten.

Für pauschale bzw. absolute Aussagen ist es in meinen Augen noch zu früh. Wir werden noch eine Weile abwarten müssen, wie sich die einzelnen Projekte weiterentwickeln. Als Sysadmin sollte man weiterhin stets auf der Hut sein und seinen gesunden Menschenverstand benutzen.

9 Gedanken zu „Kommentar zu Docker – Genauso schlimm wie befürchtet

  1. Juergen Donauer

    Vollkommen richtig! Viele Leute vergessen, dass Systeme Pflege und Wartung brauchen.

    Das muss man aber nicht nur auf Linux beschränken. Die gleichen Probleme hast Du bei jedem Betriebssystem oder bei Software, die aus den Händen Dritter kommt. Dabei ist es völlig egal, ob es ein APK für Android, ein Paket aus F-Droid, eine exe für Windows und so weiter ist.

    Wir müssen immer mit Fehlern rechnen und deswegen die Systeme auch so aufstellen, dass sie mehrere Verteidigungs-Schichten haben. So ist das nun Mal heutzutage. Viel ist außerdem vom Anwendungszweck abhängig.

    Nur weil ein Fahrer seine Bremsen nach 400.000 km immer noch nicht bei seinem PKW getauscht hat, kann man nicht pauschalisieren, dass alle PKWs wegen Bremsproblemen unsicher sind.

    Antworten
  2. chris_blues

    Ich halte den grundlegenden Ansatz, daß jede Anwendung ihre eigenen Bibliotheken mitbringt, für kaputt. Das Konzept ist leider einfach nicht bis zu Ende gedacht. Und so kam es, wie es kommen mußte. Damit oute ich mich wohl auch als Ewig-Gestriger. Kann ich mit um.

    Ich hab die ganze Zeit nicht verstanden, warum man sich verschiedene Versionen von ein und der selben Bibliothek aufs System setzen muß, anstatt die davon abhängige Anwendung zu aktualisieren. In meinen Augen sitzt hier der Reiter rückwärts auf dem Pferd.

    Und das ist es ja, wofür die systemeigene Softwareverwaltung bzw auch die Distribution da ist. Alle Software auf dem System (versions-) synchron zu halten. So daß alles schön miteinander zusammenspielt.

    Ich kann zwar auch verstehen, daß man frustriert ist, wenn man z.Bsp. RHEL oder ähnliche superstabile Distries einsetzt und dafür aber eben nicht die allerletzten Versionen einer Anwendung bekommt – aber auch hier sitzt der Reiter wieder falsch herum auf dem Gaul – warum nutze ich dann überhaupt so eine Distri, wenn ich doch eher aktuelle Software haben will? Dann vllt doch eher Arch oder Debian testing etc? Oder etwas dazwischen – z.Bsp. Debian stable, Ubuntu etc?

    Das ist doch das schöne an Linux, daß es für so ziemlich jede Anforderung eine Distribution gibt, die genau das abdeckelt.

    Und schließlich, Jörg und Juergen:
    Sehe ich auch so. Man muß sich schon um sein System kümmern, wenn man nicht alle halbe Jahre eine Datenrettungsorgie feiern will… (so wie die vielen Leute, die mich regelmäßig anrufen, so á la: Mein Rechner startet nicht mehr und Backups habe ich auch nicht. Kannste mal…?)

    Antworten
    1. chris_blues

      Ich vergaß:

      Wenn man es als Sicherheitskonzept sehen will, daß eine Anwendung sozusagen eingesperrt wird, wäre es dann nicht besser, die Bibliotheken des Systems quasi „durch den Zaun“ zu linken, also daß beim Prozess des Einsperrens der betreffenden Anwendung nur die benötigten libs in den Container rein kopiert oder gelinkt werden.
      Wäre erstens platzsparender,
      zweitens könnte sich so immer noch die bewährte Softwareverwaltung um das Aktualisieren kümmern
      und drittens läge die Verantwortung, die Anwendung auf die jeweiligen Zustände der Bibliotheken anzupassen, beim Author der Anwendung. So wie es sein soll. Wenn nun (blödes Beispiel) gparted-1.2.3.4 abhängig von libparted-1.2.3.4 wäre, und eben diese Version auf dem System vorliegt, so kann ich vermutlich nicht unbedingt gparted-1.2.4.5 installieren ohne auf Konflikte mit der lib zu stoßen. Naja – und genau deswegen bietet ja auch die Softwareverwaltung diese Version auch nicht an. Hat ja alles seinen Grund. (Mal abgesehen davon, daß viele Distris auch noch ein backports-repo anbieten.)

      Wie ich es drehe und wende, so richtig Sinn macht das alles nicht…

      Antworten
      1. Jürgen

        AppImages und dergleichen machen schon auch Sinn. Wir haben ein Problem, dass es nicht genug Maintainer gibt, um alle Distributionen mit neuer Software zu versorgen.

        Ich bin zum Beispiel echt froh, dass die DigiKam-Entwickler nun AppImages ausgeben. Das Ding lade ich einmal runter und kann es auf vielen verschiedenen Systemen einsetzen. Ich bin nicht mehr abhängig von den Maintainern der Repos. Natürlich muss ich darauf vertrauen, dass die Entwickler ihre Pakete ebenso pflegen und Updates einbringen.

        Aber so ganz verteufeln kann man den Ansatz nicht, finde ich. Ich habe auf meiner Nextcloud sogar einen Ordner AppImages angelegt und darin befinden sich MediaElch, DigiKam, Etcher und so weiter. Das sind alles Programme, die ich entweder selbst kompilieren müsste oder warten, bis sie in den Repos auftauchen.

        Antworten
        1. Jörg Kastning Beitragsautor

          Der Mangel an Maintainern ist tatsächlich ein Problem. Leider habe ich den Eindruck, dass die Zahl der Maintainer auch weiterhin rückläufig ist. Bedenkt man die Arbeit, die mit der Wartung und Pflege von Softwarepaketen einher geht verwundert es nicht, dass dies immer weniger Menschen in ihrer Freizeit tun möchten und eine etwaige Bezahlung als Schmerzensgeld empfinden. Erst Recht, wenn es sich nicht um das eigene Kind (die eigene Software) handelt.

          Gerade bei Desktop-Anwendungen, welche häufig noch deutlich mehr Abhängigkeiten besitzen, als ein schlanker Serverprozess können von den neuen Paketformaten profitieren. Wie du sagst, kann so ein Paket auf viele Distributionen verteilt werden und muss nicht n-mal paketiert werden.

          Hier gilt in meinen Augen ganz universell: Quelle prüfen, beurteilen, entscheiden und die Software im Auge behalten. Wer stets das erstbeste Paket installiert, dass einem in die Hände fällt, dem ist eh nicht zu helfen.

          Antworten
  3. David

    Wo die Diskussion hier gerade über Systemupdates hochkommt..

    Ich nutze eine virtuellen Server bei einem großen Hoster aus Deutschland. Leider ist es so, das ich nur Debian 7 als Image auswählen kann und aktuelle Updates über apt-get nicht mehr zur Verfügung stehen. Ein Upgrade auf eine aktuelle Debian-Version laut Support nicht möglich.

    Antworten
    1. chris_blues

      Hmm, je nachdem, wie wichtig es ist, daß das Ding online bleibt, würde ich es trotzdem einfach probieren. Die Frage stellte sich mir auch, als ich auf meinen vServer umgezogen bin. Da gabs auch nur Debian 8 Images. Sources.list auf Stretch gesetzt undapt dist-upgrade hat ohne zu meckern seinen Dienst getan.

      Wenn was schief geht, und auf dem Server etliche wichtige Seiten sind, würde ich das allerdings gut überlegen. Ich hatte seinerzeit den Luxus, daß meine Seiten sowieso offline waren, weshalb ich ja auch umzog…

      Vielleicht kannst du ja die Seiten für die downtime auf einen anderen Server auslagern und über die DNS des Hosters umleiten?

      HTH!

      Antworten
    2. Jörg

      Hallo David,
      was du beschreibst ist ärgerlich. Du kannst dir natürlich einen neuen Hoster suchen, deine Dienste migrieren und anschließend den Vertrag beim alten Hoster kündigen.

      Denn wenn du unzufrieden bist und Kunde bleibst, hat der Hoster ja alles richtig gemacht.

      Viele Grüße
      Jörg

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert