目的

FreeRADIUS2を利用した802.1X認証を実施する。
オーセンティケータにはCisco機器(ルータ・L2SW)を利用する
サプリカントはWindowsXP付属のものを利用する
RADIUSサーバは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による認証サーバを参照

802.1X認証

以下の認証方式による接続テストを実施する。

利用するCisco機器は以下

設定

windows設定

WindowsXPは標準でEAP-MD5,EAP-PEAP,EAP-TLS対応のサプリカントが搭載されているが、 SP3を適用すると、ローカルエリア接続のプロパティに「認証タブ」が表示されなくなる。 その場合は、以下の手順でサービスを開始する。

  1. スタートメニューからコントロールパネルを起動
  2. 管理ツールからサービスを選択
  3. Wired AutoConfig?を右クリックして、開始を選択
  4. Wired AutoConfig?を右クリックして、プロパティを選択し、「スタートアップの種類」を「自動」にしておく

Cisco設定

全般設定

インタフェイス設定(802.1X認証)

スイッチポートをアクセスポートに設定しないと802.1X認証が動作しない。
Catalyst系でも設定が微妙に違うが、IOSバージョンなどでもまた違う可能性がある。

インタフェイス設定(MACアドレス認証)

MACアドレス認証はMACアドレスバイパスであり、802.1X認証ではない。

FreeRADIUS設定

EAP-MD5

ユーザ定義ファイルにユーザ名とパスワードを記載する。
Auth-TypeがSystemになっていれば、LinuxUID/PWDが利用できるが、EAPの場合にはAuth-TypeをEAPにする必要があるため、LinuxUID/PWDは利用できないみたい。

[centos@radius]# vi /etc/raddb/users
------------8<-----------------
eapuser Auth-Type:=EAP     , Cleartext-Password := "eappass"
------------8<-----------------

EAP-PEAP(MS-CAHP-V2)

PEAPはサーバ証明書を利用し、UID/PWDによる利用者認証を実施する。
PEAPの場合も特に設定は変更しなくてよい。ただし、デフォルトのFreeRADIUSで作成されている証明書情報などを利用する場合には、有効期限切れのため、独自でRADIUSサーバとしてのサーバ証明書を生成する必要がある。

EAP-TLS

# vi userlist/users.eap
eapuser Auth-Type == EAP , Cleartext-Password := "eappass"
# vi userlist/users.login
####################################################
## priv-lvl=15 :  Not Applied for Console login.
## echo -n PASSWORD | openssl md5
####################################################
loginuser Auth-Type := PAP , MD5-Password := "xxxx"

$enab15$  Auth-Type := PAP , MD5-Password := "xxxx"

user  Auth-Type := PAP ,  MD5-Password := "xxxx"
        Service-Type := NAS-Prompt-User , Cisco-AVPair := "shell:priv-lvl=1"

admin Auth-Type := PAP ,  MD5-Password := "xxxx"
        Service-Type := NAS-Prompt-User , Cisco-AVPair := "shell:priv-lvl=15"
# vi userlist/users.mab01
DEFAULT Auth-Type == PAP
        Tunnel-Type := 13 , Tunnel-Medium-Type := 6 , Tunnel-Private-Group-Id := "soumu_seg"
        Fall-Through = Yes

055dc061bf92 Cleartext-Password := "055dc061bf92" , NAS-Port-Type == Ethernet
1877ecd5f394 Cleartext-Password := "1877ecd5f394" , NAS-Port-Type == Ethernet
# vi userlist/users.mab02
DEFAULT Auth-Type == PAP
        Tunnel-Type := 13 , Tunnel-Medium-Type := 6 , Tunnel-Private-Group-Id := "keiri_seg"
        Fall-Through = Yes

055dc061bf92 Cleartext-Password := "055dc061bf92" , NAS-Port-Type == Ethernet
742b627d1b20 Cleartext-Password := "742b627d1b20" , NAS-Port-Type == Ethernet
# vi eap.conf
eap {
  default_eap_type = tls
  timer_expire     = 60
  ignore_unknown_eap_types = no
  cisco_accounting_username_bug = no
  max_sessions = 2048
  tls {
    certdir = ${confdir}/certs
    cadir = ${confdir}/certs
    private_key_password = RadiusSV
    private_key_file = ${certdir}/RadiusSV_key.pem
    certificate_file = ${certdir}/RadiusSV_crt.pem
    CA_file = ${cadir}/chainCA_crt.pem
    dh_file = ${certdir}/dh
    random_file = /dev/urandom
    cipher_list = "DEFAULT"
    make_cert_command = "${certdir}/bootstrap"
    cache {
      enable = no
      lifetime = 24 # hours
      max_entries = 255
    }
  }
}




Counter: 26378, today: 3, yesterday: 2

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS