AWS WAFは、Webアプリケーションをさまざまなサイバー攻撃から保護できるセキュリティサービスですが、導入するだけでは十分な効果を発揮できません。AWS WAFが正しく機能するためには、適切な運用が必要不可欠です。
この記事では、AWS WAFの基本的な運用方法について解説します。マネージドルールを活用する場合の運用における注意点やAWS WAFの自動運用サービスについても紹介します。ぜひ最後まで読み進めてください。
目次
AWS WAFの運用方法
AWS WAFの機能を十分に発揮するためには適切な運用が欠かせません。ここではAWS WAFの基本的な運用方法を紹介します。
環境に合わせたルールの設定
環境・システム構成によって潜む脆弱性が異なるため、自社環境に合わせてAWS WAFルールを設定する必要があります。適切なルールを設定するためにはAWS WAFのルール内容を理解しないといけません。
AWS WAFのルールはルールステートメントとルールアクションの2つで構成されます。
ルールステートメントは、アクセスが特定の条件に一致するかどうかを判定するために使用されます。アクセスの発信地域やIPアドレス、特定の文字列の有無など、さまざまな条件を設定することができます。
さらに複数のステートメントを組み合わせたりAWS WAFのラベル機能を活用したりすることで、より高度な検知を実現できます。
ルールアクションは、ステートメントの条件に一致した通信に対して実行する処理を定義する部分です。主なアクションには、通信を許可する「Allow」、ブロックする「Block」、ルールグループ内の次のルールに評価を委ねる「Count」などがあります。
ステートメントとアクションを適切に組み合わせることで、自社の環境に合わせた効果的な防御が可能になります。
AWS WAFルールの構成や設定方法について詳しくはこちらの記事:
ルールの優先順位の調整
AWS WAFのルールを設定した後は、優先順位を調整する必要があります。優先順位によって、ルールが処理される順番が変わります。
例えば、特定のIPアドレスからのアクセスをすべて許可する、ホワイトリストのような設定をしたい場合、ホワイトリストのルールの優先順位をほかのルールより上位に設定しないと、意図したとおりにホワイトリストが機能しない可能性があります。
また、複数のルールやルールグループを組み合わせて適用している場合、設定時に優先順位を考慮しなければなりません。優先順位を誤ると、想定した防御ができなかったり意図しないルールが優先的に適用されたり誤検知を起こしたりする恐れがあります。
ルールの優先順位は、AWS WAFの管理画面で簡単に変更できるため、各ルールの目的や相互の関係性を理解し、ルールの順番を適切に調整しましょう。
検知ログの分析とルールの更新
ログ分析は、セキュリティリスクの分析や誤検知の原因特定に役立つので、AWS WAFの運用においてとても重要な作業です。そもそも検知ログを確認しておかなければ、AWS WAFをすり抜いた不正アクセスや誤検知の有無を見つけることができません。
特に新規ルールを設定する場合、誤検知が発生しないために新規ルールのアクションをまず「Count」にして、検知ログを分析し誤検知が出ないことを確認してから「Block」に変更する必要があります。
ただし、AWS WAFには検知ログを自動的に保存・分析する機能がないため、Amazon CloudWatch Logs、Amazon S3、Amazon Kinesis Data FirehoseなどのほかのAWSサービスに検知ログを出力する必要があります。
保存したログを定期的に確認し、またはAWSが提供しているサービスで分析を行い、必要に応じてルールの更新や新しいルールの設定をし、AWS WAFのルールを常に最適な状態を維持することが重要です。
誤検知対応
誤検知とは、正常なアクセスを不正アクセスとして誤って判定して遮断することです。
誤検知が発生すると、通常のWeb利用者がWebサイトやWebシステムにアクセスできなくなり、顧客の不信感やクレームを招くだけでなく、売上機会の損失につながる可能性があります。
誤検知に対応するために、誤検知の原因となるルールを特定しルールのチューニングが必要です。しかしながら、WAFのルールを緩めすぎると不正アクセスを見逃してしまう可能性があるため、セキュリティレベルと誤検知回避の間に適切なバランスを取る必要があります。
AWS WAFの誤検知や対策方法について詳しくはこちら:
マネージドルール運用における注意点
AWS WAFの運用を楽にするためにマネージドルールを導入する方法があります。マネージドルールとは、AWSもしくはソフトウエアベンダーが提供・管理するAWS WAFのためのルールセットです。
マネージドルールを導入することで、AWS WAFのルールをすべて1から作成する必要がなくなりますし、ルールの更新作業も楽になりますが、注意も必要です。
ここではマネージドルールでAWS WAFを運用する場合の注意点について解説します。
カスタムルールの作成が必要
マネージドルールは汎用的なルールで、一般的な攻撃パターンを防御できますが、自社のWebアプリケーション固有の脆弱性や特定の脅威に対応するためには、追加のカスタムルールの設定や運用が必要です。
カスタムルールを作成するには、セキュリティに関する深い知見が必要であり、またAWS WAFの機能やルールの構成について十分に理解していなければなりません。さらに、検知ログを細かく確認し、適切なルールを設定する必要があるため、運用の手間が増えてしまいます。
社内にセキュリティエンジニアが居なかったりリソースが不足している場合、カスタムルールの作成や運用が十分に実施できなくなります。
ブラックリスト運用に追われる場合も
社内のリソースが不足している場合、不正アクセスや攻撃に使われるIPアドレスを特定し、ブラックリストに追加するという運用を行う企業もあります。
ブラックリストとは、アクセスを拒否するIPアドレスのリストのことです。不正アクセスや攻撃に使われるIPアドレスをブラックリストに追加することで、それらのアクセスを遮断することができ、Webアプリケーションを攻撃から保護することができます。
ただし、不正アクセスの数が多くなると、ブラックリスト運用に追われるケースも少なくありません。検知ログを頻繁に確認して不正アクセスのIPアドレスを特定し、リストに追加する作業は手間がかかります。ブラックリスト運用に追われて本来の業務に集中できない状況に陥ってしまいます。
マネージドルールのバージョン更新
新しい脅威に対応するためにマネージドルールが不定期にアップデートされるので、マネージドルールを常に最新バージョンに保つことがおすすめです。
ただし、バージョンアップに伴ってこれまで通過できていたアクセスが遮断されてしまう恐れがあり、誤検知が発生する可能性があります。誤検知に対応するために、バージョンアップの影響の確認とルールの再設定が必要です。
リソースが足りない場合はマネージドルールを特定のバージョンに指定しておく方法もあります。しかしこの場合、最新の脆弱性に対応できなくなりセキュリティリスクが高まる点には注意が必要です。
誤検知対応が煩雑になる可能性も
マネージドルールの導入によって誤検知が発生する可能性があります。誤検知をなくすためにルールのチューニングが必要ですが、マネージドルールの詳細が基本的に非公開でブラックボックスとなっているため、ルールの細かい内容の確認や修正が難しいです。
そのため、誤検知に対応するには、AWS WAFのラベル機能を活用して除外ルールを作成したりAllowルールを作成したりする必要があり、対応方法が煩雑になったり運用工数が増え負荷があがってしまう場合があります。
AWS WAFの誤検知や対策方法について詳しくはこちら:
AWS WAFの自動運用サービス「WafCharm」
AWS WAFの運用に社内リソースの確保が難しい場合、運用手間を最小限に抑えることができるAWS WAF自動運用サービス「WafCharm(ワフチャーム)」の導入がおすすめです。
WafCharmを導入することで環境に合わせてAWS WAFのルールを設定することができます。ルールの更新やブラックリストの管理はWafCharmが自動的に行うので、AWS WAFの運用工数を抑えることができます。
また、WafCharmには24時間365日の日本語サポートが標準で付いています。誤検知や緊急なトラブルが発生した場合でもWafCharmサポートが代わりに対応するので、担当者のWAF運用の手間を軽減できます。
WafCharmの詳細についてはこちらの資料にまとめているのでぜひダウンロードしてご確認ください。