Zum Inhalt springen

Willkommen bei Arch Linux

Arch Linux ist eine flexible und leichtgewichtige Distribution für jeden erdenklichen Einsatz-Zweck. Ein einfaches Grundsystem kann nach den Bedürfnissen des jeweiligen Nutzers nahezu beliebig erweitert werden.

Nach einem gleitenden Release-System bieten wir zur Zeit kompilierte Pakete für die x86_64-Architektur an. Zusätzliche Werkzeuge ermöglichen zudem den schnellen Eigenbau von Paketen.

Arch Linux ist daher eine perfekte Distribution für erfahrene Anwender — und solche, die es werden wollen...

Seit einigen Wochen werden in den Onlinemedien und auf Social Media vermehrt Artikel veröffentlicht, die – teilweise dramatisierend – auf Schwachstellen im Linux-Kernel eingehen, die es ermöglichen, erweiterte Berechtigungen zu erhalten oder eigentlich nicht zugängliche Dateien auszugeben.

Solche Schwachstellen gab es im Kernel schon immer, und schon immer wurden sie bei bekanntwerden zeitnah behoben oder umgangen. Der Unterschied ist, dass bei den zuletzt bekannt gewordenen Schwachstellen das Prinzip der Responsible Disclosure ignoriert wurde, und die technischen Informationen der Schwachstellen veröffentlicht wurden, ohne dass diese zuvor behoben werden konnten.

Das brechen des sogenannten „Embargos“ einer Responsible Disclosure wird unter IT-Sicherheitsexperten allgemein als unprofessionell und bewusst schädigend angesehen. Das bewusste brechen des Embargos kann hier zudem als „Werbung“ für KI-gestützte Programme zur Schwachstellenforschung gesehen werden, da sowohl „CopyFail“, „DirtyFrag“, „Fragnesia“, und auch „ssh-keysign-pwn“ mithilfe von spezialisierten KI-gestützten Systemen gefunden wurden.

Es handelt sich zusammengefasst also nicht um eine „neu Welle an Exploits“, sondern um solche, die bewusst unter Ignorierung der üblichen Praxis direkt veröffentlicht wurden.

Angriffssvektor

Alle bisher in diesem Kontext bekannten Angriffe auf ein System bedingen, dass ein Angreifer Zugriff auf das System hat, und mit einem Useraccount eingeloggt ist der eine „normale Shell“ starten kann. Angriffe über das Netzwerk oder bei Verwendung von „Spezialaccounts“ sind nicht möglich.

Auf Systemen mit einem beschriebenen Account ist es für die Nutzer möglich, die Schwachstellen auszunutzen, wenn sie …

  • … Dateien herunterladen oder Anlegen und mit Inhalt füllen können
  • … einen Compiler zum Erzeugen von Binarys verwenden dürfen
  • … die für die Expoits nötigen Librarys auf dem System installiert sind
  • … in den von ihnen beschreibbaren Bereichen im Dateisystem Anwendungen starten können

Das gleiche gilt natürlich für schädliche Programme, die die nötigen Schritte automatisch im Kontext eines beschriebenen Useraccounts ausführen.

Maßnahmen

Die Maßnahmen hängen vom betrachteten System ab. Auf einem System, das nur von einem Anwender benutzt wird, gelten die allgemeinen Sicherheitsregeln unverändert auch weiterhin.

Zusätzlich:

  1. Regelmäßig in kurzen Intervallen auf Updates prüfen und diese Installieren (pacman -Syu 1-2 mal am Tag), dabei darauf achten, einen aktuellen und vertrauenswürdigen Mirror zu verwenden.
  2. Der vor einige Zeit geschriebene Reminder zu den AUR-Sicherheitshinweisen sollte nach wie vor beachtet werden.
  3. Keine Scripte aus dem Internet ausführen, ohne sie vorher zu prüfen!
  4. Keine generierten oder von anderen genannt bekommene Befehle und Codezeilen ausführen, ohne vorher zu verstehen, was diese machen!
  5. Per Mountoptionen verhindern, dass Binarys von durch Useraccounts beschreibbaren Partitionen ausgeführt werden dürfen.
  6. Keine Compiler auf dem System bereitstellen oder diese durch Dateiberechtigungen oder ACLs in der Nutzung einschränken.

Zusätzlich beobachtet der Arch-User GerBra in den Threads zu „ssh-keysign-pwn“ und zu „DirtyFrag“ und „Fragnesia“ die aktuelle Situation und updatet den Status im Bezug auf die für Arch verfügbaren Kernel aus den Repositorys.

Das Paket kea hat alle Dienste so umgestellt, dass sie unter einem dedizierten Benutzerkonto namens kea (anstatt root) ausgeführt werden, um die Sicherheit zu verbessern. Diese Änderung erfordert Aktualisierungen der Berechtigungen für die Laufzeitdateien, die von den kea-Diensten erstellt werden.

Nutzer, die von einer bestehenden kea-Installation aktualisieren, sollten daher nach dem Upgrade die folgenden Befehle ausführen:

chown kea: /var/lib/kea/* /var/log/kea/* /run/lock/kea/logger_lockfile
systemctl try-restart kea-ctrl-agent.service kea-dhcp{4,6,-ddns}.service

Benutzerkonten, die mit den Dateien der kea-Dienste interagieren müssen (z.B. Lease-Dateien unter /var/lib/kea, Logdateien unter /var/log/kea oder Konfigurationsdateien unter /etc/kea), sollten der Gruppe kea hinzugefügt werden.

Der alte Paketname iptables-nft wurde durch iptables ersetzt, und das Legacy-Backend ist unter dem Namen iptables-legacy verfügbar.

Beim Wechsel zwischen den Paketen (zwischen iptables-nft, iptables und iptables-legacy) sollte in den Verzeichnissen /etc/iptables/ nach .pacsave-Dateien gesucht und die dort gespeicherten Regeln gegebenenfalls wiederhergestellt werden:

  • /etc/iptables/iptables.rules.pacsave
  • /etc/iptables/ip6tables.rules.pacsave

Die meisten Konfigurationen sollten ohne Änderungen funktionieren. Nutzer, die auf ungewöhnliche xtables-Erweiterungen oder Legacy-Funktionen angewiesen sind, sollten jedoch sorgfältig testen und gegebenenfalls iptables-legacy verwenden.

Mit der Version 590 der offiziellen Nvidia-Treiber wird seitens Nvidia der Support der „Pascal“-GPUs eingestellt. Dieser Treiber funktioniert dann nicht mehr für Karten dieser Serie. Darunter fallen alle GTX-10xx-Modelle, sowie alle älteren Modelle dieser GPU-Serie.

Arch wird mit dieser Treiberversion zudem die installierten proprietären Treiberpakete ersetzen, um die offiziellen offenen Kernelmodule zu verwenden:

  • nvidia wird mit nvidia-open ersetzt
  • nvidia-dkms wird mit nvidia-open-dkms ersetzt
  • nvidia-lts wird mit nvidia-open-lts ersetzt

Auswirkungen: Wenn das Treiberupdate auf Systemen durchgeführt wird, die eine „Pascal“-GPU (oder älter) benutzen, wird das Laden des Treibers fehlschlagen und das grafische System nicht mehr richtig funktionieren.

Nutzer mit „Pascal“-GPUs müssen in den Updateprozess eingreifen: Wenn eine Nvidia-Grafikkarte mit „Pascal“-GPU im System steckt, muss zur weiteren Verwendung auf die Legacy-Version des proprietären offiziellen Treibers zurückgegriffen werden:

  1. Die Pakete nvidia, nvidia-lts, oder nvidia-dkms deinstallieren
  2. Das Paket nvidia-580xx-dkms aus dem AUR installieren

Systeme die GPUs aus der „Turing“-Serie (20xx und die GTX1650-Serie) oder neuer benutzen, werden automatisch auf die offiziellen offenen Kernelmodule umgestellt. Die User müssen hier nicht in den Updateprozess eingreifen.

Wir möchten ein Update zu den jüngsten Server-Ausfällen geben, die unsere Infrastruktur betreffen. Das Arch Linux Projekt erlebt derzeit einen anhaltenden Denial-of-Service-Angriff, der hauptsächlich unsere Hauptwebseite, das Arch User Repository (AUR) und die englischen Foren beeinträchtigt.

Wir sind uns der Probleme bewusst, die dies für unsere Endnutzer schafft. Dies betrifft insbesondere die Dienste von archlinux.org. Wir werden weiterhin aktiv mit unserem Hosting-Anbieter zusammenarbeiten, um den Angriff abzuschwächen. Zudem evaluieren wir Anbieter für DDoS-Schutz und berücksichtigen dabei sorgfältig Faktoren wie Kosten, Sicherheit und ethische Standards.

Um die Kommunikation zu diesem Thema zu verbessern, werden wir zukünftig regelmäßige Updates auf unserer Dienststatusseite bereitstellen.

Als ehrenamtlich geführtes Projekt wissen wir die Geduld der Community zu schätzen, während unser DevOps-Team daran arbeitet, diese Probleme zu lösen. Bitte habt Geduld mit uns und vielen Dank für die bisher gezeigte Unterstützung.

Workarounds während Dienstunterbrechungen
  • Im Falle eines Ausfalls von archlinux.org:
    • Spiegelserver: Eine Liste aller Spiegelserver findet ihr unter Mirror-Status. Da der Endpunkt der Spiegelserverliste, der in Tools wie reflector verwendet wird, auf archlinux.org gehostet wird, verwendet bitte während eines Ausfalls standardmäßig die im Paket pacman-mirrorlist aufgeführten Spiegelserver.
    • ISO: Installationsmedien findet ihr unter Arch Linux Downloads.
  • Im Falle eines Ausfalls von aur.archlinux.org:
    • Pakete: Wir pflegen einen Spiegel der AUR-Pakete auf GitHub. Ihr könnt ein Paket abrufen mit:
      $ git clone --branch <package_name> --single-branch https://github.com/archlinux/aur.git <package_name>
Zusätzliche Anmerkungen
  • Unsere Dienste können aufgrund der vom Hosting-Anbieter durchgeführten TCP-SYN-Authentifizierung eine anfängliche Verbindungsrücksetzung senden, aber nachfolgende Anfragen sollten wie erwartet funktionieren.

  • Wir halten technische Details über den Angriff, seinen Ursprung und unsere Abwehrmaßnahmen intern, solange der Angriff noch andauert.

In den letzten paar Wochen kam es gelegentlich zu Berichten auf einschlägigen Newsseiten über Fernzugriffstrojaner in AUR-Paketen die vorgaben, beliebte Software bereitzustellen.

Auch wenn die Berichte oft etwas reißerisch formuliert sind, und man sich von ihnen nicht verrückt machen lassen sollte (zumal die betroffenen Pakete schon vor dem Erscheinen der Berichte gemeldet und entfernt wurden), so haben sie dennoch einen wahren Kern.

Das AUR – Arch User Repository – ist keine Sammlung an Software, die durch Arch-Maintainer geprüft und administriert wird. Im AUR kann jeder der es möchte, PKGBUILDs bereitstellen aus denen dann ohne weitergehende Prüfung oder Validierung seitens der Arch-Maintainer Installationspakete gebaut und Programme installiert werden können.

Dies bedeutet daher auch, dass es Möglich ist, Pakete zu erstellen die schädliche oder zerstörerische Aktionen ausführen können. Und das nicht nur nach der Installation, sondern schon beim bauen des Installationspakets aus dem heruntergeladenen PKGBUILD.

Es sei daher aus gegebenem Anlass an dieser Stelle noch mal darauf hingewiesen, dass beim bauen von Paketen aus dem AUR, die AUR-Sicherheitshinweise berücksichtigt werden sollten (siehe auch der Wiki-Artikel dazu, inklusive Beispiel eines problematischen PKGBUILDs).

  1. Vor dem Bau eines Pakets aus dem AUR sollte man auf jeden Fall die Kommentare lesen.
  2. Wenn man ein Paket baut, sollte dies mit einem Useraccount geschehen, der keine Rootrechte hat.
  3. Die im PKGBUILD referenzierten Quellen (url= und source=) sollten nicht auf „Alternativen“ verweisen, sondern den Originalquellen des Programmentwicklers entsprechen.
  4. Wenn im PKGBUILD Scripte ausgeführt werden, sollten diese vor dem Bauen des Programms ebenfalls geprüft werden.

Diese Sicherheitshinweise sollten auch beachtet werden, wenn man Pakete mithilfe eines AUR-Hilfsprogramms erstellt. Moderne AUR-Hilfsprogramme bieten dazu entsprechende Funktionen an, die man auch nutzen sollte.

Darüber hinaus sollte man Programme aus dem AUR mit bedacht auswählen. Wenn es sich um ein „beliebtes Programm“ handelt, ist es eventuell in den normalen Repositorys schon verfügbar.

Auch bei Programmen im AUR die zum Beispiel keine Downloads und keine Kommentare haben, und von einem nagelneuen Useraccount gerade erst hochgeladen wurden und sich namentlich an ein beliebtes Programm anlehnen, sollte man Vorsicht walten lassen.

Wenn man sich unsicher ist, besteht die Möglichkeit, im Wiki nach dem Programm zu suchen, eventuell gibt es ja einen Artikel der das richtige Vorgehen zur Installation beschreibt. Auch kann man natürlich jederzeit bei uns im Forum fragen oder das englische Forum konsultieren. Zudem gibt es mit aur-general auch eine Mailingliste mit AUR-spezifischen Themen.