フリーのWAFを使ってみよう:ModSecurity①

セキュリティ

今回はフリーのWAFであるMod_Securityの環境を作成していきたいと思います。

皆様はWAFというものを聞いたことがありますか?

この記事を見にきた人はご存知の方が多いと思いますが、説明します。

WAFとは?

WAF は、ウェブアプリケーションの脆弱性を悪用した攻撃などからウェブアプリケーションを保護するソフトウェア、またはハードウェアです。WAF は脆弱性を修正するといったウェブアプリケーションの実装面での根本的な対策ではなく、攻撃による影響を低減する対策です。
参考:2.1. WAF とは(https://www.ipa.go.jp/files/000017312.pdf)より参照

ふむ、物凄い良いことが書いてありますね。さすがIPA、以下は重要な考え方です。

「ウェブアプリケーションの実装面での根本的な対策ではなく、攻撃による影響を低減する対策です。」

ちなみに製品としてWAFを導入使用とする場合は結構値段が高いです。

安いものでも年間数万~数十万、高いものになると導入に数百万かかることもあります。
※もちろん導入の規模やIPSやロードバランサ等も含まれているものもあるので、WAFのみの値段であるわけではありません。

また、よくいる、「WAFを入れているから脆弱性の対応は大丈夫だったんですが。。。」という考え方は全くおかしい考えと思ってください。

WAFというのはWebアプリケーション側でちゃんと脆弱性の対応をあらかじめ行った後、その上での防御策として考えるべきです。

もし、自分のサーバに対してどこかしらの営業が、「WAFを入れれば大丈夫です!」とか、「WAFが入っていれば安全です!」を言っているならばそれは大分怪しいので注意しましょう!

今回はWAFを検証するのにお金を払って製品を買うわけではなく、オープンソースWAFである「ModSecurity」使用して検証していきます。

WAF(ModSecurity)をインストールしよう!

今回は次の検証も考え、前回SQLインジェクションのコンテンツを作成したVMに対してModSucurityをインストールします。

$ sudo apt install libapache2-mod-security2
# ModSucurityをインストール

以下のような感じでいけました。

インストール自体はサクッと終わりました。

次回からはこのModSucurityを使用して実際に脆弱性の攻撃を防ぐことができるかを確認していきます。

それとWAFでの防御の考え方等を伝えていけたらと考えています。

質問や不明点、こういうこともやって欲しい等あれば、コメントやツイッター等でご連絡頂ければ幸いです。

コメント