AWS を使って WEB アプリケーションを提供しているお客様からセキュリティ対策について相談があったので、AWS WAF について調査した。

WAF とは、Web Application Firewall の略で、アプリケーションの前段に設置して、あやしげなアクセスをブロックするというコンセプトのものである。AWS のサービスとして用意されているものが、AWS WAFである。

しかし、自分で AWS WAF を設定するのは、かなり困難なように思える。したがって、マネージドルールというものを調べた。
これは、AWSによると「セキュリティ専門家により管理されるルール」ということである。

さて、そのページの下のほうに「Managed Rules セラー」があるが、どれを選べばよいのか判断に困らないだろうか。

使ってみたわけではないので、説明書きから読み取れる範囲でしかないが、防御している範囲毎に並べなおしてみた。

OWASP TOP 10(最も重大なウェブアプリケーションリスクトップ10)から保護

OWASP TOP 10 リスト

保護している範囲は、page.4 / page.6 が参考になろう。

wordpress などの CMS システムを保護

BOT からの攻撃を保護

BOT – 脆弱性(バグなど)を突いてシステムに侵入し、感染をどんどん広げていくタイプのソフト – からの攻撃を保護。

BOTとは?(総務省ページ)

ネットワーク上でしらみつぶしに開いているポートを探し、そのポートにバグを誘発するようなデータを注入してシステムに自分自身のコピーを侵入させて増殖させるような特徴があるため、そういったあやしげな動きを検出してガードすると想像する。

OWASP TOP 10 + BOT からの保護

IP Reputation

あやしげなIPアドレスからのアクセスから保護

CVE に公開されているような一般的な脆弱性から保護

CVE
CVEとは

対応範囲不明確


予算によると思うが、OWASP TOP 10(例えば Fortinet) / OWASP TOP 10 + IP reputation / OWASP TOP 10 + BOT(例えば Fortinet の Complete OWASP Top 10 のほう) + IP reputation あたりの選択がよいのではないか。

開発者観点では、SQL injection やクロスサイトスクリプティング、CSRF は、WAF(こちらはWeb Application Frameworkの略)を使うので、起こりにくくなっているのではないかと思う。(コンセプトを理解して使っていればだが・・・)

WAF(Web Application Framework)+WAF(Web Application Firewall)、それと昔ながらの Firewall でガードしたいものだ。

それと、専門家に頼む場合は、無くならなさそうな会社に頼むように。以前、セキュリティの会社を閉じて、お客さんに迷惑をかけてしまった者からのアドバイスです。

参考:
AWS WAF
AWS WAF の料金
AWSでWAFを導入する理由と最適な選択 by クラスメソッド