ファイアウォールの解説(基本情報技術者シラバス用語)

目次

ファイアウォールとは

ファイアウォールとは、ネットワークの境界に設置され、外部からの不正なアクセスを防ぐためのセキュリティシステムです。日本語では「防火壁」と訳され、火災の延焼を防ぐ壁のように、外部ネットワークからの危険な通信(火)が内部のネットワークに侵入するのを遮断する役割を持っています。

ファイアウォールは、通過しようとする通信の「送信元のアドレス」や「送信先のポート番号」といったヘッダ情報をチェックし、あらかじめ設定されたルール(パケットフィルタリングルール)に基づいて、その通信を通して良いか(許可)、あるいは捨てるべきか(拒否)を判断します。これにより、インターネットなどの危険な外部環境から、社内LANなどの安全な内部環境を守ることができます。ただし、通信の「中身(データ本体)」まで深く検査することはできないため、ウイルスが仕込まれたメールやWebサイト経由の攻撃を防ぐには、別のセキュリティ対策が必要となります。

具体例

ある会社で、外部のインターネットから社内のファイルサーバーへの直接アクセスを全面的に禁止するルールをファイアウォールに設定する例が挙げられます。

【設定ルールの例】
・送信元: インターネット(外部)
・送信先: 社内ファイルサーバー(内部)
・動作: 拒否(Block)
・送信元: 社内LAN(内部)
・送信先: インターネット(外部)
・動作: 許可(Allow)

もう少し詳しく

ファイアウォールの基本機能は、ネットワーク層やトランスポート層のヘッダ情報(送信元・送信先IPアドレス、ポート番号、プロトコル)を検査する「パケットフィルタリング」です。これには、各パケットを個別に判断する「静的パケットフィルタリング」と、通信のセッション状態を追跡して動的にポートの開閉を行う「ステートフルパケットフィルタリング」があります。

静的パケットフィルタリングでは、戻りの通信を許可するために常に双方向のポートを開けておく必要がありますが、これはセキュリティホールになり得ます。これに対してステートフルパケットフィルタリングは、内部から開始された通信セッション(SYN/ACKのやり取りなど)を監視し、そのセッションに対応する戻りパケットのみを動的に通過させるため、不要なポートを開放し続ける必要がなく、安全性が大幅に高まります。

さらに高度なものとして、アプリケーション層のプロトコル(HTTPやFTPなど)を解釈し、通信を中継・代行する「アプリケーションゲートウェイ型(プロキシサーバー型)」のファイアウォールもあり、内部のクライアントのIPアドレスを外部から隠蔽する機能も持っています。

試験でのポイント

試験では、ファイアウォールの設定ルール(フィルタリングルール)の順序による動作の違いがよく出題されます。ルールは上から順に適用されるため、記述の順番を誤ると、意図しない通信が許可されたり拒否されたりします。一般的には「基本はすべて拒否(Default Deny)」とし、必要な通信のみを明示的に許可するルールを上に記述します。

また、ファイアウォールが検査できる範囲の限界についても問われます。ファイアウォールは主にIPアドレスやポート番号に基づいたアクセス制御を行うため、正常なHTTP通信(ポート80/443)の中に紛れ込んだWebアプリケーション層への攻撃(SQLインジェクションなど)や、暗号化された通信の内部にあるウイルス感染ファイルのダウンロードを防ぐことはできない点に注意が必要です。

関連する用語

関連する用語には、特定のアプリケーションを狙った攻撃を防ぐ「WAF(Web Application Firewall)」や、インターネットと社内ネットワークの間に設置する「DMZ(非武装地帯)」、内部から外部へのWebアクセスを中継してWebサイトのキャッシュやフィルタリングを行う「プロキシサーバー」があります。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ