このアホみたいにリクエストをブロックしてくれる仕組みはWAFといい、CDNやゲートウェイ的なところに居着いてリクエストを監視してインターネットからの悪意あるリクエストを排除してくれます。
そしてこの仕組みで我々にてっぺきのぼうぎょを提供することができます。
この素晴らしい仕組みはだいたいのCloudに存在するのですが、驚くことにそのカスタマイズ性の高さはクラウドやWAF界隈でも随一です。
もう気づいてる方もいるかもしれませんが、WAFを入れておくことによって関係者各位の安心を得ることができます。
また、情シスが憧れるほどのしっかりとしたせきゅりてぃは数百以上の判断基準(ルール)から構成されるチェック機構を備え、世界で最も優れた類のWAFとなっています。
ここまででこのWAFの優れたぼうぎょりょくがわかると思いますが、最も優れているのはお堅い業界へセキュリティやってまっせのアピールがしやすくなり、製品やシステムの売り文句とすることができたりできなかったりします。
(中略)
それほどまでに優れたぼうぎょりょくを持ったWAFですが、一つだけクソめんどくさい欠点があります。
それは信じられないくらい誤検知が多いことです。 (*1)
WAFはその売り文句からのぼうぎょりょくと引き換えに、ちょっとしたNGワードやその筋っぽいリクエストパラメータがあるだけでリクエストをブロック(*2)します。
そのため、そのままではひっかかったリクエストがforbidden、基本的にカスタマイズなしでは使うことができず、API増加時の保守性が最悪(*3, *4)です。
リクエストボディのJSONにあるフリーワードなどは最悪で、容易にNGワードがヒットしリクエストはブロックされます。
更に文中に盛り込まれたランダムな文字列やBASE64エンコードっぽいものを見かけると疑いの眼差しを向け、アノマリースコアが上昇し高い頻度でブロックされます。
また、URLが大嫌いであるため、このリクエストも発作のようにてっぺきのぼうぎょの犠牲となります。
なぜブロックしているのかは開発者にはわかりません。
それがアホみたいな誤検知率とてっぺきのぼうぎょを備えたこのクラウドのアプリケーションファイアウォールです。(*5)
*1 @WSのWAF使ったことあるけどこんな誤検知なかった
*2 ブロックしない検出モードもあります。
*3 WAF対策のテストに盛り込み、取り入れ実施する必要があります。
*4 継続的なメンテナンスが必要です
*5 誤検知が本当に怖い 泣きそう