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