今日はAWS WAFについて、簡単にご紹介します。そもそもWAFとは何かというところから、まとめています。

■WAFとは

Web Application Firewall(WAF)は、「Webアプリケーションの脆弱性を悪用した攻撃」からWebサイトを保護するセキュリティ対策です。Webサーバーの前段に設置して通信を解析・検査し、攻撃と判断した通信を遮断することで、Webサイトを保護します。WAFとファイアウォールや IDS/IPS との違いは、アプリケーションレベルで通信の中身を解析し、特定の攻撃パターン(シグネチャ)に一致する通信を検知・遮断する点です。

WAFは3種類に分類できます。ホスト型WAF(ソフトウェア型WAF)、ゲートウェイ型WAF(ネットワーク型WAF)、サービス型WAFがあり、それぞれの特長にあわせた環境や要件により選択することが重要です。

・ソフトウェア型WAF
ソフトウェア型WAFは、すでにあるWebアプリケーションサーバーに直接ソフトウェアをインストールします。
ソフトウェア型WAFのメリットはネットワーク機器を増やさずに導入できることや、ハードウェアを追加しないため安価に導入できることです。
一方で、Webサーバーごとにソフトウェアをインストールするため、台数が多いとコストがかさみます。
運用開始後もアップデートや検知設定の見直しが必要です。

・ハードウェア・アプライアンス型WAF
ハードウェア・アプライアンス型WAFは、ネットワーク内に専用の機器としてWAFを設置します。複数台のWebサーバーを保護できるため、台数が多い場合にはコストパフォーマンスがよく、Webサーバへの負荷もかかりません。ただし、アプライアンス製品は一般的に初期費用が高くなる傾向があります。

・サービス型WAF(AWS WAFも該当)
サービス型WAFは、サービス事業者が用意するWAFをSaaS/クラウドなどの形態で利用します。初期費用が低く、管理者の運用負荷は小さくなります。今回ご紹介するAWS WAFはサービス型です。

WAFについての詳細は以下のリンクを参考にしていただければと思います。

WAFがなぜWebアプリケーションのセキュリティ対策に必要なのか?理由を徹底解説

https://www.shadan-kun.com/blog/measure/1395/

■AWS WAFの特徴

AWS WAFはWebアプリケーションの脆弱性への攻撃を検知・ブロックする、Webアプリケーションファイアウォールのサービスです。

現在、AWS WAFには2種類があります。
・AWS WAF v2
・AWS WAF Classic

AWS WAFは、ALB(ロードバランサー)、CloudFront(CDN)、REST API を使用するための Amazon API Gateway、または GraphQL API 用の AWS AppSyncにもデプロイが可能です。ALB、CloudFrontのいずれの利用でも、Webサーバ前段で不正アクセスを緩和してくれます。

AWS WAFの設定は、ウェブACL、ルール、条件(Conditions)で構成されています。ルールを組み合わせたウェブACLをCloudFront、ALBに適用します。
ルールはConditionを束ねたもので、複数設定することができます。ルールに設定するConditionでフィルタするIPアドレスやSQLインジェクションへの対応、特定文字列のマッチングといった設定をします。

ルールにはAWSが提供する「AWSマネージドルール」と他のベンダーが提供する「AWS Marketplace マネージドルール」があります。

AWSマネージドルール
AWSの用意したルールグループの中から、自分のWebアプリケーションを防御するために必要なルールを選ぶことができます。

マネージドルールを使用するとユーザー側でのルール作成が不要となり、すぐに安価にAWS WAFの利用が開始できます。
OWASPTop10のセキュリティリスクなどの一般的な脅威、CMS特有の脅威、新たな共通脆弱性識別子 (CVE) などに対しwebアプリケーションやAPIを保護できます。

・AWS Marketplace マネージドルール
AWS Marketplace マネージドルールグループは、AWS Marketplace の AWS Marketplace コンソールからサブスクリプションで利用できます。

■AWS WAF運用サービス「WafCharm」
サイバーセキュリティクラウド社が提供する「WafCharm」はAIによる「AWS WAF」のルール(シグネチャ)自動運用サービスです。AIが数千億件のビックデータを活用し、ユーザー毎に最適なルールをAWS WAFに自動で適用します。
細かい設定や定期的なチューニングが必要なAWS WAFですが、このサービスを利用することで、驚くほど簡単にAWS WAFを運用することができます。
AWSマネジメントコンソールで一元管理ができるため、シグネチャの切り替えもユーザー自身で設定ができるなど運用面での自由さもあります。
日本語による24/365サポート体制もあり疑問があっても、すぐ解決ができます。

■まとめ

AWS WAFはELBやCloudFrontにデプロイされてスケールするため、柔軟性に優れています。基盤もAWSが管理しているため、死活監視やサーバ自体のメンテナンス、ファームウェアの管理等が不要で、簡単に安価に利用できるサービスです。

ただし、EC2のセキュリティという観点では、セキュリティグループによるアクセス制御やOS、ミドルウェア、アプリケーションの定期的な脆弱性診断を実施して、セキュリティ対策を行い、パッチ適用も行う必要があります。AWS WAFを導入するだけですべての脆弱性が守られるわけではないことを前提に運用をしていく必要がありますね。