令和元年(2019年)ネスペ午後Ⅰ 問Ⅲ 解答解説

設問2

(1)IPアドレスを固定設定すれば、正常PC以外でも通信できる。

順を追って見ていこう!

DHCPスヌーピングを実行しない→バインディングテーブルが作られない→端末の正当性をチェックする材料がない→以下の2パターンが発生する

パターン①:IPアドレスを持っていない端末の場合
IPアドレスを持っていない端末は、IP通信ができないので特に影響はない。そのためもし、IPを取得しようと思ったら、DHCPサーバにアクセスする必要があり、その段階でPC管理サーバでチェックを通すことができる。

パターン②:IPアドレスを固定設定している場合
IPアドレスを自身で設定している場合、IP通信が可能な状況が整ってしまっている。つまり、DHCPサーバ経由のPC管理サーバチェックを通らなくても通信ができてしまうので、不正PCでもLANを利用できるようになってしまう。

以上をまとめると、DHCPスヌーピングを無効化するとIPアドレスを固定設定すれば、正常PC以外でも通信できてしまうが回答となる。

設問3

(1)2

条件をまとめると…
 ・通信制御装置を接続するスイッチはL3SW
 ・フロア間接続をしない
 ・ポートはすべて異なるセグメントに属さなければならない

以上をまとめると、👇のような構成になる。

ポートを2つ使っているのは、フロア内には2つのセグメントがあるため、そのセグメントごとにアクセスポートを作りその接続先に通信制御装置をつなげている。
以上より、通信制御装置は2台の構成で可能であることが分かる。

(2)ポート1:L3SW1 ポート2:L3SW1 ポート3:空 ポート4:空 or   ポート1:L3SW2 ポート2:L3SW2 ポート3:空 ポート4:空 

上の図を見ると、通信制御装置はL3SWにしかつながっていない。そのため、ポート1:L3SW1 ポート2:L3SW1 ポート3:空 ポート4:空 or ポート1:L3SW2 ポート2:L3SW2 ポート3:空 ポート4:空 となる。

設問4

(1)PC管理サーバ、メンテナンスサーバ

なぜPC管理サーバなの…
 ・PCの合格・不合格を判定するのはPC管理サーバ
 ・PC管理サーバと通信できないと不合格PCは一向に合格判定されずネットワークに接続できなくなる
 =PC管理サーバとの通信は許可する必要がある

なぜメンテナンスサーバなの…
 ・不合格PCはOSやウイルス定義ファイル等のアップデートをしないと合格にならない
 ・そのアップデートファイルを持っているのがメンテナンスサーバ
 ・メンテナンスサーバと接続できないと一向にアップデートできず合格状態にならない
 =メンテナンスサーバとの通信は許可する必要がある

なぜDHCPサーバは回答から除外されるのか…
 ・DHCPでIPアドレスを取得しなきゃ、そもそもPC管理サーバなどと通信すらできない
 ・だからDHCP許可は必須では?
 →DHCPの通信は、PCがネットワークに参加した瞬間にIPを配るための「基盤インフラ」であり、L3スイッチ(SVI)に設定した ip helper-address によって中継(リレー)される。セキュリティ上の「例外許可リスト(ホワイトリスト)」にわざわざ書かなくても、インフラの仕組みとして動く前提、あるいは「治療・管理」の対象外として扱われるため今回は除外されている。
*DHCP通信自体を許可ルールに入れることを否定しているわけではない(その証拠に設問4(2)では対処用プールをDHCPに追加する旨が記載されているのでDHCP通信自体は実行していることが分かる)




p.12 Q.メンテナンスサーバって何?

メンテナンスサーバとは社内にある各PCの、OS、業務アプリケーション、ウイルス対策ソフトの「ウイルス定義ファイル」などのアップデートファイルを一元的に管理し、各PCに配信するためのサーバー。

Q.なんで必要なの?

インターネット回線の帯域節約:
 もし数百台あるPCがそれぞれ個別にインターネットから巨大なOSのアップデートやウイルス定義ファイルをダウンロードすると、社内のインターネット回線(WAN回線)がパンクする。メンテナンスサーバーが外部から1回だけダウンロードし、社内PCにはローカルのLAN経由で配ることで、WAN回線の負荷を大幅に削減できる。

セキュリティとバージョンの統制:
 情報システム部が「どのバージョンまでアップデートを許可するか」をメンテナンスサーバー側で一元管理し、社内PCの環境を均一に保つことができる。

p.13 Q.DHCPスヌーピングって何?

DHCPスヌーピングは、不正なDHCPサーバーによるIPアドレスの払い出しを防ぐためのセキュリティ機能。
仕組みとしては、L2スイッチがDHCPクライアントとDHCPサーバー間でやり取りされるDHCPメッセージを監視する。
①まず、L2スイッチのポートにTrusted(信頼)とUntrusted(非信頼)を設定する。
②Trustedポートは正規のDHCPサーバーが接続されているポートで、Untrustedポートは一般ユーザーのPCなどが接続されているポート。
③そして、UntrustedポートからDHCP OfferやDHCP ACKなどのサーバー側の応答メッセージが送信された場合、それを破棄する。
④これによって、不正な端末がDHCPサーバーになりすまして、偽のIPアドレスやデフォルトゲートウェイを払い出す攻撃を防ぐことができる。
⑤さらに、DHCPのやり取りを監視する過程で、IPアドレス・MACアドレス・VLAN・接続ポートなどの対応関係をBinding Table(バインディングテーブル)に記録する。
⑥このBinding Tableは、Dynamic ARP Inspection(DAI)やIP Source Guard(IPSG)といった別のセキュリティ機能でも利用され、不正なARPパケットや送信元IPアドレスを偽装した通信を防ぐために役立つ。

Q.DAI(Dynamic ARP Inspection)って何?

DAIの目的は、不正なARPパケットを検査・破棄して、ARPスプーフィングを防ぐこと。

DAIによるブロック動作

  • 非信頼ポート(一般PCが繋がるポート)から流れてきたARPパケット(要求・応答の両方)を、スイッチがバインディングテーブルと突き合わせる。
  • もし「IPアドレスとMACアドレスの組み合わせがテーブルと一致しない偽のARP」や、「自分のものではないIPを騙った不正なARPパケット」を検知した場合、スイッチは即座にそのパケットを破棄(ドロップ)する。

Q.IPSG(IP Source Guard)ってなに?

IPヘッダーの送信元IPアドレスをバインディングテーブルと比較して整合性をチェックする機能。送信元のなりすましを防止できる。

Q.DAIとIPSGって何が違うの?
IPSGを使えばARPスプーフィングを防げるのではないのか。つまりDAIいらなくね?という疑問があるだろう。
結論:ARPはIPヘッダーを持たないので、IPSGではなりすましをチェックできない。

ARPパケットの構成

p.13 Q.DHCPサーバを使ったLAN通信制限

では、フローとともに同のような流れでDHCPサーバを使ったLAN通信制限を実施しているのか。見ていこう!

  1. PCの接続とDHCP要求の送信
    • PCがLANポートに接続され、DHCP Discover(ブロードキャスト)を送信。
  2. DHCPリレーエージェントによる転送
    • PCが接続されたセグメントの境界にあるL3スイッチ(L3SW1 または L3SW2)がDHCP要求を受信し、DHCPリレーエージェント機能(IPヘルパーアドレス)によってユニキャストに変換してサーバ室のDHCPサーバーへ転送。
  3. DHCPサーバーでの端末判定(機能追加部分)
    • DHCPサーバーは、届いたリクエスト内の chaddr(MACアドレス)を確認。
    • PC管理サーバー上の情報と照合し、そのPCが「正常PC(検査合格)」であるかを判定。
      • 正常PCの場合: 通常通りIPアドレスを割り当て(Offer / Request / ACK)、設定情報を返す。その際のIPアドレスプールはgiaddrフィールドを参考にする。
      • 不正PC・未登録PCの場合: IPアドレスをあえて割り当てない(応答しない、または拒否する)。
  4. L2スイッチでのDHCPスヌーピングによる学習
    • 各フロアのL2スイッチは、DHCPサーバーとPC間のやり取り(Discover〜ACK)を監視(スヌープ)する。
    • DHCPの割り当てが成功した場合、L2スイッチは「接続ポート」「MACアドレス」「割り当てられたIPアドレス」の紐付け情報を「DHCPスヌーピングバインディングテーブル」に自動で記録。
  5. L2スイッチでの通信制御(不正パケットの遮断)
    • 正当なPCの通信: バインディングテーブルに登録されているため、通常のIPパケットやARPパケットの通信が許可される。
    • 不正PC・未登録PCの通信: DHCPからIPを取得できず、勝手に手動(スタティック)でIPアドレスを設定して通信を試みても、L2スイッチがバインディングテーブルと照合し、「テーブルに登録されていない不正なIPパケット」であると検知してスイッチのポートで即座に破棄(ドロップ)。

p.13 Q.専用機器を使ったLAN通信制限

フローとともに理解していこう!

1.通信制限装置(M)とPC管理サーバを連携させる
 →Mは機器のMACアドレスをベースに不正PCを特定できるようになる
2.不正PCからのARP要求はMのMACアドレスで応答する
 →不正PCは宛先MACアドレスがMのまま送信するので、実際の相手には届かない
 →結果的に、ネットワークへの悪影響を抑えられる

以上より、不正PCのLAN利用を防ぐことができる。

p.14 Q.なんで10秒間隔で送信を繰り返すの?

ARPキャッシュには「有効期限(エイジング)」がある

  • パソコン(OS)は、一度学習した「IPアドレスとMACアドレスの組み合わせ(ARPキャッシュ)」を永遠に覚えておくわけではありません。一定時間が経つと古いキャッシュは破棄(エイジング)される。
  • もし通信制限装置が最初に1回だけ嘘のARP応答を送って終わった場合、しばらく経つと排除対象PCのキャッシュが切れてしまい、再び本物のルータへ正しいARP要求を送って正常な通信ルートを復旧させてしまうリスクがある。

偽装状態を維持(ポイズニングの継続)する

  • そのため、通信制限装置は10秒という短い間隔で執拗に嘘のARP応答を送り続け、PC側のARPキャッシュを強制的に自分(制限装置)のMACアドレスに上書きし続ける。
  • これにより、排除対象PCが通信しようとするたびに、あるいは時間が経過しても、常に「宛先は通信制限装置」という状態が強制維持され、通信を完全にブロックし続けることができる。

Ciscoコマンド練習問題

今回の試験のシナリオに類似した練習問題を解いていこう!

Q.1 PCからL3SWのVLANインタフェースへの疎通

1. 今回やりたいこと(目的)

  • PC(PC3)からL3スイッチのVLANインターフェース(SVI)への疎通確認
  • L2スイッチを挟んだ構成において、異なるレイヤー間の機器同士で正しくVLANとルーティングが連携し、Ping(ICMP)が通る状態を作る。

2. 構成の前提情報(トポロジとポート割り当て)

構成に基づくインターフェースの接続関係は以下の通り。

機器名インターフェース接続先 / 役割
L3SWGi0/0L2SW (Gi0/1) との接続(トランクポート)
L2SWGi0/1L3SW (Gi0/0) との接続(トランクポート)
L2SWGi0/0PC3 (e0) との接続(VLAN 10 アクセスポート)
PC3e0L2SW (Gi0/0) との接続

回答👇

Hjson
#L3SW---------------------------------------------
en
conf t

ip routing

vlan 10
name try10
exit

int g0/0
no shut
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10

int vlan 10
ip address 10.0.0.1 255.255.255.0
no shut


#L2SW---------------------------------------------
en
conf t

vlan 10
name try10
exit

int g0/0
switchport mode access
switchport access vlan 10

int g0/1
desc **L3SW**
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10


#PC---------------------------------------------
ip 10.0.0.10/24 10.0.0.1

Q.なんでVLAN10しか使わないのに、トランクポートにする必要があるの?
A.理由は、L3スイッチの通信の仕組みにある。L3スイッチでは、VLANごとのIPアドレス(SVI: int vlan 10)は、物理ポートではなく、仮想的なVLANインターフェースに割り当てられる。
もしL2SWとL3SWの間を「VLAN 10のアクセスポート」にしてしまうと、以下のような問題が起きる

  • L3スイッチの物理ポートは「どのVLANのメンバーか」を直接持たない:
    アクセスポートに届いたフレームは指定されたVLANに強制的に所属させられるが、L3スイッチのSVI(int vlan 10)にパケットを届けるには、IEEE 802.1Qのタグが付いた状態でフレームが内部処理に回る必要がある。
  • トランクポートの役割:
    トランクポートは、複数のVLAN(今回はVLAN 10)のタグ付きフレームをそのまま通すための道。L2SW側でVLAN 10に属するPCからのトラフィックをL3SWへ正確に中継し、L3SW側のルーティングエンジン(SVI)に渡すためには、両者を結ぶリンクがトランクである必要がある。

そのため、たとえVLANが1つ(VLAN 10のみ)であったとしても、L2スイッチとL3スイッチ間を接続するポートはトランクモードで設定するのがCiscoネットワークの正しい接続方法となる。

Q.2 L3SWのVLANインタフェースでDHCPリレーエージェントを稼働させる

1. 今回やりたいこと(目的)

  • PC(PC1)がDHCPサーバーを持たない別セグメントにいる状態から、DHCPリレーエージェントを経由してIPアドレスを自動取得できるようにする
  • L2SW1およびL3SW1を介して、PCからのDHCPブロードキャスト要求をL3スイッチの機能(ip helper-address)でユニキャストに変換し、上位のDHCPサーバーへ安全に転送・配給させる仕組みを構築する。

2. 構成の前提情報(トポロジとポート割り当て)

構成に基づくインターフェースの接続関係は以下の通り。

機器名インターフェース接続先 / 役割
DHCPGi0/0L3SW1 (Gi0/0) との接続(ルーテッドポート / 10.0.10.67)
L3SW1Gi0/0DHCPサーバーとの接続(ルーテッドポート / 10.0.10.1)
L3SW1Gi0/1L2SW1 (Gi0/0) との接続(トランクポート / VLAN 10)
L3SW1SVI (Vlan 10)ゲートウェイ (10.0.0.1) + DHCPリレー設定
L2SW1Gi0/0L3SW1 (Gi0/1) との接続(トランクポート / VLAN 10)
L2SW1Gi0/1PC1 (e0) との接続(VLAN 10 アクセスポート)
PC1e0L2SW1 (Gi0/1) との接続(DHCPクライアント)

回答👇

Hjson
#DHCPサーバ
en
conf t

int g0/0
desc **L3SW1**
ip address 10.0.10.67 255.255.255.0
no shut

ip dhcp excluded-address 10.0.0.1
ip dhcp pool vlan10
default-router 10.0.0.1
network 10.0.0.0 255.255.255.0
dns-server 8.8.8.8
lease 0 1


ip route 0.0.0.0 0.0.0.0 10.0.10.1




#L3SW---------------------------------------------
en
conf t

ip routing

vlan 10
name try10
exit

int g0/0
desc **DHCP**
no switchport
ip address 10.0.10.1 255.255.255.0
no shut

int g0/1
desc **L2SW**
no shut
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10

int vlan 10
ip address 10.0.0.1 255.255.255.0
ip helper-address 10.0.10.67
no shut



#L2SW---------------------------------------------
en
conf t

vlan 10
name try10
exit

int g0/0
desc **L3SW**
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10

int g0/1
switchport mode access
switchport access vlan 10


#PC---------------------------------------------
ip dhcp

Q.3 Q2をベースとした環境にACLを割り当てる

1. 今回やりたいこと(目的)

  • DHCP自動取得とリレーの実現
    • 別セグメント(VLAN10)に属するPC群が、L3スイッチの機能(ip helper-address)を経由して、上位セグメントにあるDHCPサーバーからIPアドレスを自動取得できるようにする。
  • ACLによるアクセス制御の両立
    • VLAN10からの通信を、指定された特定のサーバー(PCad および Maintenance)だけに限定する。
    • ただし、それ以外の通信をブロックする際に、DHCPの仕組み(ポート67/68)まで巻き込んで遮断されないよう、通信要件を考慮した適切なACL設計を行う。

2. 構成の前提情報(トポロジとポート割り当て)

構成に基づくインターフェースの接続関係は以下の通り。

機器名インターフェース接続先 / 役割
DHCPserverGi0/0L3SWとの接続(ルーテッドポート / 10.0.111.101)
PCadGi0/0メンテナンス用PC / 接続先サーバー(10.0.111.102)
MaintenanceGi0/0保守用サーバー(10.0.111.103)
L3SWGi0/0DHCP/サーバーセグメント側の接続(ルーテッドポート / 10.0.111.1)
L3SWGi0/1L2SWとの接続(トランクポート / VLAN 10)
L3SWVLAN 10仮想インターフェース(SVI / 10.0.10.1, DHCPリレー設定)
L2SWGi0/0L3SWとの接続(トランクポート / VLAN 10)
L2SWGi0/1 – 0/3各PCとの接続(アクセスポート / VLAN 10)

👇回答

Hjson
IPアドレス
DHCP 	      10.0.111.101
PCad  	      10.0.111.102
Maint 	      10.0.111.103

L3SW 	      10.0.111.1
L3SW(VLANint) 10.0.10.1 

L2SW          VLAN10

PC            DHCPで取得	


#DHCPサーバ-------------------------------
en
conf t
host DHCPserver

int g0/0
ip address 10.0.111.101 255.255.255.0
no shut
exit

ip dhcp excluded-address 10.0.10.1
ip dhcp pool vlan10
default-router 10.0.10.1
network 10.0.10.0 255.255.255.0
dns-server 8.8.8.8
lease 1 12

exit

ip route 0.0.0.0 0.0.0.0 10.0.111.1

end
wr


#PCad-------------------------------
en
conf t
host PCad

int g0/0
ip address 10.0.111.102 255.255.255.0
no shut
exit

ip route 0.0.0.0 0.0.0.0 10.0.111.1
end
wr


#Maintenance-------------------------------
en
conf t
host Maintenance

int g0/0
ip address 10.0.111.103 255.255.255.0
no shut
exit

ip route 0.0.0.0 0.0.0.0 10.0.111.1

end

wr

#L3SW-------------------------------
en
conf t
host L3SW

ip routing

vlan 10
name vlan10
exit

ip access-list extended ACL1
permit udp any host 10.0.111.101 eq bootpc
permit udp any host 10.0.111.101 eq bootps
permit ip any 10.0.111.102 0.0.0.0
permit ip any 10.0.111.103 0.0.0.0

int g0/0
no switchport
ip address 10.0.111.1 255.255.255.0
no shut
exit

int g0/1
no shut
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10
exit

int vlan 10
no shut
ip address 10.0.10.1 255.255.255.0
ip helper-address 10.0.111.101
ip access-group ACL1 in

end
wr

#L2SW-------------------------------
en
conf t
host L2SW

vlan 10
name vlan10
exit

int g0/0
no shut
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10
exit

int range g0/1-3
no shut
switchport mode access
switchport access vlan 10
exit

#PC-------------------------------
ip dhcp

テスト一覧
#DHCPへのping
ping 10.0.111.101

#PCadministrator
ping 10.0.111.102

#testPCへ
ping 10.0.111.254


📝L3SWのvlanインタフェースにはno switchportは必要ない
📝ルーティングできないときは各サーバのデフォルトルートの指定を確認

📝アクセスリストの割り当て
以下より、甘んじてDHCPのbootpc,bootspのみ許可する設定を追加する
 もし、bootpcとbootpsへの通信を許可しないと...👇
 VLANインタフェースに割り当てると...DHCP取得できないbut,メンテナンスとPC管理へはOK
 L3intg0/1にinとして割り当てると...何もブロックされない
 L3intg0/0にoutとして割り当てると...DHCP取得できないbut,メンテナンスとPC管理へはOK

では、今回の練習問題は終わり!!

タイトルとURLをコピーしました