Web Application Firewall(WAF)に意味は無いという話ではないです。ただ、私は費用対効果が薄いので否定的な気持ちです。運用を行える労力と金が許すなら入れればいいのではと思います。
なぜか仕事でWAFの導入相談をされることがあり、その時の考えを2022年の終わりぐらいから書き散らしては塩漬けを繰り返していたのですが、今も気持ちは変わってないので公開してみます。
要約
私の記事には新規性はないです。mod_securityなど具体的なWAF製品には触れません。
こんな記事を見るより、以下をお読みください。
2011年にIPAもWAFの導入に関する手引きを書かれています。WAFのメリット、導入判断、運用についても触れられています。
www.ipa.go.jp
2008年に徳丸先生が以下の記事を書かれています。
blog.tokumaru.org
古い記事に見えますが、現状はあまり変わってないと私は感じます。
このあたり読んでおけば判断できるはずです。ありがとうございました。
私の感想
Azure FrontDoorとAzure ApplicationGatewayのWAFを少し運用している程度のペーペーの一意見としてください。
私は「WAFは費用対効果が薄いのでは」という立場です。
- WAFは効果はあるが万能ではない
- 既知の攻撃には意味がある
- 潜在的な脆弱性に対する攻撃を防ぐ意味がある
- 完全な未知の攻撃には意味がない
- SaaSで提供されているWAFはアップデートがある。そのため「未知の攻撃」が「既知の攻撃」に変わり防げるようになることがある(最近ではlog4shellなど)
- WAFは入れてお終いではなく、WAFのための運用も必要(マネージドでも必要)
- コストが掛かるし、オーバーヘッドも掛かる
徳丸先生の記事で以下の記述がありました。
割高で あてにならぬも 負担増
私の感覚ですが、この状況は今もさほど変わっていないように思います。
クラウドサービスの台頭で必要な時にすぐ導入でき、コストも月5000円程度から使えるようになっており導入はしやすくなりました。何かあったときに困るからとにかく入れておけ、という選択もさほど悪くないとも思います。金があるなら入れるといいでしょう。(AzureもFrontDoor Classic時代は安価に始められたのですが、それが廃止予定になってしまい現状の最低ラインは月$300からであり、ちょっと「ウッ」となる金額感)
しかしまだ運用があります。手元では動いても動作環境だとリクエストをふさがれてしまい、ため息をつきながら除外ルールを書くという作業が増えたりといったことも。それでいて絶対ではない。
そんな感じで、WAFはめちゃくちゃ高くてお手入れが必要な「おまもり」という認識です。
蛇足:「セキュリティ」という言葉について
WAFとはあまり関係ないですが、次の動画で竹迫先生が「セキュリティという言葉を使わずにやりたいことを説明してみる」とおっしゃっていました。
youtu.be
セキュリティというワード自体はメジャーになっているが故か、アプリケーション開発するときにお客様とか上司とかから「セキュリティは大丈夫?」と口を出されることがよくありました。
これに対してYES/NOで答えるには難しく、セキュリティに絶対はないと思っているのでYESと言い切れないし、かといってNOとは言えないので、「頑張ってます。アハハハ」と返すこともありました。
とはいえ「具体的に何を気にされています?」と掘り下げると、時間を食いつぶす話題でもあり、その割には得られるものが少なかったり発言が有識者に偏るみたいな状態になったり、うまく回せない。みんなそんなことより早く開発進めてスケジュール通りにリリースしたいよな、と思ったり。でも蔑ろにできないもどかしさがあったり。壁打ちできる相手がほしい。でもコミュニティは怖い
ただやっぱりセキュリティというワードは広すぎるので、1個1個具体的にして潰していくしかないのだなと思ってます。(浅い感想)
以降も書き散らし。
続きを読む