ファイアウォールとは?

ファイアウォールは、ネットワークとインターネットの間に配置され、ネットワークを出入りするデータの流れを制御して潜在的なセキュリティの脅威を阻止します。

Share facebook icon linkedin icon twitter icon email icon

ファイアウォール

学習目的

この記事を読み終えると、以下のことができます。

  • ファイアウォールを定義する
  • ファイアウォールが受信データと送信データの両方を検査する必要がある理由を説明する
  • プロキシファイアウォールとWAFの違いを理解する

ファイアウォールとは?

ファイアウォールは、セキュリティルールのセットに基づいてネットワークトラフィックを監視および制御するセキュリティシステムです。ファイアウォールは通常、信頼できるネットワークと信頼できないネットワークの間にあります。多くの場合、信頼できないネットワークはインターネットです。たとえば、オフィスネットワークでは、多くの場合、ファイアウォールを使用してオンラインの脅威からネットワークを保護しています。

what-is-a-firewall

ファイアウォールは、着信および発信トラフィックの通過を許可するかどうかを決定します。ハードウェア、ソフトウェア、またはその両方の組み合わせに組み込むことができます。「ファイアウォール」という用語は、実際には、火を封じ込めるように設計された建物同士の間または建物の内部に壁を構築する建設手法から借用されています。同様に、ネットワークファイアウォールはオンラインの脅威を封じ込める働きをします。

ファイアウォールを使用する理由は?

ファイアウォールの主な使用例はセキュリティです。ファイアウォールは、悪意のあるトラフィックがネットワークに到達する前に傍受し、機密情報がネットワークを離れることを防止します。

ファイアウォールは、コンテンツフィルタリングにも使用できます。たとえば、学校はファイアウォールを設定して、ネットワーク上のユーザーがアダルトコンテンツにアクセスすることを防止することができます。同様に、一部の国では、政府がファイアウォールを実行して、その国民国家内の人々がインターネットの特定の部分にアクセスするのを防止することができます。

この記事では、セキュリティ用に構成されたファイアウォールに焦点を当てますが、いくつかの種類があります。

ファイアウォールの種類とは?

プロキシベースのファイアウォール:

これらはクライアントとサーバーの間にあるプロキシ*です。クライアントはファイアウォールに接続し、ファイアウォールは発信パケットを検査し、その後、目的の受信者(Webサーバー)への接続を作成します。同様に、Webサーバーがクライアントに応答を送信しようとすると、ファイアウォールはその要求を傍受し、パケットを検査してから、ファイアウォールとクライアント間の別の接続でその応答を配信します。プロキシベースのファイアウォールは、クライアントとサーバー間の直接接続を効果的に防止します。

プロキシベースのファイアウォールは、バーの警備員のようなものです。この警備員は、バーに入る前にゲストを止めて、未成年者であったり武装していたり、その他バーやその利用者に対して脅威となることがないように確認します。また、警備員は、利用者が店を出る時にも止めて、家に帰る安全な方法があり、飲酒運転の予定がないことを確認します。

バーに警備員を置くことのマイナス面は、多くの人がバーに同時に入ろうとしたり、出ようとすると、長い列ができ、時に遅れを経験する人がいるということです。同様に、プロキシベースのファイアウォールの主な欠点は、特にトラフィックが多いときにレイテンシーを引き起こす可能性があることです。

*プロキシは、ローカルネットワークとインターネットなどの大規模ネットワークとの間のゲートウェイとして機能するコンピューターです。

ステートフルファイアウォール:

コンピューターサイエンスにおいて「ステートフル」アプリケーションとは、以前のイベントや相互作用からデータを保存するものです。ステートフルファイアウォールは、各パケットを検査するのではなく、開いている接続に関する情報を保存してこの情報を使用して着信および発信トラフィックを分析します。ステートフルファイアウォールはすべてのパケットを検査するわけではないため、プロキシベースのファイアウォールよりも高速です。

ステートフルファイアウォールは、意思決定を行う際に多くのコンテキストに依存します。たとえば、ファイアウォールが特定の種類の応答を要求する1つの接続で発信パケットを記録する場合、要求された種類の応答を提供する場合にのみ、その接続で着信パケットを許可します。

ステートフルファイアウォールは、着信パケットが特定のポートへのアクセスを要求しない限り、ポートをすべて閉じたままにしてポートを保護する*こともできます。これにより、ポートスキャンと呼ばれる攻撃を軽減できます。

ステートフルファイアウォールに関連する既知の脆弱性は、特定の種類の情報を要求するようにクライアントをだますことによって操作できることです。クライアントがその応答を要求すると、攻撃者はその基準に一致する悪意のあるパケットをファイアウォールを通過して送信できます。たとえば、セキュリティで保護されていないWebサイトはJavaScriptコードを使用して、Webブラウザーからこれらの種類の偽造リクエストを作成できます。

*ネットワークポートは、情報が送信される場所です。物理的な場所ではなく、通信エンドポイントです。

次世代ファイアウォール(NGFW):

これらのファイアウォールは、従来のファイアウォールの機能を持っているだけでなく、他の層OSIモデルへの脅威に対処するという追加機能のホストを持ちます。NGFW固有の機能には次のものがあります。

< ul class = 'learning-list >

  • ディープパケットインスペクション(DPI) -NGFWは、従来のファイアウォールよりもはるかに詳細なパケットの検査を実行します。この詳細な検査では、パケットペイロードや、パケットによってアクセスされているアプリケーションなどを確認できます。これにより、ファイアウォールはより詳細なフィルタリングルールを適用できます。
  • アプリケーション認識-この機能を有効にすると、ファイアウォールは実行中のアプリケーションとそれらのアプリケーションが使用しているポートを認識します。これにより、実行中のプロセスを強制終了してからそのポートを引き継ぐことを目的とする特定の種類のマルウェアから保護できます。
  • アイデンティティ認識 -これにより、ファイアウォールは、利用中のコンピューター、ログイン中のユーザーなどアイデンティティに基づくルールを適用できます。
  • サンドボックス- ファイアウォールは、着信パケットに関連付けられたコードを分離し、「サンドボックス」環境で実行して、悪意のある動作を行わないことを確認します。このサンドボックステストの結果は、パケットをネットワークに入れるかどうかを決定する際の基準として使用できます。
  • Web Application Firewall(WAF)

    従来のファイアウォールは悪意のあるWebアプリケーションからプライベートネットワークを保護するのに役立ちますが、WAFは悪意のあるユーザーからWebアプリケーションを保護するのに役立ちます。WAFは、Webアプリケーションとインターネット間のHTTPトラフィックをフィルタリングおよび監視することにより、Webアプリケーションの保護に役立ちます。通常、クロスサイト偽造、クロスサイトスクリプティング(XSS)、ファイルインクルード、及びSQLインジェクションのような攻撃からWebアプリケーションを保護します。

    Webアプリケーションの前にWAFをリリースすることにより、Webアプリケーションとインターネットの間にシールドが配置されます。プロキシベースのファイアウォールは仲介者を使用してクライアントマシンのIDを保護しますが、WAFはリバースプロキシの一種であり、クライアントがサーバーに到達する前にWAFを通過させることでサーバーを開示から保護します。

    WAFは、しばしばポリシーと呼ばれる一連のルールを通じて動作します。これらのポリシーは、悪意のあるトラフィックを除外することにより、アプリケーションの脆弱性から保護することを目的としています。 WAFの価値の一部は、ポリシーの変更を迅速かつ容易に実装できることです。これにより、さまざまな攻撃ベクトルへの迅速な対応が可能になります。DDoS攻撃が発生している場合、WAFポリシーを変更することにより、Rate Limitingをすばやく実装できます。 CloudflareのWeb Application Firewall のような商用WAF製品は、毎日何百万ものWebアプリケーションを攻撃から保護しています。