Shellshockを回避するには、bashを更新して再起動する必要がありますか?

Shellshockを回避するには、bashを更新して再起動する必要がありますか?

bash私のシステムを最新バージョン(Fedora:bash-4.2.48-2.fc19.x86_64とCentOS bash-4.1.2-15.el6_5.2.x86_64:)にアップデートしました。

悪用を防ぐために更新する必要がありますか、またはすべての端末を閉じて、すべてのサービスを再起動するか、システムを再起動する必要がありますか?

答え1

~からRed Hat FAQ:(Bashの脆弱性CVE-2014-6271)

このアップデートをインストールした後、サービスを再起動するか再起動する必要がありますか?

いいえ、新しいbashパッケージをインストールした後にサービスを再起動または再起動する必要はありません。この問題は起動時にBashシェルにのみ影響し、すでに実行されているシェルには影響しません。パッケージをアップグレードすると、起動されたすべての新しいシェルが変更されたバージョンを使用します。

答え2

一部のサービスを再起動する必要があります。

~からRed Hat 記事:

CVE-2014-6271およびCVE-2014-7169のアップデートをインストールした後、サービスを再起動または再起動する必要がありますか?

システムからエクスポートされたBash機能を使用している場合は、影響を受けるサービスを再起動することをお勧めします。影響を受けた対話型ユーザーは再度ログインする必要があり、screenまたはtmuxセッションを再開する必要があります。

これらの問題を解決するために、提供されたBashアップデートは環境からエクスポートされた関数の名前を変更します。以前のバージョンのBashから関数をエクスポートした場合、その関数は更新後に新しく開始されたBashプロセスで認識されず、本質的に定義されません。サービスを再起動すると、新しいバージョンのBashが期待される名前で関数をエクスポートして再表示されるようにします。

どのサービスを再起動する必要があるか(またはどのユーザーが再度ログインする必要があるか)を確認するには、更新後に次のコマンドを実行します。

$ grep -l -z '[^)]=() {' /proc/[1-9]*/environ | cut -d/ -f3

返されたPIDは、その環境で以前にエクスポートされた機能を使用して定義されたプロセスに属します。これらのプロセスを再起動する必要があります。特定のPIDを起動して再起動する必要があるサービスを検索するには、Red Hat Enterprise Linux 7で次のコマンドを使用します。

$ systemctl status <PID>

Red Hat Enterprise Linux 6以前では、pstree -pまたはps -axufコマンドを使用して特定のPIDを見つけます。

答え3

このエラーにより、誰かがコンピュータを制御できる場合にのみ再起動が必要になることがあります。ただし、この場合はシステムを再インストールする必要があります。

不明な場合は、再起動してシステム(ログ、可能なルートキットなど)を確認してください。

関連情報