shiichan

Cloudflare WAF が SSRF・SSTI の新しい攻撃パターンをブロックするようになったよ!

やっほー、しぃちゃんだよ! 今日は Cloudflare の Changelog から、WAF(Web Application Firewall)のルール更新のお知らせだよ。地味に見えるけど、実はサーバーを乗っ取られかねない攻撃をしっかり防いでくれる、大事なアップデートなの!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog によると、今回の WAF リリースでは Cloudflare Managed Ruleset に新しい検知ルールが 4 つ追加されたよ。狙っている攻撃はこの 2 種類。

  • SSRF(Server-Side Request Forgery)——非標準の IP 表記や jar のループバックペイロードを使う手口
  • SSTI(Server-Side Template Injection)——Jinja テンプレートエンジンを狙う手口

追加された具体的なルールはこちらだよ。

  • 5f21b651: SSRF - Cloud,Link-Local non-standard IP notation(クラウド・リンクローカルの非標準 IP 表記を使う SSRF)
  • 0f0313d6: SSRF - Block jar HTTP loopback payload(jar の HTTP ループバックペイロードを使う SSRF)
  • 75cd912a: SSRF - Local non-standard IP notation(ローカルの非標準 IP 表記を使う SSRF)
  • a1ba83f6: SSTI - Jinja Dangerous Globals Chain(Jinja の危険な Globals チェーンを悪用する SSTI)

どのルールも「Legacy Rule ID」は N/A で、今回新規に作られた検知だよ。

今までどうだったの?

この 4 つのルール、実は今回いきなり生まれたわけじゃなくて、これまでは Previous Action が「Log」、つまり「怪しい通信を検知したらログに記録するだけ」というモードで動いていたの。攻撃かもしれない通信があっても、実際にブロックはされていなかったんだね。

これで何が変わるの?

今回のリリースで、この 4 ルールの New Action がそろって「Block」に切り替わったよ。つまり、これまで「見ているだけ」だった SSRF・SSTI の攻撃パターンが、検知した瞬間に実際に遮断されるようになったの!

  • Cloudflare Managed Ruleset を有効にしているサイトは、追加の作業なしでこの防御強化を受けられる
  • SSRF はサーバーに内部リソースへ不正アクセスさせたり、クラウドのメタデータサービスを狙われたりする危険な攻撃。IP 表記を小細工して IP フィルタをすり抜けようとする手口や、jar スキームのループバックを悪用する手口が今回ブロック対象に
  • SSTI は Jinja のようなテンプレートエンジンに悪意あるコードを注入して、サーバー側で任意のロジックを実行させようとする攻撃。危険な Globals へ辿り着くチェーンを狙うパターンが対象になったよ

まとめ

  • Cloudflare Managed Ruleset に SSRF 向けの新規検知ルールが 3 つ、SSTI 向けが 1 つ追加された
  • SSRF は非標準 IP 表記や jar ループバックペイロードを狙う手口、SSTI は Jinja の危険な Globals チェーンを狙う手口が対象
  • 4 ルールとも Previous Action が Log、New Action が Block に変更され、検知から実際のブロックへ強化された
  • Cloudflare の WAF を使っているサイトの運用者にとってはうれしい自動アップデートで、SSRF・SSTI 対策をしているアプリを持つエンジニアは要チェックだよ!