AWS WAFを理解する
この記事ではAWS(Amazon Web Services)におけるWAFに焦点を当てて、その機能を理解して、どのように活用していくべきかをお話します。
目次
Webアプリケーションへの脅威
AWSを始めとするクラウドサービスの普及とともに、システムを簡単に開発することが可能になりました。中でもWebアプリケーションの比率は高い傾向にあると考えられますが、これらWebアプリケーションに対する脆弱性を悪用した攻撃も増えつつあります。
Webアプリケーションに対する攻撃手法は様々ですが、対策を検討する前に、まずは一般的な攻撃方法はどのようなものがあるのかを見ていきます。
SQLインジェクション
SQLはデータベースを操作する言語を指します。このSQLを不正にインジェクション(注入)する攻撃をSQLインジェクションと呼びます。
例えば、サイト内にフォームがあるとして、攻撃者がフォームに不正なSQL文を入力し実行することで、そのSQL文の内容が実行されてしまいます。
この攻撃により、本来公開されていないデータを取得されてしまったり、ウェブサイトの改ざんがされてしまったりします。
OSコマンドインジェクション
OSコマンドインジェクションも基本的な仕組みはSQLインジェクションと同じです。入力フォーム等にSQLではなくOSの実行コマンドを入力し実行させ、データ取得やウェブサイト改ざんを行う攻撃です。
ディレクトリトラバーサル
たとえばファイルを扱うシステムがあるとして、本来与えられるファイルパスに対して「../」あるいは「..\」の親ディレクトリを示すパターンを含めてリクエストすることで、本来公開していないファイルを流出させる攻撃です。
クロスサイトスクリプティング
ウェブサイトの掲示板やSNS等に、悪意あるスクリプトを埋め込んだリンクURLを書き込み、これを見たユーザがURLへアクセスすると、本来アクセスしたいサイトとよく似た偽サイトへ接続してしまい、偽サイト上で入力したログインアカウント等の機密情報を漏洩させる攻撃です。
AWSを安心、安全に利用するスタイルズのAWSセキュリティサービスはこちら→
AWS WAFの概要
AWS WAFはAWSが提供するWAF(Web Application Firewall)サービスです。このサービスをシステムの前段に稼働させることで、前述のWebアプリケーションに対する攻撃を検知し防御してくれるものです。
AWS WAFはクラウド型と呼ばれるマネージドWAFサービスであり、ソフトウェアのインストールといった手続きが不要で簡単に始められます。
AWS WAFのメリット
WAFサービスは世の中にいくつもありますが、AWS環境でAWS WAFを選択するメリットは何でしょうか。以下に記載してみました。
マネージドルール
WAFのルール設計は知見がないと設定が難しいところです。AWS WAFではマネージドルールと呼ばれるルール群が提供されており、PHPアプリケーション向けだったり、WordPress向けだったり、概要レベルで選択できるような仕組みがあります。
これらのマネージドルールを提供するのはAWS自体や主要なセキュリティベンダから提供されており、また、日々更新されているため、世界的な状況に合ったルールが常に適用されます。
提供されるマネージドルール
ルール設定の柔軟さ
上記でマネージドルールから簡単に選択できると記載しましたが、逆に自分で細かい条件を作成することも可能です。マネージドルールでは防御しきれない状況で利用すると良いでしょう。
トラフィックの確認がしやすい
AWSコンソール上からどのような通信がされているかを簡易的に見ることができ、また、監視サービスであるCloudWatchと連携することで、特定の攻撃等を想定したルールの条件に該当した際に通知を発報することが可能です。
さらに、分析サービスであるAmazon Athenaと連携し、WAF経由のトラフィックから詳細な検索や分析をすることが可能です。
AWSを安心、安全に利用するスタイルズのAWSセキュリティサービスはこちら→
WAF設定の難しさ
AWS WAFは簡単に導入できる反面、デメリットも存在します。
マネージドルールは設定内容がわからない
メリットとしてマネージドルールの存在を説明しましたが、細かいルール内容はブラックボックスです。従って細かいリクエスト条件に対してブロックされるかどうかの判断ができません。
ただ、攻撃判定した際に通信を止めるかどうかはルール毎に指定が出来るため、通信を止めない状況で様子を見て、通信を止めても問題ないと判断したルールのみブロックすると良いでしょう。
ルールに対してのサポートがない
AWS以外の会社が提供するマネージドルールはAWSでは細かい内容までサポートできません。もちろん、ご検知時における修正も対応されない可能性があります。
まとめ
今回の話の重要事項をまとめると下記の通りです。
- Webアプリケーションに対する脅威は様々な攻撃手法が存在する
- AWS WAFを使うことで手軽に運用開始できる
- AWS WAFで手軽にできる反面、ブラックボックスな部分もあり、安易にブロックすると正常な通信に影響をきたす為、様子を見ながら運用していく
今回は、AWSを利用している際に、SQLインジェクション等脆弱性のあるアプリケーションへの攻撃をWAFを用いてどう防いでいくかという観点でお話してきました。セキュリティはクラウドを利用する上で最重要な課題となりますので、経験のあるベンダーとよく相談しながら活用してください。
また、AWS WAFの具体的な設定方法は、スタイルズのオンラインウェビナー「30分でわかる! AWS WAF設定」でわかりやすく解説しています。こちらのページよりお申し込みください。