ICTSC2025 一次予選 問題解説: 問20 - 問22
問20
以下はとあるパケットを Wireshark で開いたスクリーンショットである。
このパケットがどんな役割を担っているか、パケットから情報を読み取ったうえで、下記の文章を適切な言葉で補完し完成させよ。なお、複数の表現が可能な場合は、この問題の文脈におけるより具体的な表現を採用すること。
このパケットは L3 アンダーレイ上の L2 オーバーレイネットワークを構成する [A] に関連するパケットで、ネットワークに新たな [B] が参加した際に送付される BGP の UPDATE Message である。このパケットによって、ネットワーク全体は [C] トラフィックを転送すべき相手を知ることができ、[C] トラフィックを [D] キャスト通信に変換したうえで、[E] して送付することが出来る。[E] する方式は [F] と呼ばれており、その他に [G] キャスト通信を使った方式が存在している。
解答例
A : EVPN/VXLAN
B : VTEP
C : BUM
D : ユニ
E : 複製
F : Ingress ReplicationまたはHead-End Replication
G : マルチ
解説・作問者コメント
EVPN/VXLAN の Route Type 3 のパケットに関する問題です。Route Type 3 のパケットがどんな役割を担っていて、同様の役割を担える仕組みが他にどんなものがあるかの知識を試す問題です。BGP の中身を見ていくと、EVPN というワードや、Route Type に関する情報がそのまま記載されており、Encap 方式が VXLAN である旨も記載されており、正答に近づけたかと思います。 本質的な知識からは全く逸れますが、「【】キャスト」という枠に対して、「【ユニキャスト】キャスト」といった回答が結構多くみられました。穴埋め問題のため、このような回答は部分点扱いとさせていただきました。また、「VTEP」という正答に対して、「ホスト」といった回答に関しても、「尚、複数の表現が可能な場合は、この問題の文脈におけるより具体的な表現を採用してください。」という問題文の注意事項を鑑み、部分点扱いとさせていただきました。
問21
Palo Alto Networks 社の PA シリーズのファイアウォールを使用して URL フィルタリングを行おうとしている。
以下のようにコンフィグを設計しポリシーを作っていたが、security rules
の設定に不備があり、想定通りの動きにならない。
set rulebase security rules allow_ip from CLIENT
set rulebase security rules allow_ip to SERVER
set rulebase security rules allow_ip source 192.168.1.1
set rulebase security rules allow_ip destination 10.0.0.1
set rulebase security rules allow_ip service service-http
set rulebase security rules allow_ip application any
set rulebase security rules allow_ip action allow
set rulebase security rules allow_url from CLIENT
set rulebase security rules allow_url to SERVER
set rulebase security rules allow_url source 192.168.1.1
set rulebase security rules allow_url destination any
set rulebase security rules allow_url profile-setting profiles url-filtering allow_url_profile
set rulebase security rules allow_url service service-http
set rulebase security rules allow_url application any
set rulebase security rules allow_url action allow
set rulebase security rules deny_any from CLIENT
set rulebase security rules deny_any to SERVER
set rulebase security rules deny_any source any
set rulebase security rules deny_any destination any
set rulebase security rules deny_any service any
set rulebase security rules deny_any application any
set rulebase security rules deny_any action deny
set profiles custom-url-category allow_url_list type "URL List"
set profiles custom-url-category allow_url_list list [ example.com, example.net, example.org ]
set profiles url-filtering allow_url_profile allow allow_url_list
上記を踏まえ、以下の3つの問いに対する回答を記述せよ。
- コンフィグの設計から「想定通りの動き」を読み取り記述せよ
- 今のコンフィグではどのような動きになるか想像し記述せよ
- 「想定通りの動き」にするにはコンフィグをどのように修正すればよいか記述せよ
解答例
-
特定のクライアントからサーバのゾーンに対する通信を、特定の IP や URL によって許可し、どの条件にも該当しない場合は
deny
するホワイトリスト形式の通信制御を行うこと、が想定通りの動きとなる。 -
allow_url
のポリシーによって、profile-setting
が設定されているので、一見指定した URL のみを許可するsecurity rules
に設定出来ているように見える。しかし、security rules
の考え方として、from
,source
,to
,destination
,service
,application
にマッチした場合は指定したaction
を取ってしまうため、指定した URL 以外宛ての通信であっても、destination any
でクライアントから任意の HTTP 通信が可能になってしまい、deny_any
のポリシーに判定が移らない。 -
allow_url
で指定する条件にcategory
を追加し、profile
の指定を削除する。profile
の設定自体も不要なので削除する。これによって、security rules
にマッチする条件にURLが含まれるようになったため、allow_url_list
で指定した宛先以外への通信は、allow_url
のポリシーにはマッチせずに、deny_any
へと判定が移る。
set rulebase security rules allow_ip from CLIENT
set rulebase security rules allow_ip to SERVER
set rulebase security rules allow_ip source 192.168.1.1
set rulebase security rules allow_ip destination 10.0.0.1
set rulebase security rules allow_ip service service-http
set rulebase security rules allow_ip application any
set rulebase security rules allow_ip action allow
set rulebase security rules allow_url from CLIENT
set rulebase security rules allow_url to SERVER
set rulebase security rules allow_url source 192.168.1.1
set rulebase security rules allow_url destination any
set rulebase security rules allow_url category allow_url_list
set rulebase security rules allow_url service service-http
set rulebase security rules allow_url application any
set rulebase security rules allow_url action allow
set rulebase security rules deny_any from CLIENT
set rulebase security rules deny_any to SERVER
set rulebase security rules deny_any source any
set rulebase security rules deny_any destination any
set rulebase security rules deny_any service any
set rulebase security rules deny_any application any
set rulebase security rules deny_any action deny
set profiles custom-url-category allow_url_list type "URL List"
set profiles custom-url-category allow_url_list list [ example.com, example.net, example.org ]
解説・作問者コメント
Palo Alto Networks 社の PA シリーズによる通信制御に関する問題です。
作問者が想定していなかった内容でも、適切な考え方と思われる回答には別途配点させていただいています。幅広い解釈が可能な問題となってしまい、回答に苦労されたかと思いますが、取り組んでいただきありがとうございました。
-
コンフィグの設計から「想定通りの動き」を読み取り記述してください
- 特定の IP や URL への HTTP 通信のみを許可している点に言及しているか。作問者は想定できていませんでしたが、許可されている IP はゲートウェイであり、それはどんな通信でも経由する宛先という考え方もできるため、そういった旨の回答も正答とさせていただいています。
- どの条件にも該当しない場合は
deny
することに言及しているか。このポリシーでは HTTP 以外も対象となっているので、「その他のウェブアクセス」と限定している場合は誤答とさせていただいています。
-
今のコンフィグではどのような動きになるか想像し記述してください
- 明示的に許可していない宛先への HTTP 通信も通ってしまうことや、
deny_any
のポリシーが HTTP 通信においては全く使われないことに言及しているか。 - 明示的に許可していない宛先への通信が成立してしまう理由について言及しているか。複数のパターンでの回答があり得ました。
10.0.0.1
を GW と考えるなら、1つ目のポリシーですべての HTTP 通信が素通しとなる考え方もできます。もしくは、URL 制御のsecurity rules
がfrom
,source
,to
,destination
,service
,application
の条件で動作するため、destination any
になっているから明示的に許可していない宛先への通信も成立してしまう、という考え方もできます。回答の中に、「カスタムの URL カテゴリでアクションを定義していない宛先へのデフォルトのアクションはalert
だから意図しない通信も許可されてしまう」というものがいくつかありましたが、意図しない通信も許可されてしまうのは「カテゴリに関する条件がないこと」と「宛先がany
なこと」の2点によって引き起こされているため不正解とさせていただきました。URL カテゴリで定義されていない宛先への通信がalert
によって許可される、という説明には URL リストに書いていない URL への HTTP 通信を流した時、その URL がログに出力されるという動きが想定されますが、このコンフィグではその動作にはならないためです。
- 明示的に許可していない宛先への HTTP 通信も通ってしまうことや、
-
「想定通りの動き」にするにはコンフィグをどのように修正すればよいか記述してください。
- 意図しない宛先への通信を遮断する方法について言及しているか。方法としては、URL 制御のポリシーに
category
マッチの条件を入れる、が考えられます。profile
にblock
するURLリストを作成し、全てのサイトをブロックする設定する方式は、許可したい URL へのアクセスも遮断してしまい、個別に遮断するサイトをリスト化する方式では「ホワイトリスト形式」という従来のやりたいことから逸れるため NG とさせていただきました。 10.0.0.1
を GW と想定したと思われる回答には、「IP 許可のポリシーを削除する」という方式がありましたが、URL 制御のポリシーにも手を加えない限りは正しい制御にはならず、引き続き全 HTTP が許可されてしまうため、部分点とさせていただきました。また、その他の回答であっても、21-1や21-2の回答の文脈と照らし合わせて適切な手段と判断した場合にも部分点を加点させていただいています。
- 意図しない宛先への通信を遮断する方法について言及しているか。方法としては、URL 制御のポリシーに
以下、参考資料になります。
Security Profilesのフィールドに、「Provide additional protection from threats, vulnerabilities, and data leaks. Security profiles are evaluated only for rules that have an allow action.」という説明があり、単なる URL 制御では不要であること。適用には、ポリシーのアクションが allow
であることが必須なこと、を読み取ることができると回答のヒントになりそうです。
問22
検証用に以下の構成のネットワークを Arista vEOS のバージョン 4.31.4M で構築している。
R3 と R4 は 192.0.2.0/24
のネットワークへの到達性を有することを模擬するために Lo アドレスに当該ネットワークのアドレスを持たせている。
各ネットワーク機器のコンフィグや出力の一部を以下に記載する。 なお、ルーティングやIPアドレスに関する情報は漏れなく記載している。
以下は R1 のコンフィグの一部である。
interface Ethernet1
description to R3
no switchport
ip address 10.0.0.1/30
interface Ethernet2
description to R2
no switchport
ip address 10.1.1.1/30
ip route 192.0.2.0/24 10.0.0.2
ip route 192.0.2.0/25 10.1.1.2 200
ip routing
router bgp 65001
router-id 1.1.1.1
neighbor 10.1.1.2 remote-as 65002
address-family ipv4
neighbor 10.1.1.2 activate
以下は R2 のコンフィグの一部である。
interface Ethernet1
description to R4
no switchport
ip address 10.1.2.1/30
interface Ethernet2
description to R1
no switchport
ip address 10.1.1.2/30
ip route 192.0.2.0/24 10.1.2.2
ip routing
router bgp 65002
router-id 2.2.2.2
neighbor 10.1.1.1 remote-as 65001
address-family ipv4
neighbor 10.1.1.1 activate
network 192.0.2.0/24
以下は R3 のコンフィグの一部である。
ip routing
interface Ethernet1
description to R1
no switchport
interface Loopback0
ip address 192.0.2.1/24
以下は R4 のコンフィグの一部である。
ip routing
interface Ethernet1
description to R2
no switchport
ip address 10.1.2.2/30
interface Loopback0
ip address 192.0.2.2/24
以下は R1 で show int status
を実行した結果である。
R1#show int status
Port Name Status Vlan Duplex Speed Type Flags Encapsulation
Et1 to R3 connected routed full 1G EbraTestPhyPort
Et2 to R2 connected routed full 1G EbraTestPhyPort
Et3 notconnect 1 full 1G EbraTestPhyPort
Et4 notconnect 1 full 1G EbraTestPhyPort
Et5 notconnect 1 full 1G EbraTestPhyPort
Et6 notconnect 1 full 1G EbraTestPhyPort
Et7 notconnect 1 full 1G EbraTestPhyPort
Ma1 notconnect routed auto auto 10/100/1000
以下は R2 で show int status
を実行した結果である。
R2#show int status
Port Name Status Vlan Duplex Speed Type Flags Encapsulation
Et1 to R4 connected routed full 1G EbraTestPhyPort
Et2 to R1 connected routed full 1G EbraTestPhyPort
Et3 notconnect 1 full 1G EbraTestPhyPort
Et4 notconnect 1 full 1G EbraTestPhyPort
Et5 notconnect 1 full 1G EbraTestPhyPort
Et6 notconnect 1 full 1G EbraTestPhyPort
Et7 notconnect 1 full 1G EbraTestPhyPort
Ma1 notconnect routed auto auto 10/100/1000
以下は R1 で show ip bgp
を実行した結果である。
R1#show ip bgp
BGP routing table information for VRF default
Router identifier 1.1.1.1, local AS number 65001
Route status codes: s - suppressed contributor, * - valid, > - active, E - ECMP head, e - ECMP
S - Stale, c - Contributing to ECMP, b - backup, L - labeled-unicast
% - Pending best path selection
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI Origin Validation codes: V - valid, I - invalid, U - unknown
AS Path Attributes: Or-ID - Originator ID, C-LST - Cluster List, LL Nexthop - Link Local Nexthop
Network Next Hop Metric AIGP LocPref Weight Path
* > 192.0.2.0/24 10.1.1.2 0 - 100 0 65002 ?
現時点で、R1 で出力される show ip route
の結果として想定されるルーティングテーブルを記述せよ。ルート情報には、プロトコル、宛先NW、ネクストホップ、インタフェースの情報を含めること。
解答のフォーマットは以下を参考にすること。
■プロトコルの表記
C - connected, S - static, K - kernel,
O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1,
E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
N2 - OSPF NSSA external type2, B - Other BGP Routes,
B I - iBGP, B E - eBGP, R - RIP, I L1 - IS-IS level 1,
I L2 - IS-IS level 2, O3 - OSPFv3, A B - BGP Aggregate,
A O - OSPF Summary, NG - Nexthop Group Static Route,
V - VXLAN Control Service, M - Martian,
DH - DHCP client installed default route,
DP - Dynamic Policy Route, L - VRF Leaked,
G - gRIBI, RC - Route Cache Route,
CL - CBF Leaked Route
■ルーティングテーブルの表記
O 192.168.0.0/24 10.0.0.1 Ethernet5
回答例
R1#show ip route
VRF: default
Source Codes:
C - connected, S - static, K - kernel,
O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1,
E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
N2 - OSPF NSSA external type2, B - Other BGP Routes,
B I - iBGP, B E - eBGP, R - RIP, I L1 - IS-IS level 1,
I L2 - IS-IS level 2, O3 - OSPFv3, A B - BGP Aggregate,
A O - OSPF Summary, NG - Nexthop Group Static Route,
V - VXLAN Control Service, M - Martian,
DH - DHCP client installed default route,
DP - Dynamic Policy Route, L - VRF Leaked,
G - gRIBI, RC - Route Cache Route,
CL - CBF Leaked Route
Gateway of last resort is not set
C 10.0.0.0/30
directly connected, Ethernet1
C 10.1.1.0/30
directly connected, Ethernet2
S 192.0.2.0/25 [200/0]
via 10.1.1.2, Ethernet2
B E 192.0.2.0/24 [200/0]
via 10.1.1.2, Ethernet2
解説
ルーティングに関する問題です。直接接続の2本は特に論点なしでそのまま記載されますが、192.0.2.0/25
と 192.0.2.0/24
がポイントとなります。
問題の肝は、R1に設定している ip route 192.0.2.0/24 10.0.0.2
が show ip route
の結果に載ってこない点です。Interface が Up
しているので誤解しがちですが、対向の R3 のインタフェースに該当する IP が設定されていません。なので、対向の ARP 解決ができず、ARP 解決できない宛先をネクストホップに設定したスタティックルートは show ip route
の結果に載りません。
後は、R1
に設定されている /25
向けのスタティックルートがロンゲストマッチで優先され、/24
向けのルートが BGP で学習されている、という2点を加味したルーティングテーブルを記載すると解ける問題となっております。