AWSセキュリティ【AWS WAF】:Webアプリの脆弱性を悪用した攻撃から防護する

WAFとは、Webアプリケーションの脆弱性を悪用した攻撃からWebアプリケーションを保護するセキュリティ対策の一つです。

Webアプリケーションの脆弱性は、SQLインジェクションクロスサイトスクリプティングなどWebアプリケーションならではの仕組みに起因する脆弱性があり、それを突いた攻撃方法があります。

基本的にWebアクセスは、ネットワーク層、トランスポート層でのアクセス制御をルール付けるアクセスコントロールリスト上では、許可しておかなければサービスが提供できない特別な事情があります。

そのために、Webアクセスがネットワーク層、トランスポート層で許可されても、さらにアプリケーションレベルでのチェックが必要となることから、WAFが必要になってきています。

AWS WAF の特徴

  • 安い
    専用アプライアンスとなっているWAF製品には、初期費用として数百万円かかる場合がありますが、AWS WAFは初期費用がなく、ランニングコストも月20ドル程度と、非常に安いです。
  • 導入は比較的容易
    以前は、Webアプリケーションの内部構造をある程度トレースしなければ設定できない難易度がありましたが、最近は設定する仕組みが簡単になってきています。
    OWASP Top 10 として、Webアプリケーションの脆弱性リストが公に発表されていますが、AWSはこのリストにある脆弱性に対応した、AWS WAFへの実装のためのCloudFormationテンプレートのサンプルを公開しています。これを使って、実装することが可能となっています。
    その上、AWSの場合には、AWS WAF向けにセキュリティ専門のベンダーが「マネージドルール」という防御用のルールを割と安価に販売しています。
    最初から整備されたルールを利用して、さらに提供しているサードパーティのサポートを受けられるという利点があり、問題発生時の対応でも迅速に対応できると思われます。

AWS WAF の導入時のポイント

  • 設定ルールの見直し
    世の中の攻撃手法、変化などをチェックして、定期的な見直しが必要で、運用に不安ある場合は、WAFサードパーティと連携するのが良いかもしれません。
  • 冗長性を考える必要がない
    AWS WAFの適用範囲がAWSサービスになるので、AWSマネージドサービスの機能で冗長化システムにする仕組が最初からあり、その前段に組み込むスキームができているのである程度、冗長性の考慮が省けると言えます。
    AWS WAF の構築パターンは決まっている
    AWS WAFは、「API Gateway」「Elastic Load Balancer」「CloudFront」の攻撃から防御するように仕組みが出来上がっており、この仕組みで防御に困ることもないと思われます。

AWS WAF の料金について

作成する各 Web ACL および Web ACL ごとに作成する各ルールに対して請求されます。
さらに、Web ACL によって処理された Web リクエストの数に対して請求されます。

リソースタイプ
 料金
Web ACL5.00USD、月あたり (時間で案分)
ルール 1.00USD、月あたり (時間で案分)
リクエスト0.60USD/100万リクエストあたり

■■■料金の例:AWSドキュメントにあった内容■■■

ケース A: マネージドルールグループはありません。お客様は 19 のルールを作成しました。【合計費用 = 30.00 USD/月】

ケース B: AWS Marketplace 出品者のマネージドルールグループが 1 つ、およびお客様が作成したルールが 9 件あります。
【合計費用 = 53.00 USD / 月】∈ 合計 AWS WAF 料金 = 21.00 USD / 月 AWS Marketplace の合計料金 = 32.00 USD / 月

ケース C: お客様が作成した5 件のルールを含む 1 つのルールグループと 9 件のルール   【合計費用 = 26.00 USD/月】

AWS WAF の設定について

AWS WAF では、機能を有効化するために、初めにまずその攻撃パターンを設定する必要があり、多くの場合にまず障壁となるのが、このコンフィグ作業だと思われます。その解決策に、テンプレートファイルと「AWS WAF Marketplace」があります。

セキュリティに関連した重大な脆弱性リスト「OWASP Top 10」があり、これに対するAWSが公開しているテンプレートファイルを使って、実装を試してみました。

   → [ AWSセキュリティ【AWS WAF】:Webアプリの脆弱性を悪用した攻撃から防護する ]
   → [ AWSセキュリティ【AWS WAF】: Web ACLs 作成 ]

「AWS WAF Marketplace」というAWS WAFのための、サードパーティが用意したサービスが用意されています。
最初から整備されたルールで、提供元サードパーティのサポートを受けながら運用でき、WAFが影響したトラブル時の判断など、運用面不安を軽減できると思われます。

AWSセキュリティ TIPSはこちら!

「セキュリティ機能全体像」はこちら!