UnixPower on Networking
  http://www.unix-power.net/

 
 Top - Cisco - Catalyst IEEE802.1X/MAB 認証



近年では誰でも組織内のネットワークには接続させず何らかの認証を導入しているところのほうが割合的に多いです。その中の手段としてIEEE802.1X認証,、Mac認証、Web認証の3つが挙げられます。これらの認証の仕組みは大きく以下の3つの要素で構成されています。


項目 ノード  説明 
サプリカント  クライアント端末  LANスイッチへアクセスを要求しスイッチからの要求に応答するデバイスです。 
オーセンティケータサーバ RADIUSサーバ クライアントの実際の認証を行うデバイスです。認証サーバをクライアントを識別しアクセスの許可/拒否をスイッチに通知します。 
オーセンティケータ LANスイッチ
無線コントローラなど 
クライアントの認証ステータスに基づいてネットワークへの物理アクセスを制御します。 


Catalystでの認証機能というのは正直、あまり万能なものではなく他社製品と比較して見劣りするところもあったりします。しかし、IOSのバージョンアップによって機能的に進化してきている影響もあるためそのバージョンにより設定方法、動作仕様が異なります。ここではCatalyst2960の15.0(2)SE4を前提に記載致します。12.2(50)SEより前のバージョンでは設定方法が異なりますので注意してください。

Catalyst上で設定する具体的な認証方法については上にも記載したよう以下の3つがあります。


○ 802.1X ( ユーザID / パスワード )
○ Mac認証バイパス
○ Web認証

実務上で最も多いのはMac認証バイパスです。ユーザID/Passでは漏れる可能性がある。Web認証はエンドユーザの手を煩わす。最も現実的な手法はMac認証という意見を持ったユーザが多いです。Catalystの特定バージョン以上のIOSではこれらを任意に組み合わせて実施することが可能となっており、マルチ認証と呼ばれます。例えば最初の接続段階ではMac認証を試み、NGならdot1x認証、それでもダメならWeb認証を試み、端末によって認証方法が異なっても構わず、どれかで認証されれば接続可能という状態です。

Catalyst上でいずれの認証方法を用いるにしても認証サーバであるRadiusについてはCiscoのRadiusであることがサポートの前提となります。特にWeb認証に関してはCiscoのRadiusが必須となりますがdot1x認証またはMac認証であれば一般的なRadiusで動作可能です。ここでは検証環境なのでオープンソースのRadiusであるFreeRadiusを用いてdot1x認証とMac認証の動作確認をとります。下記は主にRadius周りを中心としたグローバル設定です。

(config)# aaa new-model
(config)# aaa authentication dot1x default group radius
(config)# radius-server host 192.168.12.20 auth-port 1812 acct-port 1813 key test
(config)# radius-server vsa send authentication
(config)# dot1x system-auth-control


上記のAAA設定を実施した場合、TelnetやConsoleで機器にログインする際にもRadiusに問い合わせにいくようになりますので、ローカルアカウントで認証させるため以下の設定も実施します。

(config)# aaa authentication login console local

(config)# line con 0
(config-line)# login authentication console

(config)# line vty 0 4
(config-line)# login authentication console


あとは各ポートごとに有効/無効を設定することになります。デフォルトでは全てのポートが無効であり無条件に接続可能です。また、dot1xを有効にできるポートはアクセスポートに限定されます。トランクポートなどには設定できませんので注意してください。また、Mac認証のみであれば最後のdot1x paeコマンドは不要です。以下、設定例です。

(config)# interface Fa0/1
(config-if)# authentication port-control [auto | force-authorized | force-unauthorized ]
(config-if)# dot1x pae authenticator


各ポートに対して設定できるパラメータは以下の3つです。

パラメータ 説明 
auto  802.1x 認証をイネーブルにします。ポートは最初、無許可ステートであり認証に成功するとポートが許可ステートに変わり、認証されたクライアントからの全フレームがポート経由での送受信を許可されます 
force-authorized  802.1x 認証をディセーブルにし、認証情報の交換を必要とせずに、ポートを許可ステートに変更します。デフォルト設定です。 
force-unauthorized クライアントからの認証の試みをすべて無視し、ポートを無許可ステートのままにします。スイッチはポートを介してクライアントに認証サービスを提供できません。 


Catalystの認証を有効にする場合、下記のようにCatalyst 15系IOSでは以下の4つのモードから選択可能となっています。

(config-if)# authentication host-mode [multi-auth | multi-domain | multi-host | single-host]


それぞれの意味は下記のようになります。

項目  説明 
multi-auth 1ポート配下でMAB / Dot1X / Web認証を混在させることが可能なモード。
multi-domain 1ポート配下でPC端末をIP電話を混在させることが可能なモード。
multi-host  1ポート配下で複数のPC端末を接続させることが可能なモード。
single-host  1ポートにつき1端末という最もシンプルな構成。デフォルト。


IEEE802.1X / MAB / Web認証をどのような順序で行うのか定義するのが以下のコマンドです。下記ではMAC認証を試み、NGであればdot1x認証を行うよう順序を設定しています。Web認証は指定してないので実施されません。また、Mac認証を行う場合は下記のようにmabコマンドも必要です。

(config-if)# authentication order mab dot1x
(config-if)# mab


スイッチとRADIUSサーバの間の疎通がとれなくなった場合に緊急用のVLANにポートをアサインしなおすことが可能です。下記はRADIUSとの接続性がなくなった時点でVlan10にポートをアサインし、接続性が回復したら自動復旧する設定です。authorizeとrenitializeで選択することができますが、authroizeは新規接続のみでreinitializeは認証済みホストも含めて全て緊急用Vlanに移動します。

(config-if)# authentication event server dead action [authorize | reinitialize] vlan 10
(config-if)# authentication event server alive action reinitialize


さらに下記は認証に失敗した場合に別の特定VLANにアサインさせる場合の設定です。認証失敗の場合はVlan10にアサインさせます。

(config-if)# authentication event fail action authorize vlan 10


MAB認証を実施する場合、登録されていないMacアドレスが存在すれば延々と再認証を繰り返しますので以下の設定を実施して再認証させないようにしておきます。

(config-if)# authentication timer restart 0


以下は802.1Xの再認証設定となります。デフォルトは1時間おきですが2時間に変更しています。

(config-if)# authentication periodic
(config-if)# authentication timer reauthenticate 7200


以上が主な設定となります。ポートの設定をまとめると以下のようになります。

interface FastEthernet0/1
 switchport access vlan 100
 switchport mode access
 authentication event fail action authorize vlan 10
 authentication event server dead action reinitialize vlan 10
 authentication event server alive action reinitialize
 authentication host-mode multi-auth
 authentication order mab dot1x
 authentication port-control auto
 authentication periodic
 authentication timer restart 0
 authentication timer reauthenticate 7200
 mab
 dot1x pae authenticator




■RADIUSの設定

実際に認証を行おうとするとオーセンティケータ ( RADIUSサーバ ) が必要となります。CiscoであればACSが販売されていますが、以下でご紹介しているFreeRADIUSでも稼働可能です。インストールなど参考にしてください。

http://www.unix-power.net/linux/freeradius.html

クライアントのMacアドレスは区切りなしにRadiusに送信されますのでFreeRadius側には以下の設定が必要となります。

# vi /etc/raddb/users

# 下記のようにMacアドレスを追記する
fc6198414589 Auth-Type:=Local, Cleartext-Password:="fc6198414589"


正常に認証されればスイッチ側で以下のように表示されます。

# show authentication sessions

Interface  MAC Address     Method   Domain   Status         Session ID
Fa0/1      fc61.9841.4589  mab      DATA     Authz Success  C0A80C3C0000000B00E431AD




 
 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.