AWSにはWAF(Web Application Firewall)と呼ばれるサービスが提供されていますが、まだ利用したことがない方も多いのではないでしょうか。
本記事では、AWS WAFのサービスについて、初心者向けに機能概要を解説していきます。
AWS WAFとは
AWS WAFは、「Web Application Firewall」の略称で、Webアプリケーションを保護するためのサービスとして提供されています。
手軽に導入出来てセキュリティレベルを向上させられることから人気のサービスです。
サービス概要
AWS WAFでは、Webアプリケーションの脆弱性を狙った攻撃からアプリケーションを保護するための防御壁としての機能を提供するサービスです。
WAFは「Amazon CloudFront」「Application Load Balancer(ALB)」「Amazon API Gateway」のサービス上で、利用することが可能です。
料金体系
AWS WAFは、ウェブアクセスコントロールリストの数・追加するルールの数および受信するウェブリクエストの数に基づいて課金されます。
- Web ACL: 5.00USD/月 (時間で案分)
- ルール: 1.00USD/月 (時間で案分)
- リクエスト: 0.60USD/100万リクエスト
AWS WAFの保護範囲
AWS WAFの保護範囲は、一般的に利用されるファイアーウォールと異なり、L7層のみに有効な機能として提供されています。
WAFはL7のアプリケーション層のみが対象で、一般的なファイアーウォールのL3(ネットワーク層)やL4(トランスポート層)の保護機能はありません。
WAFで対応可能な攻撃
WAFではアプリケーション層への攻撃に対処出来るということで、下記のような攻撃からアプリケーション保護する役割を担います。
- SQLインジェクション
- クロスサイトスクリプティング
- DDos
活用例
では実際にどのような活用例があるのかについても確認しておきましょう。
アプリケーション脆弱性の保護
標準提供される SQL インジェクション、クロスサイトスクリプティングのルールやカスタムルールの作成を通して、脆弱性を悪用した通信から Web アプリケーションを守ることができます。また OWASP Top10 などの脅威から Web サイトを守るためのテンプレート、設定ガイド、ホワイトペーパーなどのリソースもご利用いただけます。
引用:AWS WAF
この機能により、AWS上に構築するシステムを強力に保護することが可能となります。
カスタムルールの適用に関しても簡単にデプロイすることが出来るため、最新のセキュリティ状態を即座に反映させることが可能です。
L7層のDDos対策
一定期間のリクエスト数の閾値に基づいたレートベースルールやマッチ条件などを利用して、アプリケーション層の DDoS 攻撃を検知・遮断できます。また AWS Shield Advanced と併用して利用することで AWS の DDoS 対策の専任チームからの緩和策設置の支援を受けることもできます。
引用:AWS WAF
攻撃元のIPアドレスを変更してくるDDoS攻撃には手動で対応するのは大変ですが、WAFの「rate-based limit」などの機能を利用すれば、手軽で簡単に攻撃を防ぐことが出来ます。
ボットアクセスやコンテンツの不正利用対策
Amazon CloudFront のログ解析、API を使ったハニーポットなどの設置で不正なボットのアクセスを自動検知し、AWS WAF でアクセスを遮断することができます。また、カスタムルールのマッチ条件でリファラーなどのチェックを行い、ディープリンクなどで画像などのコンテンツの URL が無断掲載されたサイトからのアクセスも遮断できます。
引用:AWS WAF
Web上にはサイトの脆弱性をスキャンするようなボットが無数に存在しています。
WAFでは、これらの不正なボットを検知してアクセスコントロールを掛けることで不正なアクセスを遮断します。
AWS WAFのメリット・デメリット
AWS WAFを利用する上でのメリット・デメリットについても確認しておきましょう。
メリット
AWS WAFのメリットには、手軽にAWSの各種サービスと連携出来る上に、コスパ良く利用出来る点が挙げられます。
- セキュリティルールの即時反映
- 従量課金によるコストパフォーマンス
- CDNの可用性と拡張性
- メンテナンスが簡単
- Webトラフィックの確認が容易
セキュリティルールの即時反映
AWS WAFでは、セキュリティルールを数分も掛からずシステムに反映させることが可能です。
セキュリティに不具合が発覚した場合でも、即座に修正内容を反映出来るため、迅速に安全な状態へ改善することが出来ます。
従量課金によるコストパフォーマンス
AWS WAFも他のAWSサービス同様、従量課金制が採用されています。
サービスを利用した分しか支払いが発生しないため、コストパフォーマンスに優れています。
支払い料金は、適用するルールの数や アプリケーションが受け取るリクエスト数によって変動する仕組みです。
CDNの可用性と拡張性
AWS WAFは、同じくAWSから提供されているサービス「Amazon CloudFront」と連携させることで、高い可用性と拡張性を実現出来ます。
Amazon CloudFrontはコンテンツ配信サービスで、トラフィック量に合わせて自動でスケールアウトしてくれます。
これにより大規模サイトのセキュリティ保護やDDoS攻撃への対策としても有効です。
メンテナンスが簡単
Amazon CloudFrontやApplication Load Balancerでは、簡単にWAFのオン/オフが可能です。
WAFの設定は世界中のエッジロケーションやリージョンに素早く反映されるため、最新のセキュリティ状態を手軽に維持することが出来ます。
Webトラフィックの確認が容易
AWS WAFでは、リアルタイムのWebトラフィックを確認することが可能です。
リアルタイムのWebトラフィック結果から、セキュリティ強化のための対策や新しいルールの設定にも活かすことが出来ます。
デメリット
AWS WAFのデメリット部分について触れておきましょう。
- 細かなルールの設定が出来ない
- 専門知識が必要
細かなルールの設定が出来ない
高度なセキュリティ要件が必要な場合、AWS WAFで全てをまかなうことが出来るかは別途検討が必要になります。
セキュリティベンダーが提供するWAFほど高性能な機能は利用できない可能性もあるため、用途に応じて併用して利用するなどの考慮が必要です。
専門知識が必要
AWS WAFを利用することでアプリケーションを保護できるとは言っても、どのように利用すれば有効活用出来るのかに関しては、AWS WAFの知識と同時にセキュリティやネットワークの専門知識が必要となってきます。
何かしらの問題が発生した場合にも、セキュリティベンダーのWAFを使用するように丸投げすることが出来ないため、利用者側にもある程度の専門知識が必要です。
さいごに: AWS WAFを利用してWebアプリケーションのセキュリティを強化しよう
本記事では、AWSから提供されているサービス「AWS WAF(Web Application Firewall)」についてご紹介してきました。
セキュリティ関連は専門知識が必要な部分も多く、S3やEC2といったAWSサービスを利用したことがあってもWAFには触れたことがない方も多いかと思います。
AWS上でサービスを運用する上で、セキュリティに関する知識も必要となりますので、今回ご紹介したWAFのようなサービスも少しずつ学習してセキュリティ対策をしっかりと行っていきましょう。
WAFは名前の通りファイアーウォールの1種ではありますが、通常のファイアーウォールとは少し異なります。
後述するWAFの保護範囲をご確認ください。