カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

bashの脆弱性“Shell Shock”(CVE-2014-6271)

この記事は最終更新日から1年以上経過しています。

2014年9月24日にBashの脆弱性が公表されました。
これはかなり危険度の高い脆弱性ですので、対処していない場合は早急に対処する必要があります。

原因は環境変数に関数が定義されてしまい、シェルを起動するだけで有効になってしまうことです。

脆弱性があるかどうかチェックするには以下のコマンドを実行してみてください。

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

以下のように出力されたらアウトです。

vulnerable
this is a test

echo vulnerable」の部分に任意のコマンドを入れることができます。

早急にbashをアップデートすることをお勧めします。
bashのバージョンを確認するには

rpm -qa | grep bash

yumコマンドでアップデート

rootでログインし、以下のコマンドを実行します。

yum update bash

yumが実行できればこれだけです。

OSが古い等の理由でアップデートできない場合はどこかからソースを探してこないといけません。
「shellshock」で検索すると色々と情報が出てきますので探してみてください。

RedHat系でしたら、以下のような対応状況になっています。
・RedHat Enterprise Linux 6 / CentOS 6
 bash-4.1.2-15.el6以前のものが該当
 bash-4.1.2-15.el6_5.2で修正

・RedHat Enterprise Linux 5 / CentOS 5
 bash-3.2-32.el5_9.1以前のものが該当
 bash-3.2-33.el5_10.4で修正

・RedHat Enterprise Linux 4 / CentOS 4
 bash-3.0-21.el4以前のものが該当
 bash-3.0-27.el4.4で修正

RPMコマンドでアップデート

RPMパッケージが見つかればrpmコマンドにてアップデートします。

rpm -Uvh bash-.....

既に攻撃を受けている

もし既に攻撃を受け、何らかのコマンドが実行されているとしたら、
悪さをしているプロセスを探し対処しなくてはなりません。

lsof -i | more

または、perl等のプログラムが実行されている場合が多いので

lsof -i | grep perl

等のコマンドで外部と通信を行っているプロセスを特定します。

表示された内容で怪しい内容のプロセスIDをチェックします。
該当プロセスのカレントディレクトリを調べます。

lsof -p プロセスID | grep cwd

プロセスの挙動を見る

strace -p プロセスID

発見した怪しいプログラムは即刻削除しましょう。

他に、/tmpディレクトリで一定時間アクセスが無いファイルを削除するというコマンドもあります。
例)/tmp以下で240時間アクセスが無いファイルを削除する

tmpwatch 240 /tmp
この記事がお役に立ちましたらシェアお願いします
1,915 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です