無線LANの認証で使われている802.1xを、通常のLANでも使う事が出来ます。どんな感じになるかと言いますと。。。
パソコンをネットワークに接続すると、下のような感じでユーザ名・パスワードを入れろと言ってくる。
なので、認証サーバ(RADIUS)に登録されているユーザ名・パスワードを入れると、認証で許可されてネットワークを無事使う事が出来ます。
しかし、間違ったユーザ名やパスワードを入れると、ネットワークにパソコンがつながっているのに通信が一切出来なくなります。
実際に、802.1xをCiscoのCatalyst3550とWindowsXP、認証サーバにルーセントのNavisRadiusで試した時に作ったメモを「続き」にのしましたので、興味をお持ちの方は是非見せてください。
もし、間違えや、気になった事がありましたら、ばんばんコメントをお願いします。
■IEEE802.1xの概要
・IEEE802.1xを用いると、クライアントはサーバで認証され許可されるまでネットワークを使ってデータ送信が出来ない。
・認証には、無線でも使われてるEAPが使われている。
・Catalystスイッチでは認証されるまで、EAPOL(Extensible Authentication Protocol over LAN)、CDP、STPトラフィックだけが許可される。認証が成功すればそれ以外の通常のIPトラフィックも通過する事が出来る。
■EAPの概要(Extensible Authentication Protocol/PPP拡張認証プロトコル)
・認証プロトコル(PPP)を拡張・強化した認証手順で、IEEE802.1xでの認証で採用されている。EAPには多くの種類がある。代表的な方式は下記の通り。
・EAP-MD5
ユーザID+パスワードによる1方向認証。認証するときに、ユーザ端末でユーザ名・パスワードを入力してもらうだけの非常にシンプルなもの。
・LEAP(EAP-Cisco Wireless/リープ)
ユーザID+パスワードによる、クライアント(ユーザ端末)<-->サーバの方向認証。Cisco社のプライベート規格で、現在はPEAPへ以降されつつある。
・PEAP(Protected EAP/ピープ)
クライアント(ユーザ端末)はユーザID+パスワード、サーバはデジタル証明書を用いた双方向認証。サプリカント(ユーザ端末ソフトウェア)は、WindowsXP/2000にもバンドルされている。マイクロソフトとシスコなどが開発したもの。
・EAP-TLS(Transport Layer Security)
クライアント(ユーザ端末)とサーバの双方に登録されたデジタル証明書による双方向認証。
・EAP-TTLS
PEAPとほぼ同様だが、サプリカント(ユーザ端末ソフトウェア)はOSにバンドルされていないため、Funk社等のものを購入する必要がある。開発元は、ファンク・ソフトウェアとサーティコム。
■Catalyst3550でのデフォルトの設定
・AAAのはディセーブル
・RADIUSサーバの認証用ポート:1812
・定期的再認証:ディセーブル
・クライアントとの認証交換が失敗したあと、スイッチが待機ステートにとどまる時間:60秒
・再認証間隔:3600秒
・スイッチが、クライアントからのEAP要求/アイディンティティフレームに対する対応を待ち、要求を再送信するまでの時間:30秒
・スイッチが、認証プロセスを再開するまでにEAP要求/アイディンティティフレームを送信する回数:2回
・ホストモード:1つのホストモード
・クライアントのタイムアウト:30秒
・認証サーバのタイムアウト:30秒
・資料:
Catalyst3550のマニュアルの802.1xポートベースの認証の設定
■Calalyst3550での設定
1,AAAをイネーブルにする
(config)# aaa new-model
2,RADIUSサーバの位置や鍵を設定する。
(config)# radius-server host 10.1.1.100 key cisco
3,認証用のリストを作成する。デフォルトで作れば、全インタフェースに自動で適応される。
(config)# aaa authentication dot1x default group radius
4,スイッチ上で802.1x認証をイネーブルにする。
(config)# dot1x system-auth-control
5,インタフェース上で802.1x認証をイネーブルにする。
(config-if)# dot1x port-control auto
auto以外に2種類のパラメータがある。
・force-unauthorized
ポートを無許可ステートのままにする。クライアントが認証を試みても無視する。要するに使用不可なポートとなる。
・force-authorized
802.1x認証をディセーブルにして、認証なしてポートを許可ステートにする。クライアントは認証なしで普通に通信可能。これがデフォルトの設定。
■注意事項
・dot1xはアクセスポートのみ設定可能
Catalyst3550のポートはデフォルトで[dynamic desirable]となっているので、デフォルトで設定するとエラーではじかれる。
なので、アクセスポート固定にしてから設定する。
はじかれた時の例:
(config-if)# dot1x port-control auto
Command rejected: Dynamic mode enabled on one or more ports.
Dot1x is supported only on Ethernet interfaces configured in Access, Routed or Private-vlan Host Mode.
(config-if)# switchport mode access
と設定してからなら問題なし。
■確認コマンド
・認証される前
# sh dot1x int fa0/15
PortStatus = UNAUTHORIZED
MaxReq = 2
HostMode = Single
Port Control = Auto
QuietPeriod = 60 Seconds
Re-authentication = Disabled
ReAuthPeriod = 3600 Seconds
ServerTimeout = 30 Seconds
SuppTimeout = 30 Seconds
TxPeriod = 30 Seconds
Guest-Vlan = 0
・認証が許可されたとき
# sh dot1x all
Dot1x Info for interface FastEthernet0/15
----------------------------------------------------
Supplicant MAC 00b0.d0ac.57a7
AuthSM State = AUTHENTICATED
BendSM State = IDLE
PortStatus = AUTHORIZED
MaxReq = 2
HostMode = Single
Port Control = Auto
QuietPeriod = 60 Seconds
Re-authentication = Disabled
ReAuthPeriod = 3600 Seconds
ServerTimeout = 30 Seconds
SuppTimeout = 30 Seconds
TxPeriod = 30 Seconds
Guest-Vlan = 0
■その他
・EAPはL2のプロトコル(type=0x888e)
PC <--> スイッチ
ここは、L2にEAPがカプセル化される。
スイッチ <--> RADIUS
ここは、スイッチがIPにカプセル化して送る。
・認証が出来ているとき、ケーブルを抜いて再度接続すると、再度認証しないとポートを使用できない。
・クライアントはwindowsXPを使用すると、ローカルエリア接続のプロパティにデフォルトで802.1xの設定項目があるのでラクチン。
・上記の検証は、クライアントにWindowsXP、RADIUSサーバにルーセントのNavisRadius、認証方式にEAP-MD5を使用。
コメント (10)
ashiさん
お礼のコメント、ありがとうございます。
無事に成功されたのですね、よかったです。
最近、Ciscoの記事が少なくあまり役に立たないとは思いますが、何かありましたら、また質問をバンバンください。
楽しみに待っております。
投稿者: けいじ | 2005年08月23日 20:28
日時: 2005年08月23日 20:28
けいじさん。紹介の方法を試したところ無事ログインできました。大変助かりました!どうもありがとうございます!今後も参考にさせていただきます。
投稿者: ashi | 2005年08月23日 15:28
日時: 2005年08月23日 15:28
ashiさん、初めまして。
早速ですが、telnetしようとして設定してもいないのにusernameから聞かれる現象ですが、その現象は802.1xを設定したからではなく
(config)# aaa new-model
を入力したからです。
802.1xを有効にしたままで上記の現象の回避方法は、下記をごらんください。
今まで通り、パスワードのみ入力したい場合ですが
(config)# line vty 0 4
(config-line)# login
(config-line)# password cisco
で設定した、ciscoのみをパスワードとして使いたい場合は
(config)# aaa authentication login default line
と入力してください。
そうすれば、ciscoだけでログインできるようになります。
いかがでしょうかashiさん、解決できたでしょうか?
ちょっと怪しい記憶なので、間違っているかもしれません。
うまく行かなかったら、またコメントをください。
投稿者: けいじ | 2005年08月18日 22:46
日時: 2005年08月18日 22:46
はじめまして。一年以上前の記事でもうしわけないんですが、質問よろしいでしょうか?
cat3550とfreeRadiusで同じ様なことをしているのですが、スイッチで802.1xを有効にしたあとで、telnetしようとするとusernameから聞かれます。
以前は、passwordオンリーだったのですが。
ちなみに、802.1xを有効にしたポート以外のポート(全ポート)でこんなかんじなので、スイッチにログインできません。
radius側でユーザ名、パスワードを登録しなければならないんでしょうか?
もし、わかりましたらよろしくおねがいします。
投稿者: ashi | 2005年08月18日 17:19
日時: 2005年08月18日 17:19
そりゃ、そうやわね。。。ユーザごとにVLANを変えないとお話にならないもんね。。。。
投稿者: gogokeiji | 2004年10月23日 07:15
日時: 2004年10月23日 07:15
試したってゆーか、提案のデモで必要やったぽ(´Д`)ハァハァ
投稿者: かっちゃん | 2004年10月22日 21:27
日時: 2004年10月22日 21:27
まじっすか~
ってことは、試したんすか~?
俺も、是非試してみたいもんですわ~
投稿者: けいじ | 2004年10月22日 16:22
日時: 2004年10月22日 16:22
RADIUSサーバで、USER毎に特定のVLANをアサインする場合は、下記コマンドも必要みたいですよ。
aaa authorization network default radius
これ入れてないと、認証が成功しても、ポートにアサインされているVLAN(デフォルトはVLAN1)に所属しますが、これを入れると、RADIUSサーバに登録されたVLANに所属できました。
投稿者: かっちゃん | 2004年10月22日 09:49
日時: 2004年10月22日 09:49
う~ん、セキュリティーですか。。。
そうですね~、他の端末で認証が通ってても、いったん抜いてしまえば必ず再度認証しないと通信出来ないんで、まずまずのセキュリティーかなと思います。
でも、アカウントとパスワードが漏れるとどないしようもないのは、当然っすね。。。
それにしても、セキュリティーは俺よりたけちゃんのほうが強そうな気が。。。
Windows2000,98の場合なんすが、Win2000は
http://support.microsoft.com/default.aspx?scid=kb;ja;313664
でやり方が載ってますわ。
Win98は、専用のクライアントソフトが必要な感じっぽいです。。
投稿者: けいじ | 2004年05月23日 21:43
日時: 2004年05月23日 21:43
はじめまして、たけちゃんです。
コメント初投稿です。
802.1xってすごいなぁ。
勉強になりました。
これでセキュリティは万全かな?
早速、会社のスイッチの全ポートに設定してみよう!
でも、Windows2000とか98が結構残ってる。
彼らはどうすればいいの?・・・
投稿者: たけちゃん | 2004年05月22日 21:11
日時: 2004年05月22日 21:11