以前に Cisco IOS ルータへの Radius ログイン時、自動的に特権モードにするにはというメモを書きましたが、これでは設定として不十分な為、新たに「Cisco IOS ルータへ Radius 認証でログインする」方法に関して、メモを書き直します。
設定方針
- コンソールログイン
- Radius 認証はさせず、ローカル認証させる
- 特権モードへの移行にはパスワード (
enable secret
) が必要
- SSH ログイン (Radius サーバ正常時)
- Radius 認証する
- Radius 認証に成功した場合はログイン直後から特権モードとする
- SSH ログイン (Radius サーバ障害時)
- Radius サーバがダウンしている場合はローカル認証に切り替える
- 特権モードに昇格する場合はコンソールログイン同様、パスワード (
enable secret
) が必要
- それ以外のログイン
- Telnet 等、他のログイン方法は無効とする
パラメータ
事前に決定しておく必要がある代表的なパラメータを表にまとめます。
項目 | 意味 | 設定例 |
---|---|---|
[HOSTNAME] |
ホスト名 | iosv-1 |
[ENABLE-SECRET] |
特権モードのパスワード | enable-secret |
[DOMAIN] |
ドメイン名 | example.com |
[RADIUS-ADDRESS] |
Radius サーバのアドレス | 10.0.0.100 |
[SECRET] |
Radius シークレット | radius-secret |
[LOCAL-ADMIN] |
ローカルユーザ | admin |
[LOCAL-PASS] |
ローカルユーザ用のパスワード | password |
[ADDRESS] |
インターフェイスのアドレス | 10.0.0.1 |
[NETMASK] |
インターフェイスのネットマスク | 255.255.255.0 |
[GATEWAY] |
デフォルトゲートウェイ | 10.0.0.254 |
IOS ルータ用のコンフィグ
クラシックな IOS 用のコンフィグは以下のようです。 正確な情報を調べることは出来なかったのですが、(IOS-XE 以前の) クラシックな IOS では RadSec (RFC-6614 Transport Layer Security (TLS) Encryption for RADIUS には対応していないようなので、通常の Radius プロトコルを用いています。
service password-encryption
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
!
hostname [HOSTNAME]
!
enable secret [ENABLE-SECRET]
!
aaa new-model
!
aaa group server radius GROUP-RADIUS
server-private [RADIUS-ADDRESS] auth-port 1812 acct-port 1813 timeout 3 retransmit 1 key [SECRET]
!
aaa authentication login default none
aaa authentication login VTY_LOGIN group GROUP-RADIUS local
aaa authentication login CON_LOGIN local
aaa authorization exec default none
aaa authorization exec VTY_EXEC group GROUP-RADIUS if-authenticated
!
ip domain-name [DOMAIN]
!
clock timezone JST 9 0
!
crypto key generate rsa modulus 2048
ip ssh version 2
no ip http server
no ip http secure-server
!
username [LOCAL-ADMIN] privilege 15 password [LOCAL-PASS]
!
interface GigabitEthernet0/0
ip address [ADDRESS] [NETMASK]
no shutdown
!
ip route 0.0.0.0 0.0.0.0 [GATEWAY]
`
line con 0
exec-timeout 60 0
login authentication CON_LOGIN
!
line vty 0 4
exec-timeout 60 0
authorization exec VTY_EXEC
login authentication VTY_LOGIN
transport input ssh
!
end
コメント