Last Updated on: 14th Februar 2021, 11:23 am
Der RaspberryPi (RPi) hat seit seiner ersten Version die Welt im Sturm erobert. Das kleine Gerät war von der ersten Version an sehr Leistungsstark für das zugrundeliegende Kosten/Nutzen-Verhältnis und es ist mit Linux open source Software zu betreiben. Ein kleiner Makel daran ist vom ersten Moment aber die Tatsache, dass das Raspian OS mit einem kleinen Stück Software ausgeliefert wird, die proprietär ist. Diese ist eben nicht open source und ermöglicht es dem Anbieter, „heimlich“ weitere Software und Softwarequellen in das System einzuschleusen, ohne dass es der Benutzer im ersten Moment merken müsste.
Für Linux-Enthusiasten ist so ein Verhalten eigentlich ein NoGo, weshalb viele die Nase rümpfen, wenn es um die Installation von Raspian geht. Nun ist genau der Fall eingetreten, der die Linux-Gemeinde teilweise sehr erbost hat. Ohne weitere Vorwarnung ist ein Repository von Microsoft für die Visual Studio IDE mit aufgenommen worden. Das alleine wäre vielleicht nicht ganz so schlimm. Aber es wurden auch direkt die Sicherheitszertifikate mit ausgeliefert und neue Quellen für Microsoft Apps in die sources-List von apt aufgenommen. Damit ist Microsoft nun in der Lage, Apps zu installieren, die ich so oder in der von Microsft „optimierten“ Weise nicht haben will.
Warum das Ganze?
Scheinbar hat die Raspian Foundation beschlossen, dass der RPi als development Plattform auch für VS von Microsoft fungieren soll. Entsprechend wurde ein für Linux optimiertes Paket mit auf das Image des Betriebssystems gepackt und auch bei schon bestehenden Installationen einfach ohne Ankündigung nachgeschoben. Unklar bleibt, warum dies für alle Versionen von Raspian geschehen ist. Eigentlich hätte es gereicht, wenn man das Repo hätte nachinstallieren können. Insbesondere bei Usern, die ihren RPi als reinen Server im Headless Modus betreiben, hat dieses Paket wenig Sinn, weil gar keine Benutzeroberfläche vorhanden ist, die eine grafische Programmieroberfläche starten kann.
Wieso sind das nun schlechte Nachrichten?
Nun, ob es gut oder schlecht ist, liegt wie immer im Auge des Betrachters. Tatsächlich kann nun MS wie oben dargestellt, Apps einfach mitinstallieren oder Apps, die ich installieren möchte, in modifizierter Weise bereitstellen. Als Linux-Fan will ich aber gar nicht, dass das passiert, unabhängig von der Frage, ob MS Gutes oder Böses im Schilde führt. Außerdem – und das ist sicherlich der Hauptvorwurf – kommt es zu einem massiven Vertrauensbruch, wenn plötzlich ohne Vorwarnung solche technischen Zugriffsmöglichkeiten an einen Dritten (Microsoft) gegeben werden und der Nutzer dies gar nicht erfährt. Ich halte es sogar für ein Datenschutzproblem, das mit dem europäischen Datenschutzrecht nicht einfach so in Einklang zu bringen ist. Schließlich werden hier bei jedem apt update Metadaten und die IP-Adresse der Nutzer an Microsoft übertragen, ohne das der berechtigte Nutzer davon Kenntnis erlangt. Spätestens seit dem Schrems II-Urteil des EUGH sollte klar sein, dass das so einfach nicht geht.
Was tun?
Eine Möglichkeit wäre, auf ein anderes Linux-Derivat für den RaspberryPi zu wechseln. Es stehen mittlerweile verschiedene dafür zur Auswahl:
Für bereits bestehende Systeme bedeutet das aber viel Arbeit, weil man den RPi neu aufsetzen und von Grund auf neu einrichten muss.
Eine alternative Möglichkeit ist es, das Microsoft Repo wieder vom Raspberry zu kicken. Das ist aber nur bedingt nachhaltig. Zwar kann MS dann über dieses Repo nichts mehr nachinstallieren, es kann aber sein, dass Raspian demnächst noch andere Player ohne vorherige Kommunikation auf die Plattform holt. Dann hätte man das gleiche Dilemma (ggf nur mit einem anderen Player).
Microsoft-Repo wieder vom Raspberry Pi entfernen
Wer diesen Schritt gehen möchte, kann wie folgt vorgehen:
Prüfen, ob und wo sich Microsoft eingenistet hat…
ls -l /etc/apt/sources.list.d/ >total 8 >-rw-r--r-- 1 root root 187 Aug 20 11:32 raspi.list >-rw-r--r-- 1 root root 203 Feb 4 09:23 vscode.list cat /etc/apt/sources.list.d/vscode.list >### THIS FILE IS AUTOMATICALLY CONFIGURED ### ># You may comment out this entry, but any other modifications may be lost. >deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main
Die vscode.list zeigt, das Microsoft auf der Maschine ist. Installiert wurde sie bei mir am 04. Februar 2021.
ls -l /etc/apt/trusted.gpg.d/ >total 0 >-rw-r--r-- 1 root root 0 Feb 8 19:37 microsoft.gpg
Auch das Sicherheitszertifikat von MS ist auf der Maschine installiert.
Nun schauen wir uns an, was denn genau aus den og. Quellen installiert wurde:
curl -s http://packages.microsoft.com/repos/code/dists/stable/main/binary-arm64/Packages | grep "^Package: " | cut -d" " -f2 | sort -u >code >code exploration >code-insiders
Ich habe die Domian „packages.microsoft.com“ in meinem PiHole sofort auf die Blacklist gesetzt, weshalb diese nun nicht mehr erreichbar ist. Zusätzlich werde ich nun für alle, die keinen PiHole betreiben, die entsprechende Konfiguration lokal im Raspberry vornehmen, damit diese Domain nicht mehr erreicht wird:
sudo nano /etc/hosts
Dort tragen wir die folgende Zeile am Ende ein:
0.0.0.0 packages.microsoft.com
Damit wird nun die Domian auf die IP 0.0.0.0 gesetzt, wo sie aber niemals zu erreichen sein wird.
Jetzt setzen wir noch das Linux-Paket raspberrypi-sys-mods auf hold, damit dies nicht verändert wird
sudo apt-mark hold raspberrypi-sys-mods
und löschen das Sicherheitszertifikat von Microsoft:
sudo rm -vf /etc/apt/trusted.gpg.d/microsoft.gpg
Damit dies nicht einfach wieder nachinstalliert wird, erzeugen wir eine Datei gleichen Namens und schützen diese gegen Überschreiben:
sudo touch /etc/apt/trusted.gpg.d/microsoft.gpg sudo chattr +i /etc/apt/trusted.gpg.d/microsoft.gpg
Wer es prüfen will:
lsattr /etc/apt/trusted.gpg.d/microsoft.gpg >----i---------e---- /etc/apt/trusted.gpg.d/microsoft.gpg
Das sollte es dann gewesen sein.