どのLinuxディストリビューションのパッケージリポジトリが安全ですか?


14

私が知っているほとんどのディストリビューションには、インストール後に新しいパッケージをダウンロードできるリポジトリ機能があります。安全な方法でこれを行うディストリビューションと、安全な方法でこれを行わないディストリビューション。

特に、中間者などの攻撃ベクトルや、リポジトリメタサーバーとリポジトリファイルミラーの両方でのセキュリティ違反などの問題について考えています。

SlackwareとArch linuxの両方がパッケージ署名がないため、非常に脆弱であると聞きました。これは本当ですか?単純な中間者攻撃に対して脆弱な他の主要なLinuxディストリビューションはありますか?


ディストリビューションのサイトがクリアテキストのhttpまたはftpであり、ディストリビューションがこの接続からisoとして取得され、この基本接続が更新パッケージに署名する「事後」パッケージがどれほど良いかよりもMITMされている場合
n611x007 14

回答:


7

これはあなたの質問に対する直接的な答えではありませんが、このリスクを軽減するためにできることがいくつかあります。最も簡単な方法は、ダウンロードしたパッケージを、ダウンロードしたパッケージとは別のミラーからのチェックサムと照合することです。

パッケージマネージャー(poldek)がパッケージをダウンロードすると、ダウンロードしたrpmのコピーをキャッシュフォルダーに保持するように設定します。パッケージリポジトリに対してダウンロードのチェックサムを自動的にチェックし、不一致で警告/中止しますが、ディストリビューションリポジトリに対する中間者攻撃が心配な場合は、参照するセカンダリスクリプトを簡単に記述できます。ダウンロードしたすべてのパッケージを、別のミラーからダウンロードしたチェックサムに対して検証します。パッケージをダウンロードしてもインストールしないように、最初のインストールをドライランとして実行し、検証スクリプトを実行してから実際のインストールを実行することもできます。

これは、侵害されたパッケージがディストリビューションのリポジトリに侵入することを止めるものではありませんが、ほとんどのディストリビューションにはそれを緩和する他の方法があります。それが行うことは、標的となる中間者攻撃ベクトルを抑制することです。別のソースを使用し、別のチャネルにダウンロードすることにより、侵害されたパッケージが簡単にタップされた行にドロップされる可能性がなくなります。


1
これを実行するArchのパッケージがあり、paccheckインストール前にパッケージを異なるミラーと比較し、矛盾を警告します。
ウルフ

ミラーリストはおそらく公開されているので、攻撃者は理論的にはすべてをパターンごとにMITMにプロットできませんか?攻撃者がサーバーを明確に標的にしている場合、これはさらに起こりそうにないでしょうか?とはいえ、これはおそらくLinuxマジョリティがやっていることよりも多いでしょう。
n611x007

10

Debianパッケージはチェックサムされ、チェックサムはDebianキーリングのキーによって署名されます。aptダウンロードしたパッケージは、正しいチェックサムを持っているし、チェックサムファイルが正しく署名されたことをことをパッケージマネージャを保証します。


5

Fedoraパッケージは署名され、チェックサムされます。rpmfusionなどのサードパーティのリポジトリでさえ、パッケージに署名します。

Yum(パッケージマネージャー)は、--nogpgcheck署名されていないパッケージをインストールするために特別なフラグ()を必要とします。


また、ダウンスチームパッケージ、つまりRed HatとCentOS
fpmurphy

3

すべてのArch Linuxパッケージは、md5またはsha1 sumを使用して、すべてのビットが配置されていることを確認します。ハッシュアルゴリズムを選択するのはパッケージメンテナー次第です。AURからインストールされたパッケージ(多くの場合、小さなPKGBUILDテキストファイル)は、インストールされる前にインストール者によってチェックされることになっています。公式のバイナリパッケージを含むリポジトリは、信頼できるユーザー(TU)によって監視されています。

更新:Archはpacman 4でパッケージ署名を導入しました


2
すべて正しいですが、パッケージは署名されていないため、mitmおよびミラーの侵害攻撃に対して脆弱ですが、可能性はほとんどありません。これは長らく要望されていた機能であり、不本意ながらArchの使用をやめた主な理由です。とはいえ、ArchとPacmanのフォーラムとwikiでそれについて継続的な議論があります-解決するのは難しい問題です。この問題とは別に、Archは素晴らしいディストリビューションです。
エリヘディ

@Eli:私はこれの真実について議論していません-私は情勢については全く知りません-しかし、それは攻撃するために消えるほどに薄い市場ではないでしょう。確かに、Archは非常に人気のあるディストリビューションですが、これらすべての種類のいたずらは、一般的に金を稼ぐことを前提としているのではありませんか?
-boehj

1
確かに、これがすべてWindowsユーザーベースがLinuxのターゲットよりもターゲットにされている理由ですよね?重要なのは、集合体に適用されるものは通常、個人に正確には適用されないということです。つまり、すべての脅威モデルは異なっているということです。攻撃に対して選ばれることを恐れる理由がある場合は、リスクを軽減するための適切な措置を講じる必要があります。パッケージ署名の欠如は、悪用がそれほど難しくない攻撃ベクトルを提示します。保護する価値のあるビットがある場合、この問題は脅威軽減戦略で考慮に入れる必要があります。
エリヘディ

ArchをCD / DVDからインストールし、バイナリパッケージのmd5 / sha1の合計が、インストール前にいくつかのミラーからの合計に対応することを確認してください。パッケージに署名するポイントがありますが、Archがそれを望んでいたとしても、100%のセキュリティは決してありません。
アレクサンダー

では、クリアテキストのhttpまたはftpよりも安全な方法でチェックサムが配信されるようにするにはどうすればよいでしょうか?アーチ上で正確にどのような意味で署名チェックを行うべきですか?
n611x007

1

Slackwareにはパッケージ署名がないと誰が言ったのですか?

Slackwareパッケージは、Slackwareの公開キーで署名されています。したがって、すべてのパッケージには拡張子が付いた署名があり.ascます。パッケージだけでなく、などの他のファイルも署名されますCHECKSUMS.MD5。これには、パッケージのチェックサムのリストが含まれます。

ディストリビューションには、slackpkgミラーからパッケージをダウンロード/インストールするための公式ツールがあります。slackpkg updateツールでローカルリポジトリデータベースを更新した後、新しいMD5ファイルや変更ログなどの署名の有効性をチェックします...

パッケージをダウンロードした後(インストール前)、パッケージの署名とMD5がチェックされます。

公開鍵slackpkg update gpgは、インストールCDから取得するか、インストールCDからインポートするだけで取得できます。gpg --import GPG-KEY

slapt-getSlackware用のその他の非公式ツールがあります。GPGチェックもサポートしています!と同様の方法でslackpkg


-2

OpenBSDがはるかに。プロジェクト全体がセキュリティに専念しています。チームは、使用するのに十分な安全性を感じていなかったため、元のApacheに5000行以上のパッチを適用しました。これはpkg_addを介して行われますが、問題は一度もありません。


4
あなたは質問に答えているわけではありません。ダウンロードされたパッケージ(および* BSDの場合はポート)の署名の検証に関するものです。
ジル 'SO-悪であるのをやめる'

1
@Gillesに同意します。OpenBSDは優れたOSですが、@ grmはLinuxパッケージ配布のセキュリティについて尋ねました。
リビングスタッカート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.