PR

ファイアウォールとは?初心者向けにわかりやすく3分で解説

IT-Skills

ファイアウォールとは、コンピュータネットワークのガードマンのような役割を果たすシステムのことです。超・ざっくり言えば「危険な通信を遮断することで、ウイルスなどの脅威から守ります!」という役割を担うのがファイアウォールです。

ファイアウォールとは
図1:ファイアウォール

インターネット上からの不正なアクセスを防ぐことは勿論、内部からの許可されていない通信をシャットダウンする役割も同時に担うことが一般的です。

ファイアウォールは、許可された通信と不正な通信を区別するために特定のルールやポリシーを必要とします。これらのルールは、組織や個人のセキュリティ要件に応じてカスタマイズすることが可能で、特定のIPアドレスポート番号プロトコル、アプリケーションなどに対するアクセス制御を行うことができます。

またファイアウォールと一言にいっても、その仕組みや種類によって多種多様です。そのため、結局ファイアウォールの実体が良くわからない人が多いのだと思います。

このページではファイアウォールの基本知識を網羅的にわかりやすく解説します。

このページで学べる内容
  • ファイアウォールとは?
    • ファイアウォールの歴史と発展
    • ファイアウォールが必要な理由
  • ファイアウォールの種類
    • ハードウェアファイアウォール
    • ソフトウェアファイアウォール
    • クラウドベースのファイアウォール
  • ファイアウォールの仕組み
    • パケットフィルタリング
    • ステートフルインスペクション
    • アプリケーション層ファイアウォール
  • ファイアウォールの設定と管理

ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。

スポンサーリンク

ファイアウォールとは?

ファイアウォールとは、コンピュータネットワークのセキュリティを高めるために設計されたシステムであり、外部からの不正アクセスやウイルス、マルウェアなどの脅威からネットワーク内のデバイスを保護する役割を担います。

ファイアウォールは、コンピュータネットワークの歴史と発展に伴ってその技術も進化してきました。

簡単にファイアウォールの歴史と発展を整理してみました↓

世代時期特徴
初期ファイアウォール1980年代後半~1990年代初頭・パケットフィルタリングによる通信制御
・IPアドレスとポート番号を基にしたルールによる不正アクセスのブロック
ステートフルインスペクションファイアウォール1990年代中頃・通信の状態(ステート)を追跡してセッションごとにルールを適用
・より効率的な通信制御とセキュリティ強化
アプリケーションレベルファイアウォール1990年代後半・特定のアプリケーションを通じた通信の制御
・アプリケーションの挙動やプロトコルを解析して不正なアクセスを検出・ブロック
次世代ファイアウォール(NGFW)2000年代~現在・インテリジェントなアプリケーション制御
・統合された侵入防御システム(IDS)/侵入防止システム(IPS)
・高度なマルウェア対策とサンドボックス技術
・ユーザー認証とアクセス制御機能

ご覧のように、ファイアウォールと一言で言っても発展とともに様々な種類があることが分かるかと思います。

が、基本的な思想はどの時代も同じで「危険にさらすのは、特定のサーバやルータに限定する」ということ。つまり、セキュリティ的に外部からの脅威にさらされてOKなものとそうでないものを区別し、外部からの脅威にさらされるサーバやルータに対して集中的にセキュリティを強化するという考え方です。

ここからは具体的にファイアウォールの仕組みを見ていきながら、より詳細にファイアウォールについてご説明します。

パケットフィルタリング型ファイアウォール

初期のファイアウォールは「パケットフィルタリング型」と呼ばれるタイプのファイアウォールです。

パケットフィルタリング型ファイアウォールは、ネットワーク上で送受信されるデータパケットを検査し、設定されたルールに基づいてパケットを許可または拒否します。

主にIPアドレス、ポート番号、およびプロトコル(TCP、UDP、ICMPなど)を基に、送信元と宛先に対してアクセス制御を行います。

参考 通信プロトコルとは?TCP / UDP / ICMP

パケットフィルタリング型ファイアウォールの設定は、主にアクセス制御リスト(ACL)と呼ばれるルールセットに基づいて行われます。例えば、ある企業の内部ネットワークがあり、その企業は次のようなセキュリティポリシーを適用したいとします。

例)セキュリティポリシー
  • 企業内部からインターネットへのアクセスは許可する。
  • インターネットからの不要なアクセスはすべて拒否する。

この場合、次のようなパケットフィルタリング型ファイアウォールの設定が考えられます。

#アクション送信元IPアドレス送信元ポート宛先IPアドレス宛先ポートプロトコル説明
1許可192.168.0.0/16任意任意任意任意企業内部からインターネットへの送信を許可
2許可任意任意192.168.0.0/16任意任意インターネットから企業内部への応答を許可
3拒否任意任意192.168.0.0/1623TCPインターネットから企業内部へのTelnetアクセスを拒否
4拒否任意任意192.168.0.0/163389TCPインターネットから企業内部へのRDPアクセスを拒否
5拒否任意任意192.168.0.0/16任意任意それ以外のインターネットから企業内部へのアクセスを拒否
アクセス制御リスト(ACL)のイメージ

例えばNo.4に着目すると、インターネット側から企業内部へのRDP(リモートデスクトップ接続)の通信を拒否していることが分かります。つまり、この企業では外部からリモートデスクトップを一切拒否することによってRDP関連の脅威からネットワークを守っていると言えます。

上記の設定はあくまで一例ですが、このような設定を細かく行うことで各個人・各企業で独自のセキュリティ網を構築することが可能だということがわかるでしょう。

実際の環境では、より多くのルールや細かい設定が必要になることがありますが、これは基本的なアクセス制御リストのイメージです。

【特徴と限界】パケットフィルタリング型ファイアウォール

パケットフィルタリング型ファイアウォールの特徴と限界を整理すると以下の通りになります。

パケットフィルタリング型ファイアウォールの特徴
  • シンプルで効率的
    パケットフィルタリング型ファイアウォールは比較的シンプルな構造で、ルールが簡単に設定できるため、実装と管理が簡単。
  • リソース消費が少ない
    パケットの表層的な情報のみを検査するため、処理速度が速く、リソースの消費が少ないという特徴があります。
パケットフィルタリング型ファイアウォールの限界
  • ステートレス性
    パケットフィルタリング型ファイアウォールは、通信の状態(ステート)を追跡せず、各パケットを個別に判断します。そのため、通信の文脈に基づくセキュリティ判断ができません。
  • 深い検査ができない
    パケットの表層的な情報(ヘッダ)のみを検査するため、ペイロード(データ部分)に含まれるマルウェアや攻撃パターンを検出することができません。
  • 複雑な攻撃に対処できない
    より高度な攻撃手法やアプリケーションレベルでの攻撃には、パケットフィルタリング型ファイアウォールだけでは対処が難しい場合があります。

要約すると、シンプルで分かりやすい。しかし、その分複雑な通信制御ができないというのがパケットフィルタリング型ファイアウォールのポイントです。

例えば、パケットフィルタリング型ファイアウォールでは、特定のIPアドレスからの通信のみを許可する設定を行ったとしても、もしIPアドレス自体が偽装されその中身のデータにウイルスが潜んでいれば、この脅威を防ぐことはできないのです。

他にもパケットフィルタリング型のファイアウォールでは防げない脅威が徐々に表れてくると、それを克服するために後続のファイアウォール技術(ステートフルインスペクションアプリケーションレベル次世代ファイアウォール)が開発されることになります。

ここからは、次のステップ:ステートフルインスペクション型ファイアウォールについて解説します。

ステートフルインスペクション型ファイアウォール

ステートフルインスペクション型ファイアウォールは、パケットフィルタリング型ファイアウォールの限界を克服するために開発された技術です。

主な特徴は次のとおり。

ステートフルインスペクション型ファイアウォールの特徴
  • 通信の状態(ステート)の追跡
    ステートフルインスペクション型ファイアウォールは、各通信セッションの状態を追跡し、それに基づいてセキュリティ判断を行います。これにより、通信の文脈を考慮したより効果的なアクセス制御が可能になる。
  • セッションテーブルの活用
    通信セッションの情報はセッションテーブルに格納され、ファイアウォールはこのテーブルを参照してパケットの許可・拒否を判断します。これにより、パケットフィルタリング型ファイアウォールよりも高速かつ効率的な処理が実現されます。

ポイントは、ステートセッションです。

ステート(状態)
特定の通信に関連する情報や現在の状態を指します。例えば、通信の開始、データの送受信中、通信の終了などを示すのがステート。

セッション
特定の送信元と宛先間で行われる一連の通信のやりとりを指します。セッションは、通信の開始(接続確立)、データの送受信、および通信の終了(接続解除)のプロセスで構成されます。

実際のステートフルインスペクション型ファイアウォールの設定内容は、以下のような要素を含むことが一般的です。

  • アクセス制御リスト(ACL)
    パケットフィルタリング型ファイアウォールと同様に、送信元IPアドレス、宛先IPアドレス、プロトコル、およびポート番号に関する情報を含むアクセス制御リストが設定されます。
  • ステートフルルール
    通信セッションの状態に基づいてアクセス制御を行うルールが設定されます。例えば、新規接続の許可、既存接続の継続許可、および不要なセッションの終了などが含まれます。
  • タイムアウト設定
    セッションのタイムアウト値を設定します。これは、一定時間無通信のセッションを自動的に終了し、セッションテーブルのリソースを解放するために使用されます。
  • ロギングおよびアラート
    重要なイベントやアラートを記録し、管理者に通知する設定があります。これにより、セキュリティ監視やインシデント対応が容易になります。
#アクション送信元IPアドレス送信元ポート宛先IPアドレス宛先ポートプロトコル状態説明
1許可192.168.0.0/16任意任意任意任意新規または既存企業内部からの初期または確立された接続を許可
2許可任意任意192.168.0.0/16任意任意既存の応答企業内部へのインターネットからの応答を許可
3拒否任意任意192.168.0.0/1623TCP新規インターネットからの新規Telnetアクセスを拒否
4拒否任意任意192.168.0.0/163389TCP新規インターネットからの新規RDPアクセスを拒否
5拒否任意任意192.168.0.0/16任意任意新規それ以外の新規インターネット接続を拒否
ステートフルインスペクション型ファイアウォールにおけるAOLのイメージ

要するに、パケットフィルタリング型ファイアウォールの特徴に加えて、その接続状態(新規?継続?)の判定+セッションのタイムアウトの制御を行うのがステートフルインスペクション型ファイアウォール。

これに加えて、行われた通信の記録(ロギング)やアラート発生時のメール通知などの機能を備えていることが特徴です。

ただし、ステートフルインスペクション型ファイアウォールにも限界があります。それが、通信の中身までを確認することができないという点です。通信の中身まで確認することができない→例えばメールに添付されたウイルスファイルなどを検知することができません。

いくらメール送受信にリスクがあるからと言えど、メールの送受信を不許可にすることは現実的ではありませんよね。そこで新たに生み出されたのがアプリケーションレベルファイアウォールです。

アプリケーションレベルファイアウォール

アプリケーションレベルファイアウォール(またはプロキシベースファイアウォール)は、ネットワーク層やトランスポート層でのフィルタリングに加えて、アプリケーション層でのフィルタリングも行うファイアウォールのタイプです。

参考 OSI参照モデル(ネットワーク層/トランスポート層/アプリケーション層)

アプリケーションレベルファイアウォールは、特定のアプリケーションやプロトコルに対する深い検査(ディープパケットインスペクション)を行い、通信の内容や振る舞いに基づいてアクセス制御を行うことが可能です。

具体的にアプリケーションレベルファイアウォールの特徴を示すと以下の通りです。

  1. アプリケーション層の監視
    • アプリケーションレベルファイアウォールは、HTTP/HTTPSFTPなどのアプリケーションプロトコルのトラフィックを解析。
    • パケットの内容を深く検査し、特定のアプリケーションやサービスに関連するトラフィックを特定可能。
  2. 詳細なコンテンツフィルタリング
    • 不正なコマンド、マルウェア、スパムなど、不正なコンテンツを含むパケットを特定し、ブロック。
    • アプリケーションの特定の機能や動作を許可または拒否する詳細なポリシーを設定可能
  3. セキュリティの強化
    • アプリケーション層の攻撃、例えばSQLインジェクションやクロスサイトスクリプティング(XSS)などに対する保護を提供。
    • ユーザーの認証とアクセス制御を強化し、アプリケーションへの不正アクセスを防ぐ。
  4. ログと監査
    • トランザクションレベルでの詳細なログ記録を提供し、セキュリティ監査や法的要件に対応。
    • 通過するトラフィックの詳細な分析とレポーティング機能を備える。

アプリケーションレベルファイアウォールは、特にアプリケーション層での攻撃に対して強力な保護を提供し、企業のセキュリティインフラストラクチャの重要な部分となります。しかし、その設定と管理には高度な専門知識と注意が必要になります。非常に簡単ではありますが、アプリケーションレベルファイアウォールではどのような設定が行われるのかを例示しておきます。

  1. Webアプリケーションの保護
    • 目的: Webサーバーへの攻撃を防ぐ。
    • 設定:
      • HTTP/HTTPSトラフィックのみを許可。
      • SQLインジェクションやXSS攻撃のパターンに基づくフィルタリングを有効化。
      • 不正な入力値や不審なURLアクセスをブロック。
  2. メールサーバーの保護
    • 目的: スパムやフィッシング攻撃からメールサーバーを守る。
    • 設定:
      • SMTP、IMAP、POP3プロトコルのトラフィックのみを許可。
      • メールコンテンツ内の不審なリンクや添付ファイルをスキャンし、ブロック。
  3. FTPサービスの制御
    • 目的: FTPを通じた不正なファイル転送を防ぐ。
    • 設定:
      • FTPトラフィックのみを許可。
      • 不正なファイル形式や異常なファイルサイズの転送を検知し、ブロック。
  4. APIエンドポイントのセキュリティ
    • 目的: 外部APIエンドポイントへの不正アクセスを防ぐ。
    • 設定:
      • 特定のAPIエンドポイントへのアクセスを特定のIPアドレス範囲に限定。
      • APIリクエストのレートリミットを設定。

参考 APIとは?

↑の設定例は、アプリケーションレベルファイアウォールの適用範囲と機能を示していますが、実際の設定は、会社や個人における特定のニーズとセキュリティポリシーに合わせて調整されます。。

再掲:ファイアウォールの種類(歴史と発展)

世代時期特徴
初期ファイアウォール1980年代後半~1990年代初頭・パケットフィルタリングによる通信制御
・IPアドレスとポート番号を基にしたルールによる不正アクセスのブロック
ステートフルインスペクションファイアウォール1990年代中頃・通信の状態(ステート)を追跡してセッションごとにルールを適用
・より効率的な通信制御とセキュリティ強化
アプリケーションレベルファイアウォール1990年代後半・特定のアプリケーションを通じた通信の制御
・アプリケーションの挙動やプロトコルを解析して不正なアクセスを検出・ブロック
次世代ファイアウォール(NGFW)2000年代~現在・インテリジェントなアプリケーション制御
・統合された侵入防御システム(IDS)/侵入防止システム(IPS)
・高度なマルウェア対策とサンドボックス技術
・ユーザー認証とアクセス制御機能

ファイアウォールの種類

ここまででファイアウォールの仕組みをいくつかのタイプに分類して解説してきました。

最後にこの章ではファイアウォールのいくつかの製品をご紹介します。

ファイアウォールには主にハードウェアファイアウォール、ソフトウェアファイアウォール、クラウドベースのファイアウォールの3つの種類があります。

項目ハードウェアファイアウォールソフトウェアファイアウォールクラウドベースのファイアウォール
形態専用機器コンピュータ上で動作するプログラムクラウドサービス上で提供されるファイアウォール
導入・設定専門知識が必要であることが多いインストール・設定が比較的簡単設定が容易で、リモート管理が可能
パフォーマンス高速で安定した処理能力コンピュータのリソースに依存するため、処理速度に影響があるクラウドのリソースにより、スケーラビリティが高い
価格初期投資が高いことが多い低価格または無料で利用できることが多いサブスクリプション料金がかかるが、初期投資が低い
更新・メンテナンスメーカーが提供するファームウェアを定期的に更新する必要があるアプリケーションのアップデートが必要サービスプロバイダーが自動的に更新・メンテナンスを行う
対象環境企業ネットワークやデータセンターなどの大規模な環境個人利用や小規模なビジネス環境企業規模を問わず、インターネット接続があれば利用可能

ハードウェアファイアウォールは専用機器で、高速で安定した処理能力が特徴ですが、初期投資が高いことが多いです(例: Cisco ASA シリーズ)。

ソフトウェアファイアウォールはコンピュータ上で動作するプログラムで、低価格または無料で利用できることが多いものの、コンピュータのリソースに依存するため処理速度に影響がある場合があります(例: Windowsファイアウォール、ZoneAlarm)。

クラウドベースのファイアウォールはクラウドサービス上で提供され、スケーラビリティが高くリモート管理が可能ですが、サブスクリプション料金がかかります(例: Zscaler、Barracuda CloudGen Firewall)。

それぞれの種類には独自の特徴と違いがあり、組織やネットワーク環境に合わせて最適なファイアウォールを選択することが重要です。

ネットワークエンジニアを目指したい方は

TCPをはじめとして、ネットワークの基礎を1から学びたい方はこちらの書籍を購入してがっつり学びましょう!

さくっと手軽に読める内容ではないのですが、ネットワークエンジニア全員が必ず読破している本と言っても過言ではありません。是非この機会にチャレンジしてみてみましょう。

blank
インターネットのプロトコルTCP/IP入門書の決定版!

また、ファイアウォールを学んだあなたは、ネットワークの基本概念に興味を持っているかもしれません。

これを機に、ネットワーク全体についてもっと学びませんか?以下の記事では、初心者でも理解できるようにネットワークの世界を1からわかりやすく解説しています。さらなる知識を手に入れて、ネットワークのプロフェッショナルへの道を歩み始めましょう!こちらの記事をチェックしてみてください。

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
IT-SkillsNetwork
シェアする
ビズドットオンラインをフォローする
タイトルとURLをコピーしました