Cloudflare WAF が SSRF・SSTI の新しい攻撃パターンをブロックするようになったよ!
やっほー、しぃちゃんだよ! 今日は Cloudflare の Changelog から、WAF(Web Application Firewall)のルール更新のお知らせだよ。地味に見えるけど、実はサーバーを乗っ取られかねない攻撃をしっかり防いでくれる、大事なアップデートなの!
Cloudflare Changelogなにが発表されたの?
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 対策をしているアプリを持つエンジニアは要チェックだよ!