FC2ブログ

下流ネットワークエンジニアの生活

上流工程を夢見る下流工程のネットワークエンジニアがネットワーク技術や資格、身の回りのことを情報発信! Juniper Cisco YAMAHA DELL D-Link AlaxalA F5 CCNA CCNP CCIE ネットワークスペシャリスト

Cisco ACLにおけるフラグメント化されたパケットの処理

2014.08.27 (Wed)
ACLにおけるフラグメントパケットの処理について
誤った認識をしていたため、メモ



Cisco HPより抜粋


IP パケットは、ネットワークを通過するときにフラグメント化されることがあります。
その場合、TCP または UDP ポート番号や ICMP タイプおよびコードなどのレイヤ 4 情報は、
パケットの最初の部分があるフラグメントだけに含まれます。
他のフラグメントには、この情報はありません。


ACE には、レイヤ 4 情報をチェックしないため、
すべてのパケット フラグメントに適用されるものがあります。

レイヤ 4 情報を調べる ACE は、フラグメント化された
IP パケットのほとんどのフラグメントに標準的な方法では適用できません。

フラグメントにレイヤ 4 情報が含まれておらず、
ACE が一部のレイヤ 4 情報をチェックする場合、
一致ルールは次のように変更されます。

・フラグメント内のレイヤ 3 情報(TCP や UDP などのプロトコル タイプを含む)を
 チェックする許可 ACE は、含まれていないレイヤ 4 情報の種類にかかわらず、
 フラグメントと一致すると見なされます


・レイヤ 4 情報をチェックする拒否 ACE は、
 フラグメントにレイヤ 4 情報が含まれていない限り、
 フラグメントと一致しません。








例)

次のコマンドで構成され、フラグメント化された
3 つのパケットに適用されるアクセス リスト 102 を例に説明します。

Switch(config)# access-list 102 permit tcp any host 10.1.1.1 eq smtp ①
Switch(config)# access-list 102 deny tcp any host 10.1.1.2 eq telnet ②
Switch(config)# access-list 102 permit tcp any host 10.1.1.2 ③
Switch(config)# access-list 102 deny tcp any any ④


・パケット A は、ホスト 10.2.2.2 のポート 65000 から
 ホスト 10.1.1.1 の SMTP ポートに送信される TCP パケットです。
 このパケットがフラグメント化された場合、
 レイヤ 4 情報がすべて揃っているため、完全なパケットである場合と
 同じように最初のフラグメントが①の ACE(permit)と一致します。

 残りのフラグメントも最初の ACE と一致します。

 これは、それらのフラグメントに SMTP ポート情報が含まれていなくても、
 最初の ACE が適用されたときにレイヤ 3 情報だけをチェックするからです。
 この例の情報は、パケットが TCP であることと、宛先が 10.1.1.1 であることです。




・パケット B は、ホスト 10.2.2.2 のポート 65001 から
 ホスト 10.1.1.2 の Telnet ポートに送信されます。
 このパケットがフラグメント化された場合、
 レイヤ 3 情報とレイヤ 4 情報がすべて揃っているため、
 最初のフラグメントが ②の ACE(deny)と一致します。

 残りのフラグメントは、レイヤ 4 情報が含まれていないため、
 ②の ACE と一致しません。
 残りのフラグメントは ③の ACE(permit)と一致します。

 最初のフラグメントパケットが拒否されたため、
 ホスト 10.1.1.2 は完全なパケットを再構成できず、
 その結果、パケット B は拒否されます。
 ただし、以降の許可されたフラグメントが
 ネットワークの帯域幅を使用し、ホスト 10.1.1.2 がパケットを
 再構成しようとするときにホストのリソースが消費されます。

・フラグメント化されたパケット C は、ホスト 10.2.2.2 のポート 65001 から
 ホスト 10.1.1.3 のポート ftp に送信されます。
 このパケットがフラグメント化された場合、
 最初のフラグメントが ④の ACE(deny)と一致します。

 ACE はレイヤ 4 情報をチェックせず、
 すべてのフラグメントのレイヤ 3 情報に宛先がホスト 10.1.1.3 であることが示され、
 ④より前の permit ACE は異なるホストをチェックしていたため、
 他のフラグメントもすべて 4 つめの ACE と一致します。
関連記事
スポンサーサイト



コメント


管理者のみに表示

トラックバック