Qiitaへ

だいたい Qiita にまとめました。
https://qiita.com/bashaway/items/0f331872456fb8681641

目的

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サーバをグループ化する必要がある。

!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を利用するための設定
line vty 0 4
 login authentication ForLogin

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: 8210, today: 1, yesterday: 0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-02-09 (日) 23:03:20 (1539d)