CiscoルータでSYN-Floodを回避

今回はセキュリティ関連。

CiscoルータにはSYN-floodを回避するために、"tcp intercept"というコマンドがあります。

SYN-Flood攻撃の場合攻撃を受けている側はhalfオープンが大量に発生します。
"tcp intercept"はhalfオープンを検知して様々なアクションをとる事ができます。

設定コマンド

 ip tcp intercept list【ACL  
 ip tcp intercept mode【intercept/watch】    

intercept・・・Ciscoルータがセッションに代理応答する
        攻撃者からのSYNにルータがSYN-ACKを返します。
        デメリット:ルータのCPU使用率が高くなる。

f:id:kashigeru:20140312093022j:plain

watch・・・セッションはスルーするが、パケットを見てhalfオープンの数をカウントします。

f:id:kashigeru:20140312093133j:plain

アクションコマンド

ip tcp intercept max-incomplete high【num】  
  halfオープン数の上限値設定(デフォルト1100セッション)
ip tcp intercept drop-mode oldest  
    halfオープン数が上限値を超えるえると古いセッションから破棄(デフォルト)  
ip tcp intercept drop-mode random  
  halfオープン数が上限値を超えるとランダムにセッションを破棄 
ip tcp intercept watch-timeout【sec】  
  Watchモード限定。クライアントからACKが帰ってくるまでの時間設定(デフォルト30秒)  
  この時間を超えるとルータはサーバ に対しRSTを投げセッション終了

確認コマンド

show tcp intercept connection
show tcp intercept statistics

設定方法

1.対象となるセッションをACLで定義
2.ip tcp intercept listでACLを適用
3.ip tcp intercept mode設定
4.アクションの設定

設定例

Watchモードで20秒以内にコネクションがestablishedにならない場合、ランダムにセッションを破棄する。

構成図

f:id:kashigeru:20140312093655j:plain

設定コンフィグ

(config)# ip access-list extended Test_intercept  
(config-ext-nacl)# permit tcp any host 10.1.1.1 eq www  
(config-ext-nacl)#exit  
(config)# ip tcp intercept list Test_intercept  
(config)# ip tcp intercept mode watch     
(config)# ip tcp intercept drop-mode random   
(config)# ip tcp intercept watch-timeout 20  

まとめ

ルータでこれを設定するかといわれたら。。。ここまでは設定しないですね。
深刻なSYN-Flood攻撃にお悩みの際はDDOS対策製品を検討しましょう
コマーシャルw
NSFOCUS
Arbor
Radware
CCIEの"should be configured to randomly drop SYN packets"こういう問題のために覚える程度ですかね。師匠はどう思うねん。
(ノ´▽`)ノ{+++THANK YOU+++}ヽ(´▽`ヽ)

広告を非表示にする