Ssl

使用證書的 MikroTik EAP-TLS WiFi 配置

  • April 26, 2021

將 EAP-TLS 身份驗證與 WiFi 客戶端連接證書一起使用有哪些優點和***缺點?***這與僅使用標準 WPA2 密碼身份驗證相比有何優勢?

如何為MikroTik路由器配置 EAP-TLS 身份驗證?

使用 EAP-TLS 證書對 WiFi 客戶端進行身份驗證:

優點:

  • 精細訪問控制:可以基於證書授予和限制訪問權限,這與所有使用者共享相同 SSID 密碼的 WPA2 身份驗證不同
  • 身份驗證:WPA2 密碼驗證僅證明連接的 WiFi 使用者知道密碼。證書驗證使用者和他們連接的 AP 的身份
  • 客戶端和路由器之間的流量加密: “EAP- TLS ”的“ TLS ”部分確保客戶端和路由器之間的流量被加密。這是相當不錯的…

缺點:

  • 更高的管理負擔:為每個 WiFi 使用者創建證書並配置他們的訪問權限比設置共享密碼需要更多的努力。
  • 不適合公共網路:酒店、機場、咖啡館等無法為其龐大的瞬時 WiFi 使用者群配置基於證書的訪問。

如何兼容性:

  • RouterOS 版本:使用 ***RouterOS v6.45.1 到 v 6.46 *** 記錄和開發過程。自 20191214 起經過測試並已知可正常工作。
  • 證書創建程序:經過測試並已知可與 IOS 11-13.3 和 OSX Mojave 和 Catalina 客戶端一起使用。如果使用 EAP-TLS 連接 Windows 或其他客戶端,則為 YMMV。

警告:

本教程中提供的RouterOS CLI 命令是出色的模板。但是在執行本教程中的命令之前,您必須檢查並更改我的佔位符和預設值,包括證書導出密碼。

配置過程概述:MikroTik 路由器

A)創建證書:(3)必須創建證書類型:

  • 伺服器:為 EAP-TLS 連接的 MikroTik 端創建證書。這將由使用 EAP-TLS 身份驗證的無線介面使用。
  • 客戶端:為使用我們為 EAP-TLS 配置的無線介面連接到 SSID的每個客戶端創建證書。
  • 證書頒發機構:此證書用於通過簽署客戶端和伺服器證書來為證書創建信任鏈。

B)配置無線安全配置文件:在無線安全配置文件中指定證書。我們將為Security Profile使用 EAP-TLS 身份驗證的無線介面和每個連接的客戶端創建無線。

C)配置無線介面:最後,我們將創建一個無線介面,Security Profile為介面指定無線。

第 1 部分:創建證書

創建CA(證書頒發機構)證書:

/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

導出PEM格式證書:

/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

導出PEM格式證書:

/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

導出PEM格式證書:

/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 AUTH 配置虛擬 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

備份配置和證書:

現在您已經完成了所有這些工作,請確保備份配置。我對備份RBmodelNumber-YearMonthDay-Time_ROSversionNumber.rsc使用命名約定:

/export compact file=RB4011-20191214-1644_ROSv6.46.0.rsc

請注意*:雖然您可以將配置恢復到新的 MikroTik,但這些備份不會擷取您的證書。打開 Web 瀏覽器並通過 WebGUI 連接到 MikroTik。轉到“文件”菜單,您可以將它們中的每一個下載到您的筆記型電腦上,然後將它們放在安全且合理的地方以進行長期儲存。

客戶端配置

要了解如何配置 IOS 和 OSX 客戶端以使用 EAP-TLS 身份驗證,請轉到此處

引用自:https://serverfault.com/questions/986375