あなたの質問で説明するビットがあります。
まず、方法を理解しYUM
、rpm
一緒に作業することが重要です。
- RPMはパッケージ形式であり、同様の名前のコマンドラインツールが
rpm
あり、個々のRPMパッケージをインストールします。rpm
コマンドラインツールはコマンドラインツールに類似していると考えることができますdpkg
。どちらも、依存関係なしに個別のパッケージをインストールするためです。
yum
RPMパッケージとその依存関係をインストールする上位レベルのプログラムです。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
がまだインポートされていない場合に、それらがインポートされます。プロンプトが表示され、受け入れるか拒否するかを尋ねられます。
pygpgme
GPG署名を検証するには、システムにパッケージをインストールする必要があります。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
ますか?