Welche Paket-Repositorys von Linux Distribution sind sicher und welche nicht?


14

Die meisten mir bekannten Distributionen verfügen über eine Art Repository-Funktionalität, mit der neue Pakete nach der Installation heruntergeladen werden können. Welche Distributionen tun dies auf sichere Weise und welche nicht auf sichere Weise.

Ich denke insbesondere an Angriffsvektoren wie Man-in-Middle und Probleme wie Sicherheitsverletzungen sowohl auf dem Repository-Metaserver als auch auf den Repository-Dateispiegeln.

Ich habe gehört, dass sowohl Slackware als auch Arch Linux sehr anfällig sind, da es ihnen an Paketsignaturen mangelt. Ist das wahr? Gibt es andere große Linux-Distributionen, die für einfache Man-in-Middle-Angriffe anfällig sind?


Wenn die Site der Distribution Klartext-HTTP oder FTP ist und die Distribution als ISO von dieser Verbindung bezogen wird und diese Basisverbindung MITM ist, wie gut ist dann ein Post-Mortem-Paket, das auf den Aktualisierungspaketen signiert ist?
n611x007

Antworten:


7

Dies ist keine direkte Antwort auf Ihre Frage, aber Sie können verschiedene Maßnahmen ergreifen, um dieses Risiko zu mindern. Am einfachsten ist es, Ihre heruntergeladenen Pakete mit den Prüfsummen eines anderen Spiegels zu vergleichen, als Sie heruntergeladen haben.

Wenn mein Paketmanager ( poldek) ein Paket herunterlädt, ist es so eingestellt, dass eine Kopie der heruntergeladenen RPM in einem Cache-Ordner gespeichert wird. Es vergleicht die Prüfsumme des Downloads automatisch mit dem Paket-Repository und warnt / bricht bei einem Konflikt ab. Wenn Sie jedoch befürchten, dass Man-in-the-Middle-Angriffe auf Ihr Distributions-Repository verüben, ist es einfach, ein sekundäres Skript zu schreiben, das durchsucht wird Überprüfen Sie alle heruntergeladenen Pakete anhand von Prüfsummen, die Sie von einem anderen Mirror heruntergeladen haben. Sie können sogar Ihre erste Installation als Probelauf ausführen, sodass Pakete heruntergeladen, aber nicht installiert werden. Führen Sie dann Ihr Überprüfungsskript aus und führen Sie dann die eigentliche Installation aus.

Dies hindert ein kompromittiertes Paket nicht daran, in das Repository der Distribution zu gelangen, aber die meisten Distributionen haben andere Möglichkeiten, dies zu mildern, und selbst signierte Pakete würden nicht garantieren, dass dies niemals ein Problem war. Was es tut, ist den Angriffsvektor des Mannes in der Mitte zu unterdrücken. Durch die Verwendung einer separaten Quelle und das Herunterladen auf einem separaten Kanal können Sie die Leichtigkeit überwinden, mit der ein kompromittiertes Paket in eine abgegriffene Zeile verschoben werden kann.


1
Es gibt ein Paket für Arch paccheck, das dies tut, Pakete vor der Installation mit verschiedenen Spiegeln vergleicht und vor Unstimmigkeiten warnt.
Wolf

Spiegellisten sind wahrscheinlich öffentlich, kann ein Angreifer also theoretisch nicht alle nach einem Muster auf MITM zeichnen? Wenn ein Angreifer speziell auf Ihren Server zielt, scheint dies dann nicht noch wahrscheinlicher zu sein? Dennoch ist dies höchstwahrscheinlich mehr als das, was die Linux-Mehrheit tut.
n611x007

10

Debian-Pakete werden mit einer Prüfsumme versehen, und die Prüfsummen werden mit einem Schlüssel im Debian-Schlüsselbund signiert. Der aptPaketmanager stellt sicher, dass das heruntergeladene Paket die richtige Prüfsumme aufweist und die Prüfsummendatei korrekt signiert wurde.


5

Fedora-Pakete werden signiert und mit einer Prüfsumme versehen. Selbst Repositorys von Drittanbietern wie rpmfusion signieren ihre Pakete.

Yum (der Paketmanager) benötigt ein spezielles Flag ( --nogpgcheck), um nicht signierte Pakete zu installieren.


Und Downsteam-Pakete, z. B. Red Hat und CentOS
fpmurphy

3

Alle Arch Linux-Pakete verwenden eine md5- oder sha1-Summe, um zu überprüfen, ob alle Bits vorhanden sind. Der Paketbetreuer muss den Hashing-Algorithmus auswählen. Von AUR installierte Pakete (oft nur eine kleine PKGBUILD-Textdatei) sollten vor der Installation von der Installation überprüft werden. Die Repositorys mit den offiziellen Binärpaketen werden von vertrauenswürdigen Benutzern (TUs) überwacht.

Update : Arch hat jetzt die Paketsignierung mit Pacman 4 eingeführt


2
Alle wahren, aber Pakete sind nicht signiert und bleiben daher anfällig für Mitm- und Mirror-Kompromissangriffe, unabhängig von der möglichen Entfernung. Es ist eine seit langem nachgefragte Funktion und der Hauptgrund, warum ich Arch widerwillig nicht mehr benutze. In Arch- und Pacman-Foren und im Wiki wird darüber immer wieder diskutiert - es ist ein schwieriges Problem, das es zu lösen gilt. Abgesehen von dieser Ausgabe ist Arch eine fantastische Distribution.
Eli Heady

@Eli: Ich diskutiere nicht über die Wahrheit - ich habe keine Ahnung von der Lage - aber wäre es nicht ein verschwindend schmaler Markt, um anzugreifen. Zugegeben, Arch ist eine recht beliebte Distribution, aber sind all diese Arten von Unheil nicht generell darauf zurückzuführen, dass man in der Lage ist, Geld zu verdienen?
Boehj

1
Klar, nach all dem ist der Grund, warum die Windows-Benutzerbasis stärker als die von Linux ausgerichtet ist, oder? Die Sache ist, was für das Aggregat gilt, gilt normalerweise nicht genau für das Individuum. Was ich meine, ist, dass das Bedrohungsmodell eines jeden anders ist. Wenn Sie Grund zur Befürchtung haben, für einen Angriff herausgegriffen zu werden, sollten Sie geeignete Maßnahmen ergreifen, um das Risiko zu verringern. Mangelnde Paketsignierung bietet Angriffsvektoren, die nicht allzu schwer auszunutzen sind. Wenn Sie wichtige Elemente schützen müssen, sollte dieses Problem in Ihrer Strategie zur Bedrohungsreduzierung berücksichtigt werden.
Eli Heady

Sie können Arch von einer CD / DVD installieren und dann überprüfen, ob die md5 / sha1-Summen der Binärpakete mit den Summen von mehreren Spiegeln übereinstimmen, bevor Sie das Programm installieren, ähnlich wie es Caleb vorgeschlagen hat. Es gibt auf keinen Fall 100% ige Sicherheit, obwohl ich den Sinn der Paketsignatur sehe und wünschte, Arch hätte sie.
Alexander

wie wird also erreicht, dass die Prüfsumme sicherer als Klartext http oder ftp geliefert wird? Sollte eine Signaturprüfung vorhanden sein, auf welche Weise geschieht dies genau auf dem Bogen?
n611x007

1

Wer hat gesagt, dass Slackware keine Paketsignatur hat?

Slackware-Pakete werden mit einem öffentlichen Schlüssel von Slackware signiert. Jedes Paket hat also eine Signatur mit Erweiterung .asc. Nicht nur die Pakete, sondern auch andere Dateien werden wie signiert CHECKSUMS.MD5. Diese enthält eine Liste der Prüfsummen der Pakete.

Die Distribution hat ein offizielles Tool slackpkgzum Herunterladen / Installieren von Paketen von einem Spiegel. Nach dem Update der lokalen Repo-Datenbank mit slackpkg updatedem Tool wird die Signaturgültigkeit der neuen MD5-Datei und des Changelogs usw. überprüft.

Nach dem Herunterladen eines Pakets (aber vor der Installation) werden die Signatur und MD5 des Pakets überprüft.

Den öffentlichen Schlüssel kann man mit erhalten slackpkg update gpgoder einfach von der Installations-CD mit importierengpg --import GPG-KEY

Es gibt ein anderes inoffizielles Tool slapt-getfür Slackware. Es unterstützt auch GPG-Checks! In ähnlicher Weise wie slackpkg.


-2

OpenBSD mit Abstand. Das gesamte Projekt widmet sich der Sicherheit. Das Team hat sogar einen Patch über 5000 Zeilen für den ursprünglichen Apache erstellt, da es seiner Meinung nach nicht sicher genug war, um verwendet zu werden. Dies geschieht über pkg_add, aber ich hatte noch nie Probleme damit.


4
Sie beantworten die Frage nicht: Es geht speziell darum, die Signaturen von heruntergeladenen Paketen (und Ports im Fall von * BSD) zu überprüfen.
Gilles 'SO- hör auf böse zu sein'

1
Ich bin mit @Gilles einverstanden. OpenBSD ist ein großartiges Betriebssystem, aber @grm hat nach der Sicherheit der Linux-Paketverteilung gefragt.
Livingstaccato
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.