ITの窓辺から

三流IT技術者の日常

Aruba IAP-305の設定と動作に迫る (7)

今回は無線LAN接続時の認証について記載します。IAPのソフトウェアバージョンは6.5.1.0-4.3.1.2_58595です。IAPの一部の認証はRadius認証に対応しています。とはいえ、今回は内部データベースを使用するので、別のRadiusサーバは導入しません。Radiusサーバを使うのは次回以降になります。単に無線LAN端末のMACアドレスでフィルタリングを行っているだけなので、端末側で必要な準備はありません。

事前共有鍵による接続

セキュリティレベルをパーソナルに指定すると、以下のような設定画面が表示されます。

f:id:ReaLiZeZNSG:20180609181423p:plain

単純に事前共有鍵(PSK)の認証のみで接続する場合はパスフレーズと再入力に同じ値を入力すれば完了です。家庭用の無線LANルータでもよくある設定です。

MACアドレスによる認証

MACアドレスによる認証はデフォルトでは無効ですが、有効にすることで無線LANに接続する端末を制限することができます。MACアドレス認証を有効にするには、MAC認証の値を有効に変えます。

f:id:ReaLiZeZNSG:20180609181948p:plain

結構色々設定ができますね。IAP単体で認証を完結する場合、認証サーバーを内部サーバーに指定します。

内部サーバーへのMACアドレス登録は、上記画像の「ユーザー」から行うこともできますが、ダッシュボードの「セキュリティ」から事前登録することもできます。IAPのMACアドレス認証ではパスワードはMACアドレスと同じ文字列が使用されるようです。区切り文字を指定しない限り、MACアドレスが11:22:33:44:55:66であればパスワードは112233445566になります。アカウント登録時にはこの文字列をパスワードとして登録する必要があります。登録されたアカウントはshow usersで表示することができます。

f:id:ReaLiZeZNSG:20180609203638p:plain

MACアドレス認証成功時

網羅できているかは分かりませんが、認証の結果は以下ように確認できるようです。とりあえず成功の場合です。今回使用した端末のMACアドレスは98:5f:d3:3b:a4:caです。さらに、ダッシュボードに表示される無線LAN端末の名前はホスト名ではなくMACアドレスで表示されるようになります。

show ap auth-trace-bufコマンド

f:id:ReaLiZeZNSG:20180609203438p:plain

内部サーバーを使用していることと、MACアドレス、結果が分かるようです。

Syslog

色々出ますが、とりあえず認証結果のSyslogはIAPの実IPアドレスから送信されました。MACアドレス認証のRadius認証はPAP認証で行われるようです。そのせいか、Syslog上では認証に使われたパスワードは以下のように平文で表示されるので注意が必要です。

pap_authenticate after convert the username 985fd33ba4ca and password 985fd33ba4ca

いくつかのRadius属性値も送信されるようです。

<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_request.c:55] Add Request: id=8, srv=127.0.0.1, fd=16
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2184] Sending radius request to InternalServer:127.0.0.1:1616 id:8,len:182
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] NAS-IP-Address: 127.0.0.1
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] NAS-Port-Id: 0
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] NAS-Port-Type: Wireless-IEEE802.11
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] User-Name: 985fd33ba4ca
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2203] Password: *****
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] Service-Type: Call-Check
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] Calling-Station-Id: 985fd33ba4ca
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] Called-Station-Id: 20a6cdc186ac
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] Aruba-Essid-Name: test-employee
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] Aruba-Location-Id: IAP01
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] Aruba-AP-Group: IAP
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] Aruba-Device-Type: Windows
<143>Jun 9 20:15:48 2018 192.168.0.203 stm[2323]: <121031> <DBUG> <192.168.0.203 20:A6:CD:C1:86:AC> |aaa| [rc_server.c:2200] Message-Auth: _\312\242Q\354m2\305\334\225

MACアドレス認証失敗時

設定値として区切り文字「-」(ハイフン)を指定し、MACアドレス認証に失敗するようにして試しました。

show ap auth-trace-bufコマンド

そのままの表現です。

Jun 9 20:42:30 mac-auth-req -> 98:5f:d3:3b:a4:ca 20:a6:cd:98:6a:d2/InternalServer - - 98-5f-d3-3b-a4-ca
Jun 9 20:42:31 mac-auth-fail <- 98:5f:d3:3b:a4:ca 20:a6:cd:98:6a:d2/InternalServer - - failure

Syslog

ユーザ名のMACアドレスの区切り文字にハイフンが入っています。パスワードも同様になるようです。

pap_authenticate after convert the username 98-5f-d3-3b-a4-ca and password 98-5f-d3-3b-a4-ca

成功時と同様にRadius属性としていくつかのパラメータが送信されます。明確に認証に失敗したことを示すログは見当たりませんでした。reauthなんたらとかログがあったので再認証が行われる動作は見えました。reauthするということは認証に失敗しているということなので、これをもって失敗と考えろということかもしれませんが・・。ちょっと分かりづらいですね。

 

MACアドレス認証のパラメータ

基本的にはすでにMACアドレス情報を格納したLDAPサーバがあるような状況での調整用でしょう。

区切り文字

MACアドレスの区切り文字を指定します。大抵はコロンかハイフンでしょう。

大文字対応

アカウント情報が大文字で登録されている場合でも認証が成功するようになります。

再認証の間隔

認証に失敗した端末の再認証が行われるまでの間隔です。基本的にMACアドレス認証に失敗する端末は接続を想定していないはずなので長めで良いと思います。

ブラックリスト

MACアドレス認証とは異なりますが、事前に接続を拒否するMACアドレスブラックリストに登録しておくことができます。認証ログが増えすぎるのを抑止するとかそういう用途しか思いつきません。

DHCPの強制

有効にすると固定IPアドレスでの接続を拒否することができます。いわゆるDHCPスヌーピング機能かと思います。

 

やはり結構長い記事になってしまいました。次回は今回行ったMACアドレス認証を内部サーバーではなくRadiusサーバで試してみます。