今日は「ファイアウォール」のお話です。
現在、皆さんが使用できるWindowsにはファイアウォール機能が標準で入っています。
このファイアウォールって何なのでしょう??
ネットワークには、大きく分けて「信頼できるネットワーク」と「信頼できないネットワーク」の2つがあります。
ファイアウォールは「信頼できるネットワーク」と「信頼できないネットワーク」のアクセスを制御するために使われる機器、もしくはソフトウェアなんです。
具体的には、社内や宅内のネットワーク(信頼できるネットワーク)とインターネット(信頼できないネットワーク)の間を出入りするパケットを監視し、決められたルールを基にパケットを通過させたり破棄したりします。
このルールは、ネットワークをどのように運用したいかという、ユーザーの「ポリシー」(ルール)を反映したものとなります。
ファイアウォールを導入すれば、外部の攻撃から社内ネットワークを守り、セキュリティを大幅に高めることができます。
しかし、ファイアウォールだけで全ての攻撃を完全に防げるわけではありません。
例えば、メールなどを使ったコンピュータウイルスの侵入や、ファイアウォールをバイパスするコネクション、未知の脅威、内部的な脅威などを全て保護することはできません。
ところで「パケット」という言葉、聞いたことありませんか??
携帯電話やスマートフォン、タブレットなどを携帯通信事業者で利用する場合、よくパケットという言葉を使いますよね。
ネットワーク上を流れるデータは「パケット」と呼ばれる単位に分割され送信されるんです。
パケットには、下記4つのの情報が含まれています。
送信元のIPアドレス
送信元のポート
送信先のIPアドレス
送信先のポート
さて、ファイアウォールには「パケットフィルタリング型」と「アプリケーションゲートウェイ型」と「サーキットゲートウェイ型」があります。
ほかにもありますが、今回は代表的な仕組みで説明をします。
「パケットフィルタリング型」は、先に記載したパケットの含まれる情報を基に、通信データを通過させるかどうかを判断します。
これによって、特定のデータだけを通すことができ、外部から流れてくる不要なデータを遮断したり、内部からのデータの漏えいを防いだりすることができるんです。
「パケットフィルタリング型」は、非常にシンプルなので高速な処理を期待できますが、ルールの定義が煩雑になりやすいのが問題となります。
「アプリケーションゲートウェイ型」は、通信を中継するプロキシプログラムを使用することで、社内ネットワークとインターネットを切り離します。
例えば、社内や宅内から外部のWebサーバにアクセスする場合、自動的にHTTPプロキシプログラムが起動され、ユーザーの代わりに外部にある目的のWebサーバへと通信を中継します。
これにより、社内のマシンは外部と直接接続することがなくなり、セキュリティ的に安全にWebサービスを利用することができます。
名前の如く、アプリケーションプロトコルごとに個別のゲートウェイプログラムが必要となります。
例えば、先ほどの例のように、HTTPプロトコルの中継を実現するためには、HTTPプロトコルを解釈できるプロキシサーバが必要であり、FTPプロトコルには、FTPプロトコルを解釈できるプロキシが必要となります。
つまり、新しいアプリケーションが登場した場合、対応したプロキシプログラムが用意できるまで、ユーザーはそのアプリケーションを使用できないということになります。
また、アプリケーションゲートウェイ型は、パケットフィルタリング型に比べると処理速度が遅いといわれることがあるのですが、実用上は、ほとんど問題はありません。
「サーキットゲートウェイ型」は、ネットワークへの要求をサーキットレベルで中継するファイアウォールです。
これはトランスポート層のファイアウォールであり、クライアントから出されたTCP/UDPのコネクション要求を、ファイアウォール上のゲートウェイが受け、目的のホストに向けて改めてTCP/UDPのコネクション要求を出します。
セッション状態を認識した上でアクセス制御ができることや、ルールの設定が簡単というのが利点ですが、クライアントアプリケーションやユーザー操作の変更が必要な場合があるので注意が必要です。
このように、ファイアウォールにもさまざまなタイプが存在します。
また、複数のタイプを組み合わせ、特定の設定や複数の設定が可能であるファイアウォールが主流となっています。
ファイアウォールは、社内や宅内ネットワークとインターネットの間に設置されるのが一般的です。
しかし、Webサーバやメールサーバなどの公開サーバを持っている場合、大きく分けて3つの設置方法が考えられます。
1つ目は、公開サーバを含む全ての社内ネットワークをファイアウォールの内側に置く方法です。
これには社内からの公開サーバへのアクセスが簡単になるというメリットがありますが、公開サーバへの悪意ある侵入が、社内ネットワーク全体に及ぶ危険性もあります。
2つ目は、公開サーバのみをファイアウォールの外側に置く方法です。
この場合、公開サーバに侵入されても、社内ネットワークへの影響はないのですが、公開サーバのセキュリティ設定には十分注意する必要があります。
そして3つ目。
ファイアウォールで二つのネットワークのセグメントを管理する方法で、現在多くの企業が採用している最も一般的な方法です。
つまり、公開サーバと社内サーバの両方をファイアウォールで守る方法である。
この公開サーバを設置する場所を「DMZ(非武装地帯)」と呼びます。
ファイアウォールの管理が煩雑になるというデメリットがあるものの、公開サーバを内側に置く場合と外側に置く場合の問題を全て解消することができます。
ファイアウォールが「信頼できないネットワーク」から「信頼できるネットワーク」を守る最初の砦になることは間違いありません。
また、マルウェア、アンチウイルス、アンチスパムなどの防御機能を併せ持ったファイアウォールも存在します。
万全なセキュリティには、ポイントソリューションではなく、さまざまなセキュリティ対策ソリューションを組み合わせたトータルセキュリティソリューション、多層防御が必要となります。