内容

はじめに

前提条件

要件

使用するコンポーネント

表記法

背景説明

設定

ネットワーク図

プレーン テキスト認証の設定

MD5 認証の設定

確認

プレーン テキスト認証の検証

MD5 認証の検証

トラブルシュート

プレーン テキスト認証のトラブルシューティング

MD5 認証のトラブルシューティング

関連情報

はじめに

このドキュメントでは、Open Shortest Path First(OSPF)認証を設定し、OSPFネイバーを柔軟に認証できるようにする方法について説明します。

前提条件

要件

このドキュメントの読者は、OSPFルーティングプロトコルの基本概念に精通している必要があります。OSPFルーティングプロトコルについては、またはを参照してください。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- Cisco 2503 ルータ

- Cisco IOS® ソフトウェア リリース 12.2(27)

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

表記法

表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。

背景説明

このドキュメントでは、Open Shortest Path First（OSPF）ネイバーを認証するための柔軟性を備えた OSPF 認証の設定例を示します。安全な方法でルーティング アップデート情報を交換するために、OSPF で認証をイネーブルにすることができます。OSPF 認証は、None（またはヌル）、Simple、または MD5 のいずれかです。認証方式「None」は、OSPF で認証が使用されないことを意味します。これがデフォルトの方式です。Simple 認証では、パスワードはクリアテキストでネットワークを通過します。MD5 認証では、パスワードはネットワークを通過しません。MD5 は RFC 1321 で規定されたメッセージ ダイジェスト アルゴリズムです。MD5 は最も安全な OSPF 認証のモードと見なされます。認証を設定する際には、エリア全体を同じタイプの認証で設定する必要があります。Cisco IOSソフトウェアリリース12.0(8)では、認証はインターフェイス単位でサポートされます。これは RFC 2328、付録 D に記載されています。

注：これらのサイトおよびツールにアクセスできるのは、登録されているシスコのクライアントのみです。

OSPFでサポートされている認証には、次の3つのタイプがあります。

- ヌル認証：Type 0 とも呼ばれ、パケット ヘッダーに認証情報が含まれていないことを意味します。これがデフォルト設定です。

- プレーン テキスト認証：Type 1 とも呼ばれ、シンプルなクリアテキスト パスワードを使用します。

- MD5認証:Type 2とも呼ばれ、MD5暗号化パスワードを使用します。

認証を設定する必要はありません。認証を設定する場合は、同じセグメント上のすべてのピア ルータで、パスワードと認証方式が同じである必要があります。このドキュメントの例では、プレーン テキスト認証と MD5 認証の両方の設定を示します。

設定

このセクションでは、このドキュメントで説明する機能を設定するために必要な情報について記載しています。

ネットワーク図

このドキュメントでは、次のネットワーク設定を使用します。

ネットワーク図

プレーン テキスト認証の設定

プレーン テキスト認証は、より安全度が高い MD5 認証をエリア内のデバイスがサポートできない場合に使用されます。プレーン テキスト認証の場合、インターネットワークは「スニファ攻撃」に対する脆弱性が残されたままです。この場合、プロトコル アナライザによってパケットが捕捉され、パスワードが読み取られる可能性があります。ただし、プレーン テキスト認証は、セキュリティのためというよりも、OSPF の再設定を実行している場合に有効です。たとえば、ルータ間の通信を防止するために、共通のブロードキャストネットワークを共有する古いOSPFルータと新しいOSPFルータで別々のパスワードを使用できます。 プレーン テキスト認証パスワードは、エリア全体で同じでなくても構いませんが、ネイバー間では同じである必要があります。

- R2-2503

- R1-2503

R2-2503

interface Loopback0

ip address 10.70.70.70 255.255.255.255

!

interface Serial0

ip address 192.168.64.10 255.255.255.0

ip ospf authentication-key c1$c0

!--- The Key value is set as "c1$c0 ". !--- It is the password that is sent across the network.

!

router ospf 10

log-adjacency-changes

network 10.70.0.70 0.255.255.255 area 0

network 192.168.10.10 0.0.0.255 area 0

area 0 authentication

!--- Plain text authentication is enabled for !--- all interfaces in Area 0.

R1-2503

interface Loopback0

ip address 172.16.10.36 255.255.255.240

!

interface Serial0

ip address 192.168.0.10 255.255.255.0

ip ospf authentication-key c1$c0

!--- The Key value is set as "c1$c0 ". !--- It is the password that is sent across the network.

!

router ospf 10

network 172.16.0.0 0.0.255.255 area 0

network 192.168.10.10 0.0.0.255 area 0

area 0 authentication

!--- Plain text authentication is enabled !--- for all interfaces in Area 0.

注：設定のarea authenticationコマンドは、特定のエリア内のルータのすべてのインターフェイスに対して認証をイネーブルにします。インターフェイスで ip ospf authentication コマンドを使用し、そのインターフェイスに対してプレーン テキスト認証を設定することもできます。このコマンドは、インターフェイスが属しているエリアで別の認証方式が使われている場合や、認証方式が使われていない場合でも使用できます。このコマンドは、そのエリアに設定されている認証方式をオーバーライドします。これは、同じエリアに属する異なるインターフェイスで異なる認証方式を使用する必要がある場合に役立ちます

MD5 認証の設定

MD5 認証では、プレーン テキスト認証よりも安全度が高いセキュリティが提供されます。この方式では、MD5 アルゴリズムを使用して、OSPF パケットとパスワード（またはキー）の内容からハッシュ値を計算します。このハッシュ値は、キー ID および減少しないシーケンス番号とともにパケットに入れられ、送信されます。同じパスワードを認識している受信側は、それ自身のハッシュ値を計算します。メッセージ内の内容が何も変更されない場合、受信側のハッシュ値は、メッセージとともに送信される送信側のハッシュ値と一致する必要があります。

キー ID により、ルータは複数のパスワードを参照できます。このため、パスワードの移行が簡単になり、安全度も高くなります。たとえば、あるパスワードを別のパスワードに移行するには、異なるキー ID でパスワードを設定してから、最初のキーを削除します。シーケンス番号は、リプレイ攻撃を防止します。この攻撃では OSPF パケットの捕捉と変更が行われた後、ルータに再送信されます。プレーン テキスト認証と同様、MD5 認証パスワードはエリア全体で同じである必要はありません。ただし、ネイバー間では同じある必要があります。

注：シスコでは、ご使用のすべてのルータでservice password-encryption コマンドを設定することを推奨します。これにより、ルータはコンフィギュレーションファイルの任意の表示内でパスワードを暗号化し、ルータ設定のテキストコピーを観察から保護します。

- R2-2503

- R1-2503

R2-2503

interface Loopback0

ip address 10.70.70.70 255.255.255.255

!

interface Serial0

ip address 192.168.64.10 255.255.255.0

ip ospf message-digest-key 1 md5 c1$c0

!--- Message digest key with ID "1" and !--- Key value (password) is set as "c1$c0 ".

!

router ospf 10

network 192.168.10.10 0.0.0.255 area 0

network 10.70.0.70 0.255.255.255 area 0

area 0 authentication message-digest

!--- MD5 authentication is enabled for !--- all interfaces in Area 0.

R1-2503

interface Loopback0

ip address 172.16.10.36 255.255.255.240

!

interface Serial0

ip address 192.168.0.10 255.255.255.0

ip ospf message-digest-key 1 md5 c1$c0

!--- Message digest key with ID "1" and !--- Key (password) value is set as "c1$c0 ".

!

router ospf 10

network 172.16.0.0 0.0.255.255 area 0

network 192.168.10.10 0.0.0.255 area 0

area 0 authentication message-digest

!--- MD5 authentication is enabled for !--- all interfaces in Area 0.

注：この設定のarea authentication message-digest コマンドにより、特定のエリア内のすべてのルータインターフェイスに対して認証がイネーブルになります。インターフェイスでip ospf authentication message-digestコマンドを使用し、特定のインターフェイスに対してMD5認証を設定することもできます。このコマンドは、インターフェイスが属しているエリアで別の認証方式が使われている場合や、認証方式が使われていない場合でも使用できます。このコマンドは、そのエリアに設定されている認証方式をオーバーライドします。これは、同じエリアに属している別のインターフェイスで異なる認証方式を使用する必要がある場合に有効です。

確認

このセクションでは、設定が正しく動作していることを確認する方法について説明します。

プレーン テキスト認証の検証

次の出力に示すように、show ip ospf interface コマンドを使って、インターフェイスに対して設定されている認証タイプを表示できます。ここでは、Serial 0 インターフェイスはプレーン テキスト認証用に設定されます。

R1-2503#show ip ospf interface serial0

Serial0 is up, line protocol is up

Internet Address 192.168.0.10/24, Area 0

Process ID 10, Router ID 172.16.10.36, Network Type POINT_TO_POINT, Cost: 64

Transmit Delay is 1 sec, State POINT_TO_POINT,

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

Hello due in 00:00:04

Index 2/2, flood queue length 0

Next 0x0(0)/0x0(0)

Last flood scan length is 1, maximum is 1

Last flood scan time is 0 msec, maximum is 4 msec

Neighbor Count is 0, Adjacent neighbor count is 0

Suppress hello for 0 neighbor(s)

Simple password authentication enabled

show ip ospf neighbor コマンドは、次の出力に示すように、ネイバーの詳細情報から構成されているネイバー テーブルを表示します。

R1-2503#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface

10.70.70.70       1   FULL/  -        00:00:31    192.168.64.10     Serial0

show ip route コマンドは、次の出力に示すように、ルーティング テーブルを表示します。

R1-2503#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is not set

10.70.0.70/32 is subnetted, 1 subnets

O       10.70.70.70 [110/65] via 192.168.64.10, 00:03:28, Serial0

172.16.0.0/28 is subnetted, 1 subnets

C       172.16.10.32 is directly connected, Loopback0

C    192.168.10.10/24 is directly connected, Serial0

MD5 認証の検証

次の出力に示すように、show ip ospf interface コマンドを使って、インターフェイスに対して設定されている認証タイプを表示できます。この場合、Serial 0 インターフェイスは、キー ID「1」を使った MD5 認証が設定されています。

R1-2503#show ip ospf interface serial0

Serial0 is up, line protocol is up

Internet Address 192.168.0.10/24, Area 0

Process ID 10, Router ID  172.16.10.36 , Network Type POINT_TO_POINT, Cost: 64

Transmit Delay is 1 sec, State POINT_TO_POINT,

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

Hello due in 00:00:05

Index 2/2, flood queue length 0

Next 0x0(0)/0x0(0)

Last flood scan length is 1, maximum is 1

Last flood scan time is 0 msec, maximum is 4 msec

Neighbor Count is 1, Adjacent neighbor count is 1

Adjacent with neighbor 10.70.70.70

Suppress hello for 0 neighbor(s)

Message digest authentication enabled

Youngest key id is 1

show ip ospf neighbor コマンドは、次の出力に示すように、ネイバーの詳細情報から構成されているネイバー テーブルを表示します。

R1-2503#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface

10.70.70.70       1   FULL/  -        00:00:34    192.168.64.10     Serial0

R1-2503#

show ip route コマンドは、次の出力に示すように、ルーティング テーブルを表示します。

R1-2503#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is not set

10.70.0.70/32 is subnetted, 1 subnets

O       10.70.70.70 [110/65] via 192.168.64.10, 00:01:23, Serial0

172.16.0.0/28 is subnetted, 1 subnets

C       172.16.10.32 is directly connected, Loopback0

C    192.168.10.10/24 is directly connected, Serial0

トラブルシュート

ここでは、設定のトラブルシューティングに役立つ情報について説明します。debug ip ospf adj コマンドを実行することによって、認証プロセスを捕捉できます。このdebugコマンドは、ネイバー関係が確立される前に発行する必要があります。

注：debugコマンドを使用する前に、『debugコマンドの重要な情報』を参照してください。

プレーン テキスト認証のトラブルシューティング

R1-2503 に対する deb ip ospf adj 出力は、プレーン テキスト認証が成功した場合を示しています。

R1-2503#debug ip ospf adj

00:50:57: %LINK-3-UPDOWN: Interface Serial0, changed state to down

00:50:57: OSPF: Interface Serial0 going Down

00:50:57: OSPF: 172.16.10.36 address 192.168.0.10 on Serial0 is dead,

state DOWN

00:50:57: OSPF: 10.70.70.70 address 192.168.64.10 on Serial0 is dead,

state DOWN

00:50:57: %OSPF-5-ADJCHG: Process 10, Nbr 10.70.70.70 on Serial0 from

FULL to DOWN, Neighbor Down: Interface down or detached

00:50:58: OSPF: Build router LSA for area 0, router ID 172.16.10.36,

seq 0x80000009

00:50:58: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0,

changed state to down

00:51:03: %LINK-3-UPDOWN: Interface Serial0, changed state to up

00:51:03: OSPF: Interface Serial0 going Up

00:51:04: OSPF: Build router LSA for area 0, router ID 172.16.10.36,

seq 0x8000000A

00:51:04: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0,

changed state to up

00:51:13: OSPF: 2 Way Communication to 10.70.70.70 on Serial0,

state 2WAY

00:51:13: OSPF: Send DBD to 10.70.70.70 on Serial0 seq 0x2486 opt 0x42

flag 0x7 len 32

00:51:13: OSPF: Rcv DBD from 10.70.70.70 on Serial0 seq 0x19A4 opt 0x42

flag 0x7 len 32 mtu 1500 state EXSTART

00:51:13: OSPF: First DBD and we are not SLAVE

00:51:13: OSPF: Rcv DBD from 10.70.70.70 on Serial0 seq 0x2486 opt 0x42

flag 0x2 len 72 mtu 1500 state EXSTART

00:51:13: OSPF: NBR Negotiation Done. We are the MASTER

00:51:13: OSPF: Send DBD to 10.70.70.70 on Serial0 seq 0x2487 opt 0x42

flag 0x3 len 72

00:51:13: OSPF: Database request to 10.70.70.70

00:51:13: OSPF: sent LS REQ packet to 192.168.64.10, length 12

00:51:13: OSPF: Rcv DBD from 10.70.70.70 on Serial0 seq 0x2487 opt 0x42

flag 0x0 len 32 mtu 1500 state EXCHANGE

00:51:13: OSPF: Send DBD to 10.70.70.70 on Serial0 seq 0x2488 opt 0x42

flag 0x1 len 32

00:51:13: OSPF: Rcv DBD from 10.70.70.70 on Serial0 seq 0x2488 opt 0x42

flag 0x0 len 32 mtu 1500 state EXCHANGE

00:51:13: OSPF: Exchange Done with 10.70.70.70 on Serial0

00:51:13: OSPF: Synchronized with 10.70.70.70 on Serial0, state FULL

!--- Indicates the neighbor adjacency is established.

00:51:13: %OSPF-5-ADJCHG: Process 10, Nbr 10.70.70.70 on Serial0 from LOADING

to FULL, Loading Done

00:51:14: OSPF: Build router LSA for area 0, router ID 172.16.10.36,

seq 0x8000000B

R1-2503#

次に示す debug ip ospf adj コマンドの出力は、ルータで設定した認証タイプに不一致がある場合を示しています。この出力は、ルータ R1-2503 が Type 1 認証を使用する一方、ルータ R2-2503 が Type 0 認証用に設定されていることを示しています。つまり、ルータ R1-2503 がプレーン テキスト認証用（Type 1）に設定されているのに対し、ルータ R2-2503 はヌル認証用（Type 0）に設定されていることになります。

R1-2503#debug ip ospf adj

00:51:23: OSPF: Rcv pkt from 192.168.64.10, Serial0 : Mismatch

Authentication type.

!--- Input packet specified type 0, you use type 1.

次に示す debug ip ospf adj コマンドの出力は、認証キー（パスワード）値に不一致がある場合を示しています。この場合、両方のルータがプレーン テキスト認証用（Type 1）に設定されていても、キー（パスワード）値に不一致があります。

R1-2503#debug ip ospf adj

00:51:33: OSPF: Rcv pkt from 192.168.64.10, Serial0 : Mismatch

Authentication Key - Clear Text

MD5 認証のトラブルシューティング

これは、MD5認証が成功したときのR1-2503に対するdebug ip ospf adjコマンドの出力です。

R1-2503#debug ip ospf adj

00:59:03: OSPF: Send with youngest Key 1

00:59:13: OSPF: Send with youngest Key 1

00:59:17: %LINK-3-UPDOWN: Interface Serial0, changed state to down

00:59:17: OSPF: Interface Serial0 going Down

00:59:17: OSPF: 172.16.10.36 address 192.168.0.10 on Serial0 is dead,

state DOWN

00:59:17: OSPF: 10.70.70.70 address 192.168.64.10 on Serial0 is dead,

state DOWN

00:59:17: %OSPF-5-ADJCHG: Process 10, Nbr 10.70.70.70 on Serial0 from

FULL to DOWN, Neighbor Down: Interface down or detached

00:59:17: OSPF: Build router LSA for area 0, router ID 172.16.10.36,

seq 0x8000000E

00:59:18: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0,

changed state to down

00:59:32: %LINK-3-UPDOWN: Interface Serial0, changed state to up

00:59:32: OSPF: Interface Serial0 going Up

00:59:32: OSPF: Send with youngest Key 1

00:59:33: OSPF: Build router LSA for area 0, router ID 172.16.10.36,

seq 0x8000000F

00:59:33: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0,

changed state to up

00:59:42: OSPF: Send with youngest Key 1

00:59:42: OSPF: 2 Way Communication to 10.70.70.70 on Serial0,

state 2WAY

!--- Both neighbors configured for Message !--- digest authentication with Key ID "1".

00:59:42: OSPF: Send DBD to 10.70.70.70 on Serial0 seq 0x2125 opt 0x42

flag 0x7len 32

00:59:42: OSPF: Send with youngest Key 1

00:59:42: OSPF: Rcv DBD from 10.70.70.70 on Serial0 seq 0x11F3 opt 0x42

flag 0x7 len 32 mtu 1500 state EXSTART

00:59:42: OSPF: First DBD and we are not SLAVE

00:59:42: OSPF: Rcv DBD from 10.70.70.70 on Serial0 seq 0x2125 opt 0x42

flag 0x2 len 72 mtu 1500 state EXSTART

00:59:42: OSPF: NBR Negotiation Done. We are the MASTER

00:59:42: OSPF: Send DBD to 10.70.70.70 on Serial0 seq 0x2126 opt 0x42

flag 0x3 len 72

00:59:42: OSPF: Send with youngest Key 1

00:59:42: OSPF: Send with youngest Key 1

00:59:42: OSPF: Database request to 10.70.70.70

00:59:42: OSPF: sent LS REQ packet to 192.168.64.10, length 12

00:59:42: OSPF: Rcv DBD from 10.70.70.70 on Serial0 seq 0x2126 opt 0x42

flag 0x0 len 32 mtu 1500 state EXCHANGE

00:59:42: OSPF: Send DBD to 10.70.70.70 on Serial0 seq 0x2127 opt 0x42

flag 0x1len 32

00:59:42: OSPF: Send with youngest Key 1

00:59:42: OSPF: Send with youngest Key 1

00:59:42: OSPF: Rcv DBD from 10.70.70.70 on Serial0 seq 0x2127 opt 0x42

flag 0x0 len 32 mtu 1500 state EXCHANGE

00:59:42: OSPF: Exchange Done with 10.70.70.70 on Serial0

00:59:42: OSPF: Synchronized with 10.70.70.70 on Serial0, state FULL

00:59:42: %OSPF-5-ADJCHG: Process 10, Nbr 10.70.70.70 on Serial0 from

LOADING to FULL, Loading Done

00:59:43: OSPF: Build router LSA for area 0, router ID 172.16.10.36,

seq 0x80000010

00:59:43: OSPF: Send with youngest Key 1

00:59:45: OSPF: Send with youngest Key 1

R1-2503#

次に示す debug ip ospf adj コマンドの出力は、ルータで設定した認証タイプに不一致がある場合を示しています。この出力は、ルータ R1-2503 が Type 2（MD5）認証を使用する一方、ルータ R2-2503 では Type 1 認証（プレーン テキスト認証）を使用していることを示しています。

R1-2503#debug ip ospf adj

00:59:33: OSPF: Rcv pkt from 192.168.64.10, Serial0 : Mismatch

Authentication type.

!--- Input packet specified type 1, you use type 2.

次に示す debug ip ospf adj コマンドの出力は、認証で使用するキー ID に不一致がある場合を示しています。この出力は、ルータ R1-2503 がキー ID 1 を使った MD5 認証を使用する一方、ルータ R2-2503 ではキー ID 2 を使った MD5 認証を使用していることを示しています。

R1-2503#debug ip ospf adj

00:59:33: OSPF: Send with youngest Key 1

00:59:43: OSPF: Rcv pkt from 192.168.64.10, Serial0 : Mismatch

Authentication Key - No message digest key 2 on interface

R1-2503に対するこのdebug ip ospf adjコマンドの出力は、MD5認証のキー1とキー2の両方が移行の一部として設定されていることを示しています。

R1-2503#debug ip ospf adj

00:59:43: OSPF: Send with youngest Key 1

00:59:53: OSPF: Send with youngest Key 2

!--- Informs that this router is also configured !--- for Key 2 and both routers now use Key 2.

01:00:53: OSPF: 2 Way Communication to 10.70.70.70

on Serial0, state 2WAY

R1-2503#

関連情報

- 仮想リンクでの OSPF 認証設定

- show ip ospf neighbor コマンドで Init 状態にあるネイバーが表示される理由

- OSPF コマンド

- OSPF の設定例

- IP ルーティングに関するサポート ページ

- シスコのテクニカルサポートとダウンロード