Windowsクライアントから、ネットワークデバイスにTelnetでログインし、RADIUS認証が正しく行われるかを、実際に確認してみましょう。ここでは、Telnet、SSHの順に接続を確認します。
最初に、Windows標準のTelnetクライアント機能を使ってネットワークデバイスに接続し、RADIUSによる認証が正しく行われるかを確認します。
Windows Vista/7/8は、標準ではTelnetクライアント機能がインストールされません。このためターミナルソフトウェアを別途入手するか、[コントロールパネル]の[プログラム]−[Windowsの機能の有効化または無効化]を選択し、[Telnetクライアント]を選択して、Windows標準のTelnetクライアント機能を追加インストールする必要があります。
次の例では、Windows標準のTelnetクライアント機能を使って、シスコのL3スイッチに接続を行っています(シスコ ISRルータも同様の手順で接続できます)。
C:\>telnet 10.1.1.254 接続先ネットワークデバイスのIPアドレスを指定します。レイヤ2スイッチに接続する場合は、接続先IPアドレスをレイヤ2スイッチに割り当てたIPアドレスにしてください User Access Verification Username: netadmin1 前回作成した、ネットワークデバイス管理者用のユーザーログオン名とパスワードを指定します。ここでは[Username:]にnetadmin1、[Password:]にP@ssw0rdを指定します。 Password: 入力後[Enter]キーを押します(パスワードを入力しても、画面には何も表示されません。)。 L3SW1>enable ユーザーモードのプロンプトが表示されるため、RADIUSサーバによる認証、承認が行われ、ログインに成功したことが分かります。ログイン後は、通常のコマンド操作が行えます。 L3SW1>#logout 接続を切断する場合は、logoutコマンドを実行します。 ホストとの接続が切断されました。 C:\> 接続の切断に成功すると、Windowsのプロンプトが表示されます。
アライドテレシスのスイッチに接続する場合は、次のように表示されます。
C:\>telnet 10.1.1.254 スイッチに割り当てたIPアドレスを指定します。 TELNET session now in ESTABLISHED state login: netadmin1 Password: 前回作成したネットワークデバイス管理者用のユーザーログオン名とパスワードを指定します。ここでは[login:]にnetadmin1、[Password:]にP@ssw0rdを指定します。 Manager > 権限レベル(Manager)がプロンプトに表示されたため、RADIUSサーバによる認証、承認が行われ、権限レベルが通知されたことが分かります。 Manager > logout 接続を切断する場合は、logoutコマンドを実行します。 ホストとの接続が切断されました。 C:\> 接続の切断に成功すると、Windowsのプロンプトが表示されます。
netadmin1としてログインできているかを確認するには、シスコの場合はshow users、アライドテレシスの場合はshow userコマンドを実行します。実行結果のうち、枠で囲まれている行を確認すると、ログイン中のユーザー情報が確認できます。
なお、Telnetを使用するとTelnetクライアントとネットワークデバイス間は一切暗号化されませんが、RADIUSの仕様で、RADIUSクライアント(ネットワークデバイス)がRADIUSサーバにユーザーの認証情報を中継するときに、ユーザーのパスワードだけは暗号化されます。次の図は、RADIUSサーバにMicrosoft Network Monitorというパケットモニタリングツールを使って、RADIUSクライアントであるL3SW1が、RADIUSサーバにnetadmin1の認証情報としてユーザー名とパスワードを転送しているときのパケットを表示しています。
図の(1)(2)を参照すると、ユーザー名は暗号化されていないためnetadmin1という文字列がそのまま表示されていますが、パスワードは読み取れないため暗号化されていることが分かります。また、(3)を見ると、RADIUS認証でUDPポート1645を使用していることが分かります。これは、もともとRADIUSでは認証に1645、アカウンティングに1646を使用していましたが、datametricsというサービスと競合したためRFC 2865によってRADIUS認証にポート1812を、RFC 2865によってRADIUSアカウンティングにポート1813が正式に割り当てられた経緯があるためです。
シスコやアライドテレシスでは、ポート番号を省略した場合、デフォルトのRADIUS認証用のポートとしてUDP 1645が使用されます。Windowsのネットワークポリシーサーバが提供しているRADIUSサーバ機能は、UDPポート1645、1646、1812、1813がデフォルトで有効化されるため、このままでも問題はありませんが、変更する場合は、次のように指定します。
radius-server host RADIUSサーバーのIPアドレス auth-port ポート番号 例)radius-server host 10.1.2.101 auth-port 1812 acct-port 1813
add radius server=RADIUSサーバーのIPアドレス secret=共有シークレット port=RADIUS認証に使用するポート番号 accport=RADIUSアカウンティングに使用するポート番号 例)add radius server=10.1.2.101 secret=password port=1812 accport=1813
次に、SSHによる接続確認を行います。Windowsには、SSHクライアントが付属していないため、「Tera Term」というターミナルエミュレータソフトウェアを使用して、接続を確認します。
1. Tera Termをダウンロードし、クライアント役のコンピュータにインストールします。
2. Tera Termを起動します。[Tera Term 新しい接続]ウインドウで、[ホスト]に接続先ネットワークデバイスのIPアドレスを指定します。また、[SSH]をオンにし、[SSHバージョン]で「SSH2」を選択後[OK]をクリックします。
3. [セキュリティ警告]ウインドウは、接続先のサーバが適切なものかをユーザーに確認するために表示されます。サーバのホスト鍵のフィンガープリント(指紋)がTera Termに登録されていないときに表示されます。
4. [SSH認証]ウインドウでは、Active Directoryに登録した、netadminsグループのメンバーのユーザーログオン名とパスワードを入力し、[プレインテキストを使う]を選択後、[OK]をクリックします。
5. 接続に成功すると、Telnetのときと同様に、ユーザーモードのプロンプトが表示されます。その後は、特権モードに移行し、通常の管理作業を行います。接続を終了する場合は、ユーザーモードか特権モードでlogoutコマンドを実行します。
TelnetやSSHで接続を確認すると、RADIUSサーバ「server001」のC:\Windows\System32\LogFilesにあるアカウンティングログファイルに、次のように履歴が記録されます。
次のRADIUSサーバのアカウンティングログは、RADIUSクライアントから認証要求が送信され、認証および承認された時のものです。
"SERVER001","IAS",12/25/2012,19:50:58,1,"netadmin1","edifist.co.jp/Users/netadmin1",,,,,,"10.1.2.254",1,0,"10.1.2.254","L3SW1",,,5,,,,1,"ネットワークデバイスの認証",0,"311 1 10.1.2.101 11/30/2012 06:27:06 47",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"すべてのユーザーに Windows 認証を使用",1,,,, 上記のログは、RADIUSクライアントであるL3SW1から送信された認証要求が、RADIUSサーバに受信されたことを表しています。 "SERVER001","IAS",12/25/2012,19:50:58,2,,"edifist.co.jp/Users/netadmin1",,,,,,,,0,"10.1.2.254","L3SW1",,,,,1,2,1,"ネットワークデバイスの認証",0,"311 1 10.1.2.101 11/30/2012 06:27:06 47",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"すべてのユーザーに Windows 認証を使用",1,,,, 上記のログは、認証要求に対する認証が正しく行われ、接続が承認されたことを表しています。
上記の2例のうち、1つ目のL3SW1からRADIUSサーバに対する認証要求のログを例に、どのような情報がログに記録されるか確認しましょう。
記録内容 | 意味 |
---|---|
"SERVER001" | RADIUSサーバの名前 |
"IAS" | RADIUSサーバで実行されているサービスの名前。もともとネットワークポリシーサーバ(NPS)は、Windows Server 2003でインターネット認証サービス(IAS:Internet Authentication Service)という名称だったものが、Winodws Server 2008で機能追加されNPSに変更されたという経緯があるため、IASと表記されています。 |
12/25/2012 | ログが書き込まれた日付 |
19:50:58 | ログが書き込まれた時間 |
1 | RADIUSメッセージの種類 1 = Access-Request 2 = Access-Accept 3 = Access-Reject 4 = Accounting-Request 5 = Accounting-Response 11 = Access-Challenge 12 = Status-Server (experimental) 13 = Status-Client (experimental) 255 = Reserved |
"netadmin1" | アクセスを要求しているユーザーの名前 |
"edifist.co.jp/Users/netadmin1" | ユーザーの正式な名前 |
"10.1.2.254" | 要求を送信したNAS(Network Access Server)のIPアドレス |
1 | 要求を送信したNASの物理ポート番号 |
0 | NASの製造元。0の場合はRADIUS Standard |
"10.1.2.254" | RADIUSクライアントのIPアドレス |
"L3SW1" | RADOISクライアントの名前 |
5 | 要求元NASの物理ポート |
1 | ユーザーの認証に使用される方法。1はPAP(Password Authentication Protocol)を指します。PAP暗号化せずにパスワードを送受信します。 |
"ネットワークデバイスの認証" | 認証と承認に使用されたポリシーの名前 |
"311 1 10.1.2.101 11/30/2012 06:27:06 47" | RADIUS Access Acceptメッセージで、RADIUSクライアントに送信される値です。 |
"すべてのユーザーに Windows 認証を使用" | 適合した接続ポリシー名。この例では、NPSにデフォルトで登録されているポリシーの名前が記録されています。このポリシーでは、すべての要求をローカルRADIUSサーバで、RADIUSサーバのローカルかActive Directoryに登録されたユーザーを使って認証することが定義されています。 |
1 | 認証の種類。0(認証なし)、1(Windows)、2(RADIUS プロキシ)の3種類があります。 |
ログファイルのフォーマットについては、マイクロソフトの「Microsoft Windows Server 2008 ネットワークアクセス保護(NAP)ログ監査ガイド(PDF)」に詳しく記載されています。
ログを参照すると、いつ、誰が、どのコンピュータからアクセスしたかを追跡できるため、定期的にチェックし、認証に失敗したログが多発していないか、管理者の記憶にないアクセス履歴が残されていないか、などを確認するようにしましょう。
以上で、前後編に分けてRADIUSを使ったActive Directoryとネットワークデバイスの「ちょっとだけ連携」の説明は終了です。
次回は、Windows Server 2012のDNSサーバ機能とネットワークデバイスの「ちょっとだけ連携」を紹介します。
山口 希美(やまぐち きみ)
ITインストラクター
エディフィストラーニング(旧社名NRIラーニングネットワーク)で、ネットワーク関連コース全般の企画・開発・実施、および書籍の執筆などを担当。同社で「理論と実装をバランスよく」をモットーに、実機演習中心のトレーニングを実施中。分かりやすさには定評がある。
Copyright © ITmedia, Inc. All Rights Reserved.