すでに Twitter の方でいろいろ書きましたが、まとめも兼ねて。
先週、Linux ユーザーならおなじみ bash にセキュリティ上の欠陥があることが判明しました。Shellshock と呼ばれているこの脆弱性は、bash が広く使われていることから影響範囲も大きいと懸念されています。
ウチのように Ubuntu 系のOSを使用している場合、現在できる対応策が下記に掲載されています。
今日現在、Ubuntu 14.04 LTS では Shellshock 対応パッチが出ています。複数ある脆弱性を全部潰せたわけではなさそうですが。パッチ適用済みかどうかわからない場合は、ターミナルからコマンド叩いて確認する方法が下記に掲載されていました。
ちなみにパッチ未適用の Ubuntu 14.04 LTS だと、このコマンドで
vulnerable
this is a test
と表示されます(試してみた)。これがパッチ適用済だと、
this is a test
とだけ表示されます(「vulnerable」が表示されない)。
Webサーバーから CGI を動かしている場合、CGI がシェルの機能を利用していることが多く、そのシェルが bash だとすればかなり危険のようです。
ちなみにうちのサイトで使っている Phusion Passenger も影響を受けるそうで・・・。開発元では早急にOSの対応パッチを当てろと言っています。通常の設定なら root 権限まで奪われることはないらしいですが。
ただ、不幸中の幸いは Ubuntu 系のOSはよくシェルスクリプトの実行に使われる /bin/sh の実体が bash ではなく dash( Debian Almquist shell・わかりにくいんですが、頭文字がbじゃなくてd)になっているので、多少マシとのこと。特に危険なのは /bin/sh の実体が bash の RedHat 系等らしいです。
気になったのでウチのサーバーのログを調べたところ、9月25日から今日までの間に3件、Shellshock を狙ったと思しきアクセスがありました。もっともうち1件はセキュリティ研究のサイトからで、調査のためのアクセスだったらしいのですが・・・、人騒がせな。
他の2件はリクエストの URI が
/cgi-sys/defaultwebpage.cgi
というもので(これ自体、ウチのサイトには存在しない)、リクエストヘッダの HTTP_USER_AGENT にこの脆弱性の存在を探るコードが仕込まれていました。
開発用の環境で Shellshock 対応パッチ未適用のがあったので、telnet から仕込まれたコードを含むリクエストをかけてみましたが、レスポンスは通常通りで影響はないようでした(やはり Ubuntu 系だったからか?)。
とりあえず、ウチのサイトは大丈夫のようですが、今後も注意していきます。