概要
CVE-2017-5664 Apache Tomcat で意図せず PUT や DELETE といった改ざんにつながる脆弱性が発表されました。
Apache Tomcat のアップグレードによる恒久対策実施までの間の、Deep Seucrity での回避策を教えてください。
詳細
脆弱性の概要
本脆弱性は Apache Tomcat で HTTPメソッドを制限しているにもかかわらず、特定の条件下では制限されない脆弱性です。
本脆弱性の影響として、制限しているはずの PUT や DELETE が処理され、意図せずエラーページの削除や上書きが行われることが想定されます。
下記バージョンの Apache Tomcat をご利用の場合に本脆弱性の影響を受ける可能性があります。
※ サポート対象外の古いバージョンも影響を受ける可能性があります
- Apache Tomcat 9.0.0.M1 から 9.0.0.M20 まで
- Apache Tomcat 8.5.0 から 8.5.14 まで
- Apache Tomcat 8.0.0.RC1 から 8.0.43 まで
- Apache Tomcat 7.0.0 から 7.0.77 まで
Deep Security での対応
既存の侵入防御ルールを活用し、リスクの高い HTTPメソッドをパケットレベルでブロックする事によって、脆弱性を悪用した攻撃から保護できます。
以下ルールの [設定]タブに、Apache Tomcat の <security-constraint> で制限している HTTPメソッドを追加します。
※ Deep Security で侵入防御機能を使用している前提です。
※ 念のため本番適用前に検証環境での使用、あるいは検出のみモードでテストし正常な通信をブロックしないことを確認します。
- 1000126 - Disallow HTTP (Including WebDAV) Methods
上半分にブロック対象の HTTPメソッドを指定し [Add] で追加します。
※ 画面イメージでは「OPTIONS」「PUT」「DELETE」が追加された状態になります。
※ 初期設定では「TRACK」「TRACE」がブロック対象となっていますので、必要に応じて [Remove] します。
もし特定のページに対しては上半分でブロック指定した HTTPメソッドを許可したい場合には、下半分にページを1行ずつ指定し [Add] で追加します。
※ ワイルドカード等は使用できません。
[適用]ボタンをクリックして適用します(対象のルールが既に適用されいる場合には対象マシンにポリシーが送信されます)。
curl コマンド等で HTTPメソッドを指定したリクエストを保護対象マシンの Webサーバに送信しても 200 OK とならないことを確認します。