AWSで開発したアプリケーションをサイバー攻撃から守るには、AWS WAFの導入が必要不可欠です。AWS WAFはAWSが提供しているWAF(Web Application Firewall)で、Webアプリケーションへのサイバー攻撃の防御にはとても有効なサービスです。
しかし、有効なサービスではあるものの専門性が高いため、AWS WAFの導入にハードルを感じる人もいます。
この記事では、AWS WAFのメリットや機能などの基礎知識から、AWS WAFの設定方法や運用上の課題まで、まとめてわかりやすく紹介します。AWS WAF運用課題への対策も解説するのでぜひ最後までお読みください。
目次
- AWS WAFとは?初心者にもわかりやすく解説
- AWS WAFのメリット
- AWS WAF 5つの機能
- AWS WAFの設定方法
- AWS WAFのAWSマネージドルールとは?
- AWSマネージドルールのデメリットにも要注意
- AWS WAFの運用を楽にする:WAF自動運用サービス「WafCharm」
AWS WAFとは?初心者にもわかりやすく解説
AWS WAFは、AWSが提供しているWAFで、セキュリティサービスの1種です。AWS WAFの導入でWebアプリケーションへのサイバー攻撃を防御することができます。
AWS WAFについてわかりやすくまとめたのでこちらからダウンロードしてください。
そもそもWAFとは?
WAFとは、Web Application Firewall (ウェブアプリケーションファイアウォール)の略称で、Webサイトを含めたWebアプリケーションをサイバー攻撃から守るツールです。
ファイアウォールやIPSなどほかのセキュリティツールでは防御できない、Webアプリケーションへの攻撃を検知・遮断できるのがWAFの特徴です。
近年、WAFを導入する企業が増加しています。SQLインジェクションやクロスサイトスクリプティング(XSS)など、Webアプリケーションの脆弱性を突くサイバー攻撃が増えてきたというのが要因の1つです。
AWS WAFのメリット
AWS WAFを活用することによって、さまざまなメリットがあります。ここではAWS WAFの主なメリットを3つ紹介します。
Webアプリケーションへの攻撃対策が可能
AWS WAFは、Webアプリケーション特有の脆弱性を突く攻撃を防御することができます。例えばSQLインジェクションやクロスサイトスクリプティング(XSS)など、情報漏えいやデータ改ざんを引き起こすサイバー攻撃を防ぐことが可能です。
また、適切なルール(シグネチャ)を適用することでWebアプリケーションへのDDoS攻撃を緩和することもできます。
AWS環境で開発してきた自社のWebアプリケーションを守るためにAWS WAFは必要不可欠なサービスです。
導入しやすい
導入しやすいのもAWS WAFのメリットです。AWS WAFはさまざまなAWSサービスとスムーズに連携できるので、数クリックでAWS WAFを導入することができます。
Amazon CloudFront、Application Load Balancer(ALB)やAmazon API GatewayなどのAWSサービスをすでに使っている場合、サービスの管理画面からWAFを有効に設定するだけで、AWS WAFを簡単に導入できます。
ハードウェアやソフトウェアの購入やシステムの再構築・修正は不要で、すぐに導入可能なので、AWSを利用している企業の多くはAWS WAFを導入しています。
適切なコストで利用可能
AWS WAFは従量課金制のため、コストを抑えながらAWS WAFを利用することができます。
AWS WAFの月額費用は毎月定額でなく、実際に作成・適用したルールの数や検知したアクセス数によって変動します。利用した分だけの課金となるので、無駄な月額費用はかかりません。
さらに、初期費用や月額の最低料金は必要ないので、余計な費用がかかるといった心配もありません。
AWS WAFについてわかりやすくまとめたのでこちらからダウンロードしてください。
AWS WAF 5つの機能
では、具体的にAWS WAFは何ができるのでしょうか?ここではAWS WAFに搭載されている5つの機能について紹介します。
アプリケーションへの攻撃の防御
AWS WAFでは、IPアドレス、HTTPヘッダー、通信リクエストの本文、カスタムURIなどの条件を基にしてアプリケーションへの通信をフィルタリングするルールを作成できます。
これらのルールによってSQLインジェクションやクロスサイトスクリプティング(XSS)といった情報漏えいやデータの改ざんを引き起こすWebアプリケーションの脆弱性を突くサイバー攻撃を防御できます。
IP制限による不正アクセスの遮断
AWS WAFでは、個別のIPアドレスからのアクセスを制限することができます。怪しいもしくは悪意のあるIPアドレスからの通信をあらかじめ遮断することで、Webアプリケーションを守ることができます。
さらに、Amazon IPレピュテーションリストマネージドルールグループというマネージドルールを活用することで、潜在的な脅威をもたらすIPからのアクセスも制限できます。
Amazon IPレピュテーションリストはAmazon内部脅威インテリジェンス(Amazon internal threat intelligence)がまとめたリストです。Amazonが検知している膨大なデータ量を分析して、脅威となるIPをリストにまとめているので、Amazon IPレピュテーションリストを活用することで、より高度なセキュリティ対策を実現できます。
DDoS攻撃対策
DDoS攻撃(Distributed Denial of Service Attack)とは、複数のIPから対処しきれないほどの通信を送り付けるサイバー攻撃です。DDoS攻撃によって通常のアクセスが遅延したりサーバーダウンを引き起こす恐れがあります。
DDoS攻撃を対策するには、AWS WAFのレートベースルールの活用が有効です。一定時間内のアクセス回数がレートベースルールに設定したしきい値を超えた場合、該当するIPアドレスからのアクセスを一時的に制限することができます。
DDoS攻撃の場合、同じIPアドレスから短い間に複数回アクセスすることがあるので、AWS WAFのレートベースルールを利用することでこういったDDoS攻撃通信をブロックすることができます。
AWS環境でのDDoS攻撃対策について詳しくはこちらの記事:
悪意あるBotの対策
Botとは、自動化されたスクリプトやプログラムで、Webサイトやアプリケーションでさまざまな活動を行うものです。
ステータスモニターや検索エンジンなど、有益な目的に使われるBotもありますが、悪意のあるBotも存在します。Webアプリケーションのリソースを過剰に消費したり不正に情報収集を行ったりするので、悪意のあるBotの対策が必要です。
AWS WAF Bot Controlを利用することで悪意のあるBotの通信をブロックや制限することができます。数クリックだけで、スクレーパーやスキャナー、クローラーなどの一般的なBotを簡単に監視でき、さらに、検索エンジンBotをはじめとする正常なBotアクセスのみを許可することも設定可能です。
アカウントの不正ログインの防止
ID・パスワードの使い回しが多いことから、ブルートフォース攻撃をはじめとする、漏えいしたID・パスワードを悪用してログインを試みてアカウントを乗っ取る攻撃が増えています。
こういった攻撃を防ぐのにAWS WAFの不正管理(Account Takeover Prevention、ATP)マネージドルールの利用がおすすめです。このマネージドルールが、アプリケーションのログインページを監視し、盗まれた認証情報によるログインの有無をチェックします。
また、AWS WAF Bot Controlと一緒に使用するとより効果的なBot対策となるので、おすすめです。
AWS WAFの設定方法
AWS WAFはAmazon CloudFrontやApplication Load Balancer(ALB)などをはじめ、さまざまなAWSサービスと連携しているため、導入設定は簡単です。ここではAWS WAFの設定方法について解説します。
AWS WAFの設定方法について詳しくはこちらの記事:
1.AWS WAFを有効に設定
AWS WAFの導入は、利用中の下記のサービスの設定画面からWAFを有効にするだけで簡単にできます。
- Amazon CloudFront
- Amazon API Gateway
- Application Load Balancer
- AWS AppSync GraphQL API
- Amazon Cognito
- AWS App Runner
- AWS Verified Access
2.Web ACLを作成
AWS WAFを有効にしたあと、次はWeb ACLを作成します。Web ACL(アクセスコントロールリスト)は、AWS WAFで不正アクセスの検知に使われるルールの「箱」のようなものです。AWS WAF管理画面から“Create Web ACL”でWeb ACLを作成することができます。
次のステップではAWS WAFの検知ルールの作成ですが、その前に抑えてほしいことがあります。それはWeb ACLにはルールの容量制限です。
1つのWeb ACLでは追加料金なしで1,500 WCU分のルールを作成できます。1,500 WCUを超えてしまうと課金が発生し、最大5,000 WCUまで追加できます。それ以上のルールを追加したい場合、もう1つのWeb ACLを作成しなければなりません。
ルールが増えれば増えるほどAWS WAFの利用料金が高くなるため、自社のセキュリティリスクを正確に把握し必要な分のルールだけを作成することをおすすめします。
3.ルールを作成・適用
AWS WAFの検知ルールは大きく検知条件(ステートメント)とアクションに分けられます。
AWS WAFではさまざまな検知条件を利用できます。通信のIPアドレスや送信元の国はもちろん、通信本文の内容、SQLインジェクションやクロスサイトスクリプティング(XSS)などの攻撃に特化しているルールの作成も可能です。さらに、より高度な検知を実現するために複数の検知条件を組み合わせることもできます。
検知アクションはALLOW、BLOCK、COUNTの合計3種類あります。特定の条件を満たした通信のみ通過させる場合はALLOWを使いますが、それ以外の場合BLOCKやCOUNTを利用することが多いです。
BLOCKは特定条件を満たした通信を遮断するアクションで、COUNTは当該通信の検知履歴を残しますが遮断はしないアクションです。
検知ルールを新たに作成する際に、いきなりBLOCKにするのではなくまずCOUNTに設定することをおすすめします。正常な通信を不正アクセスと誤って判断する「誤検知」を起こしてしまう可能性があるためです。
初めからBLOCKで設定してしまうと正常な通信を含めて遮断してしまう恐れがあるため、検知ルールを新しく作成する際に、まずCOUNTに設定して、誤検知が発生していないことを確認できてからBLOCKに切り替えるのがおすすめです。
AWS WAFの誤検知対応について詳しくはこちらの記事:
AWS WAFのAWSマネージドルールとは?
AWSマネージドルールは、AWSが提供するAWS WAFで利用できるプリセットされたルールセットです。
OWASP TOP 10に対応するマネージドルールもあればWordPressや個別のOSに対応するマネージドルールも用意されています。さらに、DDoS攻撃や悪意のあるBotに特化しているマネージドルールもあります。
AWSマネージドルールを利用することで、社内にセキュリティに詳しい人材がいなくても適切な検知ルールを適用できるので、AWS WAFの設定や運用が可能です。
AWSマネージドルールについて詳しくはこちらの記事:
AWSマネージドルールのデメリットにも要注意
大変便利なAWSマネージドルールですが、デメリットも考慮しないといけません。
ひとつは個々の環境に対応しきれない可能性があることです。マネージドルールはあくまでも汎用ルールであるため、自社アプリケーション特有の脆弱性に対応できない可能性があります。その場合、自社の環境に合わせたカスタムルールを独自で作成しAWS WAFに適用する必要があります。
もうひとつは個別ルールのカスタマイズができないことです。セキュリティの観点からマネージドルールの詳細内容は非公開となっており、さらに全ユーザーが共通して同じルールを利用しているため、自社に合わせたマネージドルールのカスタマイズは不可能です。
誤検知が発生した場合、誤検知の原因を自ら特定しカスタムルールを作成して対応する必要があります。カスタムルールの作成にはセキュリティの専門知識が必要になるため、ルールの作成がうまくできない場合、アプリケーションの改修も含めた対応が必要となってくる可能性があります。
AWS WAFの設定はAWSマネージドルールの適用によって簡単にできますが、AWSマネージドルールの制限事項・デメリットをしっかり理解し、自社の環境に合わせたカスタムルールを組み合わせることで、より強固なセキュリティ対策をする必要があります。
AWS WAFの運用を楽にする:WAF自動運用サービス「WafCharm」
「セキュリティに詳しい人材がいないからAWS WAFの導入に躊躇している」「AWS WAFを導入したが放置状態になっている」「マネージドルールを導入しているがAWS WAFの運用工数の負荷が高い」
こういった課題を抱えている場合は、WAF自動運用サービス「WafCharm」の利用がおすすめです。
WAF自動運用サービス「WafCharm」は、煩雑なAWS WAFのルール運用を自動化するサービスです。WafCharmが、個々の環境に合わせて最適なルールを設定するので、ルール作成の手間を大きく削減することができます。
ルールの更新や運用ももちろんWafCharmが対応するので、セキュリティやAWS WAFに詳しい人材が社内に足りなくてもAWS WAFを楽に運用できます。
さらに、誤検知対応をはじめカスタムルールの追加が必要な場合でも、WafCharmの日本語テクニカルサポートが代行するので、ユーザー側での調整が不要です。ルールが更新・追加されたあとに検知結果を確認すれば良いので、担当者の作業が大幅に軽減できます。
WafCharmの機能や詳細について資料にまとめたので、こちらよりダウンロードしてください。
画像をクリックすると拡大できます。