ネットワーク構成

図 TCP Interceptネットワーク構成
図 TCP Interceptネットワーク構成

設定条件

  • R2に対してTCP Synfloodの攻撃が行われています。R1でTCP Synfloodの攻撃を防止してください。
  • TCPコネクションを監視して、ハーフコネクションが30を超えると古いものから切断するようにしてください。

初期設定

  • R1/R2/R3
    ホスト名/IPアドレス
    ルーティングプロトコル OSPF エリア0

R1

interface Loopback0
 ip address 192.168.0.1 255.255.255.255
!
interface Ethernet0/0
 ip address 192.168.12.1 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.13.1 255.255.255.0
!
router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

R2

interface Loopback0
 ip address 192.168.0.2 255.255.255.255
!
interface Ethernet0/0
 ip address 192.168.12.2 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.2.2 255.255.255.0
!
router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

R3

interface Loopback0
 ip address 192.168.0.3 255.255.255.255
!
interface Ethernet0/0
 ip address 192.168.13.3 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.3.3 255.255.255.0
!
router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

GNS3プロジェクトダウンロード(MM_1254_TCP_Intercept_init.zip)設定

【Step1:TCPインターセプトの設定】

TCPインターセプトは、TCP Syn FloodのDoS攻撃を防止するための機能です。ルータを通過するTCPコネクションをチェックして、正しくTCPコネクションを確立しているかどうかを確認します。

図 TCPインターセプトの概要
図 TCPインターセプトの概要

TCPインターセプトの動作モードとして、以下の2つあります。

  • インターセプトモード
  • ウォッチモード

インターセプトモードは、ルータがTCPコネクションのプロキシとして動作します。そして、ハーフコネクションの数が設定されているしきい値を超えるとハーフコネクションを切断します。デフォルトはインターセプトモードです。

ウォッチモードはTCPコネクションの確立を監視して、一定時間内に確立されていないTCPコネクションを切断します。デフォルトは30秒以内に確立されなかったTCPコネクションを切断します。

TCPインターセプトを有効化するには、グローバルコンフィグレーションモードで次のコマンドを利用します。

TCPインターセプトの有効化

(config)#ip tcp intercept list <ACL>

<ACL> : 関連付けるACL

<ACL>でpermitされたパケットがTCPインターセプトの対象です。そして、モードとコネクションの切断方法の設定は、以下のコマンドです。

TCPインターセプト モードとコネクション切断方法の設定

(config)#ip tcp intercept mode {intercept|watch}
デフォルト:intercept

(config)#ip tcp intercept drop-mode {random|oldest}
デフォルト:oldest

インターセプトモードにおけるしきい値は、以下のコマンドで設定します。

インターセプトモードのしきい値

(config)#ip tcp intercept max-incomplete high <connections1>
(config)#ip tcp intercept max-incomplete low <connections2>

<connections1> : アグレッシブモードに移行するしきい値。デフォルト1100
<connections2> : アグレッシブモードを解除するしきい値。デフォルト900

R1での設定は以下のとおりです。

R1

ip tcp intercept list 100
ip tcp intercept max-incomplete high 30
!
access-list 100 permit tcp any host 192.168.0.2
access-list 100 permit tcp any host 192.168.12.2
access-list 100 permit tcp any host 192.168.2.2

【Step2:TCPインターセプトの確認】

TCPインターセプトの動作を確認するために、R1を通過するR2へのTCP通信を開始します。R3から192.168.0.2へTelnetし、R11でshow tcp intercept connections、show tcp intercept statisticsコマンドを確認します。

R1

Client                Server                State    Create   Timeout  Mode
Established:
Client                Server                State    Create   Timeout  Mode
192.168.13.3:45705    192.168.0.2:23        ESTAB    00:00:04 23:59:56 I
R1#show tcp intercept connections
Incomplete:
Client                Server                State    Create   Timeout  Mode
Established:
Client                Server                State    Create   Timeout  Mode
192.168.13.3:45705    192.168.0.2:23        ESTAB    00:00:20 23:59:39 I

GNS3プロジェクトダウンロード(MM_1254_TCP_Intercept_comp.zip)