WAFとは?AWSやAZUREでのセキュリティ設定方法を解説
近年、Webアプリケーション特有の脆弱性を突くサイバー攻撃が増加傾向にあります。そこで大きな注目を集めているのが、Webアプリケーションの保護に特化したセキュリティシステム「WAF」です。本記事では、WAFの概要や導入メリットについて詳しく解説するとともに、AWSやAzureでWAFを設定する方法を紹介します。
この記事の目次
WAFとは
WAFとは「Web Application Firewall」の頭文字をとった略語で、Webアプリケーション特有の脆弱性を突くサイバー攻撃から情報を保護するセキュリティシステムを指します。Webアプリケーションとは、Web技術を基盤とするインターネット上のサービス全般を指す用語です。たとえば、SNSや動画共有サービス、メールサービスなど、Webブラウザー上で稼働するアプリケーション群といえばわかりやすいでしょう。このようなWebアプリケーションはさまざまな脆弱性を抱えており、常にセキュリティインシデントの危険に晒されています。そういったWebアプリケーションに対する脅威から情報を保護するのが、WAFの役割です。
WAFは名称に「Firewall」が含まれていますが、ネットワークセキュリティシステムのファイアウォールとは機能が異なります。それぞれの相違点についての詳細は後述しますが、ファイアウォールはネットワーク内部への侵入を防ぐのに対し、WAFはWebアプリケーションに対する攻撃から保護する仕組みです。ファイアウォールの語源は火災から建物を保護する「防火壁」に由来します。そのため、不正アクセスやマルウェアから保護するという観点ではWAFもファイアウォールの一種といえますが、厳密には保護する対象や監視する内容が異なります。
WAFが注目されている背景
現代社会は情報通信技術の進歩によって目覚ましい発展を遂げました。しかし、メリットの裏には相応のデメリットがあり、ITの進歩はインターネットの発展と同時に、サイバー攻撃も多様化と高度化をもたらしたのです。その結果、IT化の恩恵を受けてさまざまな産業が発展する一方で、不正アクセスやマルウェアによる情報漏洩インシデントの発生件数も増加傾向にあります。
企業にとってセキュリティ管理の最適化は重要な経営課題の1つです。情報漏洩インシデントは企業の社会的信用の失墜を招くだけでなく、個人情報や顧客情報の漏洩によって訴訟問題に発展し、多額の経済的損失を被る可能性があります。巧妙化するサイバー攻撃の脅威から企業の情報資産を守るためには、堅牢なセキュリティ環境を構築せねばなりません。このような社会的背景から、多くの企業でセキュリティ強化が喫緊の経営課題となっており、WAFが大きな注目を集めているのです。
WAFを導入するメリット
WAFの導入によって得られる最大のメリットは、Webアプリケーションの脆弱性を保護し、サイバー攻撃を受けにくいシステム環境を構築できる点です。20世紀後半に起きたIT革命によってさまざまなWebサービスが誕生し、ビジネスシーンや日常生活における利便性が飛躍的に向上しました。しかし、WebアプリケーションはCookieの窃取や不正なOSコマンド実行など、さまざまなセキュリティ上の課題を抱えています。WAFはアプリケーションレベルにおける不正なトラフィックや通信を監視し、クロスサイトスクリプティングやOSコマンドインジェクションなどを防ぐことが可能です。
また、WAFはサイバー攻撃に対する事前対策はもちろん、事後対策に優れるという特徴があります。これまでのセキュリティ対策は、サイバー攻撃をブロックする事前対策が重要視されていました。しかし、高度化するサイバー攻撃を完全に防ぐのはほぼ不可能といっても過言ではありません。そこで重要となるのが、セキュリティインシデント発生後に被害を最小限に抑える事後対策です。WAFはサイバー攻撃を検知するだけでなく、セキュリティインシデント発生後に不審なレスポンスを検知したり、被害が拡大しないようブロックしたりといった機能を有しています。サイバー攻撃への事前対策だけでなく、あらゆるリスク想定したセキュリティ環境を構築できるのがWAFの導入メリットです。
WAFとファイアウォールの違い
記事冒頭でも触れたように、WAFは名称に「Firewall」が含まれていますが、セキュリティシステムのファイアウォールとは機能や役割が異なります。ここからはWAFとファイアウォールの具体的な相違点について見ていきましょう。
ファイアウォールとは
ファイアウォールとは、サイバー攻撃や不正アクセスといった外部の脅威から内部ネットワークを保護するセキュリティシステムです。サイバー攻撃は、さまざまな手法によって内部ネットワークへの侵入を試みます。そうした外部ネットワークからの脅威を監視し、遮断する防火壁としての役割を果たすのがファイアウォールです。具体的には、内部ネットワークに向かう通信はすべてファイアウォールを通過するように設定され、ポート番号やIPアドレス、プロトコルなどを制御するルールにもとづいて不正なパケットを遮断します。ファイアウォールは、Windows OSやMac OSにも標準搭載されており、ウイルス対策ソフトに組み込まれている場合もあります。
WAFとの違い
ファイアウォールとWAFの決定的な違いは、保護する対象や監視する内容です。ファイアウォールはインターネットとLANの間に設置され、送信元・送信先の情報にもとづくネットワークレベルでの保護を可能にします。しかし、正常な送信元・送信先を用いた侵入や、ネットワーク外部への攻撃、大量のアクセスを送りつけるDoS攻撃などはファイアウォールでは遮断できません。一方でWAFはファイアウォールで遮断不可能な攻撃に対し、アプリケーションレベルで解析することで無効化します。つまり、ファイアウォールの保護対象は社内ネットワークであるのに対し、WAFはネットワーク外部に公開されているWebアプリケーションを保護対象とする点が大きな違いです。WAFとIPSの違い
IPSはファイアウォールと同様に、セキュリティシステムの代名詞として知られるソリューションです。そのようなIPSとWAFはどのような違いがあるのでしょうか。ここからは、IPSの概要に触れるとともに、それぞれの違いについて詳しく解説します。
IPSとは
IPSは「Intrusion Prevention System」の頭文字をとった略称で、日本語では「不正侵入防止システム」と訳されます。IPSはプラットフォームレベルでトラフィックを監視し、通信状況やパケットの中身にまで踏み込んだ防御機能を備えるセキュリティシステムです。内部ネットワークだけでなく、WebサーバーやOS、あるいはミドルウェアレベルを保護対象とするため、DoS攻撃やSYNフラッド攻撃といったファイアウォールでは遮断できない脅威を検知できます。
IPSの特徴は不正アクセスやマルウェアを検知するだけでなく、検出後に脅威を遮断する防御措置を実行する点です。IPSとよく似たセキュリティシステムに「IDS(Intrusion Detection System)」があります。IDSは直訳すると「不正侵入検知システム」となり、不正な通信を検知した場合、管理者に通知するソリューションです。このIDSの検知システムに、不正なトラフィックやリクエストを遮断する防御措置機能が付加されたソリューションがIPSといえます。
WAFとの違い
IPSとWAFはそれぞれ防御可能なレイヤが異なるセキュリティシステムです。IPSはファイアウォールでは遮断できなかったOSやミドルウェアへの標的型攻撃、あるいは大量のリクエストを送信するDoS攻撃などを防ぎます。しかし、IPSでもデータベースを改竄するSQLインジェクションや、不正スクリプトを挿入するクロスサイトスクリプティングなどの攻撃は防げません。このような悪意ある攻撃を防ぐためには、アプリケーションそのものへの攻撃を検知・判別して防御できるWAFが必要です。ただし、WAFも万能ではありません。たとえば、ファイアウォールが保護するネットワーク層や、IPSが守備範囲とするOSやミドルウェアへのサイバー攻撃に対してはWAFのみで守りきるのは困難といえます。単純な優劣の問題ではなく、それぞれに一長一短があり、防御可能なレイヤが異なるのです。
WAFの動作メカニズム
WAFは、どのような仕組みによってサイバー攻撃から情報を保護するのでしょうか。ここからは、Webアプリケーションの脆弱性を保護するWAFの動作メカニズムについて解説します。
シグネチャーによる検出
シグネチャーとは、広義では「署名」を意味する英単語ですが、WAFにおいては不正アクセスやマルウェアなどの攻撃パターンを検出するルールの集合体を指します。Webアプリケーションの脆弱性を突くサイバー攻撃と一口にいっても、その侵入パターンや実態はさまざまです。たとえば、アプリケーションの設計ミスやセッション管理方法の不備、あるいはアクセス制限の設定ミスや修正パッチの更新を怠るといった複数の原因が考えられ、その数だけ攻撃パターンや侵入経路が存在します。
WAFは、さまざまな攻撃パターンを定義するシグネチャーを用いて不正アクセスやマルウェアを検出します。IPSやIDSでも、不正なアクセスや異常なトラフィックを検出する仕組みの1つにシグネチャー型の検知システムが採用されています。シグネチャー型検知システムは既知の攻撃パターンに対しては非常に強力ですが、未知の攻撃に対しては誤検知する可能性があるため、定期的な更新やチューニングが必要です。チューニングは高い技術と高度な知識が求められるため、ITベンダーの支援を受けるのが一般的といえます。
ブラックリストとホワイトリスト
Webアプリケーションの脆弱性を突く攻撃への対処法は「ブラックリスト」と「ホワイトリスト」というフィルタリング方式があります。ブラックリスト方式は通過させたくないトラフィック条件を定義して一致したアクセスを検出・遮断するシグネチャー型の検知方式です。ホワイトリスト方式はブラックリスト方式とは反対に通過させるトラフィック条件を定義し、一致したアクセスのみを許可します。つまり、ブラックリスト方式はブロックするトラフィックを定義し、ホワイトリスト方式は安全な通信パターンを定義するフィルタリング方式です。
ブラックリスト方式は、定義された攻撃パターンに対しては強固なセキュリティを誇りますが、データベース化されていない場合は、過剰検知や検知漏れを招き、侵入を許してしまう可能性があります。ホワイトリスト方式は、より強固なセキュリティ環境を構築できるものの、通過させるトラフィック条件の定義が難しく、設定を誤れば正常なプログラムを妨害してしまう点がデメリットです。この2つはそれぞれにメリットとデメリットがあり、どちらが優れていると比較するものではありません。しかし、ホワイトリスト方式は適切な定義や管理が困難なため、運用には高いコストが必要なこともあり、ブラックリスト方式が多く採用される傾向にあります。
WAFがなぜ使われるのか
情報通信技術の進歩によって優れたWebアプリケーションが次々と誕生し、人々の暮らしやビジネスシーンにさまざまな恩恵をもたらしました。しかし、冒頭で述べたように、Webアプリケーションは特有の脆弱性を抱えており、ファイアウォールやIPSで防ぎきれないアプリケーション層へのサイバー攻撃から保護するためにはWAFが不可欠です。ここからは、WAFが必要とされる具体的な理由について解説します。
Webサイトは狙われやすい
いまや世界中に18億以上のWebサイトが公開されており、約40億人を超えるユーザーがインターネットを利用しているといわれています。しかし、それは裏を返せば、それだけ多くのWebサイトとユーザーがサイバー攻撃の危険に晒されていると捉えることもできます。企業のWebサイトや開発フレームワーク、あるいはコンテンツ管理システムなどは外部に公開せざるを得ない媒体であり、あらゆるユーザーがアクセスできるため、サイバー攻撃に晒されやすいという特徴があります。また、近年ではECサイトのようなインタラクティブなWebアプリケーションをクラウド上に構築する企業が増加しています。このようなWebサイトへの悪意ある攻撃は、ファイアウォールやIPSでは対応できないため、アプリケーションレベルで脅威を監視するWAFが求められるのです。
Webアプリケーション特有の脆弱性の存在
Webアプリケーションはクライアントの要求に対して動的に応答するプログラムであり、その特性ゆえの脆弱性がいくつか存在します。代表的なサイバー攻撃として挙げられるのが「クロスサイトスクリプティング」と「SQLインジェクション」です。クロスサイトスクリプティングとは、Webブラウザー上に不正なスクリプトを挿入するサイバー攻撃です。そして、不正なスクリプトによって悪意あるWebサイトへ転送されたり、cookie情報を窃取されたりといった被害を生み出します。偽サイトを使ったフィッシング詐欺やセッションハイジャックなどは、クロスサイトスクリプティングによって生じる被害の代表的な事例です。
SQLインジェクションは、Webアプリケーションを介して不正にSQLコマンドを実行されてしまうサイバー攻撃を指します。Webアプリケーションのデータベースには、ユーザーIDやパスワードをはじめとした個人情報が保存されています。SQLインジェクションは、対象となるWebサイトのデータベースを攻撃し、不正なSQLコマンドを実行することで、情報の窃取や書き換えといった被害を生み出します。クロスサイトスクリプティングやSQLインジェクションのようなサイバー攻撃は、ファイアウォールやIPSのみでは対応しきれないため、アプリケーションレベルで保護するWAFが必要となるのです。
防御を多重化する必要性
脆弱性が発生しないWebアプリケーションの開発は現時点の技術では非常に困難であり、現実的ではありません。ファイアウォールとIPSは非常に優れたセキュリティシステムですが、アプリケーション層へのサイバー攻撃には対応しきれないため、WAFと組み合わせた多層防御の構築が必要です。ファイアウォール、IPS、WAFはそれぞれ得意分野と防御可能なレイヤが異なります。それぞれを組み合わせることで、ネットワーク層・WebサーバーやOS層・アプリケーション層と、幾重にも重ねられた防御壁の構築が可能です。
近年はクラウドファーストが敷衍し、多くの企業がシステム環境をクラウド型へと移行しています。クラウド型のシステム環境は常時オンライン接続されているため、インターネットを介した通信回線上のサイバーリスクに晒されています。データの送受信に高度な暗号化が施してあるとはいえ、その危険性はゼロではありません。サイバー攻撃の手口は年々巧妙化しており、その被害も深刻化かつ大規模化しています。従来のファイアウォールではクラウド環境に対応できないため、新しい時代を見据えた多層防御によるセキュリティ環境の構築が求められます。
AWSでのWAF設定
ここからはAmazon.comが提供するクラウドコンピューティングサービス「Amazon Web Services(以下AWS)」でのWAF設定について解説します。
AWS WAFのセットアップ
WAFをセットアップする第1手順として、まずはAWSアカウントにサインアップし、セットアップを実行します。セットアップの実行後はIAMユーザーの作成に入りましょう。AWSにアクセスするユーザー 一人ひとりにIAMユーザーを作成することで、セキュリティインシデント発生時に誰が何をしたのかという調査が容易になります。具体的な手順としては以下の通りです。
- 1.ナビゲーションペインの「ユーザー」から「ユーザーを追加」をクリックする
- 2.ユーザー名を入力し、「AWSマネジメントコンソールへのアクセス」にチェックを入れる
- 3.パスワードを入力する
- 4.「グループの作成」からグループ名を入力し、「AdministratorAccess」にチェックを入れて「グループの作成」をクリックする
- 5.必要に応じてタグを入力する
- 6.「ユーザーの作成」をクリックして完了
ウェブACLの作成
ウェブACLとは「Web Access Control List」の略称で、定義されたルールにもとづいてリクエストを制御するシステムを指します。マネージドルールや条件ルールといった設定によってリクエストを制御し、「CloudFront ディストリビューション」や「Amazon API Gateway」などによる応答を可能にします。ウェブACLの具体的な作成手順は以下の通りです。
- 1.ナビゲーションペインの「ウェブACL」をクリックし、「ウェブACLを作成」を選択する
- 2.「名前」と「説明-オプション」を入力する
- 3.CloudWatchのメトリクス名を決定する
- 4.「リソースタイプ」から「CloudFront ディストリビューション」を選択する
- 5.「AWSリソース-オプション」から「AWS リソースの追加」に進み、リソースを選択する
既成マネージドルールの適用
マネージドルールとは、AWS側によってあらかじめ設定されたセキュリティルールを指します。従来はセキュリティに関する各種設定をユーザー側が行う必要がありました。既成のマネージドルールを適用することで、最適化されたセキュリティ環境を構築できます。既成のマネージドルールや独自ルールを追加する場合は「ルールとルールグループの追加」から設定可能です。一例として以下のようなマネージドルールが提供されています。
- ・Webアプリケーションの脆弱性を保護する「Core Rule Set」
- ・管理ページへの外部アクセスをブロックする「Admin Protection」
- ・SQLデータベースへの攻撃をブロックする「SQL Database」
- ・WordPress固有の脆弱性を保護する「WordPress Application」
- ・PHPの脆弱性に対する攻撃を検知する「PHP Application」
- ・脅威インテリジェンスにもとづくルール「Amazon IP Reputation」
条件ルールの作成
AWSは文字列やIPアドレスの一致など、さまざまな条件ルールの作成が可能です。含まれている文字列やIPアドレスなどにもとづいてリクエストを制御することで、より柔軟なセキュリティ環境が実現します。完全一致や部分一致、先頭一致や末尾一致といった指定はもちろん、独自の条件設定も可能です。文字列一致のルール作成方法は以下の通りです。
- 1.「ルールとルールグループの追加」から「ルールの追加」を選択する
- 2.「独自のルールとルールグループの追加」から「ルールビルダー」をクリックし「ルールビジュアルエディタ」を選択する
- 3.「名前」にルールを識別する名称を入力する 4.「タイプ」から「通常のルール」をクリックし、「ステートメントに一致」を選択する
- 5.「ステートメント」の「検査」からドロップダウンを開き、ウェブリクエストコンポーネントを選択する
- 6.「照合する文字列」で検索する文字列を指定する
設定の完了と適用
ウェブACLの設定を完了するには「ルールとルールグループの追加」から「次へ」を選択します。ルールおよびルールグループの処理順序とCloudWatchのメトリクスを確認し、問題がなければ「Next」をクリックしてください。最後に「ウェブACLの確認と作成」から「ウェブ ACLの作成」を選択して設定完了です。
テンプレートの利用
AWSは非常に細かい設定が可能なクラウドプラットフォームである反面、最適化するためには深い知識と相応の経験が求められます。企業の経営戦略や事業形態によって、必要なソリューションや求められるセキュリティ環境は異なります。そこでおすすめしたいのが「AWS CloudFormation」の利用です。AWS CloudFormationは、プロビジョニングをコード化したテンプレートの作成やリソースの設定ができます。テンプレートを利用することで、同じ構成の環境を簡単に再現できるため、運用と管理におけるコストの大幅な削減につながります。テンプレートの導入方法は以下の3つです。
1.クイックスタート
AWSによって提供されるテンプレートを利用する
2.サンプルテンプレート&テンプレートスニペット
サンプルテンプレートを用いて独自テンプレートを開発する
3.テンプレートを作成
YAMLやJSONのフォーマットを用いてゼロから作成する
AzureでのWAF設定
ここからは、マイクロソフト社が提供するクラウドプラットフォーム「Microsoft Azure(以下Azure)」でのWAF設定について解説します。
Application Gatewayの作成
Application Gatewayとは、アプリケーション・レベル・プロキシーとも呼ばれるファイアウォール技術の1つです。WAFとApplication Gatewayを一元化することで、Azure環境におけるアプリケーション層の脆弱性を監視・保護します。また、Azureのフロントエンドからバックエンドに至るまで、SSLの強力な暗号化によってデータを保護できる点も大きなメリットです。Application Gatewayの作成手順は以下の通りです。
- 1.Azure portalにサインインする
- 2.「ホーム」から「リソースの作成」を選択する
- 3.「新規作成」から「ネットワーク」を選択し「Application Gateway」を選択する
- 4.「名前」に任意の名称を入力し「レベル」を「WAF V2」に設定する
- 5.「最小インスタンス」と「最大インスタンス」を設定する
- 6.任意のリソースグループを選択する
- 7.サブネット構成とフロンドエンドIP構成を設定する
- 8.各種設定の確認を行い、問題がなければ作成して完了
WAFルールのカスタマイズ
Application GatewayのWAFは、さまざまなサイバー攻撃から情報を保護するために「CRS3.0」というコアルールが定義されています。ファイル攻撃やパス攻撃、あるいはポートや環境のスキャナーなどから保護するために定義されているのですが、ルールによっては誤検知の原因になりかねません。こうしたコアルールは個別に無効化できるため、適切な設定を行うことで誤検知を軽減できます。WAFルールのカスタマイズ設定は、Azure portalかAzure PowerShell、またはAzure CLIで実行可能です。ここではAzure portalによるカスタマイズ手順を説明します。
- 1.Application Gatewayを選択する
- 2.WAFポリシーを選択する
- 3.「管理されているルール」を選択する
- 4.無効にするルールを検索し、チェックボックスをオンにする
- 5.選択したルールの有効/無効を決定する
- 6.保存して完了
クラウド自体のWebアプリケーションに相応わしいWAFの導入を
近年、さまざまな業界でデジタル技術の活用による経営改革「DX(デジタルトランスフォーメーション)」の実現が喫緊の経営課題となっています。時代の潮流はクラウドファーストからクラウドネイティブへと移行しつつあり、企業が市場における競争優位性を確立するためには、クラウドコンピューティングサービスの導入が不可欠です。そして、クラウドコンピューティングサービスの運用基盤を最適化するためには、WAFによる高度なセキュリティ環境の構築が欠かせません。
そこでおすすめしたいのが、NTTコミュニケーションズが提供する「Smart Data Platform クラウド/サーバー(以下SDPF)」の導入です。SDPFは企業に点在する膨大な経営データをシームレスに融合し、効率的な運用基盤を構築するクラウドプラットフォームです。SDPFはWebアプリケーションの脆弱性を保護する「Managed WAF」の利用が可能なため、セキュアなクラウドプラットフォーム環境を構築できます。DXの実現によって新たな市場価値を創出するためにも、SDPFの導入を検討してみてはいかがでしょうか。SDPFの詳細については以下のURLをご覧ください。
お客さまの課題やお困りごとに合わせた
豊富なラインナップをご用意
OCN光 IPoEサービス
-
企業向けベストプラン
OCN光 IPoEサービス
ワイドプラン標準プランからさらに3倍の帯域設計(従来サービスの6倍)。
ワイドプランならではの特長として、Windows Updateによる通信をそのほかの業務用の通信から分離。安定した通信が可能。 -
オンライン会議に最適
OCN光 IPoEサービス
ワイドプラン オプションサービス
アプリコントロールAワイドプランに加え、映像によるリモート会議・商談の通信を別経路に分離。
ストレスフリーなコミュニケーション環境を実現します。 -
OCN光 IPoEサービス
標準プラン従来サービスから2倍の収容設計!
動画サービスなど、混雑の原因となりやすい個人向けインターネット通信のトラフィックを論理的に分離。
快適なインターネット接続環境を実現。 -
OCN光 IPoEサービス
vUTMセットIPoEインターネット接続とクラウド化されたUTM機器をセットで提供。運用保守をNTT Comが行うため、つねに最新のセキュリティ対策を実現します。クラウド利用時のセキュリティ対策にも最適です。
-
OCN光 IPoEサービス
VPNセット高品質なOCN IPoEインターネット接続と拠点間VPN機能、専用レンタルルーターをセットで提供。
IPsecによる暗号化技術により、インターネットVPNによる高品質な拠点間通信を実現します。