bashの脆弱性が話題です。
bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた – piyolog
うちに攻撃が来てないかどうかaccess.logをgrepしてみた。
tkito@sakura:/var/log/apache2$ grep "()" access.log 209.126.230.72 - - [25/Sep/2014:09:13:47 +0900] "GET / HTTP/1.0" 200 929 "() { :; }; ping -c 11 209.126.230.74" "shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html)" xx.xx.xx.xx - - [25/Sep/2014:17:45:57 +0900] "GET /cgi-sys/defaultwebpage.cgi HTTP/1.0" 404 508 "-" "() { :;}; /bin/ping -c 1 198.101.206.138"こんな感じ。
うちは元々のアクセス数も少ないサイトなので現状この程度。1行目はErrata Securityによるshellshock-scanである。
アクセス元IP、ping先IP共にErrata SecurityのIPアドレスであり、問題のあるアクセスではない。2行目は、恐らく善意ではなく脆弱なサービスを探索するスキャンだと思われる。
アクセス元はオランダのIP、ping先はクラウドサービスのIPであり、実施者の詳細は不明。
GET対象のパスを調べたところ、cPanelというサーバ管理ソフトで使われるものらしい。
いかにも内部でsystem関数なりでコマンド発行してそうなソフトである。注意
うちの場合grepしてわかったのは上記の2件だけだが、それで全てだと思ってはいけない。
shellshock-scanのブログを見ると、リクエストヘッダのうちCookieとHostとRefererにコードを入れていて、実際にアクセスログに残っているのはRefererのみであった。
当サーバのログはcombinedで残すようになっている(デフォルトのまま)が、CookieとHostはアクセスログには残っていない。
他にもデフォルトでログに残らないヘッダはある(Accept-Encodingなど)ので、ログに残ってなかったからといって攻撃がなかったというわけではない。
自分が攻撃者ならできるだけログに残らない方法でスキャンを行う。
気づかないうちにバックドアが仕掛けられているかもしれないのだ。
危険なCGIなどを設置していたサーバは入念な調査が必要だと思われる。
(※本当に痕跡残さずに攻撃が可能かどうかは時間がなくて検証してない)