Maximum-Prefix

初めに

サービスプロバイダーは多数のユーザと接続するため、クラッカーからの攻撃を受けやすい。例えば、BGPピアを偽装した機器を接続され、悪意のある経路を流される事がある。これによって、誤った経路へパケットを流してしまったり、大量の経路を流されるDDoS攻撃を受けてしまう。
これを防ぐためのBGPのMaximum-Prefixというセキュリティ対策を行う。

Maximum-Prefixとは

クラッカーは偽のプレフィックスを流す事で、経路を誘導したり、攻撃対象ルータのCPUやメモリの無駄な消費をさせる。
企業側はこの攻撃に対し、BGPネイバーから受け取るプレフィックス数に制限を設ける事で対処する。

設定コマンド

BGPネイバーに対し、Maximum-Prefixを設定するコマンドは以下となる。

router bgp <AS>
neighbor <IP-Address>
address-family [ipv4|ipv6] unicast
maximum prefix <MaxPrefix-Number> [threshold]
!
!

受信経路が上限数(<MaxPrefix-Number>)を超過すると、BGPネイバーを強制的にダウンさせる。

※threshold(閾値)は0~100[%]で指定する。(デフォルト値は75[%])
 閾値を超過すると警告(Warning)が表示される。
 また、プレフィックス数の端数は切り上げて整数値となる。

検証

目的

Maximum-Prefixの設定例を学習する。

物理構成図

ダウンロードはこちら

論理構成図

IGP

注意点

  • OSFPのプロセスIDは1とする
    また、エリア0のシングルエリアとする
  • OSPFのLoopback0はPassive IFとする
  • OSPFのネットワークタイプはP-to-Pとする

BGP

  • R1のAS番号は”1″, R3のAS番号は”3″とする
  • R1とR3は互いにLoopback0でeBGPネイバーを指定する
  • R1とR3に対し、ebgp multihopは255を設定せよ
  • R1及びR3のBGPネイバーに対し、in/out両方のルートポリシーを設定してはならない
  • R3はLoopback1の全アドレスをBGPで広報する

アドレス設計

注意点

  • 全ルータはLoopback0を持っており、アドレスはX.X.X.X/32とする (Xはルータの添え字)
  • R3はLoopback1を持っており、10.10.10.10/32をPrimary Addressとし、残りの4つ(20.20.20.20/32, 30.30.30.30/32, 40.40.40.40/32, 50.50.50.50/32)はSecondary Addressとする。
  • 物理IFのアドレスは192.168.YZ.X/24とする (Xはルータの添え字、Yはリンクを構成するルータの若番、Zはリンクを構成するルータの老番)

初期コンフィグ

R1
conf t
!
hostname R1
!
int lo 0
ipv4 add 1.1.1.1/32
!
int gi0/0/0/0
ipv4 add 192.168.12.1/24
no sh
!
router ospf 1
area 0
int lo 0
passive
!
int gi0/0/0/0
net point-to-point
!
!
!
router bgp 1
bgp unsafe-ebgp-policy
!
add ipv4 uni
soft-reconfiguration inbound always
!
neighbor 3.3.3.3
remote-as 3
update-source lo0
ebgp-multihop 255
add ipv4 uni
!
!
!
R2
conf t
!
hostname R2
!
int lo 0
ipv4 add 2.2.2.2/32
!
int gi0/0/0/0
ipv4 add 192.168.12.2/24
no sh
!
int gi0/0/0/1
ipv4 add 192.168.23.2/24
no sh
!
router ospf 1
area 0
int lo 0
passive
!
int gi0/0/0/0
net point-to-point
!
int gi0/0/0/1
net point-to-point
!
!
!
R3
conf t
!
hostname R3
!
int lo 0
ipv4 add 3.3.3.3/32
!
int lo 10
ipv4 add 10.10.10.10/32
ipv4 add 20.20.20.20/32 secondary
ipv4 add 30.30.30.30/32 secondary
ipv4 add 40.40.40.40/32 secondary
ipv4 add 50.50.50.50/32 secondary
!
int gi0/0/0/1
ipv4 add 192.168.23.3/24
no sh
!
router ospf 1
area 0
int lo 0
passive
!
int gi0/0/0/1
net point-to-point
!
!
!
router bgp 3
bgp unsafe-ebgp-policy
!
add ipv4 uni
net 10.10.10.10/32
net 20.20.20.20/32
net 30.30.30.30/32
net 40.40.40.40/32
net 50.50.50.50/32
!
neighbor 1.1.1.1
remote-as 1
update-source lo0
ebgp-multihop 255
add ipv4 uni
!
!
!
ダウンロードはこちら

初期状態

“show bgp ipv4 unicast neighbor <neighbor-IP> received routes”コマンドより、R1がR3から受け取っている経路を以下に示す。

問題

問1. R1がR3から受信する経路の上限数を3つにし、閾値50%となる制限をかけよ。また、Alartログが表示されることを確認せよ
問2. 問1の設定から、受信する経路の上限数を7つに変更し、Warningログが表示される事を確認せよ。

コメント

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