今日は、VPSサーバ(OSはUbuntu)にインストールされているbashのバージョンアップ(4.3へ)及び脆弱性対策の為のパッチ作業です。
といっても、
弊社のテストサーバでの作業なので、
気持ちは楽ですが!!
こういったソフトのバージョンアップではいろいろと問題が起こるので、
本番環境での作業は恐いです。。。
まずは、TeeraTermを立ち上げて、念の為にバージョンを確認
# bash --version
==========================================================================
GNU bash, バージョン 4.2.25(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/licenses/gpl.html>
==========================================================================
結構古いです。
ということで、
ネット上に落ちている下記の様なコードを実行してみます。
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
すると、
this is a test
と表示されました。
これは、以前から報告されているbashの脆弱性が含まれているということです。
参考サイト:https://www.ipa.go.jp/security/ciadr/vul/20140926-bash.html
それでは、
早速バージョンアップ作業の開始です。
といっても、ネット上で公開されている方法を真似るだけですが。
※今回は、
http://qiita.com/ryosy383/items/698b5cafc9b08925bb98
を参考にさせて頂きました。
パッチは公開されているものを全て適用させるらしいので、
で確認します。
■まず、バージョン4.3のソースを引っ張って、解凍まで行います。
# wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
# for i in $(seq -f "%03g" 0 42); do wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i; done
# tar zxvf bash-4.3.tar.gz
■あとは、解凍したディレクトリに移動して、maku installまで順次行っていくだけです。
# cd bash-4.3
# for i in $(seq -f "%03g" 0 42);do patch -p0 < ../bash43-$i; done
# ./configure && make
# sudo make install
で、バージョンを確認です。
# bash --version
============================================================
GNU bash, バージョン 4.3.42(1)-release (x86_64-unknown-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/licenses/gpl.html>
============================================================
と表示されたので、
ここまでは成功ですね。
あとは、
もう一度、
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
を実行して、
========================================
bash: 警告: x: ignoring function definition attempt
bash: `x' の関数定義をインポート中にエラーが発生しました
this is a test
========================================
と表示されればOK!です。
この記事へのコメントはありません。