Cisco IOS IPサービス – Authenticationの設定

スポンサーリンク

Cisco IOSにおけるAuthentication(認証)の設定についてまとめます。認証とは”誰であるかを確認する方法”で、認可とは異なる概念である事に注意して下さい。

概要

Authenticationについてまとめます。Authentication(認証)とは”誰であるかを確認する方法”で、Authorization(認可)とは”誰にどのような権利を与えるか”です。日本語では「認証」と「認可」は一文字違いですが意味が大きく異なりますので、充分注意して使い分けて下さい。

基本設定

書式

認証の設定には以下のコマンドを使用します。default, <list-name>は認証リストと呼ばれる設定で、認証の適用対象を定義します。<method>は認証方式と呼ばれる設定で、何を使って認証するかを定義します。

Router(config)# aaa authentication login [ default | <list-name> ] <method>...

認証リスト

認証リストにはdefaultまたは<list-name>を設定する事ができます。

認証リスト 説明
default VTY, console等の回線のうち全てが適用対象となります。
<list-name> VTY, console等の回線を個別に指定します。

設定例を示します。この設定では、console接続に対してnone(認証なし)が適用されます。それ以外のデフォルト接続(console接続以外、すなわちVTY, AUX等)に対してlocal databaseが適用されます。

aaa new-model
!
aaa authentication login default local
aaa authentication login CONSOLE none
!
line con
 login authentication CONSOLE

認証方式

認証方式には、何を使って認証するかを指定します。認証方式としは以下を指定する事ができます。

認証方式 説明
enable enableパスワードを使用します
line line vtyに設定したパスワードを使用します
local local database(usernameコマンド)を使用します(大文字小文字の区別なし)
local-case local database(usernameコマンド)を使用します(大文字小文字の区別あり)
none 認証なし(ユーザ名, パスワードなしでログインできます)
group radius radius-serverコマンドで指定したサーバを使用します
group tacacs+ tacacs-serverコマンドで指定したサーバを使用します
group <name> aaa group serverコマンドで指定したサーバを使用します

設定例を示します。この設定は、console接続の認証としてRADIUSを使用します。もし、RAIDUSの設定が施されていないかRADIUSとの疎通ができない場合は、ログインを拒否します。

aaa new-model
!
aaa authentication login CONSOLE group radius
!
line con 0
 login authentication CONSOLE

もうひとつ設定例を示します。この設定は、VTY接続(telnet接続)の認証としてRADIUSを使用します。もし、RAIDUSの設定が施されていないかRADIUSとの疎通ができない場合は、line password (passwordコマンドで指定したパスワードです。この場合は、”cisco”です)に基づいて認証します。

aaa new-model
!
aaa authentication login VTY group radius line
!
line vty 0 4
 login authentication VTY
 password cisco

login以外の認証

enable認証

AAAによる認証はlogin以外でも使用する事ができます。enable認証でAAAを使用する例は以下の通りです。

aaa new-model
!
aaa authentication enable default none

PPP認証

以下の構成で動作確認を行います。

        s0/0      s0/0
  +------+.1      .2+------+
  |  R1  +----------+  R2  |
  +------+          +------+
       192.168.12.0/24
 [R1]
aaa new-model
!
aaa authentication ppp default group radius local
!
username R2 password 0 CISCO
!
interface Serial0/0
 ip address 192.168.12.1 255.255.255.0
 encapsulation ppp
 ppp authentication chap
 no shutdown

なお、設定全文は下記ファイルです。

R1
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
aaa new-model
!
!
aaa authentication ppp default group radius local
aaa session-id common
ip subnet-zero
!
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
username R2 password 0 CISCO
!
!
!
!
interface Serial0/0
 ip address 192.168.12.1 255.255.255.0
 encapsulation ppp
 serial restart-delay 0
 ppp authentication chap
!
interface Serial0/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
ip http server
ip classless
!
!
!
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
!
!
end
R2
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R2
!
boot-start-marker
boot-end-marker
!
!
aaa new-model
!
!
aaa authentication ppp default group radius local
aaa session-id common
ip subnet-zero
!
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
username R1 password 0 CISCO
!
!
!
!
interface Serial0/0
 ip address 192.168.12.2 255.255.255.0
 encapsulation ppp
 serial restart-delay 0
 no fair-queue
 ppp authentication chap
!
interface Serial0/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
ip http server
ip classless
!
!
!
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
!
!
end

その他

brute force attack 軽減策

brute force attackは、expect moduleを使用して攻撃をしかけてきます。つまり、攻撃者は”Username:”, “Password:”, “% Login invalid”等のデフォルトのメッセージが返ってくるまで次の処理を待つようなプログラムを実装します。

従って、コマンドで認証時のプロンプトやエラーメッセージを変更するだけでも、brute force attackの軽減策として有効です。

Router(config)# aaa authentication username-prompt <prompt>
Router(config)# aaa authentication password-prompt <prompt>
Router(config)# aaa authentication fail-message <d> <message> <d>

ログイン認証のリトライを認める回数をデフォルトの3回から1回へ変更するものbrute force attackの軽減策として有効です。

Router(config)# aaa authentication attempts login <num>

使用例は以下の通りです。

Rack19R2(config)#aaa authentication username-prompt "Please enter your username : "
Rack19R2(config)#aaa authentication password-prompt "Please enter your password : "
Rack19R2(config)#aaa authentication fail-message # you dummy #
Rack19R2(config)#aaa authentication attempts login 1
Rack19R2(config)#
Rack19R2(config)#
Rack19R2(config)#do telnet 150.19.2.2
Trying 150.19.2.2 ... Open


User Access Verification

Please enter your username : hoge
Please enter your password :
 you dummy
[Connection to 150.19.2.2 closed by foreign host]
Rack19R2(config)#

ログイン不能の注意

aaaは設定を誤るとログイン不能になってしまいますので、設定投入は充分な注意が必要です。以下のような設定を例に挙げます。

aaa new-model
!
aaa authentication login default local

全ての回線がlocal databaseに基づいて認証を行います。もしlocal databaseが未作成の状態ならばログインが全くできない状態になってしまいます。local database未作成の状態で誤ってログアウトしてしまった場合は、running-configを読み込まないように再起動して復旧させます(パスワードリカバリと同様の手順です)。

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