あなたの質問で説明するビットがあります。
まず、方法を理解しYUM、rpm一緒に作業することが重要です。
- RPMはパッケージ形式であり、同様の名前のコマンドラインツールが
rpmあり、個々のRPMパッケージをインストールします。rpmコマンドラインツールはコマンドラインツールに類似していると考えることができますdpkg。どちらも、依存関係なしに個別のパッケージをインストールするためです。
yumRPMパッケージとその依存関係をインストールする上位レベルのプログラムです。yumコマンドは、apt-get両方がパッケージとそのすべての依存関係をインストールできるのと同じように考えることができます。
- 実行
yum installするときは、URLではなくパッケージ名を使用する必要があります。たとえばyum install package、次のように実行しますapt-get install package。
- パッケージURL
rpm -i https://urlがあればを実行できますが、パッケージの依存関係がインストールされていない場合は、パッケージを1つずつrpm -i(痛みを伴う)またはyum構成済みのリポジトリとともにインストールする必要があります。
ここで、GPGに関する限り、DebianとRPMのパッケージシステムの両方に当てはまるいくつかの理解しておくべきことがありますが、最も重要なことは次のとおりです。
- どちらのシステムにも、パッケージ自体のGPGシグネチャとリポジトリのGPGシグネチャの2セットのGPGシグネチャがあります。
- DebianパッケージはGPG署名がチェックされておらず、UbuntuとDebianの両方のプロジェクトリポジトリからの公式パッケージはGPG署名されていません。
- どちらのシステムも、クリアテキストHTTPで使用した場合、さまざまなGPGリプレイ攻撃に対して脆弱です。絶対に、可能であればプレーンテキストのHTTP ではなく、HTTPS経由でパッケージを100%インストールする必要があります。
これまでのところ、RPMおよびYUM GPG署名:
- 最初に、構成ファイルでGPGキーへのパスまたはURLを次のように指定できます:
gpgkey=https://example/gpg.keyまたはgpgkey=/usr/share/example/gpg.key。複数が必要な場合は、複数のGPGキーを指定できます。
- 第二に、そこに2つのオプションがあります。
gpgcheck=1とrepo_gpgcheck=1。最初のオプションではyum install、パッケージ自体のGPG署名を検証します。2番目のオプションでは、リポジトリのGPG署名を検証します。理想的には両方を使用する必要がありますが、多くのリポジトリは両方をサポートするように適切に構成されていません。
- を初めて実行すると
yum install、yumにリストされているGPGキーgpgkeyがまだインポートされていない場合に、それらがインポートされます。プロンプトが表示され、受け入れるか拒否するかを尋ねられます。
pygpgmeGPG署名を検証するには、システムにパッケージをインストールする必要があります。RHELとCentOSの最新バージョンでpygpgmeは、の依存関係が自動的にインストールyumされますが、システムにインストールされていることを確認する必要があります。
- そこのは同等ではありません
apt-transport-https、yumボックスのHTTPSを経由話すことができますが、バージョンのことを確認する必要がありますyum使用しているが、持ってsslverify有効にデフォルト設定オプションを。一部のバージョンでyumはサポートされていません。お使いのバージョンがそうでない場合は、有効に設定する必要があります。SSL証明書を検証することが重要です。
パッケージとリポジトリの両方にGPGシグネチャがあっても、リポジトリは依然としてリプレイ攻撃に対して脆弱です。可能であれば、HTTPS経由でリポジトリにアクセスする必要があります。1つの攻撃の簡単な説明は、悪意のある攻撃者がリポジトリメタデータと関連するGPG署名を特定の時間にスナップショットし、そのメタデータと署名を要求元のクライアントに再生して、クライアントが更新されたパッケージを表示できないようにすることです。メタデータは変更されないため、GPG署名は有効になります。その後、攻撃者は更新されていないソフトウェアの既知のバグに対するエクスプロイトを使用して、マシンを攻撃できます。パッケージマネージャーに対する攻撃の詳細については、このペーパーを参照してください。
GPGとYUM / rpm、およびGPGとAPTに関する2つの広範なブログ投稿を執筆しました。
私が回答できる質問がある場合は、コメントを残してください。パッケージ管理を正しく行うのは非常に困難です。
yum installするときは、URLではなくパッケージ名を使用する必要があります。」-そうですね、これは私がaptで通常行うことです。しかし、URLが与えられたら、どうしますか?おそらくこれは明白ですが、手動でリポジトリhttp://example.comを追加してから実行できyum install packageますか?