社内のネットワークの入口となるレイヤ2スイッチでの認証機能がIEEE802.1Xだ。前回、IEEE802.1Xの構成要素であるサプリカント、オーセンティケータ、RADIUSサーバが連携してどのように認証を行っているかという仕組みについて解説した。そこで今回は、NETGEAR社のレイヤ2スイッチを利用したIEEE802.1Xの設定と確認の様子を見ていこう。

ネットワーク構成

IEEE802.1Xの検証を行うネットワーク構成は以下のとおりだ。

図 1 IEEE802.1X検証ネットワーク構成(物理構成)

図 2 IEEE802.1X検証ネットワーク構成(論理構成)

レイヤ3スイッチとして、PROSAFE M5300-28G3を利用する。また、IEEE802.1Xのオーセンティケータとなるレイヤ2スイッチはPROSAFE GSM7428v2を利用する。

認証を行うクライアントと認証サーバであるRADIUSサーバは異なるサブネットに所属するようにしている。クライアントは192.168.2.0/24のサブネットで、IPアドレスはIEEE802.1Xの認証が成功するとDHCPによって割り当てられるものとする。そして、RADIUSサーバは192.168.1.0/24のサブネットで192.168.1.21/24というIPアドレスをスタティックに設定している。RADIUSサーバとしては、Windows7上でFreeRADIUSを利用する。FreeRADIUSには、次のような設定を行っている。

表 1 FreeRadiusの設定パラメータ

IPアドレス 192.168.1.21/24
デフォルトゲートウェイ 192.168.1.254
RADIUSポート UDP 1812
ユーザ名 testuser
パスワード testpw
オーセンティケータの送信元IPアドレス 192.168.2.0/24
オーセンティケータのキー testing123

なお、IEEE802.1X認証のクライアントであるサプリカントは、Windows7標準のものを利用する。そして、EAP方式はRADIUSサーバを証明書で認証して、ユーザ名とパスワードでクライアントを認証するEAP-PEAPを利用する。

※本稿ではFreeRADIUS自体の設定の手順については解説しません。

IEEE802.1Xの設定と確認

それでは、NETGEAR社のスイッチを利用したIEEE802.1Xの設定と確認を行っていこう。検証の手順は、以下のとおりだ。

1.レイヤ2スイッチをオーセンティケータとして設定
2.サプリカントの設定
3.IEEE802.1X認証の確認

レイヤ2スイッチをオーセンティケータとして設定

最初の手順として、レイヤ2スイッチでIEEE802.1Xを有効にしてオーセンティケータとして設定していこう。そのために、以下の設定を行う。

・IEEE802.1Xを有効化
・認証リストの設定
・RADIUSサーバの情報の設定

IEEE802.1Xを有効にするには、[Security]→[Port Authentication]→[Advanced]→[Port Authentication]でポートごとの認証を有効にする。[Control Mode]で[Auto]を指定すると、そのポートでのIEEE802.1Xの認証を行うことになる。NETGEARのスイッチでは、デフォルトですべてのポートの[Control Mode]が[Auto]となっている。しかし、上位のレイヤ3スイッチはサプリカントではない。上位のレイヤ3スイッチが接続されているポート0/1は[Force Authorized]として強制的に認証状態にする。

図 3 IEEE802.1Xポート認証の有効化

そして、[Security]→[Port Authentication]→[802.1X Configuration]から[Administrative Mode]を[Enable]とすると、レイヤ2スイッチ全体でのIEEE802.1X認証を有効化する。

図 4 IEEE802.1Xの有効化

続いて、認証情報の問い合わせ先を決定するための認証リストを設定する。[Security]→[Management Security]→[Authentication List]→[Dot1x Authentication List]から[dot1xList]という名前の認証リストで、ユーザ情報を問い合わせる順番を指定する。まず、[Radius]でRADIUSサーバに問い合わせる。RADIUSサーバが利用できないときにはレイヤ2スイッチ自体のユーザ名とパスワードを使えるように2番目に[Local]とする。

図 5 認証リストの設定

次に[Security]→[Management Security]→[RADIUS]→[Server Configuration]からRADIUSサーバの設定を行う。RADIUSサーバのIPアドレス、ポート番号とキーを指定すればよい。

図 6 RADIUSサーバの設定

以上でレイヤ2スイッチをオーセンティケータとして動作させるための設定は完了だ。

サプリカントの設定

次にIEEE802.1X認証のクライアントとなるサプリカントの設定だ。クライアントOSはWindows7 ProfessionalでWindows7標準のサプリカントを利用する。Windows7のデフォルトでは、サプリカントが有効になっていない。まず、サプリカントを有効にする必要がある。[プログラムとファイルの検索]に「services.msc」と入力し「サービス」の管理ツールを起動して、[Wired AutoConfig]を右クリックして、[開始]すればOKだ。

図 7 Windows標準サプリカントの有効化

すると、[ローカルエリア接続のプロパティ]に[認証]タブが追加される。[認証]タブで[IEEE802.1Xを有効にする]にチェックを付ける。そして、EAP方式としてPEAPを選択する。さらに[設定]をクリックしてPEAPのプロパティ画面に移る。ここでは、サーバの証明書を検証するために利用するルート証明書を選択する。

また、今回は認証のユーザ名とパスワードは、Windowsのログオン名とは異なるものを利用する。[EAP MSCHAPv2のプロパティ]でチェックを外しておく。これで、EAP-PEAPを利用するWindows7標準のサプリカントの設定はこれで完了だ。

図 8 サプリカントの設定(EAP-PEAP)

IEEE802.1X認証の確認

オーセンティケータとサプリカントの設定が完了したので、IEEE802.1X認証の動作を確認しよう。サプリカントをオーセンティケータに接続すると、認証情報の入力を促すメッセージがツールバーに表示される。

ツールバーのメッセージをクリックすると、ユーザ名とパスワードを入力するためのダイアログボックスが表示される。RADIUSサーバで定義しているユーザ名「testuser」パスワード「testpw」を入力する。

オーセンティケータを介してRADIUSサーバに認証要求を転送し、認証に成功すれば、ネットワークアダプタが有効になる。そして、クライアントはDHCPによってIPアドレスを取得して、TCP/IPの通信が可能な状態になる。
IEEE802.1Xで認証したサプリカントはオーセンティケータであるレイヤ2スイッチからも確認できる。[Security]→[Port Authentication]→[Client Summary]において、認証に成功したユーザ名とホストのMACアドレスを確認できる。

図 9 クライアントの確認

また、[Security]→[Management Security]→[RADIUS]→[Server Configuration]ではオーセンティケータとRADIUSサーバ間でやりとりされたパケットの統計情報がわかる

図 10 オーセンティケータとRADIUSサーバ間のパケットの統計情報の確認

以上で、NETGEAR社のレイヤ2スイッチを利用したIEEE802.1X認証の設定と確認は完了だ。IEEE802.1Xによって、よりセキュアな社内ネットワークを構築できる。単に認証だけではなく、追加でユーザが所属するVLANを割り当てるなど、より柔軟なネットワークへのアクセス制御をすることも可能だ。セキュアで柔軟なネットワークを構築しようと考えているネットワーク管理者においては、IEEE802.1X認証の導入を検討してみてはいかがだろうか。

まとめ

・NETGEAR社のスイッチをオーセンティケータとして設定する手順は以下のとおり。

IEEE802.1Xを有効化
認証リストの設定
RADIUSサーバの情報の設定

・オーセンティケータで、認証に成功したユーザ名やホストのMACアドレスを確認できる