ファイアウォール:パケットフィルタリングと次世代型
ステートレスパケットフィルタリング、ステートフルインスペクション、アプリケーション認識、IPS、SSLインスペクションを備えた次世代ファイアウォールを比較します。
「ファイアウォール:パケットフィルタリングと次世代型」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
ファイアウォールとは
ファイアウォールは、あらかじめ定義したルールに基づいて送受信トラフィックを監視・制御するネットワークセキュリティデバイス(ハードウェアまたはソフトウェア)です。ファイアウォールは、信頼できる内部ネットワークと信頼できない外部ネットワークの間に配置され、門番の役割を果たします。ファイアウォールは境界防御の基本的な制御手段ですが、暗号化されたチャネルや信頼済みゾーン内でのラテラルムーブメントを利用する現代の攻撃は、ファイアウォールだけでは不十分であり、他の防御層と組み合わせる必要があることを示しています。
パケットフィルタリングファイアウォール
パケットフィルタリングファイアウォール(ステートレスファイアウォールとも呼ばれます)は、送信元IP、宛先IP、送信元ポート、宛先ポート、プロトコルなどのヘッダーフィールドに基づき、各パケットを個別に検査します。そして、ACL(アクセス制御リスト)と呼ばれる単純な許可・拒否ルールを適用します。各パケットを独立して検査するため、パケットが確立済みセッションの一部かどうかを追跡できません。そのため、期待されるヘッダー値を偽造する攻撃や、複数パケットの脆弱性を悪用する攻撃に対して脆弱です。
# iptables packet filter example (Linux)
# Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Block inbound Telnet
iptables -A INPUT -p tcp --dport 23 -j DROP
# Allow SSH from specific subnet
iptables -A INPUT -p tcp -s 10.0.0.0/24 --dport 22 -j ACCEPTステートフルインスペクションファイアウォール
ステートフルインスペクションファイアウォールは、アクティブな接続を追跡するステートテーブルを保持します。パケットが到着すると、ファイアウォールはそのパケットがすでに確立されたセッションに属しているかどうかを確認します。これにより、明示的なルールがなくても戻りのトラフィックを自動的に通過させられます。ステートフルファイアウォールは、パケットフィルターよりもはるかに安全です。有効なセッションに属さないパケット(ステルススキャンで使用される未承諾のACKパケットなど)を検出し、接続単位のポリシーを適用できるためです。
# Example state table entries:
# ESTABLISHED: connection is in use
# RELATED: packet is related to existing connection (e.g. FTP data)
# NEW: first packet of a new connection
# INVALID: packet doesn't match any known state
# Check conntrack table on Linux
conntrack -L次世代ファイアウォール(NGFW)
次世代ファイアウォール(NGFW)は、ステートフルな追跡に加えて、ディープパケットインスペクションとアプリケーション認識機能を提供します。NGFWは、単にポートを見るのではなく、プロトコル解析や機械学習を使用して、トラフィックを生成しているアプリケーションを識別できます。NGFWの主な機能には、アプリケーション制御(ポートに関係なくDropboxをブロック)、ユーザーID連携(ADグループに紐付けたルール)、統合IPS、SSL/TLSインスペクションがあります。ベンダーとしては、Palo Alto Networks、Fortinet、Check Point、Cisco Firepowerなどがあります。
# NGFW capabilities:
# - Layer 7 application identification (App-ID)
# - User-ID (Active Directory integration)
# - Content-ID (URL filtering, malware scanning)
# - SSL decryption (forward proxy)
# - Integrated IPS signaturesファイアウォールルールとACLの順序
ファイアウォールルールは上から下の順序で評価され、最初に一致したルールが適用されます。そのため、より具体的なルールを、より一般的なルールより前に配置する必要があります。最下部にある暗黙のすべて拒否ルールは、明示的に許可されていないトラフィックをすべてブロックします。よくあるミスには、具体的な拒否ルールより前に広範な許可ルールを置くこと、シャドーイング(先行するルールが常に先に一致するため、決して一致しないルール)、そしてアプリケーションが必要とする戻りのトラフィックやICMPエラーメッセージの許可を忘れることがあります。
# Firewall ACL example (conceptual order matters):
# Rule 1: ALLOW TCP src ANY dst 10.0.1.5 dport 443
# Rule 2: DENY TCP src ANY dst 10.0.1.5 dport ANY
# Rule 3: ALLOW TCP src 10.0.0.0/8 dst ANY dport 22
# Rule 4: DENY ANY (implicit deny-all)
#
# If Rule 2 were placed before Rule 1, HTTPS would be blocked.Webアプリケーションファイアウォール(WAF)
WAF(Web Application Firewall)はレイヤー7で動作し、SQLインジェクション、XSS、CSRFなどの攻撃からWebアプリケーションを保護するために特化して設計されています。ネットワークトラフィックを広範に保護するNGFWとは異なり、WAFはHTTPとHTTPSのセマンティクスを理解し、URL、ヘッダー、Cookie、リクエストボディを検査します。WAFは、検知モード(ログに記録するがブロックしない)または防止モード(悪意のあるリクエストをブロック)で動作させることができます。AWS WAF、Cloudflare、Impervaは、一般的な商用ソリューションです。
# WAF rule example (pseudocode):
# Block requests with SQL injection patterns:
# URI or body contains: ' OR 1=1 --
# URI or body contains: UNION SELECT
# URI or body contains: ; DROP TABLE
#
# Block XSS patterns:
# URI or body contains: <script>
# URI or body contains: javascript:ファイアウォールでのSSL/TLSインスペクション
現在ではほとんどのトラフィックがHTTPSで暗号化されているため、脅威がTLSセッション内に隠れている可能性があります。SSL/TLSインスペクション(SSLインターセプションまたは復号とも呼ばれます)を使用すると、NGFWは中間者プロキシとして動作できます。ファイアウォールがクライアントのTLS接続を終端し、平文を検査してから、宛先に向けて再暗号化します。これにより、暗号化トンネル内のマルウェアスキャンやDLPが可能になります。ファイアウォールの証明書はクライアントから信頼される必要があり、通常はGroup Policyを通じて企業デバイスに配布されます。
# SSL inspection flow:
# Client -> [TLS session A: Client trusts FW cert] -> NGFW
# NGFW -> [TLS session B: NGFW validates server cert] -> Server
#
# The NGFW can now inspect plaintext between sessions A and B.
# Pinned-cert apps (banking, some OS updates) may break.ネットワークアーキテクチャにおけるファイアウォールの配置
ファイアウォールは、信頼境界に配置すると最も効果を発揮します。一般的な設計では、インターネットとDMZの間に境界ファイアウォールを、DMZと内部ネットワークの間に内部ファイアウォールを配置します。これにより、スクリーンドサブネットが形成され、外部公開サーバー(Web、メール)が分離されます。そのため、サーバーが侵害されても、攻撃者が内部システムに直接到達することはできません。現代の設計では、ラテラルムーブメントを制限するため、内部セグメント間にもファイアウォールを配置します。
# Three-zone firewall architecture:
# [Internet]
# |
# [Perimeter NGFW]
# |
# [DMZ: web servers, mail relay, DNS]
# |
# [Internal NGFW]
# |
# [Internal network: workstations, servers, databases]侵入検知システムと侵入防止システム
IDS(侵入検知システム)はトラフィックを監視し、疑わしいパターンを識別するとアラートを生成しますが、トラフィックをブロックすることはありません。IPS(侵入防止システム)はインラインに配置され、悪意のあるパケットをリアルタイムで破棄したり、接続をリセットしたりできます。現代のNGFWの多くには統合IPSが含まれています。検知方法には、既知の攻撃パターンと照合するシグネチャベースと、学習したベースラインからの逸脱を検出するアノマリーベースがあります。
# IDS/IPS placement options:
# NIDS (Network): monitors traffic on a network segment
# -> requires port mirroring (SPAN port) or network tap
# HIDS (Host): monitors system calls and file changes on a host
# -> example: OSSEC, Wazuh
# Inline IPS: traffic must pass through the device
# -> can block in real time but also becomes a bottleneck統合脅威管理(UTM)
UTM(Unified Threat Management)アプライアンスは、ファイアウォール、IPS、アンチウイルス、VPN、Webフィルタリング、場合によってはメールセキュリティなど、複数のセキュリティ機能を1台のデバイスに統合します。UTMは管理を簡素化し、コストを削減できるため、中小企業で広く利用されています。一方で、1台のアプライアンスが単一障害点となり、専用ソリューションほどの性能や機能の深さを提供できない可能性があります。企業環境では、UTMという用語はほぼNGFWに置き換えられています。
試験に向けたファイアウォールの種類の比較
Security+試験では、与えられたシナリオに適したファイアウォールの種類を選択する能力が問われます。パケットフィルタリングは高速ですがステートレスで、容易に回避されます。ステートフルインスペクションはセッションを追跡し、現代のネットワークにおける基本となります。NGFWは、アプリケーション認識、ユーザーID、統合IPSを追加するため、企業の境界に適しています。WAFは、レイヤー7のHTTPでWebアプリケーションを特に保護します。常に制御手段を脅威に適合させてください。WAFでポートスキャンを阻止することはできず、パケットフィルターでSQLインジェクションを阻止することもできません。
クイックチェック
このレッスンで扱ったCompTIA Security+(SY0-701)の概念について、理解度を確認しましょう。
レッスンのまとめ
このレッスンでは、パケットフィルタリングファイアウォールはステートレスで、ヘッダーフィールドだけを使って各パケットを評価すること、ステートフルファイアウォールは接続状態を追跡して戻りのトラフィックを許可し、異常なパケットを検出すること、そして次世代ファイアウォールはアプリケーション認識、ユーザーID、統合IPSを追加して、より詳細な検査を行うことを学びました。次は、ネットワークセグメンテーションとVLANについて学びます。
よくある質問
「ファイアウォール:パケットフィルタリングと次世代型」レッスンは無料ですか?
はい。「ファイアウォール:パケットフィルタリングと次世代型」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「ファイアウォール:パケットフィルタリングと次世代型」で何を学びますか?
ステートレスパケットフィルタリング、ステートフルインスペクション、アプリケーション認識、IPS、SSLインスペクションを備えた次世代ファイアウォールを比較します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ファイアウォール:パケットフィルタリングと次世代型」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- TCP/IPモデルと一般的なポート
- ファイアウォール:パケットフィルタリングと次世代型
- ネットワークセグメンテーションとVLAN
- 一般的なネットワーク攻撃:DoS、スプーフィング、MITM