読者です 読者をやめる 読者になる 読者になる

インフラエンジニアは人間じゃない

インフラエンジニアの備忘録

Apache Struts 脆弱性でインフラエンジニアがヤバい

おはようございます、ねるです。

くたくたのインフラエンジニアです。

 

今回は今IT業界を騒がせている、

Apache Struts脆弱性についてです。

 

3/8(水) IPA 情報処理推進機構が、

ある重大な脆弱性の発表をしました。

それが、そう、

""" Apache Struts2脆弱性"""

です。

 

この脆弱性は何がヤバいか。

IPAのWebページには「第三者にサーバ上で任意のコードが実行されます」とあります。

つまり、語弊を恐れずに言うと「サーバ乗っ取ってデータ流出でも破壊でもやりたい放題なんでも出来ちゃう」ってことなんです!

 

 「おいおいおいおいそんな事起きてんのかようちのWebサイト大丈夫かよ」と思うはずです。

まず、対象のバージョンは下記の通りです。

 

脆弱性が含まれるバージョン(※1)>

 ・Apache Struts 2.3.5 〜 2.3.31

 ・Apache Struts 2.5 〜 2.5.10

 

  ※1 Apacheのバージョンではありません。

 

「バージョンなんて何使ってるかわかんねぇよ!」…ごもっともです。

Apache Strutsのバージョンを気にする事なんて、早々ありませんもんね。

そんなあなたに、はい調べ方ドーン!!!

 

Apache Struts バージョンの調べ方>

/WEB-INF/lib ディレクトリを開き、その中の struts2-core-2.x.x.x.jar ファイルの名称を確認。
※ 2.x.x.x の部分が、利用している Struts 2 のバージョン。

ファイルが場所が見つからない場合は、

Windowsならdirコマンド、Unix系ならfindコマンドで探すと幸せになれます。

 

もし、あなたのサーバに脆弱性が含まれていなかったら幸せです。

もうこの話の事は忘れていいです。

 

じゃあ、脆弱性があった場合、どうするか。

Apache Struts2脆弱性対策>

 ①Apache Strutsのバージョンをあげる

  ⇒Apache Struts 2.3.32 もしくは 2.5.10.1へバージョンアップして下さい。

 ②Jakartaを使用しない

  ⇒「いきなりバージョンアップはインパクトが大きすぎるでしょ」という場合、

    脆弱性があるパーサであるJakartaから別のパーサに変更することで、

    暫定的な対策にはなると思います。

 ③サーブレットフィルタを有効にする

   ⇒サーブレットフィルタを有効にすることで、

   不審なHTTPリクエストを受け取らないようにします。

 ④サーバを落とす

   ⇒ふざけているように見えますが、割と真面目です。

    攻撃を受けた痕跡がある場合、すぐにサーバを落としてください。

    情報漏洩をするくらいならサービス提供できない方がマシです。

  

結論:今すぐApache Sturuts 2の脆弱性対策をすべし!

 

 

<参考サイト>

www.ipa.go.jp

 

Apache Struts 2 の脆弱性 (S2-045) に関する注意喚起

https://www.jpcert.or.jp/at/2017/at170009.html