目的

FreeRADIUS2を利用したCisco機器へのログイン認証を実施する。
OSにはCentOS6.3を利用。本稿記述時点でのバージョンは2.1.12

[root@radius]# radiusd -v
radiusd: FreeRADIUS Version 2.1.12, for host x86_64-redhat-linux-gnu, built on Oct  3 2012 at 01:22:51
Copyright (C) 1999-2011 The FreeRADIUS server project and contributors.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License.
For more information about these matters, see the file named COPYRIGHT.
[root@radius]#

RADIUSについて

FreeRADIUSによる認証サーバを参照

やりたいこと

RADIUSと連携し、ログイン認証を実施する。

利用するCisco機器は以下

  • Cisco1812J(IOS:15.1(4)M1)
  • Catalyst2950-8TT(IOS:12.1(22)EA8a)
  • Catalyst2960-24T(IOS:12.2(58)SE2)

想定するログイン方法は以下

  • telnet
  • ssh
  • web管理

RADIUSと連携したいシステムは以下

  • ローカルDB
  • Linuxシステムアカウント
  • LDAP
  • ActiveDirectory?

設定

Cisco設定

802.1X認証とログイン認証を別サーバで実施する場合は、radiusサーバをグループ化する必要がある。

  • radiusグループを作成する場合
    !aaaの採用
    aaa new-model
    aaa session-id common
    
    !radiusサーバグループの作成とログイン認証を実施
    aaa group server radius ForLogin
     server-private 192.168.10.251 auth-port 1812 acct-port 1813 timeout 1 retransmit 1 key RADSECRET
    
    !ログイン認証には、radius→local-case(ローカル設定で大文字小文字を区別)の順で適用~
    !イネーブル認証には、radius→enable(ローカル設定)の順で適用~
    aaa authentication login default group ForLogin local-case
    aaa authentication enable default group ForLogin enable
    
    !ログイン時に特権モードになるアトリビュートを設定する場合は下記コマンドを投入
    aaa authorization  exec default group ForLogin if-authenticated
    
    !ローカルアカウントはradiusサーバと疎通が取れない場合に利用される
    enable secret ENABLE_PASSWORD
    username LOCAL_UID password LOCAL_PWD
  • radiusグループを作成しない場合
    !aaaの採用
    aaa new-model
    aaa session-id common
    
    !radiusサーバの設定とログイン認証を実施
    radius-server host 192.168.10.251 auth-port 1812 acct-port 1813 timeout 1 retransmit 1 key RADSECRET
    
    !ログイン認証には、radius→local-case(ローカル設定で大文字小文字を区別)の順で適用~
    !イネーブル認証には、radius→enable(ローカル設定)の順で適用~
    aaa authentication login default group radius local-case
    aaa authentication enable default group radius enable
    
    !ログイン時に特権モードになるアトリビュートを設定する場合は下記コマンドを投入
    aaa authorization  exec default group radius if-authenticated
    
    !ローカルアカウントはradiusサーバと疎通が取れない場合に利用される
    enable secret ENABLE_PASSWORD
    username LOCAL_UID password LOCAL_PWD

FreeRADIUS設定

  • radiusサーバとしての設定
    クライアントとして含めるための記述。
    以下ではサブネットごとの指定としているが、単一IPアドレスとしても可。
    # vi /etc/raddb/clients.conf
    ------------8<-----------------
    client ManagementNetwork {
            ipaddr = 192.168.XXX.0
            netmask = 24
            secret = cisco_device
            shortname = router_switch
    }
    ------------8<-----------------
  • usersファイルの利用
    ユーザ定義ファイルにユーザ名とパスワードを記載する。
    ユーザ定義ファイルは/etc/raddb/usersを直接操作するのではなく 外部ファイルを読み込んでおいたほうが後々の修正が容易になる。
    # vi users
    $INCLUDE /etc/raddb/userlist/users.login
  • ユーザとパスワードを指定する場合
    # vi /etc/raddb/users.login
    ------------8<-----------------
    hoge Auth-Type:=PAP , Cleartext-Password := "huga"
    foo  Auth-Type:=PAP , Cleartext-Password := "bar"
    ------------8<-----------------
  • LinuxシステムのUID/PWDと連携する場合
    # vi /etc/raddb/users.login
    ------------8<-----------------
    UID Auth-Type:=System
    ------------8<-----------------
  • 実用的な設定例
    # vi userlist/users.login
    #パスワードはハッシュ値として保存することも可能
    #ハッシュ値は echo -n PASSWORD | openssl md5 で作成
    loginuser Auth-Type := PAP , MD5-Password := "xxxx"
    
    # 特権モードになるためのユーザ名は$enab15$
    $enab15$  Auth-Type := PAP , MD5-Password := "xxxx"
    
    NETUSER  Auth-Type := PAP ,  MD5-Password := "xxxx"
            Service-Type := NAS-Prompt-User , Cisco-AVPair := "shell:priv-lvl=1"
    
    #リプライアイテムにService-Type := NAS-Prompt-User , Cisco-AVPair := "shell:priv-lvl=15"を含めると
    #ログイン直後に特権モードになることが可能。
    NETADMIN Auth-Type := PAP ,  MD5-Password := "xxxx"
            Service-Type := NAS-Prompt-User , Cisco-AVPair := "shell:priv-lvl=15"
  • 利用する認証方式にunixを追加する。
    # vi /etc/raddb/sites-available/default
    authorize {
            files
            unix
    }
    authenticate {
            files
            unix
    }
    post-auth {
            exec
            Post-Auth-Type REJECT {
                    attr_filter.access_reject
            }
    }




Counter: 2490, today: 3, yesterday: 0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-18 (水) 16:07:44 (975d)