今回の 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.9bash 3.0-27.el4という環境。試しに以下のスクリプトを実行。# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"vulnerablethis is a testecho 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 できるで。変に依存プログラムが追加インストールされることもないし。
以上、ご参考まで。
コメントする