AWS WAFを導入する理由

こんにちは。AWS初心者のASD堤です。

サーバに不正アクセスされクレジットカードの情報漏洩や会社職員の個人情報が流出したりと、何かとセキュリティに関連するニュースが立て続けに起きているこの頃。

不正アクセスの手口は様々ありますが、主に使われるケースは次の2つになります。
・不正ログイン
・脆弱性等の悪用

不正ログインは利用者側がログインIDやパスワードを適切に管理していれば、被害にあう確率は下がるでしょう。
しかし、脆弱性については日々変化しており対応するのも一苦労・・・。
SQLインジェクションやクロスサイトスクリプティング、ディレクトリトラバーサル等、技術者にとっては悩みのタネの一つ。

そのような脆弱性対策を簡単に実現してくれるAWS WAFなるものが2015年からサービスインされています。

そもそも、WAFとは一体なんなのか?
Web Application Firewallの略で、正常な入り口から入ってくる悪意のあるデータを排除してくれる機能です。

よく耳にするFirewallは、IPアドレスとポートを入り口として、「この入り口には〜のIPアドレスは入っちゃダメ」とか
「この入り口は常に閉じておかないとダメ」と言った、不正な通信経路からの侵入を防ぐものでした。
しかし、正しい通信経路からくる不正なデータに対しては無力な訳です。

そこでWAFでは、通過するデータの中身を解析し、あらかじめ設定しておいたデータパターンと入力データを突き合わせ、
マッチしたデータを遮断・排除してくれます。

ただし、すべての不正データを防げるわけではなく、データパターンをガチガチに設定してしまうと
正常なデータも予期せぬ形で遮断してしまう可能性があります。
誤検知や誤遮断が発生するリスクを踏まえて、使う事をお勧めします。

データパターンを自分でカスタマイズし設定できるのですが、
現在はサードパーティのベンダーが様々なユースケースに対応するルールを提供してくれています。
マーケットプレイスから購入し、ALBやCloudFront等にアタッチする事で簡単に導入できるようになっています。
デメリットとして、サードパーティのルールはチューニングができないことに注意してください。

以下にWAFの要素と価格について簡単に紹介しておきます。
① Condition : IPアドレスやデータパターンなどから目的を選び、対象の設定を行う
② Rule : Conditionをまとめ、アクションの設定を行う
③ WebACLs : Ruleをまとめたもの、保護対象の設定を行う
※WebACLsをALB等にアタッチすると、WAFが適用されるようになっています。

WAFの料金体系
WebACLごと: $5/月
1Ruleごと:  $1/月
100万リクエストごと: $0.6
例)1つのWebACLsに3つのRuleが設定してあり、500万アクセスがあった場合
($5 * 1) + ($1 * 3) + ($0.6 * 5) = $11/月

異なるアカウント間でWAFを一元管理したい場合は、AWS Firewall Managerという機能を使ってください。
前提条件として以下の設定を完了していることです。
・AWS Organizationsに参加する
・AWS Firewall Manager 管理者アカウントの設定
・AWS Configを有効にする

前提条件をクリアしたら、Ruleを作成しそれぞれのアカウントへ適用するためのポリシーを設定します。
なお、1ポリシーにつき$100/月かかるので複数AWSアカウントを管理する場合にお勧めします。

わずかな料金で強力なWAFを設置できるのは、本当にありがたいですね。
皆さんもこの機会にぜひ導入されてはいかがでしょうか。

コメント

このブログの人気の投稿

Windows 10に.NET Framework 3.5が入らない?

マリンメッセ福岡で開催された福祉用具機器展に弊社製品を出展しました

AWSの消し忘れ