什么是优点和缺点使用带证书的 EAP-TLS 身份验证进行 WiFi 客户端连接有什么好处?这比仅使用标准 WPA2 密码身份验证有什么优势?
如何为MikroTik路由器?
答案1
使用 EAP-TLS 证书来验证 WiFi 客户端:
优点:
- 细粒度访问控制:可以授予或限制访问权限证书与 WPA2 身份验证不同,WPA2 身份验证中所有用户都共享相同的 SSID 密码
- 身份验证:WPA2 密码验证仅证明连接的 WiFi 用户知道密码。证书可验证用户及其所连接的 AP 的身份
- 客户端与路由器之间的流量加密: 这 ”TLS“EAP-” 的一部分TLS“确保客户端和路由器之间的流量是加密的。这非常好......
缺点:
- 更高的行政负担:为每个 WiFi 用户创建证书并配置他们的访问权限比设置共享密码需要更多的努力。
- 不适合公共网络:酒店、机场、咖啡馆等无法为其大量、临时的 WiFi 用户配置基于证书的访问。
如何兼容性:
RouterOS 版本:程序是使用 ***RouterOS v6.45.1 至 v 6.46 *** 记录和开发的。截至 20191214,已测试并确认运行正常。
证书创建程序:已测试并确认可与 IOS 11-13.3 和 OSX Mojave 和 Catalina 客户端配合使用。如果使用 EAP-TLS 连接 Windows 或其他客户端,则可能有所不同。
警告:
这路由器操作系统本教程中提供的 CLI 命令是极好的模板。但是您必须审查并更改我的占位符和默认值包括证书导出密码在执行本教程中的命令之前。
配置过程概述:MikroTik 路由器
A)创建证书:(3)必须创建以下类型的证书:
服务器:为 EAP-TLS 连接的 MikroTik 端创建证书。这将由使用 EAP-TLS 身份验证的无线接口使用。
客户:创建证书每个客户端使用我们为 EAP-TLS 配置的无线接口连接到 SSID。
证书颁发机构:此证书用于创建信任链通过签署客户端和服务器证书来获取证书。
B)配置无线安全配置文件:在无线中指定证书安全配置文件Security Profile
. 我们将为使用 EAP-TLS 身份验证的无线接口和每个连接客户端创建一个无线。
C)配置无线接口Security Profile
:最后,我们将创建一个无线接口并为该接口指定无线。
第 1 部分:创建证书
创造加州(证书颁发机构)证书:
/certificate add name=CAF1Linux-template common-name=CAF1Linux country=GB days-valid=3650 key-size=4096 locality="Your Town" organization="Your Orgsanization" state=YourCounty trusted=yes unit="Technical Services" subject-alt-name="IP:1.2.3.4" key-usage=digital-signature,key-cert-sign,crl-sign;
/certificate sign CAF1Linux-template ca-crl-host="1.2.3.4" name=CAF1Linux
导出质子交换膜格式证书:
/certificate export-certificate CAF1Linux export-passphrase="REPLACE ME WITH YOUR OWN CERTIFICATE PASSPHRASE"
该命令/certificate export-certificate
在文件中创建 (2) 个新证书:
cert_export_CAF1Linux.crt
cert_export_CAF1Linux.key
导出PKCS12格式证书:
/certificate export-certificate CAF1Linux export-passphrase="REPLACE ME WITH YOUR OWN CERTIFICATE PASSPHRASE" type=pkcs12
附加type=pkcs12
到/certificate export-certificate
命令将在文件中产生以下内容”:
cert_export_CAF1Linux.p12
创造服务器证书:
这是 MikroTik 无线接口提供 EAP-TLS 身份验证所使用的证书。
笔记:您会在key-usage
“我另外说明”中评论ipsec-tunnel,ipsec-end-system
。我对 WiFi 和 VPN 访问使用相同的证书,这样如果服务器受到威胁或撤销用户的访问权限,就可以轻松地集中撤销这两项服务的证书。
/certificate add name=F1LinuxServer-template common-name="F1LinuxServer" country=GB days-valid=3650 key-size=4096 locality="Your City or Town" organization="Your Company" state=YourStateOrCounty trusted=yes unit="Technical Services" subject-alt-name="IP:1.2.3.4" key-usage=digital-signature,data-encipherment,key-agreement,ipsec-tunnel,ipsec-end-system,tls-server,tls-client;
/certificate sign F1LinuxServer-template ca=CAF1Linux name=F1LinuxServer
/certificate set F1LinuxServer trusted=yes
导出质子交换膜格式证书:
/certificate export-certificate F1LinuxServer export-passphrase="REPLACE ME WITH YOUR OWN CERTIFICATE PASSPHRASE"
导出PKCS12格式证书:Apple 客户端需要 pkcs12 证书,因此我们将以 pkcs12 格式导出所有客户端证书
/certificate export-certificate F1LinuxServer export-passphrase="REPLACE ME WITH YOUR OWN CERTIFICATE PASSPHRASE" type=pkcs12
重复上述过程,为创建唯一证书每个正在连接客户端。
创造客户证书:
下面显示的是 MacBook 的一个示例,但对于任何支持 EAP-TLS 身份验证的设备,该过程都是相同的。
/certificate add name=F1LinuxClientMacBook-template common-name=F1LinuxClientIpadPro country=GB days-valid=3650 key-size=4096 locality="Your City or Town" organization="Your Company" state=YourStateOrCounty trusted=yes unit="Technical Services" subject-alt-name="" key-usage=digital-signature,data-encipherment,key-agreement,ipsec-tunnel,ipsec-end-system,tls-client;
/certificate sign F1LinuxClientMacbook-template ca=CAF1Linux name=F1LinuxClientMacBook
/certificate set F1LinuxClientMacBook trusted=yes
导出质子交换膜格式证书:
/certificate export-certificate F1LinuxClientMacBook export-passphrase="REPLACE ME WITH A DIFFERENT PASSPHRASE FOR EACH CLIENT CERTIFICATE"
导出PKCS12格式证书:
/certificate export-certificate F1LinuxClientMacBook export-passphrase="REPLACE ME WITH A DIFFERENT PASSPHRASE FOR EACH CLIENT CERTIFICATE" type=pkcs12
第 2 部分:配置无线安全配置文件
使用 EAP-TLS 身份验证为每个连接的无线客户端创建证书后,您可以使用这些证书创建无线安全配置文件的。
与为所有连接客户端设置单个密码的标准 WPA2 密码加密不同,由于每个无线客户端都有一个唯一的证书,因此我们必须创建一个安全配置文件对于每个设备和无线接口本身。
服务器Security Profile
/interface wireless security-profiles add name="24083_F1_EAP_TLS_Server" mode=dynamic-keys authentication-types=wpa2-eap unicast-ciphers=aes-ccm group-ciphers=aes-ccm wpa-pre-shared-key="" wpa2-pre-shared-key="" supplicant-identity="" eap-methods=eap-tls tls-mode=verify-certificate tls-certificate=F1LinuxServer mschapv2-username="" mschapv2-password="" disable-pmkid=no static-algo-0=none static-key-0="" static-algo-1=none static-key-1="" static-algo-2=none static-key-2="" static-algo-3=none static-key-3="" static-transmit-key=key-0 static-sta-private-algo=none static-sta-private-key="" radius-mac-authentication=yes radius-mac-accounting=yes radius-eap-accounting=yes interim-update=0s radius-mac-format=XX:XX:XX:XX:XX:XX radius-mac-mode=as-username radius-called-format=mac:ssid radius-mac-caching=disabled group-key-update=5m management-protection=allowed management-protection-key=""
客户Security Profile
/interface wireless security-profiles add name="24083_F1_EAP_TLS_MacBook" mode=dynamic-keys authentication-types=wpa2-eap unicast-ciphers=aes-ccm group-ciphers=aes-ccm wpa-pre-shared-key="" wpa2-pre-shared-key="" supplicant-identity="" eap-methods=eap-tls tls-mode=verify-certificate tls-certificate=F1LinuxClientMacBook mschapv2-username="" mschapv2-password="" disable-pmkid=no static-algo-0=none static-key-0="" static-algo-1=none static-key-1="" static-algo-2=none static-key-2="" static-algo-3=none static-key-3="" static-transmit-key=key-0 static-sta-private-algo=none static-sta-private-key="" radius-mac-authentication=yes radius-mac-accounting=yes radius-eap-accounting=yes interim-update=0s radius-mac-format=XX:XX:XX:XX:XX:XX radius-mac-mode=as-username radius-called-format=mac:ssid radius-mac-caching=disabled group-key-update=5m management-protection=allowed management-protection-key=""
对每个使用 EAP-TLS 进行身份验证的设备重复上述命令,记得更改证书的名称。
第 3 部分:使用 EAP 身份验证配置虚拟 AP
最后配置无线接口以使用服务器的 EAP-TLS 安全配置文件:
/interface wireless name="wlan1010" mtu=1500 l2mtu=1600 mac-address=74:4D:28:XX:XX:XX arp=proxy-arp interface-type=virtual master-interface=wlan5ghz mode=ap-bridge ssid="240E83_F1_EAP" vlan-mode=no-tag vlan-id=1 wds-mode=disabled wds-default-bridge=none wds-ignore-ssid=no bridge-mode=enabled default-authentication=no default-forwarding=yes default-ap-tx-limit=0 default-client-tx-limit=0 hide-ssid=yes security-profile=24083_F1_EAP_TLS_Server
备份配置和证书:
现在你已经付出了所有这些努力,请确保备份配置。我使用命名约定进行备份RB模型编号-年月日-时间_ROS版本编号.rsc:
/export compact file=RB4011-20191214-1644_ROSv6.46.0.rsc
请注意*: 虽然您可以恢复配置到新的 MikroTik,这些备份惯于获取您的证书。打开 Web 浏览器并通过 WebGUI 连接到 MikroTik。转到“文件“菜单,您可以将每个菜单下载到您的笔记本电脑上,然后将它们放在安全且合理的地方进行长期存储。
客户端配置
要了解如何配置 IOS 和 OSX 客户端以使用 EAP-TLS 身份验证,请访问这里