CentOS 4.x での Shell Shock 対策

今回の bash の脆弱性の問題。Shell Shock という言い方が何となく定着したようで(^^;
ま、ショックだよな。あの天下の Gnu の bash が・・・と。

CentOS 5.x~7.x については Gnu が提供した修正パッチを当てた bash パッケージが yum でインストール出来るんだけど、CentOS 4.x については自力でどうにかするしかない。
例えば WebARENA からもこんなアナウンスが。
 ↓
==================== 
 ■対策について
 【CentOS4をご利用のお客さま】
  CentOS4につきましては、すでに公式サポートが終了しているため、
  アップデート用レポジトリの提供はございません。
  お客さまにてbashのソースコードを取得し、サーバー上でコンパイルするなど
  対策をご実施くださいますよう、お願い申し上げます。
====================

まだ、お客さんのところのサーバでも CentOS 4.x のままのものがあるので、今回対応した内容をメモっとく。(作業は、CentOS 4.9 の上で行った)

1.状況確認

CentOS 4.9
bash 3.0-27.el4
という環境。
試しに以下のスクリプトを実行。

# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test

echo vulnerable が実行されてしまってるんでアカン。

2.パッチレベル 16まで当たってるソースを Gnu のサイトから入手。

# wget --no-check-certificate https://ftp.gnu.org/gnu/bash/bash-3.0.16.tar.gz

3.今回の脆弱性に対するパッチ(パッチレベル 17~19)を入手。

# wget --no-check-certificate https://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-017
# wget --no-check-certificate https://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-018
# wget --no-check-certificate https://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-019

4.パッチを当てる

# tar xfz bash-3.0.16.tar.gz
# cd bash-3.0.16/
# patch -p0 < ../bash30-017
# patch -p0 < ../bash30-018
# patch -p0 < ../bash30-019

何のエラーも出ず、無事終了

5.コンパイルからインストール

# ./configure
# make
# make install

これまた何のエラーも出さずサクっと終了。

6.テスト

# which bash
/usr/local/bin/bash

無事インストールされている。

# /usr/local/bin/bash
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test

うむ。echo vulnerable が実行されない。バッチリ。

ところで、このインストール作業でライブラリが更新されたせいか、/bin/bash でも脆弱性が解決されているようだ。

# /bin/bash
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test

このとおり、echo vulnerable が実行されなくなっている。
/bin/bash を削除し、/usr/local/bin/bash にシンボリックリンクしとこうかと思ったんだけど、少し様子を見てみよう。

ということで、パッチレベル 16 まで当たっているソースからパッチ適用すれば問題なく bash のインストールが出来るね。
実は最初、bash-30.tar.gz を取ってきて、パッチレベル 1 から適用してみたんだけど、一発目の bash30-001 パッチからもうエラーが出ちゃう(^^; 
bash-3.0.16 からスタートすれば大丈夫!

ググってみると、なんか、CentOS 4 では Miracle Linux の SRPM を使えば良いみたいな記事が結構あるんだけど、そんなイレギュラーなことをしなくても、ソースからきれいに make できるで。変に依存プログラムが追加インストールされることもないし。

以上、ご参考まで。

トラックバック(1)

このブログ記事を参照しているブログ一覧: CentOS 4.x での Shell Shock 対策

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/3127

とりあえずサーバ機はなんとかなると思うけど,問題はそれ以外なのよ。 続きを読む

コメントする

このブログ記事について

このページは、shinodaが2014年10月 1日 09:23に書いたブログ記事です。

ひとつ前のブログ記事は「とうとうファルトボートのフレームの一本が完全にバキっと・・・(^^;」です。

次のブログ記事は「XML::Simple を使った Perl での XML 出力」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら