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?
Antworten:
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.
quelle
paccheck
, das dies tut, Pakete vor der Installation mit verschiedenen Spiegeln vergleicht und vor Unstimmigkeiten warnt.Debian-Pakete werden mit einer Prüfsumme versehen, und die Prüfsummen werden mit einem Schlüssel im Debian-Schlüsselbund signiert. Der
apt
Paketmanager stellt sicher, dass das heruntergeladene Paket die richtige Prüfsumme aufweist und die Prüfsummendatei korrekt signiert wurde.quelle
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.quelle
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
quelle
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 signiertCHECKSUMS.MD5
. Diese enthält eine Liste der Prüfsummen der Pakete.Die Distribution hat ein offizielles Tool
slackpkg
zum Herunterladen / Installieren von Paketen von einem Spiegel. Nach dem Update der lokalen Repo-Datenbank mitslackpkg update
dem 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 gpg
oder einfach von der Installations-CD mit importierengpg --import GPG-KEY
Es gibt ein anderes inoffizielles Tool
slapt-get
für Slackware. Es unterstützt auch GPG-Checks! In ähnlicher Weise wieslackpkg
.quelle
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.
quelle