AWS再入門ブログリレー AWS WAF編

2019.07.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

大阪オフィスのちゃだいんです。

当エントリは弊社コンサルティング部による『AWS 再入門ブログリレー 2019』の17日目のエントリです。

このブログリレーの企画は、普段AWSサービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。

AWSをこれから学ぼう!という方にとっては文字通りの入門記事として、またすでにAWSを活用されている方にとってもAWSサービスの再発見や2019年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。

では、さっそくいってみましょう。17日目のテーマは『AWS WAF』です。

目次

  • そもそもWAFとは
  • WAFとは
  • なぜ WAFを使うのか
  • AWSで対策できる攻撃の種類
  • WAFだけで十分か
  • その他のセキュリティ対策例
  • セキュリティ対策項目と、サービス・製品のマッピング一覧はこちらをどうぞ。
  • WAFの種類
  • ハードウェア・アプライアンス型
  • ソフトウェア型
  • サービス型(AWS WAFはこれに該当)
  • AWS WAF とは
  • メリット
  • 様々な脅威からの保護
  • CDNとの相乗効果
  • 従量課金で初期投資が不要
  • 素早い展開とメンテナンスの容易さ
  • API によるセキュリティの自動化
  • 主な特徴や機能
  • 基本的な設定
  • マネージドルール
  • AIとビッグデータによる自動運用サービス「WafCharm」
  • 合わせて読みたい
  • 最後に

そもそもWAFとは

WAFとは

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

詳しいWAFに関する情報はこちらをご参考ください。

WAF読本:IPA 独立行政法人 情報処理推進機構

WAF読本補足資料(導入に向けた検討項目):IPA 独立行政法人 情報処理推進機構

なぜ WAFを使うのか

WAFは、Webサイトやアプリケーションが、攻撃されてダウンしたりデータが流出することを防ぎます。

AWSで対策できる攻撃の種類

  • SQLインジェクション
  • クロスサイトスクリプティング
  • Webクローラ・スプレイピング等のBOT
  • DDoS緩和(HTTP/HTTPS floods)など
  • (余談)ガートナーのレポートによると、導入理由の25~30%はPCI DSS対応のため

WAFだけで十分か

いいえ。WAFはウェブアプリケーションの脆弱性への根本対策ではなく、攻撃による影響を低減する対策であるため、ウェブアプリケーション防御にはWAFの導入だけでなく、ウェブアプリケーション自体の改修も必要となります。

その他のセキュリティ対策例

  • AWS Shield
  • Amazon Inspector
  • 暗号化
  • IAM
  • AWS Config
  • AWS CloudTrail
  • サードパーティセキュリティソフト など

セキュリティ対策項目と、サービス・製品のマッピング一覧はこちらをどうぞ。

クラスメソッドでは、これら充実したセキュリティ製品群を提供しています。 質問や問い合わせはこちらをどうぞ。

AWS環境のセキュリティ対策 | クラスメソッド

WAFの種類

ハードウェア・アプライアンス型

  • 各組織のネットワーク内に専用の機器としてWAFを設置し、ウェブサーバへの通信をWAFに通過させることで検査します。
メリット
  • 独立した機器を使用するため、ウェブサーバへの負荷は発生しない
  • 導入機器に応じて自由に設定できる
デメリット
  • アプライアンス製品は一般的に調達費用が高価
  • ネットワーク環境の構成変更が必要

ソフトウェア型

各組織が運営するウェブサイトのウェブサーバに、ソフトウェアとしてWAFをインストールし、ウェブサーバへの通信内容を検査します。

メリット
  • アプライアンス型より安い
  • ネットワーク環境の構成変更が不要
デメリット
  • 運用開始後もアップデートや検知設定の見直しが必要
  • サーバにインストールするため、サーバの処理性能に悪影響を与える可能性がある

サービス型(AWS WAFはこれに該当)

組織外に存在するWAFサービス提供者のサービスサーバを経由することで検査を行い、組織内のウェブサーバへ通信を中継します。

メリット
  • ソフトウェア型より安い場合が多い
  • 導入スピードが早い
デメリット
  • 監視対象のURL数や通信量が多いと高くなる可能性がある
  • 調整可能な項目がサービス提供業者の内容に依存する

AWS WAF とは

AWSが提供するAWS環境に最適なWAFです。上記従来のWAFの種類では「サービス型」に近いです。

  • 一般的なWebの悪用からウェブサイトやウェブアプリケーションを保護
  • アプリケーションの可用性、セキュリティに影響を及ぼすリスクを緩和する、またはリソース消費を抑制する
  • HTTPリクエストのフィルタエンジン
  • 認識可能なリクエストシグネチャによる攻撃を防止する
  • 規制順守の要件を満たす

AWS WAF はお客様が定義する条件に基づきウェブリクエストを許可、ブロック、または監視 (カウント) するルールを設定し、ウェブアプリケーションを攻撃から保護するのを支援する Web アプリケーションファイアウォールです。それらの条件には IP アドレス、HTTP ヘッダー、HTTP 本文、URI 文字列、SQL インジェクション、およびクロスサイトスクリプトが含まれます。

引用元:よくある質問 - AWS WAF | AWS

メリット

様々な脅威からの保護

標準提供のルール、カスタムルールのマッチ条件、レートコントロール、APIを使い、幅広い脅威からWebアプリケーションを守ることができます。

CDNとの相乗効果

AWS WAFをCloudFrontで展開することで、CDN(コンテンツ配信ネットワーク)の高い可用性と拡張性を兼ね備えたWAFソリューションが実現可能になります。CloudFrontは、トラフィック量に合わせて自動的にスケールアウトするため、大規模サイトの防御やDDoS対策も可能。物理的なアプライアンスやソリューションにあるような、ハードウェア性能やネットワーク回線のキャパシティを気にする必要はありません。

従量課金で初期投資が不要

初期投資は一切不要。利用料はルールの数とリクエスト数に基づく従量課金のため、WAFの導入と運用のコストを大幅に削減することができます。

素早い展開とメンテナンスの容易さ

CloudFrontかALB上でWAFを有効にするだけで利用可能なため、ソフトウェアのインストールやハードウェアの導入が不要。また、WAFの設定とルールの変更は、数分で世界中のロケーションに素早く展開されるため、突然の攻撃にも素早く対応ができます。

API によるセキュリティの自動化

AWS WAFは、APIを使った設定やルールの変更/管理が可能で、新しいリソースへWAFを素早く展開することが可能。また、ログのやIDS/IPSと連携し、IPアドレスやヘッダーなどの不正なエンドポイントの検知条件をWAFのルールにAPI経由でアップデートさせることで、運用のオートメーションを図ることができます。

主な特徴や機能

基本的な設定

AWS WAFの設定は、ウェブACL、ルール、条件(Conditions)で構成されています。ルールを組み合わせたウェブACLをCloudFront、ALBに適用します。ルールの中に条件が複数存在します。ルール毎に設定する条件でフィルタするIPアドレスやSQLインジェクションへの対応、特定文字列のマッチングといった設定が可能です。

引用元:AWS WAF の詳細 - AWS WAF

マネージドルール

マネージドルールを使用するとユーザー側でのルール作成が不要となり、安く早くAWS WAFを利用できます。それによって簡単にOWASP Top10のセキュリティリスクなどの一般的な脅威、CMS特有の脅威、新たな共通脆弱性識別子 (CVE) などに対しwebアプリケーションやAPIを保護できます。AWSのセキュリティ販売者がマネージドルールを更新するため、ユーザーはセキュリティルールの管理が不要となります。

マネージドルールについてはこちらで詳しく説明されてます。

AWS WAFマネージドルール導入と運用の勘所

代表例として、WordPress用のマネージドルール適用をこちらで検証しています。

WordPressへの攻撃をAWS WAFマネージドルールで検知してログを分析してみた

AIとビッグデータによる自動運用サービス「WafCharm」

「WafCharm(ワフチャーム)」はAIによってAWS WAFのルールを最適化させるWAF自動運用サービスです。AIが数千億件のビックデータを活用し、ユーザー毎に最適なルールをAWS WAFに自動で適用が可能となります。このサービスを利用することが、一番簡単楽チンにAWS WAFを運用することができます。また、マネジメントコンソールで一元管理ができるため、ルールの切り替えもユーザー自身で設定ができます。日本語による24/365サポート体制もあり疑問も即座に解決できます。

WAF自動運用サービス「WafCharm」 | クラスメソッドのパートナー

合わせて読みたい

公式ドキュメントで簡単にAWS WAFを試せるチュートリアルをやってみたので合わせてどうぞ。

『チュートリアル: 一般的な攻撃に対する保護のための AWS WAF の迅速な設定』をやってみた

2015年にもAWS WAF再入門を弊社超ベテランエンジニアが書いてます。

AWS再入門 – AWS WAF編

セキュリティの実力派エンジニアがわかりやすくWAFについて書いてます。

AWSでWAFを導入する理由と最適な選択

弊社のセキュリティ第一人者のJAWS-UGセキュリティ登壇資料です。

「[初心者向け]AWS環境のセキュリティ運用(設計)をはじめてみよう」JAWS DAYS 2019登壇資料 #jawsdays #jawsug #jd2019_a #secjaws

AWS Summit Tokyo 2019にてWAFの導入事例のセッションレポートです。

【レポート】「Edge Servicesを利用したDDoS防御の構成(AWS WAF/Shield)」AWS Summit Tokyo 2019 #AWSSummit

網羅的に情報セキュリティの基本を学ぶのにオススメです。 内閣サイバーセキュリティセンター(NISC)が発行しています。(Ver.1:平成31年4月19日公開)

小さな中小企業とNPO向け情報セキュリティハンドブック[みんなでしっかりサイバーセキュリティ]

最後に

以上、『AWS 再入門ブログリレー 2019』の 17日目のエントリ『AWS WAF』編でした。 実際に業務では使用したことがないサービスでしたが、ブログを理由に調べることで理解でき、今後活用しない手はないと感じました! 明日 (7/25) は中川の「EFS」の予定です。お楽しみに!!