最終更新日:2022-02-16
AWS上に構築した自社のWebアプリケーションのセキュリティを高め、攻撃から守りたいと考えている方へ。AWS WAF上で利用できるマネージドルールの特徴や選び方を紹介します。
現在、インターネットの通信のほとんどは、HTTPあるいはHTTPを暗号化したHTTPS(HTTP over SSL/TLSあるいはHTTP Secure)という通信プロトコルを利用しています。Webブラウザーを使ってWebサイト(Webサーバー)と通信するWebアクセスだけでなく、スマホなどのアプリもその多くは裏でHTTPやHTTPSを使って外部のサーバーと通信しています。
スマホのアプリはもちろんですが、Webブラウザーを使ったWebアクセスについても、最近は静的なWebページ(HTMLファイル)をただ表示するようなケースは少なく、Webサーバーの裏側(バックエンド)でデータベースサーバーやアプリケーションサーバーなどが稼働して様々な処理を行う「Webアプリケーション」が主流となりつつあります。
ハッカー(悪意のある攻撃者)にとって、こうしたWebアプリケーションは格好の攻撃対象です。一般のユーザーと同じようにWebブラウザーを使って堂々とアクセスでき、その際に不正なコードをサーバーに対して送り込むことにより、バックエンドのサーバーから情報を盗み出したり、Webサーバーを乗っ取ったりできる可能性があるからです。
こうしたWebアプリケーションに対する攻撃は、一般的なファイアウォールでは防ぐのが困難です。ファイアウォールは通常、特定の通信プロトコル以外を遮断したり、限定した接続元(IPアドレス)からの接続だけを許可したりする目的で使うものだからです。
Webアプリケーションに対する攻撃は、Webブラウザーを使った正規の通信(HTTP/HTTPS)を通じて実行されるため、通信そのものを止めることができません。さらに、ほとんどの場合、Webアプリケーションはインターネット上にある不特定多数の端末からアクセスを受け付ける必要があるため、接続元のIPアドレスをあらかじめ限定することなどもほぼ不可能です。
このため、Webアプリケーションへの攻撃を検知して止めるには、ハッカーからの攻撃も含めたアクセスを待ち受けつつ、(1)HTTP/HTTPSのメッセージに含まれる攻撃用のコード、(2)HTTP/HTTPSを使った特定の通信パターン(振る舞い)を見つけた場合に、これを認識して即座にブロックする仕組みが必要となります。こうした仕組みを実現するのが「WAF(Web Application Firewall)」です。読んで字のごとく、Webアプリケーションのためのファイアウォール(防火壁)として機能します。
具体的に、WAFを導入することにより、Webアプリケーションの不備を突いて想定しないデータベース操作を実行させる「SQLインジェクション」や、不正なスクリプトを仕掛けて他のユーザーの個人情報を盗んだり意図しない処理を実行させたりする「クロスサイトスクリプティング(XSS)」などの攻撃をシャットアウトできるようになります。
また、マルウェアなどに乗っ取られたPC(bot、ボット)の集団(botnet、ボットネット)からの大量同時アクセスなどの攻撃(DDoS攻撃)に対しても、その振る舞いに基づきWebアプリケーションが被害を受ける前にブロックできます(ただし、根本からDDoS攻撃に対処するにはファイアウォールやIDS/IPSを使ったネットワークレベルでの対策も欠かせません)。
WAFは元々、主に物理的なWebサーバーを守るためのセキュリティ機器として登場しましたが、その後、WAFの機能を安価にクラウド経由で提供する「クラウドWAF」というサービスが出てきました。さらに現在では、Webサーバー/Webアプリケーションの多くが仮想サーバー(形態により「インスタンス」や「コンテナ」などと呼ぶこともあります)としてクラウド上で動作していることから、クラウド上の仮想サーバーに対しても同じようにWAFの機能が提供されるようになっています。
世界最大のシェアを持つ、米Amazon.com社が提供するクラウドサービス「Amazon Web Services(AWS)」においても、「AWS WAF」という名称でWAFの機能が用意されています。このAWS WAFを使うことで、AWS上で稼働するWebアプリケーションを様々な攻撃から保護することが可能になります。
ただし、AWS WAFをユーザーが自らすべて設定し、管理および維持するのはかなり大変です。AWS WAFそのものはWAFの仕組みを提供するだけで、具体的にAWS WAFをどう制御して自社のWebアプリケーションをどんな攻撃から守るかを記述する「ルール」については、ユーザーが個別に作成する必要があるからです。前述したSQLインジェクションやクロスサイトスクリプティングをはじめ、Webのセキュリティに関する専門知識を持っていなければ、ルールを適切に作成するのは至難の業でしょう。
そうしたルール作成の困難さを軽減できるように、AWS WAFでは「マネージドルール」と呼ぶ仕組みを用意しています。マネージドルールとは、ひと言で表すと「あらかじめ定義されていて自動で管理されるAWS WAFのルール(セット)」です。このマネージドルールを使うことにより、自社にセキュリティに精通したエンジニアがいない企業でも、AWS上のWebアプリケーションを手軽にAWS WAFで保護できるようになります。
AWS WAFでは、保護対象とするWebアプリケーション(が動く仮想サーバーなどのリソース)に対して「Web ACL(ACLはAccess Control Listの略)」と呼ばれる設定(アクセス制御)情報を収めるためのリストを作り、このリストにAWS WAFを制御するためのルール(Rule)を紐付けるという形を取ります。
AWS WAFを適切に機能させるには、このWeb ACLおよびそこに紐付けるルールを自社のセキュリティポリシーに合致するように作って登録する必要があります。しかし、
など、仮に自社内にセキュリティ知識が豊富な人材がいたとしても、かかる作業負荷はかなりのものです。一般企業にとって、AWS WAFのルールを自社で適切に設定し運用し続けるのは相当に高いハードルといえるでしょう。“完成品”であるマネージドルールを利用することで、こうしたルール作成や運用にかかる負荷を大幅に軽減できます。
自社でルールを作ってAWS WAFを運用する場合でも、作成したWeb ACLの数やルールの数、リクエスト数などに基づきAWS WAFの利用料金がかかりますが、マネージドルールを使う場合はそれに加えて追加の料金が発生します(注:AWS公式のものを除く。後述)。
追加で発生する費用は、リージョン数なども含む自社のWebアプリケーションの構成(ユニット数)や利用するマネージドルールの数や種類などにより変わりますが、「月額基本料金(1ユニット当たり20~30ドル前後)+リクエスト数に応じた課金(1ユニット、100万リクエスト当たり1~2ドル程度)」というケースが一般的です。従量課金のため、アクセス集中などにより想定外の高額な支払いが発生して困らないよう、事前にしっかりと費用を見積もっておくことが重要です。
AWS WAF向けマネージドルールは、以下に示すように大きく3種類に分類できます。
AWS自体が用意しているマネージドルールです。このマネージドルールを使うことで、Webアプリケーションに対する一般的な(≒非常に危険な)既知の攻撃手法の多くに対処できます。「最低限これだけは対策しておきたい」というセキュリティのベースライン確保を主目的とするのであれば、まずこの公式マネージドルールの導入を検討してみるとよいでしょう。加えて、ブログサーバー「WordPress」など一部のWebアプリケーション向けのルールセットなども用意されているので、自社のWebアプリケーションに適合するものがあれば有力な選択肢となります。
しかしながら同マネージドルールは、全体として見るとあくまでもWebアプリケーションに対する一般的な攻撃を回避できるように作られた、いわば「万人向け」のルールセットであり、これを適用するだけでどんなWebアプリケーションに対する攻撃でも防げる万能ルールセットのようなものではありません(そもそもそのようなものは存在し得ませんが…)。
このため、自社のWebアプリケーションへの攻撃に対する防御力をより高めたかったり、最新の攻撃手法へのいち早い対応を必要としたりする場合には、「2」のサードパーティー製マネージドルールの導入を検討してみることをお勧めします。
サードパーティー製マネージドルールは、大手を含むセキュリティ専業ベンダーが提供しているものが多く、新たな攻撃手法を調査・分析する技術力やそれに対応するルールを迅速に作成して提供できる体制などの面で一日の長があります。ただし、製品ごとに得意・不得意とする領域やカバー範囲の違いなどがあるため、どの製品が自社のWebアプリケーションの保護に適しているのか、導入前にしっかりと比較検討することが重要です。
単にマネージドルールを利用するだけでなく、設定から運用、サポートまですべて任せたいという企業向けのサービスです。AWS WAFの運用に当たって以下のようなニーズがある場合には、こうしたサービスの導入も検討してみるとよいでしょう。
AWSの提供元である米Amazon.com社が自ら提供する公式マネージドルール。「AWS WAFボットの制御」というルールを除き無料で利用できる。
提供されるルールセットは、(1)様々な一般的な脅威に対する一般的な保護を提供する「ベースライングループ」と、(2)Webアプリケーションごとに異なる脅威に対する保護を提供する「ユースケース固有のルールグループ」、(3)特定の地域や接続の種類などIPアドレスに基づき接続をブロックする「IP評価ルールグループ」、(4)検索エンジンのクローラーなども含む各種ボットを検査および制御するための「AWS WAFボット制御ルールグループ」の4カテゴリー11種類のルールセットが用意されている。
(1)については、Webアプリケーションへの攻撃を回避するための一般的かつ基本的なルール(セット)である「コアルールセット(CRS)」や、管理ページへの不正アクセスを防止して管理者権限を守るための「管理者保護」などがある。
(2)では、SQLインジェクションをはじめSQLデータベースへの攻撃を防ぐ「SQLデータベース」、PHPを使ったWebアプリケーション向けの「PHPアプリケーション」、WordPressを狙った攻撃を回避する「WordPressアプリケーション」などが提供されている。
AWS Marketplaceから購入できる主なマネージドルールをご紹介します。どれもセキュリティ分野で実績のあるベンダーが提供している製品です。
日本のセキュリティベンダーが開発するマネージドルール(※AWS Marketplace上での提供元は子会社の米Cyber Security Cloud社となっている)。Webアプリケーションのセキュリティに関する研究や啓蒙活動などを行っている非営利団体OWASP(Open Web Application Security Project)が毎年発行しているWebセキュリティに関するレポート「OWASP Top 10」に掲載されているリストをはじめ、様々な脅威を軽減・最小化できる。
SQLインジェクションやOSコマンドインジェクション、XSS、ディレクトリトラバーサル攻撃などの攻撃手法に対する多数のルールのほか、Apache Struts2やApache Tomcat、Oracle Weblogicなどを使った各種Webアプリケーションや、悪意のあるボットに対するルールなども組み込まれている。
UTM(Unified Threat Management、統合脅威管理)機器「FortiGate」などで世界的に有名なセキュリティベンダーの米Fortinet社が提供するルールセット。同社のハードウェアアプライアンス型WAF「FortiWeb 」と同じシグネチャーベースでWebアプリケーションに対する脅威を除去できる。最新の脅威に対してもシグネチャーの配信により素早く対処可能。
「OWASP Top 10」に含まれる脅威リストに完全対応でき、SQLインジェクションやXSSその他の脆弱性を突く攻撃や悪意のあるボットによる攻撃などWebアプリケーションへの様々な攻撃を防げるマネージドルール「Fortinet Managed Rules for AWS WAF - Complete OWASP Top 10」のほか、AWSのAPI作成・管理サービス「API Gateway」向けのマネージドルール「Fortinet Managed Rules for AWS WAF - API Gateway」などいくつかの製品に分かれて提供されている。
ロードバランサ―(負荷分散装置)やSSL-VPN装置など各種ネットワーク・アプライアンス製品の開発・販売で世界的シェアを誇る米F5 Networks社が提供するマネージドルール。「OWASP Top 10」リストに含まれる脅威をはじめ、SQLインジェクションやXSS、コマンドインジェクション、No-SQLインジェクション、パストラバーサル攻撃など多数の脆弱性を突く攻撃をブロックできる。
すべてのルールは、同社のセキュリティスペシャリストによって作成・管理および定期的に更新されるため、ユーザーによる更新作業などは不要。通常のWebアプリケーション向けの「F5 Rules for AWS WAF - Web exploits OWASP Rules」のほか、XMLやJSONを使ったAPI呼び出しを狙うSSRF(Server Side Request Forgery、サーバーサイドリクエストフォージェリ)攻撃を防ぐためのルールセット「F5 Rules for AWS WAF - API Security Rules」なども提供されている。
マルウェアやボットなどによる脅威から保護するための各種サービスを開発している米国のセキュリティ専業ベンダーThereatSTOP社が提供するマネージドルール。
ボット対策向けの「New and Active Malicious Bots for AWS WAF」やHTTPを使った様々な攻撃に対処するための「New and Active HTTP Threats for AWS WAF」のほか、国際武器取引規則(ITAR)および米国財務省・外国資産管理局(OFAC)による規制を遵守するための「ITAR and OFAC for AWS WAF」といった製品も用意されている。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
(出所:WafCharm公式Webサイト)
ルール作成から更新、日々の運用までAI技術を使ってすべて自動運用できる運用サービス付きのマネージドルール。自動で最適なルールが適用されるため、ユーザーは基本的に何もする必要がないが、ユーザーからの要望に基づく新規ルールの作成やカスタマイズにも対応する。ユーザーが独自に作成したルールとの混在運用も可能(管理外となり自分で運用する必要がある)。新規に見つかった脆弱性に対しても同社の専任エンジニアが迅速に対応する。
AWS WAF以外にAzure WAFおよびGoogle Cloud Armorにも対応しており、マルチクラウド環境にも導入しやすい。上位プランでは24時間365日の日本語による技術サポートが提供され、誤検知や緊急のトラブル発生時にも迅速に対応できる。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
(出所:Cloudbric WMS for AWS公式Webサイト)
ルール作成から日々の運用、新規脆弱性の出現時や誤検知発生時の対応などまで、AWS WAFの導入・運用を総合的に支援するAWS WAF特化型の運用サービス(WMSはWAF Managed Serviceの略)。24時間365日のモニタリングおよびサポート体制を敷いており、AWS WAFの導入から運用までのあらゆるプロセスを同社のセキュリティ専門家がサポートする。
114カ国70万以上のサイトから収集した脅威情報と日本を含む3カ国で特許取得済みの自社開発AI技術に基づき決定される「危険度スコアリング」を使って、危険なIPアドレスからの接続などを遮断できる。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
本記事が対象とするAWS WAF向けのマネージドルールではありませんが、AWS MarketplaceではAWS上で動作するクラウド型WAFそのものも販売されています。以下に二つほど製品名を示します。
どちらも高度な機能を備えたWAFソフトウェアであり、専門知識があるユーザーならAWS WAFを使うよりも柔軟かつ自社のWebアプリケーションに適したシステム構成でWAFを運用可能です。AWS WAFとマネージドルールでは自社が必要とする要件を十分満たせないという場合には、こうした製品や他のクラウドWAFサービスなどを検討してみるとよいでしょう。ただし当然ながら、WAFの設定や運用に関する知識が必要となります。
AWS上でWebアプリケーションを安全に運用するには、WAFの利用が欠かせません。AWSが標準装備するAWS WAFの場合、様々な攻撃パターンに対するルールをユーザーが一から設定することも可能ですが、一般のユーザー企業の管理者がこれを適切に行うのは困難です。AWS WAF向けマネージドルールを導入することにより、そうした設定や管理にかかる負荷を大幅に軽減することが可能です。
ただし、マネージドルールの導入に当たっては、気を付けるべきことが二つあります。一つは、マネージドルールは基本的に中身が分からない「ブラックボックス」となっていることです。単にユーザーが何も設定しなくても済むということではなく、「ユーザーが何かを設定できる余地がない」ルールセットであるため、提供元のベンダーを信じて使うしかありません。このことをよく理解した上でルールセットを選択する必要があります。
もう一つは、AWS WAFには2種類のバージョンがあり、マネージドルールも新旧のバージョン間で互換性がないということです。現在使われているのは「AWS WAF V2」と呼ばれるバージョンで、それ以前のAWS WAFについては「AWS WAF Classic」と呼ばれています。たとえば本記事で紹介したAWS公式の「AWS Managed Rules for AWS WAF」は新しいAWS WAF V2向けのマネージドルールであり、古いAWS WAF Classic環境では利用できません。
一方、AWS Marketplaceから購入できるについては、検索結果にV2向けのものもClassic向けのものも混在して表示されるため、間違えて購入しないよう注意が必要です。ちなみに検索エンジンでAWS WAFについて調べる際も、Classicを前提にした古い記事(しかしClassicとは書いていない)と新しいV2を前提にした最近の記事が交じり合って表示されるので、とても混乱を招きやすい状況となっています。
運用サービス付きのマネージドルールは比較的高価ですが、マネージドルールの便利さに手厚い運用サポートが加わった総合的なサービスということで、安心感は抜群です。マネージドルールの「中身が分からない」という不安点についても、専門エンジニアからサポートを受けられるこの種のサービスであれば、少なくとも自社のWebアプリケーションを守るために必要な情報については十分提供してくれるでしょう。コスト的に許せるのであればオススメの選択肢となります。
以上、AWS WAF向けマネージドルールの選び方について、周辺情報も含めてご説明しました。本記事の内容がマネージドルール導入の検討に少しでもお役に立てれば幸いです。
WAF向けマネージドルールサービスをお探しの方は、こちらからサービス紹介資料をダウンロードいただけます。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
専門知識やリソースがない企業でもAWS WAFを適切に運用できるようサポートする運用サービス。AWS WAFの導入から利用までの一連のサイクルを、セキュリティ専...
利用規約とプライバシーポリシーに同意の上、資料をダウンロードしてください。
独自のAI技術で複雑で難しいパブリッククラウドWAFのルール作成から更新を自動運用できるサービス。自動で行うAWS 、Azure 、Google Cloudに対...
利用規約とプライバシーポリシーに同意の上、資料をダウンロードしてください。
アスピックご利用のメールアドレスを入力ください。
パスワード再発行手続きのメールをお送りします。
サービスの導入検討状況を教えてください。
ご登録いただいているメールアドレスにダウンロードURLをお送りしています。ご確認ください。