この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、802.1xセキュリティとProtected Extensible Authentication Protocol(PEAP)をExtensible Authentication Protocol(EAP)として使用するワイヤレスローカルエリアネットワーク(WLAN)をセットアップする方法について説明します。 FreeRADIUS は外部 Remote Authentication Dial-In User Service(RADIUS)サーバとして使用されます。
次の項目に関する基本的な知識が推奨されます。
注:このドキュメントは、PEAP-MS-CHAPv2認証にfreeRADIUSサーバで必要な設定の例を読者に示すことを目的としています。このドキュメントに記載されている freeRADIUS サーバの設定は、ラボでテスト済みであり、予期されているとおりに機能することが判明しています。Cisco Technical Assistance Center(TAC)は freeRADIUS サーバ設定をサポートしていません。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
ステップ 1:次のコマンドを実行して httpd サーバと MariaDB をインストールします。
[root@tac-mxwireless ~]# yum -y update
[root@tac-mxwireless ~]# yum -y groupinstall "Development Tools"
[root@tac-mxwireless ~]# yum -y install httpd httpd-devel mariadb-server mariadb
ステップ 2: httpd(Apache)と MariaDB サーバを起動し、有効にします。
[root@tac-mxwireless ~]# systemctl enable httpd
[root@tac-mxwireless ~]# systemctl start httpd
[root@tac-mxwireless ~]# systemctl start mariadb
[root@tac-mxwireless ~]# systemctl enable mariadb
ステップ 3:MariaDB の初期設定を行い、この DB を保護します。
[root@tac-mxwireless ~]#mysql_secure_installation
注:このスクリプトのすべての部分を実行します。実稼働環境で使用するすべてのMariaDBサーバに推奨されます。各手順を注意深く読んでください。
In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
ステップ 4:freeRADIUS のデータベースを設定します(ステップ 3 で設定したパスワードを使用します)。
[root@tac-mxwireless ~]# mysql -u root -p -e "CREATE DATABASE radius"
[root@tac-mxwireless ~]# mysql -u root -p -e "show databases"
[root@tac-mxwireless ~]# mysql -u root -p
MariaDB [(none)]> GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "radiuspassword"; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
Bye
ステップ 1:次のコマンドを実行して PHP 7 を CentOS7 にインストールします。
[root@tac-mxwireless ~]# cd ~
[root@tac-mxwireless ~]# curl 'https://setup.ius.io/' -o setup-ius.sh
[root@tac-mxwireless ~]# sudo bash setup-ius.sh
[root@tac-mxwireless ~]# sudo yum remove php-cli mod_php php-common
[root@tac-mxwireless ~]# sudo yum -y install mod_php70u php70u-cli php70u-mysqlnd php70u-devel php70u-gd php70u-mcrypt php70u-mbstring php70u-xml php70u-pear
[root@tac-mxwireless ~]# sudo apachectl restart
ステップ 1:次のコマンドを実行して、FreeRADIUS をインストールします。
[root@tac-mxwireless ~]# yum -y install freeradius freeradius-utils freeradius-mysql freeradius-sqlite
ステップ2:mariadb.serviceの後にradius.serviceを開始します。
次のコマンドを実行します。
[root@tac-mxwireless ~]# vim /etc/systemd/system/multi-user.target.wants/radiusd.service
[Unit]
セクションに 1 行追加します。
After=mariadb.service
[Unit] セクションは次のように設定されている必要があります。
[Unit]
Description=FreeRADIUS high performance RADIUS server.
After=syslog.target network.target
After=mariadb.service
ステップ 3:freeradius を開始し、起動時に開始できるようにします。
[root@tac-mxwireless ~]# systemctl start radiusd.service
[root@tac-mxwireless ~]# systemctl enable radiusd.service
ステップ 4:セキュリティのため firewalld を有効にします。
[root@tac-mxwireless ~]# systemctl enable firewalld
[root@tac-mxwireless ~]# systemctl start firewalld
[root@tac-mxwireless ~]# systemctl status firewalld
ステップ 5: http、https、および radius サービスを許可する永続的なルールをデフォルト ゾーンに追加します。
[root@tac-mxwireless ~]# firewall-cmd --get-services | egrep 'http|https|radius'
[root@tac-mxwireless ~]# firewall-cmd --add-service={http,https,radius} --permanent success
ステップ 6: 変更を有効にするため、firewalld をリロードします。
[root@tac-mxwireless ~]# firewall-cmd --reload
MariaDB を使用するように FreeRADIUS を設定するには、次の手順に従います。
ステップ1:RADIUSデータベーススキームをインポートして、RADIUSデータベースを入力します。
[root@tac-mxwireless ~]# mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql
ステップ2:/etc/raddb/mods-enabledの下にStructured Query Language(SQL)用のソフトリンクを作成します。
[root@tac-mxwireless ~]# ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/
ステップ 3:SQL モジュール /raddb/mods-available/sql を設定し、ご使用の環境に合わせてデータベース接続パラメータを変更します。
[root@tac-mxwireless ~]# vim /etc/raddb/mods-available/sql
SQLセクションは次のようになります。
sql { driver = "rlm_sql_mysql" dialect = "mysql" # Connection info: server = "localhost" port = 3306
login = "radius"
password = "radpass" # Database table configuration for everything except Oracle radius_db = "radius" } # Set to ‘yes’ to read radius clients from the database (‘nas’ table) # Clients will ONLY be read on server startup. read_clients = yes # Table to keep radius client info client_table = “nas”
ステップ 4:/etc/raddb/mods-enabled/sql のグループ権限を radiusd に変更します。
[root@tac-mxwireless ~]# chgrp -h radiusd /etc/raddb/mods-enabled/sql
ステップ 1:WLC の共有キーを設定するため、/etc/raddb/clients.conf を編集します。
[root@tac-mxwireless ~]# vim /etc/raddb/clients.conf
ステップ2:下部に、コントローラのIPアドレスと共有キーを追加します。
client{ secret = shortname = }
GUI:
ステップ1:WLCのGUIを開き、図に示すように[SECURITY] > [RADIUS] > [Authentication] > [New]に移動します。
ステップ2:図に示すように、RADIUSサーバ情報を入力します。
CLI:
> config radius auth add <index> <radius-ip-address> 1812 ascii <shared-key> > config radius auth disable <index> > config radius auth retransmit-timeout <index> <timeout-seconds> > config radius auth enable <index>
GUI:
ステップ1:WLCのGUIを開き、図に示すように[WLANs] > [Create New] > [Goas]に移動します。
ステップ2:サービスセット識別子(SSID)とプロファイルの名前を選択して、図に示すように[Apply]をクリックします。
CLI:
> config wlan create <id> <profile-name> <ssid-name>
ステップ 3:WLAN に RADIUS サーバを割り当てます。
CLI:
> config wlan radius_server auth add <wlan-id> <radius-index>
GUI:
[Security] > [AAA Servers]に移動し、目的のRADIUSサーバを選択し、図のように[Apply]をクリックします。
ステップ4:オプションでセッション時間を増やします。
CLI:
> config wlan session-timeout <wlan-id> <session-timeout-seconds>
GUI:
図に示すように、[Advanced] > [Enable Session Timeout]に移動し、[Apply]をクリックします。
ステップ 5:WLAN を有効にします.
CLI:
> config wlan enable <wlan-id>
GUI:
図に示すように、[General] > [Status] > [Tick Enabled] > [Apply]をクリックします。
デフォルトでは、クライアントは PEAP プロトコルを使用しますが、freeRadius ではその他の方式もサポートしています(このガイドでは説明しません)。
ステップ 1:ファイル /etc/raddb/users を編集します。
[root@tac-mxwireless ~]# nano /etc/raddb/users
ステップ2:ファイルの下部にユーザ情報を追加します。この例では、user1はユーザ名、Cisco123はパスワードです。
user1 Cleartext-Password := <Cisco123>
ステップ 3:FreeRadius を再起動します。
[root@tac-mxwireless ~]# systemctl restart radiusd.service
FreeRADIUSには、デフォルトの認証局(CA)証明書と、パス/etc/raddb/certsに保存されているデバイス証明書が付属しています。これらの証明書の名前は、ca.pemとserver.pemです。server.pemは、クライアントが認証プロセスを通過するときに受信する証明書です。EAP 認証に異なる証明書を割り当てる必要がある場合は、これらの証明書を削除し、新しい証明書を正確に同じ名前で同じパスに保存するだけで行えます。
802.1x 認証と PEAP/MS-CHAP(Microsoft の Challenge-Handshake Authentication Protocol)バージョン 2 を使用して SSID に接続するように、ラップトップ Windows マシンを設定します。
WindowsマシンでWLANプロファイルを作成するには、次の2つのオプションがあります。
freeRADIUS にインストールされているデフォルト証明書を使用する場合は、次の手順に従い、freeRADIUS サーバからエンド デバイスに EAP 証明書をインポートします。
ステップ 1:FreeRadius から証明書を取得します。
[root@tac-mxwireless ~]# cat /etc/raddb/certs/ca.pem -----BEGIN CERTIFICATE----- MIIE4TCCA8mgAwIBAgIJAKLmHn4eZLjBMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYD VQQGEwJGUjEPMA0GA1UECBMGUmFkaXVzMRIwEAYDVQQHEwlTb21ld2hlcmUxFTAT BgNVBAoTDEV4YW1wbGUgSW5jLjEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBs ZS5jb20xJjAkBgNVBAMTHUV4YW1wbGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4X DTE3MDMzMTExMTIxNloXDTE3MDUzMDExMTIxNlowgZMxCzAJBgNVBAYTAkZSMQ8w DQYDVQQIEwZSYWRpdXMxEjAQBgNVBAcTCVNvbWV3aGVyZTEVMBMGA1UEChMMRXhh bXBsZSBJbmMuMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTEmMCQG A1UEAxMdRXhhbXBsZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQC0vJ53NN7J9vhpKhcB3B0OXLpeQFWjqolQOB9F /8Lh2Hax2rzb9wxOi1MOyXR+kN22H7RNwUHET8VdyGUsA4OdZWuyzI8sKi5H42GU Eu6GDw1YJvhHn4rVC36OZU/Nbaxj0eR8ZG0JGse4ftQKLfckkvCOS5QGn4X1elRS oFe27HRF+pTDHd+nzbaDvhYWvFoe6iA27Od7AY/sDuo/tiIJWGdm9ocPz3+0IiFC ay6dtG55YQOHxKaswH7/HJkLsKWhS4YmXLgJXCeeJqooqr+TEwyCDEaFaiX835Jp gwNNZ7X5US0FcjuuOtpJJ3hfQ8K6uXjEWPOkDE0DAnqp4/n9AgMBAAGjggE0MIIB MDAdBgNVHQ4EFgQUysFNRZKpAlcFCEgwdOPVGV0waLEwgcgGA1UdIwSBwDCBvYAU ysFNRZKpAlcFCEgwdOPVGV0waLGhgZmkgZYwgZMxCzAJBgNVBAYTAkZSMQ8wDQYD VQQIEwZSYWRpdXMxEjAQBgNVBAcTCVNvbWV3aGVyZTEVMBMGA1UEChMMRXhhbXBs ZSBJbmMuMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTEmMCQGA1UE AxMdRXhhbXBsZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCCQCi5h5+HmS4wTAMBgNV HRMEBTADAQH/MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly93d3cuZXhhbXBsZS5j b20vZXhhbXBsZV9jYS5jcmwwDQYJKoZIhvcNAQEFBQADggEBACsPR2jiOFXnTsK4 1wnrrMylZZb12gDuqK+zKELox2mzlDMMK83tBsL8yjkv70KeZn821IzfTrTfvhzV mjX6HgaWfYyMjYYYSw/iEu2JsAtQdpvC3di10nGwVPHlzbozPdov8cZtCb21ynfY Z6cNjx8+aYQIcsRIyqA1IXMOBwIXo141TOmoODdgfX95lpoLwgktRLkvl7Y7owsz ChYDO++H7Iewsxx5pQfm56dA2cNrlTwWtMvViKyX7GlpwlbBOxgkLiFJ5+GFbfLh a0HBHZWhTKvffbr62mkbfjCUfJU4T3xgY9zFwiwT+BetCJgAGy8CT/qmnO+NJERO RUvDhfE= -----END CERTIFICATE-----
ステップ 2:前のステップでの出力をコピーし、テキスト ファイルに貼り付け、拡張子を .crt に変更します。
ステップ 3:ファイルをダブルクリックし、[Install Certificate...] を選択します。 図に示すように
ステップ4:図に示すように、証明書をTrusted Root Certification Authoritiesストアにインストールします。
ステップ1:図に示すように、[スタート]アイコンを右クリックし、[コントロールパネル]を選択します。
ステップ2:図に示すように、[Network and Internet] > [Network and Sharing Center] > [Set up a new connection or network]をクリックします。
ステップ3:[Manually connect to a wireless network]を選択し、図に示す[Nextas]をクリックします。
ステップ4:SSIDの名前とセキュリティタイプWPA2-Enterpriseの情報を入力し、図に示すように[Next]をクリックします。
ステップ5:図に示すようにWLANプロファイルの設定をカスタマイズするには、[Change connection settings]を選択します。
ステップ6:図に示すように、[セキュリティ]タブに移動し[設定]をクリックします。
ステップ 7:RADIUS サーバが有効になっているかいないか選択します。
検証する場合は [Verify the server's identity by validating the certificate] を有効にし、[Trusted Root Certification Authorities:] リストから freeRADIUS の自己署名証明書を選択します。
その後、[Configure]を選択し、[Automatically use my Windows logon name and password...]を無効にして、図のように[OK]をクリックします。
ステップ 8:ユーザ クレデンシャルを設定します。
[Security]タブに戻り、[Advanced settings] を選択し、[User authentication]として認証モードを指定して、ユーザを認証するためにfreeRADIUSで設定したクレデンシャルを保存します。
ここでは、設定が正常に機能しているかどうかを確認します。
特定のユーザの認証プロセスをモニタするため、次のコマンドを実行します。
> debug client <mac-add-client> > debug dot1x event enable > debug dot1x aaa enable
デバッグ クライアントの出力を簡単に読むための手段として、ワイヤレス デバッグ アナライザ ツールを使用します。
現在、この設定に関する特定のトラブルシューティング情報はありません。