ファイアウォールとは、ネットワークの通信においてその通信を許可するか、もしくは拒否するかを判断する仕組みを表します。大きく分類すると、PCに標準で備わっていることの多い「パーソナルファイアウォール」と、ネットワーク機器、もしくはネットワーク上のサービスとして機能する「ファイアウォール」の2つがあります。本記事ではネットワーク機器、ネットワーク上のサービスとして機能するファイアウォールに焦点を当て、解説します。
ネットワーク上のファイアウォールも細かく分類すると幾つかの種類がありますが、いずれも「その通信を許可するか、拒否するかの判断を行う」という機能を持つ点で共通しています。
ネットワーク上の通信は、送信元/送信先の住所を示す「IPアドレス」をもとに行われており、ファイアウォールではこの「IPアドレス」の情報を用い、通信の許可/拒否の処理を行います。例えば、ある特定の住所(IPアドレス)からの通信のみを許可したい、といった設定を施すことができるのがファイアウォールの特徴です。
現在では、IPアドレスのみではなく、どのサービス/機能宛てへの通信かを表す「ポート」という情報を用い、さらに柔軟な許可/拒否設定に対応したファイアウォールを用いるのが主流です。
1つのECサイトの例をもとに、ファイアウォールの用途・利点を、ファイアウォール有無の差異から解説していきましょう。
例えば、多言語化されたECサイトを制作し、あらゆる国々のWEBサイト訪問者(IPアドレス)からのアクセスを受け入れ、顧客の獲得をしているとします。
仮に、このECサイトへの通信経路上にファイアウォールが無い場合どうなるか、想定していきましょう。
先述の通り、ファイアウォールは「その通信を許可するか、拒否するかの判断を行う」機能を有しています。そのため、例のECサイトへアクセスは、あらゆる訪問者を顧客とし利益の取得を目指す必要があることから、特に通信を拒否する必要はないでしょう。そのため、ファイアウォールの有無の差異による影響はありません。
しかし、一方でWEBサイト(WEBサーバ)にはメンテナンスを行うための通信や機能(SSHやFTP/FTPSなど)があり、これらの機能へのアクセスが、あらゆるユーザ(IPアドレス)に許可された場合どうなるでしょうか。
悪意のあるユーザからの通信が許可されていたことで、サーバの乗っ取り、WEBサイトの改ざん、顧客情報の漏洩などの被害に合うリスクが増大します。そのため、メンテナンスを行うための通信については、適切な接続元からのみ接続を許可するための設定が必要であると言えます。
このように、ファイアウォールを用いて「必要な機能を、必要なIPアドレスのみに許可」することで、攻撃に遭遇するリスクを未然に防ぐことができます。
上記のECサイトの場合、メンテナンス機能は全ユーザに対して接続を許可する必要はありません。例えば「運用担当者のオフィスのIPアドレスからのみ接続を許可し、それ以外のIPアドレスからの接続は拒否する」といった設定を適応させたファイアウォールによる接続制限を設けると良いでしょう。
本来アクセスさせるべきではない通信を拒否し、不正なアクセスからWEBサーバを守ることができるのがファイアウォールの利点ですが、これで全てのセキュリティリスクの脅威を防げるものではありません。
ファイアウォールは通常、事前に設定した条件に合致した通信を許可、もしくは拒否する機能を有していますが、「その通信が悪意のあるものかどうか」といった通信の中身までを見て判別することはない点に注意が必要です。
改札で例えるならば、「許可された行き先のチケットを持つものは通し、許可されない行き先のチケットである場合は通さない」という処理は行うものの、「その行き先に到達した後の目的までは確認しない」という状態に相当します。
この特性による影響が最も考えられるのが、WEBサイト/WEBアプリケーション上の脆弱性を悪用されるケースです。先述の例のように、多くの場合、公開しているWEBサイトに対してはアクセスを制限することはありません。そのため、仮に「脆弱性を悪用する通信」が行われていたとしても、一般的なファイアウォールでは通信内容までを確認することができず、不正アクセス被害にあうリスクが残り続けます。
脆弱性を悪用した不正アクセスを防御するためには、以下のような対策が考えられます。
WEBアプリケーション層を守るセキュリティ製品の一つに、WAF(Web Application Firewall)があります。ファイアウォールと名が付いていますが本記事で紹介したファイアウォールとは異なり、通信内容の中身まで精査し、通信の許可/拒否を判断することができる製品です。これにより、脆弱性を悪用して攻撃を試みるアクセスを事前に検知し、通信を拒否することが可能です。
しかし、脆弱性そのものが解消されているわけではないため、検出条件(シグネチャパターン)に漏れがあると通信が許可されてしまう恐れがあること、また最新の脆弱性や攻撃情報のトレンドから常に最新の検出条件を適応させる必要がある点などから、あくまでリスクを軽減させるための対策と認識するべきです。
そのため、そもそも脆弱性が無い、もしくは悪用されにくいようにWEBサイトを常にセキュアに保つことが重要です。そのためには、定期的な脆弱性診断を行い、根本的な対策を施すことが非常に重要です。WEBアプリケーションに対する脆弱性診断のみではなく、サーバのOSやミドルウェアなどに内在する脆弱性を診断するプラットフォーム診断の実施も重要です。
さらに、クラウドサービス上でWEBサイトを構築している場合は、適切なファイアウォール設定になっているか確認するクラウド脆弱性診断の実施も検討すると良いでしょう。
お見積り・ご相談など、お気軽にご相談ください
サイトTOPへ