1. TOPTOP
  2. Webサービス
  3. Apache

Linux「bash」脆弱性の件でWebサーバー(httpd)のアクセスログも確認したら、攻撃の事実が発覚…。”() { :; };”の文字列にご注意を

|

linux

先日、Linux「bash」脆弱性の件が気になるので自分が管理しているサーバー内のログを確認しました。(新しいタブで開く)という記事を書いたところ、読者の方から「攻撃を受けたかどうか、Webサーバーも調べた方が良いのでは?」というご指摘をいただきました。

「それはもっともなこと」と思い、さっそく調べて見ました。具体的には、Apacheのアクセスログ(/var/log/httpd/access_log)に、次の文字列の有無を確認します。もし、存在すれば攻撃を受けていたことになります。

() { :; };

access_logを確認するまでの作業

1./var/log内にアクセス

まず次のコマンドで/var/logにアクセスして、ディレクトリの内容を確認します。

$ cd /var/log
$ ls -la

2.httpdディレクトリの所有者の変更

自分の場合、httpdがroot権限でしか見れない状態だったので、所有者を作業用ユーザーに変更します。

$ sudo chown myusername httpd

3.httpdに移動してディレクトリの内容を確認

ここまでの作業ではカレントディレクトリが、/var/logとなっていますので、/var/log/httpdに移動します。

$ cd /var/log/httpd
$ ls

するとApacheのログファイル一覧が出てきます。

httpd_access_log

4.access_logを確認

次のコマンドを入力しますが、access_log以外にも4つのファイルを調べています。

$ view access_log
  • access_log-0914
  • access_log-0921
  • access_log-0928
  • access_log-1005

他の方の記事(新しいタブで開く)を読んでいると、grepコマンドで調べれば良いと書かれています。ですが、コマンドの打ち方が悪いのか反応がなかったので、自分はすべてのファイルを開いて文字列検索を行いました。

access_log-0928でビンゴ!(泣)

bash_0928

() { :; };“がないことを祈りつつ検索をかけましたが、access_log-0928を見ると、残念ながら9月25日に攻撃を受けていることが発覚しました(赤色で囲った枠線)

bash_1005

ですが、あとのログを調べていると攻撃を受けたのは1回こっきりで、なおかつ9月27日にbashのアップデートを済ましています。(新しいタブで開く)

なので、今回はWebサーバーの確認だけということで。

〔参考サイト〕