おはようございます、ねるです。
くたくたのインフラエンジニアです。
今回は今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の脆弱性対策をすべし!
<参考サイト>