ファイアーウォールって何してるの? | 今更聞けないネットワーク機器の基本知識(3)

ファイアーウォールって何してるの? | 今更聞けないネットワーク機器の基本知識(3)

イントロダクション

ある日突然情シスを拝命した人。転職で既存環境がある会社の情シスになった人。
そんな人たちを悩ますものの一つ。それがネットワーク管理ではないでしょうか。

ネットワーク図はあるけど、どれがどの機械かイマイチわからない。
そもそも機械はどこにあるのか。何をするための機械なのか。
このLAN線抜いていいの?電源落としていいの?

LAN線一本が事業継続の致命傷になりかねない割に雑多な扱いを受けていることがしばしば見受けられるネットワークについて、今回はタイトル通りファイアーウォールのお話をしていきたいと思います。

ファイアーウォールのカテゴリについて、ネットワークに分類すべきかセキュリティに分類すべきか悩ましいのですが、マシン室に鎮座している「ネットワーク機器群」の一つということでネットワークに分類することにしました。
実際ネットワーク知識が無いと何をしているのかわからない代物ですし。

ということでファイアーウォールの説明をはじめていきましょう。

スポンサーリンク

ファイアーウォールは何を防いでいるのか

インターネット空間は火の海、というより宇宙空間!?

普段みなさんがパソコンやスマホで使っているインターネット。わからないことを検索したり、商品を購入したり、動画を見たり、メールの送受信をしたりと、ビジネスでもプライベートでも使わない日はまず無いでしょう。

インターネットを表すアイコンとしてよく使われるのは雲(=クラウド)のアイコンです。これはコンピュータ機器のネットワークを表すものとして誕生して、その後インターネットを表す記号として定着していきました。

それではその雲の中はどうなっているかというと、一言でいうと無法地帯です。
どこかのPCが投げた通信と、どこかのPCに帰っていく通信が入り乱れ、その中にそれらに成りすましてどこかのPCに入り込もうとする通信が弾幕のように飛び交っています。
それはもはやファイアーウォール(防火壁)で隔てられた火の海というより、宇宙船の防護壁の外で数々の宇宙線が飛び交う宇宙空間といったところでしょうか。

飛び交っている通信=パケットを判別する

ファイアーウォールは防護壁ですが、地球から打ち上げられた補給船(=正規の通信)とはドッキングして補給(=通信)を受けなければいけません。
補給船と宇宙船をコネクタの形状(=ポート番号)が一致していないとドッキングできませんし、相手が本物の補給船かどうかを合言葉(IPアドレス)を確認しないと扉を開けない(=通信を通過させない)ようにしています。
これが「パケットフィルタリング」です。

解りやすいのか解りにくいのか微妙っぽいので、きちんと説明します。
通信で送られてきたデータパケットには、本文だけではなく送信元ポート番号、宛先ポート番号、送信元IPアドレス、宛先IPアドレス等、通信に関する情報が格納されています。

ちなみにポート番号とは、どのプログラムが発行した通信かを識別するための番号で、受け取るプログラムを間違えないようにナンバリングされています。
代表的なのはHTTP通信のポート番号80でしょう。
HTTP自体はプロトコルですが、HTTPプロトコルで通信するプログラム、例えばWebブラウザの通信は80番ポートを利用します。
送信元ポート番号は、データを送った側のプログラムのポート番号、宛先ポート番号は送付先のプログラムのポート番号となります。お互いにポート番号を知っているプログラム同士はスムーズに通信を行うことができます。

IPアドレスについては細かく説明するとそれだけで1回分以上の記事になるので簡単に言うと名前の通り「アドレス=住所」です。誰から誰へ送信された情報かを判別するための情報です。

この情報を元に、「このポートを利用する通信は通っていい」「このポートを利用する通信は通ってはダメ」「このIPアドレスからの通信は通っていい」のようにフィルタを行うのが、ファイアーウォールの機能の一つである「パケットフィルタリング」なのです。

ゲートウェイ、プロキシとは

ポート番号とIPアドレスだけで通過してよし、とすると鍵(ポート番号)と暗証番号(IPアドレス)がわかれば成りすまされる危険があります。
そこでIPアドレスを直接伝えるのではなく、代わりに伝えてもらうようにするのがゲートウェイやプロキシと呼ばれる仕組みで、これもファイアーウォールの機能になります。
プロキシサーバはセキュリティ以外にも、一世代前のインターネットにおいて非常に重要な役割を担っていました。某巨大掲示板の規制から逃れる(串を刺す)ためではありません(わかった人は年がバレます)。

まずはプロキシサーバが何をしているかを説明していきます。

先ほど通信パケットにはIPアドレスの情報が記載されていると説明しましたが、パソコン1台毎のIPアドレスで直接インターネット空間を行き来するのは怖いです。複数のパソコンがあるような企業・団体でこれを解消するために設置されたのがプロキシサーバです。

各端末はインターネットに接続する際にまずはプロキシサーバに接続します。インターネットに出ていく際に、プロキシサーバは一時的に自分のアドレスを払い出して代わりに通信をしてあげます。
これにより直接的にパソコンの情報がインターネットに流れることを防ぐことができると同時に、インターネットへ接続している情報を管理することができ、フィルタリングの設定等が行えるメリットがあります。

またプロキシサーバはインターネットから返却された情報をキャッシュとして保持します。
同一ページにアクセスする場合、インターネットからではなくキャッシュにある情報からデータを取得するため、データの返却速度、つまりレスポンスが向上することになります。

セキュリティ上の役割と同時に、このキャッシュの仕組みこそが一昔前のインターネットで重要な仕組みだったのです。当時インターネット回線はいまのように速くなく、アナログ回線のダイアルアップ接続でした。そのため毎回毎回インターネットからデータを取得しにいくと非常にレスポンスが悪くなります。
個人利用であれば自身のPCのキャッシュにアクセスしますが、多数のPCがある企業・団体であれば全てのPCのインターネットキャッシュをプロキシサーバに溜めておくことでレスポンスの向上を狙っていたのです。

現在は回線速度が向上しただけではなく、当時と比べて動的コンテンツも増えたことでプロキシサーバを経由することで正しくアクセスできなくなったり、最新コンテンツを取得できなかったり、フィルタリングによってむしろ速度が遅くなったりと、レスポンス向上の役割は失われつつあります。
しかし個々のパソコンのIPを開示しないことによる通信の秘匿性確保や、Webフィルタリングのためのゲートウェイとしての役割は引き続き担っている場合があります。

スポンサーリンク

まとめ

ファイアーウォールは、危険な通信が多数あるインターネット空間で安全な通信のみをイントラネットに通すためにパケットフィルタリングやゲートウェイとして通信パケットの監視を行っています。

多数の機器が接続したり、外部に流出させてはいけないデータがある企業内イントラを通信レベルで守るために設置されてきたファイアーウォールですが、近年新しい機器に役割が移りつつあります。
その辺はまた次回お話していきたいと思います。

ネットワーク・インフラカテゴリの最新記事