OSPF Authentication Key Rollover 061

今回はOSPFの認証のKey Rolloverついて解説します。

 

座学

Key Rolloverについて

企業によっては、セキュリティ要件によって、定期的にパスワードを変更する必要な場合もあります。もしルータにおいて、OSPFの認証用のパスワードを変更した場合、一時的にルータ間で認証用のパスワードが異なる時間帯が発生してしまい、OSPFネイバーがダウンし、通信断が発生してしまう可能性もあります。

 

Cryptographic Authenticationでは複数のパスワードを設定可能なため、認証用のパスワードの変更をスムーズに行うことが可能です。

まず、下図のように、R1に新しいパスワードを追加します。この際、Key IDには異なる値を使用します。この状況で、R2は古いKey IDとパスワードを使用していますが、R1には古いKey IDとパスワードの情報も残っているので、OSPFネイバーを維持することが可能です。

 

その後、R2に新しいKey IDとパスワードを設定し、かつ、古いKey IDとパスワードを削除します。この時点で、R1とR2は新しいKey IDとパスワードを使用してお互いを認証します。

 

最後にR1から古いKey IDとパスワードを削除することで、パスワードの変更作業が完了します。

 

パスワードの変更作業中、古いパスワードを使用しているルータが存在する場合、新旧のKey IDとパスワードが設定されているルータは新しいKey IDとパスワードを基に計算したハッシュ値を格納したOSPFパケットと古いKey IDとパスワードを基に計算したハッシュ値を格納したOSPFパケットの両方を送信します。

 

実機での動作確認

検証内容

R1のg2、R2のg2でOSPF Area 0を有効にします。
Network TypeにはPoint-to-Pointを使用します。
R1とR2でMD5を使用したCryptographic Authenticationを有効します。

R1とR2で認証用のKey IDとパスワードを変更した際の状態を確認します。

 

初期設定


interface GigabitEthernet2
 ip address 10.1.1.1 255.255.255.0
 ip ospf authentication message-digest
 ip ospf message-digest-key 1 md5 P@ssw0rd
 ip ospf network point-to-point
!
router ospf 1
 router-id 1.1.1.1
 network 10.1.1.0 0.0.0.255 area 0
            


interface GigabitEthernet2
 ip address 10.1.1.2 255.255.255.0
 ip ospf authentication message-digest
 ip ospf message-digest-key 1 md5 P@ssw0rd
 ip ospf network point-to-point
!
router ospf 1
 router-id 2.2.2.2
 network 10.1.1.0 0.0.0.255 area 0
            

 

Key IDとパスワード変更前

OSPFが動作しているインタフェースの状態確認

R1のg2で、Key IDが1のパスワードを使用していることが確認できます。

R1

R1#show ip ospf interface
GigabitEthernet2 is up, line protocol is up
  Internet Address 10.1.1.1/24, Interface ID 6, Area 0
  Attached via Network Statement
  Process ID 1, Router ID 1.1.1.1, Network Type POINT_TO_POINT, Cost: 1
  Topology-MTID    Cost    Disabled    Shutdown      Topology Name
        0           1         no          no            Base
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:02
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/1/1, flood queue length 0
  Next 0x0(0)/0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 1
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 2.2.2.2
  Suppress hello for 0 neighbor(s)
  Cryptographic authentication enabled
    Youngest key id is 1
            

 

Helloパケット送信時の様子

R1はKey ID 1の認証鍵を使用して、Helloパケットを送信していることが確認できます。

R1

R1#debug ip ospf hello
R1#debug ip ospf adj
*May 29 10:28:00.727: OSPF-1 ADJ   Gi2: Send with youngest Key 1
*May 29 10:28:00.727: OSPF-1 HELLO Gi2: Send hello to 224.0.0.5 area 0 from 10.1.1.1
            

 

OSPFネイバーの状態確認

R1はR2とOSPFネイバーが確立できていることが確認できます。

R1

R1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           0   FULL/  -        00:00:37    10.1.1.2        GigabitEthernet2
            

 

R1に新しいKey IDとパスワードを追加

R1にKey IDが2、パスワードがP@55wordの認証鍵を追加します。

 

追加した設定

R1

interface GigabitEthernet2
 ip ospf message-digest-key 2 P@55word
            

 

OSPFが動作しているインタフェースの状態確認

R1のg2において、最新の認証鍵はKey ID 2であるが、ネイバーがKey ID 1の古い認証鍵を使用していることが確認できます。

R1

R1#show ip ospf interface
GigabitEthernet2 is up, line protocol is up
  Internet Address 10.1.1.1/24, Interface ID 6, Area 0
  Attached via Network Statement
  Process ID 1, Router ID 1.1.1.1, Network Type POINT_TO_POINT, Cost: 1
  Topology-MTID    Cost    Disabled    Shutdown      Topology Name
        0           1         no          no            Base
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:06
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/1/1, flood queue length 0
  Next 0x0(0)/0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 1
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 2.2.2.2
  Suppress hello for 0 neighbor(s)
  Cryptographic authentication enabled
    Youngest key id is 2
    Rollover in progress, 1 neighbor(s) using the old key(s):
      key id 1 algorithm MD5
            

 

Helloパケット送信時の様子

R1はKey ID 1とKey ID 2の認証鍵を使用して、Helloパケットを送信していることが確認できます。

R1

R1#debug ip ospf hello
R1#debug ip ospf adj
*May 29 10:34:01.565: OSPF-1 ADJ   Gi2: Send with key 1
*May 29 10:34:01.565: OSPF-1 HELLO Gi2: Send hello to 224.0.0.5 area 0 from 10.1.1.1
*May 29 10:34:01.565: OSPF-1 ADJ   Gi2: Send with key 2
*May 29 10:34:01.565: OSPF-1 HELLO Gi2: Send hello to 224.0.0.5 area 0 from 10.1.1.1
            

 

OSPFネイバーの状態確認

R1はR2とOSPFネイバーが確立できていることが確認できます。

R1

R1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           0   FULL/  -        00:00:37    10.1.1.2        GigabitEthernet2
            

 

R2に新しいKey IDとパスワードを追加し、古いKey IDとパスワードを削除

R2にKey IDが2、パスワードがP@55wordの認証鍵を追加します。同時に、R2からKey IDが1、パスワードがP@sswordの認証鍵を削除します。

 

追加した設定

R2

interface GigabitEthernet2
 ip ospf message-digest-key 2 md5 P@55word
 no ip ospf message-digest-key 1 md5 P@ss0ord
            

 

OSPFが動作しているインタフェースの状態確認

R1の出力から、古いKey IDを使用しているネイバーの情報が消失したことが確認できます。

R1

R1#show ip ospf interface
GigabitEthernet2 is up, line protocol is up
  Internet Address 10.1.1.1/24, Interface ID 6, Area 0
  Attached via Network Statement
  Process ID 1, Router ID 1.1.1.1, Network Type POINT_TO_POINT, Cost: 1
  Topology-MTID    Cost    Disabled    Shutdown      Topology Name
        0           1         no          no            Base
  Transmit Delay is 1 sec, State POINT_TO_POINT
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:06
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/1/1, flood queue length 0
  Next 0x0(0)/0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 1
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 2.2.2.2
  Suppress hello for 0 neighbor(s)
  Cryptographic authentication enabled
    Youngest key id is 2
            

 

Helloパケット送信時の様子

R1はKey ID 1とKey ID 2の認証鍵を使用して、Helloパケットを送信していることが確認できます。

R1

R1#debug ip ospf hello
R1#debug ip ospf adj
*May 29 10:36:22.818: OSPF-1 ADJ   Gi2: Send with youngest Key 2
*May 29 10:36:22.818: OSPF-1 HELLO Gi2: Send hello to 224.0.0.5 area 0 from 10.1.1.1
            

 

OSPFネイバーの状態確認

R1はR2とOSPFネイバーが確立できていることが確認できます。

R1

R1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           0   FULL/  -        00:00:37    10.1.1.2        GigabitEthernet2
            

コメント

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