{"schema":"article/1","id":"art_de9a5e0ed4","owner":"u_owner","status":"published","visibility":"public","version":1,"title":"ファイアウォールは、パケット 1 つではなく往復を見る","rawTitle":"ファイアウォールは、パケット 1 つではなく往復を見る","slug":"nw-basics-22-firewall","file":"ネットワーク_22_ファイアウォール","relPath":"content/published/ネットワーク_22_ファイアウォール.md","aliases":[],"kind":"published","area":"tech","topic":"ネットワーク","category":"ネットワーク","tags":["ネットワーク","ファイアウォール","セキュリティ","concept"],"summary":"帰りを通す行を人が書いていないのに返事が返ってくる理由を、接続状態テーブルと ACL の判定順として 1 枚の図で見る","date":"2026-09-14","updated":"2026-09-14","links":["nw-basics-index","nw-basics-00-three-layers","nw-basics-21-sdn","nw-basics-23-remote-access-vpn","nw-basics-05-static-route","nw-basics-09-acl"],"blocks":[{"id":"blk_667221","type":"paragraph","markdown":"勉強会では、ルータの代わりにファイアウォールを 1 台置いて、社内から外へ通信を出しました。\n図 9 の ACL は、パケット 1 つごとに行を上から見て、通す・通さないを決める仕組みでした。\nそれだけなら、行きを通す行と帰りを通す行の両方を人が書くことになります。\nところが帰りの行を書かなくても、返事は返ってきました。\nこの記事は、その差がどこから来るのかを 1 枚の図で見ます。","text":"勉強会では、ルータの代わりにファイアウォールを 1 台置いて、社内から外へ通信を出しました。\n図 9 の ACL は、パケット 1 つごとに行を上から見て、通す・通さないを決める仕組みでした。\nそれだけなら、行きを通す行と帰りを通す行の両方を人が書くことになります。\nところが帰りの行を書かなくても、返事は返ってきました。\nこの記事は、その差がどこから来るのかを 1 枚の図で見ます。","line":2,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_c03b50","type":"paragraph","markdown":"扱うのは、製品としてのファイアウォールの設定のやり方ではなく、通過の可否を決める仕組みの側です。\nCCNA 200-301 v1.1 の出題範囲でいえば 1.1.c「Next-generation firewalls and IPS」にあたります。\n裏取りに使った資料が Cisco のファイアウォール製品のものなので、機能の名前はその呼び方で出てきます。","text":"扱うのは、製品としてのファイアウォールの設定のやり方ではなく、通過の可否を決める仕組みの側です。\nCCNA 200-301 v1.1 の出題範囲でいえば 1.1.c「Next-generation firewalls and IPS」にあたります。\n裏取りに使った資料が Cisco のファイアウォール製品のものなので、機能の名前はその呼び方で出てきます。","line":8,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_bb713c","type":"paragraph","markdown":"この連載は、ネットワークの言葉を 3 つの層に置いて読みます。\nもの（物理か論理か）、結びつき（人が設定で付ける手動か、機器が学習する自動か、製造時に決まる固定か）、通信フロー（1 本の通信がそれらを順に通る道筋）の 3 つです。","text":"この連載は、ネットワークの言葉を 3 つの層に置いて読みます。\nもの（物理か論理か）、結びつき（人が設定で付ける手動か、機器が学習する自動か、製造時に決まる固定か）、通信フロー（1 本の通信がそれらを順に通る道筋）の 3 つです。","line":12,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_34ba84","type":"heading","depth":2,"markdown":"## 登場するもの","text":"登場するもの","line":15,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_1c3444","type":"heading","depth":4,"markdown":"#### ファイアウォール","text":"ファイアウォール","line":17,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_96f54b","type":"paragraph","markdown":"物理の箱です。\nルータと同じく IP を見て、別のネットワークへ渡します。\n違うのは既定の答えで、外から中への新しい通信は通しません。","text":"物理の箱です。\nルータと同じく IP を見て、別のネットワークへ渡します。\n違うのは既定の答えで、外から中への新しい通信は通しません。","line":19,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_b7aea3","type":"heading","depth":4,"markdown":"#### セキュリティレベル","text":"セキュリティレベル","line":23,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_b00ffb","type":"paragraph","markdown":"口ごとに付ける 0〜100 の数値です（論理・手動）。\n内側を 100、外側を 0 にします。\nACL を書かないときの既定の答えにあたり、口に ACL を付ければそちらが優先します。","text":"口ごとに付ける 0〜100 の数値です（論理・手動）。\n内側を 100、外側を 0 にします。\nACL を書かないときの既定の答えにあたり、口に ACL を付ければそちらが優先します。","line":25,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_9b1ebb","type":"heading","depth":4,"markdown":"#### 接続状態テーブル","text":"接続状態テーブル","line":29,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_2a3e35","type":"paragraph","markdown":"通った通信 1 本につき 1 行できる表です（論理・自動）。\n行の中身は、両端の IP とポート番号、そしてプロトコルです。\n人は 1 行も書きません。","text":"通った通信 1 本につき 1 行できる表です（論理・自動）。\n行の中身は、両端の IP とポート番号、そしてプロトコルです。\n人は 1 行も書きません。","line":31,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_118c7a","type":"heading","depth":2,"markdown":"## 結びつき","text":"結びつき","line":35,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_3dee31","type":"list","markdown":"- 口 ⇄ セキュリティレベル、口 ⇄ ACL は、どちらも手動です。人が設定します。\n- 接続状態テーブルの行 ⇄ 実際に通った通信は自動です。図 9 の ACL は全部手で書いたので、ここが対照になります。","text":"口 ⇄ セキュリティレベル、口 ⇄ ACL は、どちらも手動です。人が設定します。接続状態テーブルの行 ⇄ 実際に通った通信は自動です。図 9 の ACL は全部手で書いたので、ここが対照になります。","line":37,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_57848d","type":"heading","depth":2,"markdown":"## 通す・通さないが決まる順","text":"通す・通さないが決まる順","line":40,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_482e4a","type":"paragraph","markdown":"先に接続状態テーブルを引き、ACL の判定はその後です。\n表に行があれば、以降の判定を飛ばして通します。これがステートフルインスペクションです。\n行が無い通信だけがセキュリティレベルと ACL の判定に進み、そこを通れば表に 1 行できます。\nデータの中身まで見るアプリケーションインスペクションは、さらにその後です。\nどの通信の中身を見るかは人が決め、見た結果どの穴を開けるかは自動です。","text":"先に接続状態テーブルを引き、ACL の判定はその後です。\n表に行があれば、以降の判定を飛ばして通します。これがステートフルインスペクションです。\n行が無い通信だけがセキュリティレベルと ACL の判定に進み、そこを通れば表に 1 行できます。\nデータの中身まで見るアプリケーションインスペクションは、さらにその後です。\nどの通信の中身を見るかは人が決め、見た結果どの穴を開けるかは自動です。","line":42,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_f737f3","type":"paragraph","markdown":"資料では、パケットの処理は 11 段に分かれ、3 段目が接続テーブルの確認、4 段目が ACL、6 段目がインスペクションです。\n3 段目で既存の接続に一致すると、ACL の判定は飛ばされます。","text":"資料では、パケットの処理は 11 段に分かれ、3 段目が接続テーブルの確認、4 段目が ACL、6 段目がインスペクションです。\n3 段目で既存の接続に一致すると、ACL の判定は飛ばされます。","line":48,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_df21fc","type":"heading","depth":2,"markdown":"## 通信フロー","text":"通信フロー","line":51,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_9e1cb0","type":"paragraph","markdown":"支店の PC-A（192.168.10.10）から、外のウェブサーバ（192.0.2.50 の TCP 80 番）へつなぎに行きます。","text":"支店の PC-A（192.168.10.10）から、外のウェブサーバ（192.0.2.50 の TCP 80 番）へつなぎに行きます。","line":53,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_4dbb3e","type":"paragraph","markdown":"① 表を引いても行が無いので、向き（内側 100 → 外側 0）と ACL の判定へ進み、通ります。通ったときに、表へ 1 行できます。","text":"① 表を引いても行が無いので、向き（内側 100 → 外側 0）と ACL の判定へ進み、通ります。通ったときに、表へ 1 行できます。","line":55,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_fcdafb","type":"paragraph","markdown":"② 返事が外側に届きます。表に行があるので、向きの判定に進む前に通ります。ここが図 9 の ACL には無い判断です。","text":"② 返事が外側に届きます。表に行があるので、向きの判定に進む前に通ります。ここが図 9 の ACL には無い判断です。","line":57,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_3e08fa","type":"paragraph","markdown":"③ 外から新しく始まった通信は、表に行が無いので向きと ACL の判定へ進み、そこで止まります。外から受けたいものがあれば、ACL に行を書いて開けます。","text":"③ 外から新しく始まった通信は、表に行が無いので向きと ACL の判定へ進み、そこで止まります。外から受けたいものがあれば、ACL に行を書いて開けます。","line":59,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_ef7b86","type":"paragraph","markdown":"④ 行きと帰りが別のファイアウォールを通る形（非対称ルーティング）では、帰りを受けた側は行きを見ていません。表に行が無いので、本来の返事でも捨てます。","text":"④ 行きと帰りが別のファイアウォールを通る形（非対称ルーティング）では、帰りを受けた側は行きを見ていません。表に行が無いので、本来の返事でも捨てます。","line":61,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_16a6b0","type":"heading","depth":2,"markdown":"## 図 22","text":"図 22","line":63,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_6e3874","type":"paragraph","markdown":"図の上半分が構成図とフローの番号、下半分が接続状態テーブルの推移と通信の中身の推移です。","text":"図の上半分が構成図とフローの番号、下半分が接続状態テーブルの推移と通信の中身の推移です。","line":65,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_054b14","type":"html","markdown":"<svg viewBox=\"0 0 900 1528\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"ファイアウォール：状態を持つ通過制御\" style=\"max-width:100%;height:auto;font-family:sans-serif\">\n  <rect x=\"0\" y=\"0\" width=\"900\" height=\"1528\" fill=\"#fbfcfe\"/>\n  <text x=\"20\" y=\"30\" text-anchor=\"start\" font-size=\"14\" font-weight=\"700\" fill=\"#1f2937\">図 22 ファイアウォール：1 つずつではなく、「往復」で通す</text>\n  <text x=\"20\" y=\"50\" text-anchor=\"start\" font-size=\"11\" fill=\"#6b7280\">図 9 の ACL は、パケット 1 つごとに行を上から見て決めた。ファイアウォールはそれに加えて「この往復は許可済み」を表に持ち、まずその表を引く</text>\n  <text x=\"20\" y=\"68\" text-anchor=\"start\" font-size=\"11\" fill=\"#6b7280\">ルータは既定で「届く経路があれば通す」。ファイアウォールは向きによって既定の答えが変わり、外から中への新しい通信は既定で通さない</text>\n  <text x=\"20\" y=\"86\" text-anchor=\"start\" font-size=\"10\" fill=\"#6b7280\">この図では、図 7〜12 のルータ 1 をファイアウォールに置き換えたとして描く（外側 203.0.113.10・内側 192.168.10.1 はルータ 1 から引き継いだ番地。VLAN 20 とトランクは省略）</text>\n  <rect x=\"20\" y=\"130\" width=\"270\" height=\"180\" rx=\"10\" fill=\"none\" stroke=\"#9aa7b5\" stroke-width=\"1.5\" stroke-dasharray=\"6 4\"/>\n  <text x=\"32\" y=\"150\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#6b7280\">支店（守る側・内側）</text>\n  <rect x=\"500\" y=\"130\" width=\"200\" height=\"180\" rx=\"10\" fill=\"#fff7ed\" stroke=\"#d97706\" stroke-width=\"1.5\" stroke-dasharray=\"6 4\"/>\n  <text x=\"512\" y=\"150\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#b45309\">インターネット（外側）</text>\n  <rect x=\"45\" y=\"165\" width=\"110\" height=\"60\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"100.0\" y=\"185\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">PC-A</text>\n  <text x=\"100.0\" y=\"203\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">192.168.10.10</text>\n  <text x=\"100.0\" y=\"218\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">GW 192.168.10.1</text>\n  <line x1=\"155\" y1=\"195\" x2=\"300\" y2=\"195\" stroke=\"#374151\" stroke-width=\"2\"/>\n  <rect x=\"300\" y=\"140\" width=\"180\" height=\"130\" rx=\"8\" fill=\"#f2f5f9\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"390.0\" y=\"160\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">ファイアウォール 1</text>\n  <text x=\"390.0\" y=\"178\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">内側の口 192.168.10.1</text>\n  <text x=\"390.0\" y=\"193\" text-anchor=\"middle\" font-size=\"10\" fill=\"#0a7aff\">セキュリティレベル 100</text>\n  <text x=\"390.0\" y=\"208\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">外側の口 203.0.113.10</text>\n  <text x=\"390.0\" y=\"223\" text-anchor=\"middle\" font-size=\"10\" fill=\"#b45309\">セキュリティレベル 0</text>\n  <text x=\"390.0\" y=\"238\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">（レベルは人が決める・論理）</text>\n  <rect x=\"291\" y=\"186\" width=\"18\" height=\"18\" fill=\"#ffffff\" stroke=\"#6b7280\" stroke-width=\"1.5\"/><text x=\"300\" y=\"199\" text-anchor=\"middle\" font-size=\"8\" fill=\"#1f2937\">内</text>\n  <rect x=\"471\" y=\"186\" width=\"18\" height=\"18\" fill=\"#ffffff\" stroke=\"#6b7280\" stroke-width=\"1.5\"/><text x=\"480\" y=\"199\" text-anchor=\"middle\" font-size=\"8\" fill=\"#1f2937\">外</text>\n  <line x1=\"489\" y1=\"195\" x2=\"545\" y2=\"195\" stroke=\"#374151\" stroke-width=\"2\"/>\n  <rect x=\"545\" y=\"165\" width=\"110\" height=\"60\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"600.0\" y=\"185\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">ISP-1</text>\n  <text x=\"600.0\" y=\"203\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">203.0.113.1</text>\n  <line x1=\"655\" y1=\"195\" x2=\"730\" y2=\"195\" stroke=\"#374151\" stroke-width=\"2\"/>\n  <rect x=\"730\" y=\"165\" width=\"145\" height=\"60\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"802.5\" y=\"185\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">ウェブサーバ</text>\n  <text x=\"802.5\" y=\"203\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">192.0.2.50</text>\n  <text x=\"802.5\" y=\"218\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">TCP 80 番で待つ</text>\n  <line x1=\"160\" y1=\"112\" x2=\"287\" y2=\"112\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"286,107 286,117 295,112\" fill=\"#0a7aff\"/>\n  <circle cx=\"228\" cy=\"112\" r=\"9\" fill=\"#0a7aff\"/><text x=\"228\" y=\"116\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#ffffff\">1</text>\n  <line x1=\"489\" y1=\"112\" x2=\"717\" y2=\"112\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"716,107 716,117 725,112\" fill=\"#0a7aff\"/>\n  <text x=\"600\" y=\"108\" text-anchor=\"middle\" font-size=\"9\" fill=\"#0a7aff\">外側の宛先へそのまま流れる（レベル 100 → 0）</text>\n  <line x1=\"725\" y1=\"292\" x2=\"497\" y2=\"292\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"498,287 498,297 489,292\" fill=\"#0a7aff\"/>\n  <circle cx=\"600\" cy=\"292\" r=\"9\" fill=\"#0a7aff\"/><text x=\"600\" y=\"296\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#ffffff\">2</text>\n  <line x1=\"295\" y1=\"292\" x2=\"168\" y2=\"292\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"169,287 169,297 160,292\" fill=\"#0a7aff\"/>\n  <text x=\"228\" y=\"288\" text-anchor=\"middle\" font-size=\"9\" fill=\"#0a7aff\">表に行があるので通る</text>\n  <rect x=\"20\" y=\"330\" width=\"420\" height=\"130\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"230.0\" y=\"350\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">③ 外から新しく始まった通信は、表に行が無い</text>\n  <rect x=\"38\" y=\"368\" width=\"96\" height=\"48\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"86.0\" y=\"388\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">外の誰か</text>\n  <text x=\"86.0\" y=\"406\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">192.0.2.99</text>\n  <line x1=\"138\" y1=\"392\" x2=\"230\" y2=\"392\" stroke=\"#b45309\" stroke-width=\"2\"/><polygon points=\"229,387 229,397 238,392\" fill=\"#b45309\"/>\n  <line x1=\"243\" y1=\"378\" x2=\"263\" y2=\"406\" stroke=\"#b45309\" stroke-width=\"2.5\"/><line x1=\"263\" y1=\"378\" x2=\"243\" y2=\"406\" stroke=\"#b45309\" stroke-width=\"2.5\"/>\n  <rect x=\"275\" y=\"358\" width=\"152\" height=\"78\" rx=\"8\" fill=\"#fff7ed\" stroke=\"#d97706\" stroke-width=\"1.5\"/>\n  <text x=\"351.0\" y=\"378\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">ファイアウォール 1</text>\n  <text x=\"351.0\" y=\"396\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">表に一致する行が無い</text>\n  <text x=\"351.0\" y=\"411\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">→ 向きと ACL の判定へ</text>\n  <text x=\"351.0\" y=\"426\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">レベル 0 → 100 で捨てる</text>\n  <text x=\"38\" y=\"450\" text-anchor=\"start\" font-size=\"10\" fill=\"#6b7280\">外から受けたい通信があるときは、口に ACL の行を書いて開ける（そこだけ例外になる）</text>\n  <rect x=\"460\" y=\"330\" width=\"420\" height=\"130\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"670.0\" y=\"350\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">④ 行きと帰りが別の口を通ると（非対称ルーティング）</text>\n  <rect x=\"476\" y=\"364\" width=\"92\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"522.0\" y=\"384\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">PC-A</text>\n  <rect x=\"600\" y=\"356\" width=\"110\" height=\"26\" rx=\"8\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1.5\"/>\n  <text x=\"655.0\" y=\"376\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">FW-1</text>\n  <rect x=\"600\" y=\"396\" width=\"110\" height=\"26\" rx=\"8\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1.5\"/>\n  <text x=\"655.0\" y=\"416\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">FW-2</text>\n  <rect x=\"740\" y=\"364\" width=\"124\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"802.0\" y=\"384\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">外のサーバ</text>\n  <line x1=\"570\" y1=\"369\" x2=\"590\" y2=\"369\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"589,364 589,374 598,369\" fill=\"#0a7aff\"/>\n  <line x1=\"712\" y1=\"369\" x2=\"730\" y2=\"369\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"729,364 729,374 738,369\" fill=\"#0a7aff\"/>\n  <line x1=\"738\" y1=\"409\" x2=\"720\" y2=\"409\" stroke=\"#b45309\" stroke-width=\"2\"/><polygon points=\"721,404 721,414 712,409\" fill=\"#b45309\"/>\n  <line x1=\"598\" y1=\"409\" x2=\"578\" y2=\"409\" stroke=\"#b45309\" stroke-width=\"2\"/><polygon points=\"579,404 579,414 570,409\" fill=\"#b45309\"/>\n  <text x=\"670\" y=\"438\" text-anchor=\"middle\" font-size=\"10\" fill=\"#6b7280\">行き（青）は FW-1 を通り、帰り（橙）は FW-2 に届く。</text>\n  <text x=\"670\" y=\"454\" text-anchor=\"middle\" font-size=\"10\" fill=\"#b45309\">FW-2 は行きを見ていないので表に行が無く、本来の返事でも捨てる</text>\n  <text x=\"20\" y=\"488\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">通過の可否はこの順に決まる（先に表を引く。ACL の判定はその後）</text>\n  <rect x=\"20\" y=\"500\" width=\"280\" height=\"132\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"32\" y=\"520\" text-anchor=\"start\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">1. 接続状態テーブルを引く</text>\n  <text x=\"32\" y=\"538\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">ファイアウォールが最初に見るのはここ</text>\n  <text x=\"32\" y=\"553\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">行きの通信 1 本につき 1 行が自動でできる</text>\n  <text x=\"32\" y=\"568\" text-anchor=\"start\" font-size=\"10\" fill=\"#0a7aff\">行があれば、以降の判定を飛ばして通す</text>\n  <text x=\"32\" y=\"583\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">＝ステートフルインスペクション</text>\n  <text x=\"32\" y=\"598\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">行が無いときだけ、次の関門へ進む</text>\n  <rect x=\"310\" y=\"500\" width=\"280\" height=\"132\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"322\" y=\"520\" text-anchor=\"start\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">2. セキュリティレベルと ACL</text>\n  <text x=\"322\" y=\"538\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">新しい通信だけがここに来る</text>\n  <text x=\"322\" y=\"553\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">レベルは「ACL を書かないときの既定の答え」</text>\n  <text x=\"322\" y=\"568\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">高い → 低いは通す／低い → 高いは通さない</text>\n  <text x=\"322\" y=\"583\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">口に ACL を付けるとそちらが優先する</text>\n  <text x=\"322\" y=\"598\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">外から受けたい通信はここに行を書いて開ける</text>\n  <text x=\"322\" y=\"613\" text-anchor=\"start\" font-size=\"10\" fill=\"#0a7aff\">通れば、接続状態テーブルに 1 行できる</text>\n  <rect x=\"600\" y=\"500\" width=\"280\" height=\"132\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"612\" y=\"520\" text-anchor=\"start\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">3. アプリケーションインスペクション</text>\n  <text x=\"612\" y=\"538\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">データの中身まで見る係</text>\n  <text x=\"612\" y=\"553\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">既定で見る顔ぶれが決まっている</text>\n  <text x=\"612\" y=\"568\" text-anchor=\"start\" font-size=\"10\" fill=\"#b45309\">ICMP は既定の顔ぶれに無く、入れないと</text>\n  <text x=\"612\" y=\"583\" text-anchor=\"start\" font-size=\"10\" fill=\"#b45309\">ping の帰りが通らなかった</text>\n  <text x=\"612\" y=\"598\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">FTP のように中身に住所と番号が入る通信用</text>\n  <text x=\"20\" y=\"660\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">フロー</text>\n  <text x=\"20\" y=\"680\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">① PC-A がウェブサーバ（192.0.2.50 の TCP 80 番）へつなぎに行く。表を引いても行が無いので、向き（内側 100 → 外側 0）と ACL の判定へ進み、通る</text>\n  <text x=\"20\" y=\"698\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">　通ったときに、接続状態テーブルに 1 行が自動でできる：内側の住所とポート番号 ⇄ 外側の住所とポート番号</text>\n  <text x=\"20\" y=\"716\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">② ウェブサーバからの返事が外側に届く。表に行があるので、向きの判定に進む前に通る（図 9 の ACL には無い判断）</text>\n  <text x=\"20\" y=\"734\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">③ 外から新しく始まった通信は、表に行が無いので向きと ACL の判定へ進み、そこで止まる（開けたければ ACL に行を書く）</text>\n  <text x=\"20\" y=\"752\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">④ 行きと帰りが別のファイアウォールを通る形にすると、帰りを受けた側は行きを見ていないので表に行が無く、本来の返事でも捨てる</text>\n  <text x=\"20\" y=\"782\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">3 層で見ると</text>\n  <text x=\"20\" y=\"802\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">もの：接続状態テーブル（論理・自動で育つ。行きの通信 1 本につき 1 行）とセキュリティレベル（論理・手動。口ごとに 0〜100 の数値）</text>\n  <text x=\"20\" y=\"820\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">結びつき：口 ⇄ レベルは手動。テーブルの行 ⇄ 実際に流れた通信は自動（人は 1 行も書かない。図 9 の ACL は全部手で書いた）</text>\n  <text x=\"20\" y=\"838\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">フロー：図 5 の ②「テーブルの行を探して出口を決める」の前に「そもそも通してよいか」の関門が入る。通った後の MAC の付け替えは図 5 と同じ</text>\n<line x1=\"20\" y1=\"860\" x2=\"880\" y2=\"860\" stroke=\"#d6dde5\" stroke-width=\"1\"/>\n<text x=\"20\" y=\"882\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">接続状態テーブルの推移（青字が自動で増えた行）</text>\n  <rect x=\"20\" y=\"894\" width=\"280\" height=\"75\" rx=\"6\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"30\" y=\"910\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">接続状態テーブル：① の前</text>\n  <text x=\"30\" y=\"926\" font-size=\"10\" fill=\"#374151\">（空）</text>\n  <text x=\"30\" y=\"941\" font-size=\"10\" fill=\"#374151\">まだ何も流れていない</text>\n  <text x=\"30\" y=\"956\" font-size=\"10\" fill=\"#374151\">→ ① は向きと ACL の判定へ進む</text>\n  <rect x=\"310\" y=\"894\" width=\"280\" height=\"90\" rx=\"6\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"320\" y=\"910\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">接続状態テーブル：① が通った直後</text>\n  <text x=\"320\" y=\"926\" font-size=\"10\" fill=\"#374151\">*内側 192.168.10.10:50310</text>\n  <text x=\"320\" y=\"941\" font-size=\"10\" fill=\"#374151\">*外側 192.0.2.50:80</text>\n  <text x=\"320\" y=\"956\" font-size=\"10\" fill=\"#374151\">*プロトコル TCP</text>\n  <text x=\"320\" y=\"971\" font-size=\"10\" fill=\"#374151\">（通った通信から自動で 1 行）</text>\n  <rect x=\"600\" y=\"894\" width=\"280\" height=\"75\" rx=\"6\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"610\" y=\"910\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">接続状態テーブル：② ③ ④ の判定</text>\n  <text x=\"610\" y=\"926\" font-size=\"10\" fill=\"#0a7aff\">② 上の行と一致 → そのまま通す</text>\n  <text x=\"610\" y=\"941\" font-size=\"10\" fill=\"#374151\">!③ 行が無い → 判定へ進んで止まる</text>\n  <text x=\"610\" y=\"956\" font-size=\"10\" fill=\"#374151\">!④ FW-2 の表は空 → 同じく止まる</text>\n<text x=\"20\" y=\"1034\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">通信の中身の推移（ファイアウォールが照らし合わせる欄）</text>\n  <text x=\"20\" y=\"1062\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">① PC-A → ファイアウォール（内側の区間）</text>\n  <rect x=\"20\" y=\"1068\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"79.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 MAC</text>\n  <text x=\"79.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC FW1-内</text>\n  <rect x=\"138\" y=\"1068\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"197.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 MAC</text>\n  <text x=\"197.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC A</text>\n  <rect x=\"256\" y=\"1068\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"315.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 IP</text>\n  <text x=\"315.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.0.2.50</text>\n  <rect x=\"374\" y=\"1068\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"433.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 IP</text>\n  <text x=\"433.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.168.10.10</text>\n  <rect x=\"492\" y=\"1068\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"535.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先ポート番号</text>\n  <text x=\"535.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">80</text>\n  <rect x=\"578\" y=\"1068\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"621.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元ポート番号</text>\n  <text x=\"621.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">50310</text>\n  <rect x=\"664\" y=\"1068\" width=\"70\" height=\"36\" fill=\"#ffffff\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"699.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">データ</text>\n  <text x=\"699.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">HTTP</text>\n  <text x=\"20\" y=\"1122\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">② ウェブサーバ → PC-A の返事（① の鏡像。宛先と送信元が入れ替わる）</text>\n  <rect x=\"20\" y=\"1128\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"79.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 MAC</text>\n  <text x=\"79.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC A</text>\n  <rect x=\"138\" y=\"1128\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"197.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 MAC</text>\n  <text x=\"197.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC FW1-内</text>\n  <rect x=\"256\" y=\"1128\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"315.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 IP</text>\n  <text x=\"315.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.168.10.10</text>\n  <rect x=\"374\" y=\"1128\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"433.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 IP</text>\n  <text x=\"433.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.0.2.50</text>\n  <rect x=\"492\" y=\"1128\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"535.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先ポート番号</text>\n  <text x=\"535.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">50310</text>\n  <rect x=\"578\" y=\"1128\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"621.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元ポート番号</text>\n  <text x=\"621.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">80</text>\n  <rect x=\"664\" y=\"1128\" width=\"70\" height=\"36\" fill=\"#ffffff\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"699.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">データ</text>\n  <text x=\"699.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">HTTP</text>\n  <text x=\"20\" y=\"1182\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">　</text>\n  <text x=\"20\" y=\"1202\" font-size=\"10\" fill=\"#6b7280\">ファイアウォールは、この 4 つ（宛先 IP・送信元 IP・宛先ポート番号・送信元ポート番号）とプロトコルの組を表の行と照らす。一致すれば以降の判定を飛ばして通す</text>\n  <text x=\"20\" y=\"1228\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">③ 外から新しく始まった通信（表に行が無い）</text>\n  <rect x=\"20\" y=\"1234\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"79.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 MAC</text>\n  <text x=\"79.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC FW1-外</text>\n  <rect x=\"138\" y=\"1234\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"197.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 MAC</text>\n  <text x=\"197.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC ISP-1</text>\n  <rect x=\"256\" y=\"1234\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"315.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 IP</text>\n  <text x=\"315.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">203.0.113.10</text>\n  <rect x=\"374\" y=\"1234\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"433.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 IP</text>\n  <text x=\"433.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.0.2.99</text>\n  <rect x=\"492\" y=\"1234\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"535.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先ポート番号</text>\n  <text x=\"535.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">3389</text>\n  <rect x=\"578\" y=\"1234\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"621.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元ポート番号</text>\n  <text x=\"621.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">61001</text>\n  <rect x=\"664\" y=\"1234\" width=\"70\" height=\"36\" fill=\"#ffffff\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"699.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">データ</text>\n  <text x=\"699.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">接続要求</text>\n  <text x=\"20\" y=\"1288\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">　</text>\n  <text x=\"20\" y=\"1308\" font-size=\"10\" fill=\"#6b7280\">③ は表に行が無いので向きと ACL の判定へ進み、そこで止まる。②③ の違いは「先に行きを見たかどうか」だけで、パケットの見た目はよく似ている</text>\n<text x=\"20\" y=\"1346\" font-size=\"10\" fill=\"#6b7280\">この図では住所の書き換え（NAT・図 8）を省いている。実際の出口では NAT が同時に効き、① の送信元 IP は外側の住所に書き換わり、② の宛先 IP も出口で戻される</text>\n<text x=\"20\" y=\"1362\" font-size=\"10\" fill=\"#6b7280\">出典（処理の順。Step 3 で接続テーブルを引き、既存の接続なら ACL の判定を飛ばす。Step 4 が ACL、Step 6 がインスペクション）:</text>\n<text x=\"20\" y=\"1378\" font-size=\"10\" fill=\"#6b7280\">　https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/113396-asa-packet-flow-00.html</text>\n<text x=\"20\" y=\"1394\" font-size=\"10\" fill=\"#6b7280\">出典（セキュリティレベル 0〜100・高→低は既定で許可・低→高は明示の許可が要る・同値は same-security-traffic）: https://www.infraexpert.com/study/ciscoasa4.html</text>\n<text x=\"20\" y=\"1410\" font-size=\"10\" fill=\"#6b7280\">出典（ステートフルインスペクション＝行きのセッション情報を保存し、戻りを照合して許可・不一致は遮断）: https://www.infraexpert.com/study/security25.html</text>\n<text x=\"20\" y=\"1426\" font-size=\"10\" fill=\"#6b7280\">出典（最初のパケットは session management path、以降は fast path で TCP シーケンス番号などを確認。既定で内側→外側は自由に流れる）:</text>\n<text x=\"20\" y=\"1442\" font-size=\"10\" fill=\"#6b7280\">　https://www.cisco.com/en/US/docs/security/asa/asa81/configuration/guide/intro.html</text>\n<text x=\"20\" y=\"1458\" font-size=\"10\" fill=\"#6b7280\">出典（アプリケーションインスペクションが要る理由＝データ部に住所を埋め込む／動的にポート番号を決める通信。既定の global_policy の一覧に inspect icmp は無い）:</text>\n<text x=\"20\" y=\"1474\" font-size=\"10\" fill=\"#6b7280\">　https://www.cisco.com/c/en/us/td/docs/security/asa/asa91/configuration/firewall/asa_91_firewall_config/inspect_overview.html</text>\n<text x=\"20\" y=\"1490\" font-size=\"10\" fill=\"#6b7280\">未検証: 表の行が何秒で消えるか（アイドルタイムアウトの既定値）は確かめていない。勉強会では設定を GUI（ASDM）からも行えることを見たが、本図では扱わない</text>\n<text x=\"20\" y=\"1506\" font-size=\"10\" fill=\"#6b7280\">勉強会での観察: 両方の口をレベル 100 にすると外→内の ping が通り、外側を 0 に戻すと通らなくなった。ping の戻りは inspect icmp を入れてから通った</text>\n</svg>","text":"<svg viewBox=\"0 0 900 1528\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"ファイアウォール：状態を持つ通過制御\" style=\"max-width:100%;height:auto;font-family:sans-serif\">\n  <rect x=\"0\" y=\"0\" width=\"900\" height=\"1528\" fill=\"#fbfcfe\"/>\n  <text x=\"20\" y=\"30\" text-anchor=\"start\" font-size=\"14\" font-weight=\"700\" fill=\"#1f2937\">図 22 ファイアウォール：1 つずつではなく、「往復」で通す</text>\n  <text x=\"20\" y=\"50\" text-anchor=\"start\" font-size=\"11\" fill=\"#6b7280\">図 9 の ACL は、パケット 1 つごとに行を上から見て決めた。ファイアウォールはそれに加えて「この往復は許可済み」を表に持ち、まずその表を引く</text>\n  <text x=\"20\" y=\"68\" text-anchor=\"start\" font-size=\"11\" fill=\"#6b7280\">ルータは既定で「届く経路があれば通す」。ファイアウォールは向きによって既定の答えが変わり、外から中への新しい通信は既定で通さない</text>\n  <text x=\"20\" y=\"86\" text-anchor=\"start\" font-size=\"10\" fill=\"#6b7280\">この図では、図 7〜12 のルータ 1 をファイアウォールに置き換えたとして描く（外側 203.0.113.10・内側 192.168.10.1 はルータ 1 から引き継いだ番地。VLAN 20 とトランクは省略）</text>\n  <rect x=\"20\" y=\"130\" width=\"270\" height=\"180\" rx=\"10\" fill=\"none\" stroke=\"#9aa7b5\" stroke-width=\"1.5\" stroke-dasharray=\"6 4\"/>\n  <text x=\"32\" y=\"150\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#6b7280\">支店（守る側・内側）</text>\n  <rect x=\"500\" y=\"130\" width=\"200\" height=\"180\" rx=\"10\" fill=\"#fff7ed\" stroke=\"#d97706\" stroke-width=\"1.5\" stroke-dasharray=\"6 4\"/>\n  <text x=\"512\" y=\"150\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#b45309\">インターネット（外側）</text>\n  <rect x=\"45\" y=\"165\" width=\"110\" height=\"60\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"100.0\" y=\"185\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">PC-A</text>\n  <text x=\"100.0\" y=\"203\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">192.168.10.10</text>\n  <text x=\"100.0\" y=\"218\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">GW 192.168.10.1</text>\n  <line x1=\"155\" y1=\"195\" x2=\"300\" y2=\"195\" stroke=\"#374151\" stroke-width=\"2\"/>\n  <rect x=\"300\" y=\"140\" width=\"180\" height=\"130\" rx=\"8\" fill=\"#f2f5f9\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"390.0\" y=\"160\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">ファイアウォール 1</text>\n  <text x=\"390.0\" y=\"178\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">内側の口 192.168.10.1</text>\n  <text x=\"390.0\" y=\"193\" text-anchor=\"middle\" font-size=\"10\" fill=\"#0a7aff\">セキュリティレベル 100</text>\n  <text x=\"390.0\" y=\"208\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">外側の口 203.0.113.10</text>\n  <text x=\"390.0\" y=\"223\" text-anchor=\"middle\" font-size=\"10\" fill=\"#b45309\">セキュリティレベル 0</text>\n  <text x=\"390.0\" y=\"238\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">（レベルは人が決める・論理）</text>\n  <rect x=\"291\" y=\"186\" width=\"18\" height=\"18\" fill=\"#ffffff\" stroke=\"#6b7280\" stroke-width=\"1.5\"/><text x=\"300\" y=\"199\" text-anchor=\"middle\" font-size=\"8\" fill=\"#1f2937\">内</text>\n  <rect x=\"471\" y=\"186\" width=\"18\" height=\"18\" fill=\"#ffffff\" stroke=\"#6b7280\" stroke-width=\"1.5\"/><text x=\"480\" y=\"199\" text-anchor=\"middle\" font-size=\"8\" fill=\"#1f2937\">外</text>\n  <line x1=\"489\" y1=\"195\" x2=\"545\" y2=\"195\" stroke=\"#374151\" stroke-width=\"2\"/>\n  <rect x=\"545\" y=\"165\" width=\"110\" height=\"60\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"600.0\" y=\"185\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">ISP-1</text>\n  <text x=\"600.0\" y=\"203\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">203.0.113.1</text>\n  <line x1=\"655\" y1=\"195\" x2=\"730\" y2=\"195\" stroke=\"#374151\" stroke-width=\"2\"/>\n  <rect x=\"730\" y=\"165\" width=\"145\" height=\"60\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"802.5\" y=\"185\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">ウェブサーバ</text>\n  <text x=\"802.5\" y=\"203\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">192.0.2.50</text>\n  <text x=\"802.5\" y=\"218\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">TCP 80 番で待つ</text>\n  <line x1=\"160\" y1=\"112\" x2=\"287\" y2=\"112\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"286,107 286,117 295,112\" fill=\"#0a7aff\"/>\n  <circle cx=\"228\" cy=\"112\" r=\"9\" fill=\"#0a7aff\"/><text x=\"228\" y=\"116\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#ffffff\">1</text>\n  <line x1=\"489\" y1=\"112\" x2=\"717\" y2=\"112\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"716,107 716,117 725,112\" fill=\"#0a7aff\"/>\n  <text x=\"600\" y=\"108\" text-anchor=\"middle\" font-size=\"9\" fill=\"#0a7aff\">外側の宛先へそのまま流れる（レベル 100 → 0）</text>\n  <line x1=\"725\" y1=\"292\" x2=\"497\" y2=\"292\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"498,287 498,297 489,292\" fill=\"#0a7aff\"/>\n  <circle cx=\"600\" cy=\"292\" r=\"9\" fill=\"#0a7aff\"/><text x=\"600\" y=\"296\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#ffffff\">2</text>\n  <line x1=\"295\" y1=\"292\" x2=\"168\" y2=\"292\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"169,287 169,297 160,292\" fill=\"#0a7aff\"/>\n  <text x=\"228\" y=\"288\" text-anchor=\"middle\" font-size=\"9\" fill=\"#0a7aff\">表に行があるので通る</text>\n  <rect x=\"20\" y=\"330\" width=\"420\" height=\"130\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"230.0\" y=\"350\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">③ 外から新しく始まった通信は、表に行が無い</text>\n  <rect x=\"38\" y=\"368\" width=\"96\" height=\"48\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"86.0\" y=\"388\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">外の誰か</text>\n  <text x=\"86.0\" y=\"406\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">192.0.2.99</text>\n  <line x1=\"138\" y1=\"392\" x2=\"230\" y2=\"392\" stroke=\"#b45309\" stroke-width=\"2\"/><polygon points=\"229,387 229,397 238,392\" fill=\"#b45309\"/>\n  <line x1=\"243\" y1=\"378\" x2=\"263\" y2=\"406\" stroke=\"#b45309\" stroke-width=\"2.5\"/><line x1=\"263\" y1=\"378\" x2=\"243\" y2=\"406\" stroke=\"#b45309\" stroke-width=\"2.5\"/>\n  <rect x=\"275\" y=\"358\" width=\"152\" height=\"78\" rx=\"8\" fill=\"#fff7ed\" stroke=\"#d97706\" stroke-width=\"1.5\"/>\n  <text x=\"351.0\" y=\"378\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">ファイアウォール 1</text>\n  <text x=\"351.0\" y=\"396\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">表に一致する行が無い</text>\n  <text x=\"351.0\" y=\"411\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">→ 向きと ACL の判定へ</text>\n  <text x=\"351.0\" y=\"426\" text-anchor=\"middle\" font-size=\"10\" fill=\"#374151\">レベル 0 → 100 で捨てる</text>\n  <text x=\"38\" y=\"450\" text-anchor=\"start\" font-size=\"10\" fill=\"#6b7280\">外から受けたい通信があるときは、口に ACL の行を書いて開ける（そこだけ例外になる）</text>\n  <rect x=\"460\" y=\"330\" width=\"420\" height=\"130\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"670.0\" y=\"350\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">④ 行きと帰りが別の口を通ると（非対称ルーティング）</text>\n  <rect x=\"476\" y=\"364\" width=\"92\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"522.0\" y=\"384\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">PC-A</text>\n  <rect x=\"600\" y=\"356\" width=\"110\" height=\"26\" rx=\"8\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1.5\"/>\n  <text x=\"655.0\" y=\"376\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">FW-1</text>\n  <rect x=\"600\" y=\"396\" width=\"110\" height=\"26\" rx=\"8\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1.5\"/>\n  <text x=\"655.0\" y=\"416\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">FW-2</text>\n  <rect x=\"740\" y=\"364\" width=\"124\" height=\"44\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"802.0\" y=\"384\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">外のサーバ</text>\n  <line x1=\"570\" y1=\"369\" x2=\"590\" y2=\"369\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"589,364 589,374 598,369\" fill=\"#0a7aff\"/>\n  <line x1=\"712\" y1=\"369\" x2=\"730\" y2=\"369\" stroke=\"#0a7aff\" stroke-width=\"2\"/><polygon points=\"729,364 729,374 738,369\" fill=\"#0a7aff\"/>\n  <line x1=\"738\" y1=\"409\" x2=\"720\" y2=\"409\" stroke=\"#b45309\" stroke-width=\"2\"/><polygon points=\"721,404 721,414 712,409\" fill=\"#b45309\"/>\n  <line x1=\"598\" y1=\"409\" x2=\"578\" y2=\"409\" stroke=\"#b45309\" stroke-width=\"2\"/><polygon points=\"579,404 579,414 570,409\" fill=\"#b45309\"/>\n  <text x=\"670\" y=\"438\" text-anchor=\"middle\" font-size=\"10\" fill=\"#6b7280\">行き（青）は FW-1 を通り、帰り（橙）は FW-2 に届く。</text>\n  <text x=\"670\" y=\"454\" text-anchor=\"middle\" font-size=\"10\" fill=\"#b45309\">FW-2 は行きを見ていないので表に行が無く、本来の返事でも捨てる</text>\n  <text x=\"20\" y=\"488\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">通過の可否はこの順に決まる（先に表を引く。ACL の判定はその後）</text>\n  <rect x=\"20\" y=\"500\" width=\"280\" height=\"132\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"32\" y=\"520\" text-anchor=\"start\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">1. 接続状態テーブルを引く</text>\n  <text x=\"32\" y=\"538\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">ファイアウォールが最初に見るのはここ</text>\n  <text x=\"32\" y=\"553\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">行きの通信 1 本につき 1 行が自動でできる</text>\n  <text x=\"32\" y=\"568\" text-anchor=\"start\" font-size=\"10\" fill=\"#0a7aff\">行があれば、以降の判定を飛ばして通す</text>\n  <text x=\"32\" y=\"583\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">＝ステートフルインスペクション</text>\n  <text x=\"32\" y=\"598\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">行が無いときだけ、次の関門へ進む</text>\n  <rect x=\"310\" y=\"500\" width=\"280\" height=\"132\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"322\" y=\"520\" text-anchor=\"start\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">2. セキュリティレベルと ACL</text>\n  <text x=\"322\" y=\"538\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">新しい通信だけがここに来る</text>\n  <text x=\"322\" y=\"553\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">レベルは「ACL を書かないときの既定の答え」</text>\n  <text x=\"322\" y=\"568\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">高い → 低いは通す／低い → 高いは通さない</text>\n  <text x=\"322\" y=\"583\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">口に ACL を付けるとそちらが優先する</text>\n  <text x=\"322\" y=\"598\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">外から受けたい通信はここに行を書いて開ける</text>\n  <text x=\"322\" y=\"613\" text-anchor=\"start\" font-size=\"10\" fill=\"#0a7aff\">通れば、接続状態テーブルに 1 行できる</text>\n  <rect x=\"600\" y=\"500\" width=\"280\" height=\"132\" rx=\"8\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"612\" y=\"520\" text-anchor=\"start\" font-size=\"13\" font-weight=\"700\" fill=\"#1f2937\">3. アプリケーションインスペクション</text>\n  <text x=\"612\" y=\"538\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">データの中身まで見る係</text>\n  <text x=\"612\" y=\"553\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">既定で見る顔ぶれが決まっている</text>\n  <text x=\"612\" y=\"568\" text-anchor=\"start\" font-size=\"10\" fill=\"#b45309\">ICMP は既定の顔ぶれに無く、入れないと</text>\n  <text x=\"612\" y=\"583\" text-anchor=\"start\" font-size=\"10\" fill=\"#b45309\">ping の帰りが通らなかった</text>\n  <text x=\"612\" y=\"598\" text-anchor=\"start\" font-size=\"10\" fill=\"#374151\">FTP のように中身に住所と番号が入る通信用</text>\n  <text x=\"20\" y=\"660\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">フロー</text>\n  <text x=\"20\" y=\"680\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">① PC-A がウェブサーバ（192.0.2.50 の TCP 80 番）へつなぎに行く。表を引いても行が無いので、向き（内側 100 → 外側 0）と ACL の判定へ進み、通る</text>\n  <text x=\"20\" y=\"698\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">　通ったときに、接続状態テーブルに 1 行が自動でできる：内側の住所とポート番号 ⇄ 外側の住所とポート番号</text>\n  <text x=\"20\" y=\"716\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">② ウェブサーバからの返事が外側に届く。表に行があるので、向きの判定に進む前に通る（図 9 の ACL には無い判断）</text>\n  <text x=\"20\" y=\"734\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">③ 外から新しく始まった通信は、表に行が無いので向きと ACL の判定へ進み、そこで止まる（開けたければ ACL に行を書く）</text>\n  <text x=\"20\" y=\"752\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">④ 行きと帰りが別のファイアウォールを通る形にすると、帰りを受けた側は行きを見ていないので表に行が無く、本来の返事でも捨てる</text>\n  <text x=\"20\" y=\"782\" text-anchor=\"start\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">3 層で見ると</text>\n  <text x=\"20\" y=\"802\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">もの：接続状態テーブル（論理・自動で育つ。行きの通信 1 本につき 1 行）とセキュリティレベル（論理・手動。口ごとに 0〜100 の数値）</text>\n  <text x=\"20\" y=\"820\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">結びつき：口 ⇄ レベルは手動。テーブルの行 ⇄ 実際に流れた通信は自動（人は 1 行も書かない。図 9 の ACL は全部手で書いた）</text>\n  <text x=\"20\" y=\"838\" text-anchor=\"start\" font-size=\"11\" fill=\"#374151\">フロー：図 5 の ②「テーブルの行を探して出口を決める」の前に「そもそも通してよいか」の関門が入る。通った後の MAC の付け替えは図 5 と同じ</text>\n<line x1=\"20\" y1=\"860\" x2=\"880\" y2=\"860\" stroke=\"#d6dde5\" stroke-width=\"1\"/>\n<text x=\"20\" y=\"882\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">接続状態テーブルの推移（青字が自動で増えた行）</text>\n  <rect x=\"20\" y=\"894\" width=\"280\" height=\"75\" rx=\"6\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"30\" y=\"910\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">接続状態テーブル：① の前</text>\n  <text x=\"30\" y=\"926\" font-size=\"10\" fill=\"#374151\">（空）</text>\n  <text x=\"30\" y=\"941\" font-size=\"10\" fill=\"#374151\">まだ何も流れていない</text>\n  <text x=\"30\" y=\"956\" font-size=\"10\" fill=\"#374151\">→ ① は向きと ACL の判定へ進む</text>\n  <rect x=\"310\" y=\"894\" width=\"280\" height=\"90\" rx=\"6\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"320\" y=\"910\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">接続状態テーブル：① が通った直後</text>\n  <text x=\"320\" y=\"926\" font-size=\"10\" fill=\"#374151\">*内側 192.168.10.10:50310</text>\n  <text x=\"320\" y=\"941\" font-size=\"10\" fill=\"#374151\">*外側 192.0.2.50:80</text>\n  <text x=\"320\" y=\"956\" font-size=\"10\" fill=\"#374151\">*プロトコル TCP</text>\n  <text x=\"320\" y=\"971\" font-size=\"10\" fill=\"#374151\">（通った通信から自動で 1 行）</text>\n  <rect x=\"600\" y=\"894\" width=\"280\" height=\"75\" rx=\"6\" fill=\"#ffffff\" stroke=\"#b9c4d0\" stroke-width=\"1.5\"/>\n  <text x=\"610\" y=\"910\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">接続状態テーブル：② ③ ④ の判定</text>\n  <text x=\"610\" y=\"926\" font-size=\"10\" fill=\"#0a7aff\">② 上の行と一致 → そのまま通す</text>\n  <text x=\"610\" y=\"941\" font-size=\"10\" fill=\"#374151\">!③ 行が無い → 判定へ進んで止まる</text>\n  <text x=\"610\" y=\"956\" font-size=\"10\" fill=\"#374151\">!④ FW-2 の表は空 → 同じく止まる</text>\n<text x=\"20\" y=\"1034\" font-size=\"12\" font-weight=\"700\" fill=\"#1f2937\">通信の中身の推移（ファイアウォールが照らし合わせる欄）</text>\n  <text x=\"20\" y=\"1062\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">① PC-A → ファイアウォール（内側の区間）</text>\n  <rect x=\"20\" y=\"1068\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"79.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 MAC</text>\n  <text x=\"79.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC FW1-内</text>\n  <rect x=\"138\" y=\"1068\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"197.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 MAC</text>\n  <text x=\"197.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC A</text>\n  <rect x=\"256\" y=\"1068\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"315.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 IP</text>\n  <text x=\"315.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.0.2.50</text>\n  <rect x=\"374\" y=\"1068\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"433.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 IP</text>\n  <text x=\"433.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.168.10.10</text>\n  <rect x=\"492\" y=\"1068\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"535.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先ポート番号</text>\n  <text x=\"535.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">80</text>\n  <rect x=\"578\" y=\"1068\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"621.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元ポート番号</text>\n  <text x=\"621.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">50310</text>\n  <rect x=\"664\" y=\"1068\" width=\"70\" height=\"36\" fill=\"#ffffff\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"699.0\" y=\"1082\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">データ</text>\n  <text x=\"699.0\" y=\"1097\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">HTTP</text>\n  <text x=\"20\" y=\"1122\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">② ウェブサーバ → PC-A の返事（① の鏡像。宛先と送信元が入れ替わる）</text>\n  <rect x=\"20\" y=\"1128\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"79.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 MAC</text>\n  <text x=\"79.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC A</text>\n  <rect x=\"138\" y=\"1128\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"197.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 MAC</text>\n  <text x=\"197.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC FW1-内</text>\n  <rect x=\"256\" y=\"1128\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"315.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 IP</text>\n  <text x=\"315.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.168.10.10</text>\n  <rect x=\"374\" y=\"1128\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"433.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 IP</text>\n  <text x=\"433.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.0.2.50</text>\n  <rect x=\"492\" y=\"1128\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"535.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先ポート番号</text>\n  <text x=\"535.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">50310</text>\n  <rect x=\"578\" y=\"1128\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"621.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元ポート番号</text>\n  <text x=\"621.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">80</text>\n  <rect x=\"664\" y=\"1128\" width=\"70\" height=\"36\" fill=\"#ffffff\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"699.0\" y=\"1142\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">データ</text>\n  <text x=\"699.0\" y=\"1157\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">HTTP</text>\n  <text x=\"20\" y=\"1182\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">　</text>\n  <text x=\"20\" y=\"1202\" font-size=\"10\" fill=\"#6b7280\">ファイアウォールは、この 4 つ（宛先 IP・送信元 IP・宛先ポート番号・送信元ポート番号）とプロトコルの組を表の行と照らす。一致すれば以降の判定を飛ばして通す</text>\n  <text x=\"20\" y=\"1228\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">③ 外から新しく始まった通信（表に行が無い）</text>\n  <rect x=\"20\" y=\"1234\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"79.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 MAC</text>\n  <text x=\"79.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC FW1-外</text>\n  <rect x=\"138\" y=\"1234\" width=\"118\" height=\"36\" fill=\"#f2f5f9\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"197.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 MAC</text>\n  <text x=\"197.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">MAC ISP-1</text>\n  <rect x=\"256\" y=\"1234\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"315.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先 IP</text>\n  <text x=\"315.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">203.0.113.10</text>\n  <rect x=\"374\" y=\"1234\" width=\"118\" height=\"36\" fill=\"#e6f0ff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"433.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元 IP</text>\n  <text x=\"433.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">192.0.2.99</text>\n  <rect x=\"492\" y=\"1234\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"535.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">宛先ポート番号</text>\n  <text x=\"535.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">3389</text>\n  <rect x=\"578\" y=\"1234\" width=\"86\" height=\"36\" fill=\"#ffffff\" stroke=\"#0a7aff\" stroke-width=\"1\"/>\n  <text x=\"621.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">送信元ポート番号</text>\n  <text x=\"621.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">61001</text>\n  <rect x=\"664\" y=\"1234\" width=\"70\" height=\"36\" fill=\"#ffffff\" stroke=\"#9aa7b5\" stroke-width=\"1\"/>\n  <text x=\"699.0\" y=\"1248\" text-anchor=\"middle\" font-size=\"9\" fill=\"#6b7280\">データ</text>\n  <text x=\"699.0\" y=\"1263\" text-anchor=\"middle\" font-size=\"10\" font-weight=\"700\" fill=\"#1f2937\">接続要求</text>\n  <text x=\"20\" y=\"1288\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2937\">　</text>\n  <text x=\"20\" y=\"1308\" font-size=\"10\" fill=\"#6b7280\">③ は表に行が無いので向きと ACL の判定へ進み、そこで止まる。②③ の違いは「先に行きを見たかどうか」だけで、パケットの見た目はよく似ている</text>\n<text x=\"20\" y=\"1346\" font-size=\"10\" fill=\"#6b7280\">この図では住所の書き換え（NAT・図 8）を省いている。実際の出口では NAT が同時に効き、① の送信元 IP は外側の住所に書き換わり、② の宛先 IP も出口で戻される</text>\n<text x=\"20\" y=\"1362\" font-size=\"10\" fill=\"#6b7280\">出典（処理の順。Step 3 で接続テーブルを引き、既存の接続なら ACL の判定を飛ばす。Step 4 が ACL、Step 6 がインスペクション）:</text>\n<text x=\"20\" y=\"1378\" font-size=\"10\" fill=\"#6b7280\">　https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/113396-asa-packet-flow-00.html</text>\n<text x=\"20\" y=\"1394\" font-size=\"10\" fill=\"#6b7280\">出典（セキュリティレベル 0〜100・高→低は既定で許可・低→高は明示の許可が要る・同値は same-security-traffic）: https://www.infraexpert.com/study/ciscoasa4.html</text>\n<text x=\"20\" y=\"1410\" font-size=\"10\" fill=\"#6b7280\">出典（ステートフルインスペクション＝行きのセッション情報を保存し、戻りを照合して許可・不一致は遮断）: https://www.infraexpert.com/study/security25.html</text>\n<text x=\"20\" y=\"1426\" font-size=\"10\" fill=\"#6b7280\">出典（最初のパケットは session management path、以降は fast path で TCP シーケンス番号などを確認。既定で内側→外側は自由に流れる）:</text>\n<text x=\"20\" y=\"1442\" font-size=\"10\" fill=\"#6b7280\">　https://www.cisco.com/en/US/docs/security/asa/asa81/configuration/guide/intro.html</text>\n<text x=\"20\" y=\"1458\" font-size=\"10\" fill=\"#6b7280\">出典（アプリケーションインスペクションが要る理由＝データ部に住所を埋め込む／動的にポート番号を決める通信。既定の global_policy の一覧に inspect icmp は無い）:</text>\n<text x=\"20\" y=\"1474\" font-size=\"10\" fill=\"#6b7280\">　https://www.cisco.com/c/en/us/td/docs/security/asa/asa91/configuration/firewall/asa_91_firewall_config/inspect_overview.html</text>\n<text x=\"20\" y=\"1490\" font-size=\"10\" fill=\"#6b7280\">未検証: 表の行が何秒で消えるか（アイドルタイムアウトの既定値）は確かめていない。勉強会では設定を GUI（ASDM）からも行えることを見たが、本図では扱わない</text>\n<text x=\"20\" y=\"1506\" font-size=\"10\" fill=\"#6b7280\">勉強会での観察: 両方の口をレベル 100 にすると外→内の ping が通り、外側を 0 に戻すと通らなくなった。ping の戻りは inspect icmp を入れてから通った</text>\n</svg>","line":67,"sources":["src_1","src_2","src_3","src_4","src_5"],"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_b03cce","type":"heading","depth":2,"markdown":"## 図 5・図 9 との接続","text":"図 5・図 9 との接続","line":272,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_20a7da","type":"paragraph","markdown":"図 5 の ②「テーブルの行を探して出口を決める」の前に、そもそも通してよいかの関門が入ります。\n通った後の MAC の付け替えは、図 5 とまったく同じです。","text":"図 5 の ②「テーブルの行を探して出口を決める」の前に、そもそも通してよいかの関門が入ります。\n通った後の MAC の付け替えは、図 5 とまったく同じです。","line":274,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_f7cdce","type":"paragraph","markdown":"図 9 の ACL は、1 パケットごとに行を上から見る判定でした。\n図 22 は、その手前に往復を単位にした表を置きます。\nACL に帰りの行が無くても返事が通るのは、表に行があって ACL の判定に進まないからです。\n図 7 で残った 3 つの問題は、この図では解きません。図 22 が扱うのは、通してよいかを誰がどう決めるか、の 1 点です。","text":"図 9 の ACL は、1 パケットごとに行を上から見る判定でした。\n図 22 は、その手前に往復を単位にした表を置きます。\nACL に帰りの行が無くても返事が通るのは、表に行があって ACL の判定に進まないからです。\n図 7 で残った 3 つの問題は、この図では解きません。図 22 が扱うのは、通してよいかを誰がどう決めるか、の 1 点です。","line":277,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_703626","type":"heading","depth":2,"markdown":"## 未検証・注意","text":"未検証・注意","line":282,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_75cfee","type":"list","markdown":"- 接続状態テーブルの行が何秒で消えるか（アイドルタイムアウトの既定値）は確かめていません。\n- この図では住所の書き換え（NAT・図 8）を省いています。実際の出口では NAT が同時に効き、①の送信元 IP は外側の住所に書き換わります。図の帯の ② は ① の鏡像として描いてあります。\n- 勉強会での観察として書いたことが 2 つあります。両方の口をセキュリティレベル 100 にすると外から中への ping が通り、外側を 0 に戻すと通らなくなりました。ping の戻りは、ICMP をインスペクションの対象に入れてから通りました。機器の版による違いは確かめていません。\n- 既定で有効なインスペクションの一覧に ICMP が入っていないことは、資料にある既定の設定で確認しました。上の観察と向きは合いますが、勉強会の機器でその一覧を表示して見たわけではありません。\n- 高いレベルの口から低いレベルの口へ既定で自由に流れることは、ASA 8.1 の資料の文で確認しました。低いレベルから高いレベルへ通したいときに ACL へ行を書く、というのは、判定が 4 段目の ACL に進むというパケットフロー資料の記述からの読みで、そう書いた文を見つけたわけではありません。同じ値の口どうしには別の設定（same-security-traffic）が要ります。\n- 設定を GUI（ASDM）から行えることは資料にありますが、この記事では扱いません。","text":"接続状態テーブルの行が何秒で消えるか（アイドルタイムアウトの既定値）は確かめていません。この図では住所の書き換え（NAT・図 8）を省いています。実際の出口では NAT が同時に効き、①の送信元 IP は外側の住所に書き換わります。図の帯の ② は ① の鏡像として描いてあります。勉強会での観察として書いたことが 2 つあります。両方の口をセキュリティレベル 100 にすると外から中への ping が通り、外側を 0 に戻すと通らなくなりました。ping の戻りは、ICMP をインスペクションの対象に入れてから通りました。機器の版による違いは確かめていません。既定で有効なインスペクションの一覧に ICMP が入っていないことは、資料にある既定の設定で確認しました。上の観察と向きは合いますが、勉強会の機器でその一覧を表示して見たわけではありません。高いレベルの口から低いレベルの口へ既定で自由に流れることは、ASA 8.1 の資料の文で確認しました。低いレベルから高いレベルへ通したいときに ACL へ行を書く、というのは、判定が 4 段目の ACL に進むというパケットフロー資料の記述からの読みで、そう書いた文を見つけたわけではありません。同じ値の口どうしには別の設定（same-security-traffic）が要ります。設定を GUI（ASDM）から行えることは資料にありますが、この記事では扱いません。","line":284,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_240080","type":"heading","depth":2,"markdown":"## 出典","text":"出典","line":291,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_6e37d6","type":"list","markdown":"- 勉強会での本人の観察（2026-09-13 実機ハンズオン。資料は非公開）\n- [Cisco: ASA Packet Flow](https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/113396-asa-packet-flow-00.html) — 処理は 11 段。3 段目が接続テーブルの確認、4 段目が ACL、6 段目がインスペクション。「If the packet flow matches a current connection, then the Access Control List (ACL) check is bypassed and the packet is moved forward.」\n- [Cisco: ASA 8.1 Configuration Guide, Introduction](https://www.cisco.com/en/US/docs/security/asa/asa81/configuration/guide/intro.html) — 「By default, the security appliance allows traffic to flow freely from an inside network (higher security level) to an outside network (lower security level).」／最初のパケットは session management path、以降は fast path で TCP シーケンス番号などを確認する\n- [Cisco: Getting Started with Application Layer Protocol Inspection](https://www.cisco.com/c/en/us/td/docs/security/asa/asa91/configuration/firewall/asa_91_firewall_config/inspect_overview.html) — データ部に IP アドレスを埋め込む通信と、動的にポート番号を決める通信のためにインスペクションが要る。既定の `policy-map global_policy` の一覧に `inspect icmp` は入っていない\n- [インフラエキスパート: Cisco ASA セキュリティレベル](https://www.infraexpert.com/study/ciscoasa4.html) — 各インターフェースに 0〜100 のセキュリティレベルを設定する／同じ値の口どうしは `same-security-traffic permit inter-interface` で通す\n- [インフラエキスパート: ステートフルインスペクション](https://www.infraexpert.com/study/security25.html) — 往路の情報をセッション情報として保存し、戻りのパケットと照合して一致すれば通し、一致しなければ遮断する\n- [CCNA 200-301 v1.1 出題範囲](https://learningcontent.cisco.com/documents/marketing/exam-topics/200-301-CCNA-v1.1.pdf) — 1.1.c「Next-generation firewalls and IPS」","text":"勉強会での本人の観察（2026-09-13 実機ハンズオン。資料は非公開）Cisco: ASA Packet Flow — 処理は 11 段。3 段目が接続テーブルの確認、4 段目が ACL、6 段目がインスペクション。「If the packet flow matches a current connection, then the Access Control List (ACL) check is bypassed and the packet is moved forward.」Cisco: ASA 8.1 Configuration Guide, Introduction — 「By default, the security appliance allows traffic to flow freely from an inside network (higher security level) to an outside network (lower security level).」／最初のパケットは session management path、以降は fast path で TCP シーケンス番号などを確認するCisco: Getting Started with Application Layer Protocol Inspection — データ部に IP アドレスを埋め込む通信と、動的にポート番号を決める通信のためにインスペクションが要る。既定の policy-map global_policy の一覧に inspect icmp は入っていないインフラエキスパート: Cisco ASA セキュリティレベル — 各インターフェースに 0〜100 のセキュリティレベルを設定する／同じ値の口どうしは same-security-traffic permit inter-interface で通すインフラエキスパート: ステートフルインスペクション — 往路の情報をセッション情報として保存し、戻りのパケットと照合して一致すれば通し、一致しなければ遮断するCCNA 200-301 v1.1 出題範囲 — 1.1.c「Next-generation firewalls and IPS」","line":293,"sources":["src_1","src_2","src_3","src_4","src_5","src_6"],"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_1f7c1f","type":"heading","depth":2,"markdown":"## 関連","text":"関連","line":301,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}},{"id":"blk_25fc18","type":"list","markdown":"- [ネットワーク\\_INDEX](/notes/nw-basics-index) — 連載の目次\n\n- 連載の入口: [ネットワーク\\_00\\_3層で言葉を置く](/notes/nw-basics-00-three-layers)（`/notes/nw-basics-00-three-layers`）\n\n- 前の記事（図 21）: [ネットワーク\\_21\\_SDN](/notes/nw-basics-21-sdn)（`/notes/nw-basics-21-sdn`）\n\n- 次の記事（図 23）: [ネットワーク\\_23\\_リモートアクセスVPN](/notes/nw-basics-23-remote-access-vpn)（`/notes/nw-basics-23-remote-access-vpn`）\n\n- 土台になる記事（図 5）: [ネットワーク\\_05\\_行きと帰り](/notes/nw-basics-05-static-route)（`/notes/nw-basics-05-static-route`）\n\n- 1 パケットごとに判定する側: [ネットワーク\\_09\\_ACL](/notes/nw-basics-09-acl)（`/notes/nw-basics-09-acl`）","text":"ネットワーク_INDEX — 連載の目次連載の入口: ネットワーク_00_3層で言葉を置く（/notes/nw-basics-00-three-layers）前の記事（図 21）: ネットワーク_21_SDN（/notes/nw-basics-21-sdn）次の記事（図 23）: ネットワーク_23_リモートアクセスVPN（/notes/nw-basics-23-remote-access-vpn）土台になる記事（図 5）: ネットワーク_05_行きと帰り（/notes/nw-basics-05-static-route）1 パケットごとに判定する側: ネットワーク_09_ACL（/notes/nw-basics-09-acl）","line":303,"lineage":[],"authoredBy":{"kind":"human","id":"owner","label":"ぴぐお"}}],"sources":[{"id":"src_1","url":"https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/113396-asa-packet-flow-00.html","title":"Cisco: ASA Packet Flow","accessed":"2026-09-14","kind":"secondary"},{"id":"src_2","url":"https://www.cisco.com/en/US/docs/security/asa/asa81/configuration/guide/intro.html","title":"Cisco: ASA 8.1 Configuration Guide, Introduction","accessed":"2026-09-14","kind":"secondary"},{"id":"src_3","url":"https://www.cisco.com/c/en/us/td/docs/security/asa/asa91/configuration/firewall/asa_91_firewall_config/inspect_overview.html","title":"Cisco: Getting Started with Application Layer Protocol Inspection","accessed":"2026-09-14","kind":"secondary"},{"id":"src_4","url":"https://www.infraexpert.com/study/ciscoasa4.html","title":"インフラエキスパート: Cisco ASA セキュリティレベル","accessed":"2026-09-14","kind":"secondary"},{"id":"src_5","url":"https://www.infraexpert.com/study/security25.html","title":"インフラエキスパート: ステートフルインスペクション","accessed":"2026-09-14","kind":"secondary"},{"id":"src_6","url":"https://learningcontent.cisco.com/documents/marketing/exam-topics/200-301-CCNA-v1.1.pdf","title":"CCNA 200-301 v1.1 出題範囲","accessed":"2026-09-14","kind":"secondary"}],"errata":[]}