検索

47.5. セキュリティー更新

download PDF
セキュリティー上の脆弱性が検出されると、潜在的なセキュリティーリスクを制限するために、影響を受けるソフトウェアを更新する必要があります。ソフトウェアが現在サポートされている Red Hat Enterprise Linux ディストリビューション内のパッケージの一部である場合、Red Hat, Inc. は、脆弱性をできるだけ早く修正する更新パッケージのリリースに取り組んでいます。多くの場合、特定のセキュリティーエクスプロイトに関するアナウンスはパッチ(または問題を修正するソースコード)に含まれています。このパッチは Red Hat Enterprise Linux パッケージに適用され、Red Hat の品質保証チームによってテストされ、エラータ更新としてリリースされます。ただし、発表にパッチが含まれていない場合、Red Hat 開発者はソフトウェアのメンテナーと連携して問題を修正します。問題が修正されると、パッケージはエラータ更新としてテストされ、リリースされます。
システムで使用しているソフトウェアでエラータの更新がリリースされると、影響を受けるパッケージをできるだけ早く更新して、システムが潜在的に脆弱になる時間を最小限に抑えることを強く推奨します。

47.5.1. パッケージの更新

システムでソフトウェアを更新する場合は、信頼できるソースから更新をダウンロードすることが重要です。攻撃者は、問題を解決するはずのパッケージと同じバージョン番号で、異なるセキュリティーエクスプロイトを施したパッケージを簡単に作り直し、インターネット上で公開することができます。この場合、元の RPM に対するファイルの検証など、セキュリティー対策を使用しても不正使用が検出されません。そのため、RPM は Red Hat, Inc. などの信頼できるソースからのみダウンロードし、その整合性を検証するためにパッケージの署名を確認することが非常に重要です。
Red Hat では、エラータ更新に関する情報を見つける方法を 2 つ提供しています。
  1. 一覧表示され、Red Hat Network でダウンロードできます。
  2. Red Hat エラータ Web サイトで一覧表示およびリンク解除
注記
Red Hat Enterprise Linux の製品ライン以降、更新されたパッケージは Red Hat Network からのみダウンロードできます。Red Hat エラータ Web サイトには更新された情報が含まれていますが、ダウンロードする実際のパッケージは含まれていません。

47.5.1.1. RHN Classic での自動更新の使用

警告:非推奨機能
システムの自動更新は、RHN Classic を使用してのみ利用できます。これは、コンテンツリポジトリーチャネルへのアクセス時にサブスクリプション消費に基づきます。RHN Classic は、証明書ベースの Red Hat Network に更新されていないレガシーシステムを使用するお客様の環境の利便性として利用できます。
更新とコンテンツストリームは、証明書ベースの Red Hat Network で異なるため、自動更新は使用されません。
新しい証明書ベースの Red Hat Network と、証明書ベースの Red Hat Network と RHN Classic の相違点は、15章システムの登録およびサブスクリプション管理 で説明されています。
RHN Classic を使用すると、更新プロセスの大半が自動化されます。これは、システムに必要な RPM パッケージを判断し、安全なリポジトリーからダウンロードし、RPM 署名を検証し、改ざんされていないことを確認します。パッケージのインストールはすぐに行われるか、一定期間にスケジュールされる可能性があります。
RHN Classic には、システムに関するハードウェアおよびソフトウェア情報が含まれる各マシンのシステムプロファイル が必要です。この情報は機密で保持され、他の人には提供されません。これは、各システムに適用可能なエラータ更新のみを決定するためにのみ使用されます。また、その更新がないと、RHN Classic は特定のシステムの更新が必要であるかどうかを判断できません。セキュリティーエラータ(または任意のタイプのエラータ)がリリースされると、RHN Classic はエラータの説明と影響を受けるシステムの一覧と共に電子メールを送信します。更新を適用するには、Red Hat Update Agent を使用するか、カスタマーポータルの RHN Classic サブスクリプション管理 エリアでパッケージを更新するようにスケジュールします。
重要な影響
セキュリティーエラータをインストールする前に、エラータレポートに含まれる特別な指示を必ず読み、それに応じて実行してください。エラータ更新による変更の適用に関する一般的な手順は、「変更の適用」 を参照してください。

47.5.1.2. Red Hat エラータ Web サイトの使用

セキュリティーエラータレポートがリリースされると、http://www.redhat.com/security/ から入手できる Red Hat エラータ Web サイトに公開されます。このページから、システムの製品とバージョンを選択し、ページ上部の セキュリティー を選択して、Red Hat Enterprise Linux Security Advisories のみを表示します。アドバイザリーのいずれかの概要がシステムで使用されるパッケージを記述している場合は、概要をクリックして詳細を確認してください。
詳細ページでは、セキュリティーエクスプロイトと、セキュリティーホールを修正するためにパッケージの更新に加えて実行する必要がある特別な命令について説明します。
更新したパッケージをダウンロードするには、リンクをクリックして Red Hat Network にログインし、パッケージ名をクリックしてハードドライブに保存します。/tmp/updates などの新しいディレクトリーを作成し、ダウンロードしたパッケージをすべて保存することを強く推奨します。

47.5.1.3. 署名パッケージの検証

すべての Red Hat Enterprise Linux パッケージは、Red Hat, Inc で署名されています。GPG キー。GPG は GNU Privacy Guard (GnuPG)の略で、分散ファイルの信頼性を確保するために使用される無料ソフトウェアパッケージです。たとえば、Red Hat が保持する秘密鍵(シークレットキー)は、公開鍵のロックを解除して、パッケージを検証する間に、パッケージをロックします。Red Hat が配信する公開鍵が RPM 検証中に秘密鍵と一致しない場合は、パッケージが変更されているため、信頼できない可能性があります。
Red Hat Enterprise Linux 内の RPM ユーティリティーは、インストール前に RPM パッケージの GPG 署名を自動的に検証しようとします。Red Hat GPG キーがインストールされていない場合は、Red Hat Enterprise Linux インストール CD-ROM などの安全な静的場所からインストールします。
CD-ROM が /mnt/cdrom にマウントされている場合は、以下のコマンドを使用してキー リング (システム上の信頼できるキーのデータベース)にインポートします。
rpm --import /mnt/cdrom/RPM-GPG-KEY-redhat-release
RPM 検証用にインストールされた鍵の一覧を表示するには、以下のコマンドを実行します。
rpm -qa gpg-pubkey*
Red Hat キーの場合、出力には以下が含まれます。
gpg-pubkey-37017186-45761324
特定のキーの詳細を表示するには、以下の例のように rpm -qi コマンドの後に直前のコマンドの出力を使用します。
rpm -qi gpg-pubkey-37017186-45761324
RPM ファイルの署名をインストールする前に、RPM ファイルの署名を検証することが非常に重要です。これにより、パッケージの Red Hat, Inc. リリースから変更されていないことを確認する必要があります。ダウンロードしたすべてのパッケージを一度に確認するには、以下のコマンドを実行します。
rpm -K /tmp/updates/*.rpm
各パッケージで GPG キーが正常に検証された場合、コマンドは gpg OK を返します。そうでない場合は、正しい Red Hat 公開鍵を使用していることと、コンテンツのソースを確認してください。GPG 検証に合格しないパッケージは、サードパーティーによって変更されている可能性があるため、インストールしないでください。
GPG キーを確認し、エラータレポートに関連付けられたすべてのパッケージをダウンロードしたら、シェルプロンプトで root としてパッケージをインストールします。

47.5.1.4. 署名パッケージのインストール

ほとんどのパッケージのインストールは、以下のコマンドを実行して安全に実行できます(カーネルパッケージを除く)。
rpm -Uvh /tmp/updates/*.rpm
カーネルパッケージの場合は、以下のコマンドを使用します。
rpm -ivh /tmp/updates/<kernel-package>
前の例の < kernel-package > を、カーネル RPM の名前に置き換えます。
新しいカーネルを使用してマシンを安全に再起動したら、以下のコマンドを使用して古いカーネルを削除できます。
rpm -e <old-kernel-package>
の例の <old-kernel-package > を、古いカーネル RPM の名前に置き換えます。
注記
古いカーネルを削除する必要はありません。デフォルトのブートローダー GRUB では、複数のカーネルをインストールでき、ブート時にメニューから選択できます。
重要な影響
セキュリティーエラータをインストールする前に、エラータレポートに含まれる特別な指示を必ず読み、それに応じて実行してください。エラータ更新による変更の適用に関する一般的な手順は、「変更の適用」 を参照してください。

47.5.1.5. 変更の適用

Red Hat Network または Red Hat エラータ Web サイト経由でセキュリティーエラータをダウンロードしてインストールした後に、古いソフトウェアの使用を停止し、新しいソフトウェアの使用を開始することが重要です。これがどのように行われるかは、更新されたソフトウェアのタイプによって異なります。以下の一覧は、ソフトウェアの一般的なカテゴリーを項目化し、パッケージのアップグレード後に更新されたバージョンを使用する手順を説明します。
注記
一般的には、システムを再起動することが、ソフトウェアパッケージの最新バージョンが使用されていることを確認する最も確実な方法です。ただし、このオプションは常にシステム管理者で利用できるとは限りません。
アプリケーション
ユーザー空間アプリケーションは、システムユーザーが開始できるプログラムです。通常、このようなアプリケーションは、ユーザー、スクリプト、または自動タスクユーティリティーがそれらを起動し、長期間維持されない場合にのみ使用されます。
このようなユーザー空間アプリケーションが更新されたら、システム上のアプリケーションのインスタンスをすべて停止し、プログラムを再度起動し、更新されたバージョンを使用します。
カーネル
カーネルは、Red Hat Enterprise Linux オペレーティングシステムのコアソフトウェアコンポーネントです。メモリー、プロセッサー、および周辺機器へのアクセスを管理し、すべてのタスクをスケジュールします。
その中心的なロールがあるため、コンピューターを停止せずにカーネルを再起動することはできません。そのため、システムを再起動するまで、更新されたバージョンのカーネルを使用することはできません。
共有ライブラリー
共有ライブラリーは、多くのアプリケーションやサービスによって使用される glibc などのコードの単位です。共有ライブラリーを使用するアプリケーションは、通常、アプリケーションの初期化時に共有コードを読み込むため、更新されたライブラリーを使用するアプリケーションはすべて停止および再起動する必要があります。
実行中のどのアプリケーションが特定のライブラリーに対してリンクしているかを確認するには、以下の例のように lsof コマンドを使用します。
lsof /usr/lib/libwrap.so*
このコマンドは、ホストアクセス制御に TCP ラッパーを使用する実行中のすべてのプログラム一覧を返します。したがって、tcp_wrappers パッケージが更新されると、リストされているプログラムは停止して再起動する必要があります。
SysV Services
SysV サービスは、システムの起動プロセス中に起動する永続的なサーバープログラムです。SysV サービスの例としては、sshdvsftpdxinetd などがあります。
これらのプログラムは通常マシンが起動されている限りメモリーに保持されるため、更新された各 SysV サービスは、パッケージのアップグレード後に停止して再起動する必要があります。これは、Services Configuration Tool を使用するか、root シェルプロンプトにログインして、/sbin/service コマンドを以下の例のように実行して実行できます。
service <service-name> restart
前の例で、&lt ;service-name& gt; を sshd などのサービスの名前に置き換えます。
Services Configuration Tool の詳細は、17章Network Configuration を参照してください。
xinetd サービス
xinetd スーパーサービスが制御するサービスは、アクティブな接続がある場合にのみ実行されます。xinetd が制御するサービスの例には、Telnet、IMAP、および POP3 が含まれます。
これらのサービスの新しいインスタンスは新しいリクエストを受け取るたびに xinetd によって起動されるため、アップグレード後に発生する接続は更新されたソフトウェアによって処理されます。ただし、xinetd が制御するサービスのアップグレード時にアクティブな接続がある場合は、ソフトウェアの古いバージョンによって提供されます。
特定の xinetd 制御サービスの古いインスタンスを強制終了するには、そのサービスの パッケージをアップグレードしてから、現在実行中のプロセスをすべて停止します。プロセスが実行されているかどうかを確認するには、ps コマンドを使用して kill または killall コマンドを使用して、サービスの現在のインスタンスを停止します。
たとえば、セキュリティーエラータ imap パッケージがリリースされている場合は、パッケージをアップグレードし、root でシェルプロンプトに以下のコマンドを入力します。
ps -aux | grep imap
このコマンドは、アクティブな IMAP セッションをすべて返します。以下のコマンドを実行すると、個々のセッションを終了できます。
kill <PID>
セッションの終了に失敗した場合は、代わりに以下のコマンドを使用します。
kill -9 <PID>
前の例では、& lt;PID > を IMAP セッションのプロセス ID 番号( ps コマンドの 2 列目にある)に置き換えます。
アクティブな IMAP セッションをすべて強制終了するには、以下のコマンドを実行します。
killall imapd
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.