本篇文章會以簡化設定去完成Aruba 2930F的各種AAA認證。
- 認證伺服器添加,以ClearPass為例。
- 管理員登入設備AAA認證
- 如何在ClearPass上區分管理員登入設備與用戶有線認證
- 有線AAA認證-MAC
- 有線AAA認證-802.1X
- 有線AAA認證-Downloadable User Roles
- 有線AAA認證-User-Based Tunneling
2930F版本: WC_16_11_0013
ClearPass版本: 6.10.8.188650
Mobility Gateway版本: AOS 8.10.0.8
會寫這篇文章,是因為關鍵設定總藏在滿滿LAB文件中,寫成文章放上來讓大家有個參照。
認證伺服器經常使用Radius Server,而Radius Server設定方式很簡單,在Network Access Server(NAS)上設定Radius Server的IP與約定的Key,在Radius Server上設定NAS IP與約定的Key。
本文NAS為Aruba 2930F Switch。
參考官方文件 2930F Security Guide
目錄
- 目錄
- 環境
- 認證伺服器添加,以ClearPass為例。
- 管理員登入設備AAA認證
- 如何在ClearPass上區分管理員登入設備與用戶有線認證
- 有線AAA認證-MAC
- 有線AAA認證-802.1X
- 有線AAA認證-UserRole
- 有線AAA認證-Downloadable User Roles
- 有線AAA認證-User-Based Tunneling
環境
設備 | IP Address |
Aruba 2930F | 192.168.255.200 |
Aruba ClearPass | 192.168.255.201 |
認證伺服器添加,以ClearPass為例。
radius-server host 172.16.3.37 key arubaaruba
aaa server-group radius "cppm" host 172.16.3.37
aaa server-group radius "mgmt_login" host 172.16.3.37
上述指令建立兩個Group,考量到管理員登入跟有線用戶驗證可能會有不同的認證伺服器。因為此例只有一個ClearPass,所以兩ServerGroup都用同一個ClearPass
管理員登入設備AAA認證
aaa authentication ssh login radius server-group "mgmt_login" local
aaa authentication ssh enable radius server-group "mgmt_login" local
aaa authentication login privilege-mode
鑑於現今網路設備是用SSH登入,因此這邊AAA認證針對SSH去設定,而HTTP跟Telnet都建議不要用。
這裡針對SSH登入,第一個去向ServerGroup「mgmt_logon」去驗證,如果ServerGroup「mgmt_logon」失聯(Timeout)才使用Local的帳密登入。
而Login成功在預設並不會直接進入Privilege Mode,需要在2930F輸入以下指令,並且在ClearPass回傳對應Radius屬性跟值,就能讓對應的帳號一Login就拿到Manage的權限。
aaa authentication login privilege-mode
輸入上方指令,在Login時,就會依照回傳Radius屬性與值,去決定該帳號是否該直接進入Privilege Mode還是User Mode。


在管理員登入時,一般預設使用PAP認證方法,因此ClearrPass的服務上也要使用PAP。

如何在ClearPass上區分管理員登入設備與用戶有線認證
用戶有線認證一定是接線至某個介面,而該介面有啟用驗證,然後發起整個驗證。至於管理員登入則是連至管理IP,像是放在Mgmt Port或是Mgmt VLAN IP,最常見是使用Mgmt VLAN IP。
因此,最大的差異在於,送驗證訊息給認證伺服器時是否帶有實體介面。
用戶有線認證有,管理員登入設備沒有。
因此,在CPPM就能以兩條服務,分別是NAS-Port存在與不存在,分別對應到用戶有線認證、管理員登入設備。

有線AAA認證-MAC
aaa authentication mac-based pap-radius server-group "cppm"
aaa port-access mac-based 3
aaa port-access mac-based addr-format multi-colon
MAC認證最重要的是MAC格式,也就是英文大寫、小寫、分隔符的差異。
此例為英文小寫,分隔符「:」的範例。
並且只針對第3介面啟用MAC認證。
在CPPM的服務上,身份驗證方法擺入MAC AUTH。我這邊驗證使用兩種,第一種是以MAC OUI去建立,第二種是以CPPM上的本地用戶。兩者MAC格式都是用英文小寫,分隔符「:」。




當設定好後,回到交換器上,可以使用查看目前用戶有線存取的情況。
show port-access clients
有線AAA認證-802.1X
一般筆電接有線網路是沒有啟用802.1X,需要在「服務」中啟用。之後在有線網路卡內容中,才能看到驗證頁籤。


有線端做802.1X,是專門給網域內電腦跟使用者使用,因為需要特別設定才能作用。一旦啟用之後,運作模式就跟無線802.1X相當。
以下範例是針對第5介面,啟用802.1X認證。
aaa authentication port-access eap-radius server-group "cppm"
aaa port-access authenticator 5
aaa port-access authenticator active
因為有線做MAC認證居多,而再啟用802.1X認證是附加在MAC認證已經做好之後。如果要讓設備先進行MAC認證,再進行802.1X認證,可以使用以下指令。
aaa port-access 5 auth-order mac-based authenticator
有線AAA認證-UserRole
認證通過,預設對於認證通過的全通(allowall),沒通過的全被拒絕(denyall)。
只有通與全不通的Role總數是不夠的靈活能面對權限控管需求,身為第一關卡的Switch,可以使用UserRole,UserRole是寫好的存取權限,而驗證通過時,認證伺服器會傳送屬性與值,NAS設備收到就會將該用戶的存取權限設定為該值。
例如AP走MAC認證,ClearPass回傳特定屬性其值為ArubaAP,Switch將同樣名為ArubaAP存取權限套用在該AP上。

2930F身上也要建好對應的User Role。
class ipv4 "all2"
10 match ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255
exit
policy user "allowall2"
10 class ipv4 "all2" action permit
exit
aaa authorization user-role name "ArubaAP"
policy "allowall2"
vlan-id 2
logoff-period 0
cached-reauth-period 60
device
poe-priority low
admin-edge-port
port-mode
exit
exit

有線AAA認證-Downloadable User Roles
Aruba Downloadable User Roles(DUR)適用於中、大型場域部署,透過由ClaerPass做集中化Role權限派發,可避免網管人員在調整使用者網路權限時,需要逐台登入的費工以及因疏忽而未改動的風險。
使用DUR,Aruba NAS會以Https連入ClearPass,並且使用具有DUR權限的帳密登入ClearPass,然後下載Role權限,並且派發給用戶端。
因此,除了FireWall需要打開對應的Port之外,最重要的是,Aruba NAS需要信任ClearPass,至於怎麽樣才能信任?
如果想用影片瞭解關於憑證與HTTPS的信任,可以看此Youtube影片。
總之,ClearPass上的HTTPS憑證上的憑證鏈都需要全部信任。Root CA憑證可能已經內置,中繼CA憑證與伺服器憑證都需要匯入NAS設備的信任清單內。
※CPPM上的HTTPS憑證有ECC、RSA,要需要留意CPPM的HTTPS是使用哪一種。預設使用ECC。
好在2930F可以透過一行指令信任CPPM的憑證,其實也就是簡化上段敘述步驟。(前提是已經加入ClearPass為認證伺服器)
radius-server host 192.168.255.201 clearpass
crypto ca-download usage clearpass force

HTTPS憑證能被信任之後,後續操作難度的就大幅減少。
aaa authorization user-role enable download
radius-server cppm identity dur key arubaaruba
在ClearPass加入名為「dur」管理員用戶帳密

NAS設備從ClearPass下載Role權限配置,但是,Aruba NAS有Mobility Gateway(Controller)、AOS Switch、AOS CX Switch,每種設備OS所用的Role語法都有不同,因此,我建議以標準級別的強制配置文件去設定,進階級別要是語句語法打錯就會出問題,這適合高手境界使用。
角色配置模式建議使用「標準」。

關於Role權限,這邊都會以類(Class)做初步配對,類只是框下特定IP或是其他,至於permit還是deny是再交由策略(Policy)決定的。
這裡以名為「all」的類(class),並且符合所有IP。
然後以名為「allowall」的策略(policy),並且Permit名為「all」的類。



透過這樣的概念,我們能組合出三種OS都能適用的類與策略,在服務中使用「標準」配置模式,也可避免對三種OS不同語法不熟而在「進階」配置模式部署錯誤的風險。
關於強制配置文件名稱,我建議以「DUR_<OS Type>_<Role Name>」去取名,並且使用將同一OS設備做成設備組套用進來。
針對認證來說,需要在第一個關卡驗證。如果是接至AP,那AP會做第一把關,因此建議針對AP DUR使用端口模式(Port Mode)。
如果接AP介面不用端口模式,走Bridge Mode的SSID,無線使用者還會被有線再驗證一次。
一般來說,有線用戶不設定端口模式,這樣從這一介面來的設備都會被驗證,才能避免後面再被私接其他設備。



有線AAA認證-User-Based Tunneling
典型的AAA認證後,流量基本上是當地模式。而Aruba 2930F(ArubaOS-Switch),可以像個AP把通過認證後的用戶流量導回MobilityController上。
流量回到Controller的優點是: 簡易部署以及集中控管。
蠻多場域會把有線跟無線網段拆開,這使得UBT一旦運用上,就會讓有線搭上無線控制器,有時候就不會想到這點。
在Switch上將MobilityController設定完Tunneled-node-server之後,一臺邏輯上的Switch將會佔用MobilityController上的License: AP、PEF各一個。
假設控制器IP是192.168.255.202
tunneled-node-server
controller-ip 192.168.255.202
mode role-based reserved-vlan 4001
exit
reserved-vlan的功能是Switch用來包裝有線用戶的VLAN給MobilityController,Controller將預設該有線用戶為該VLAN。例如本文使用4001,UBT建成之後,就會通Controller的VLAN4001。
一旦下了reserved-vlan,Switch設定中就會自動生成該VLAN。

接著要如何區分什麼UserRole會走本地?還是走Tunnel?
全看UserRole內有沒有「tunneled-node-server-redirect secondary-role
<user role>」
因此,除了Local UserRole也可以使用DUR,下方是UserRole的範例。
class ipv4 "all"
10 match ip any any
exit
policy user "allowall"
10 class ipv4 "all" action permit
exit
aaa authorization user-role name "ubt-guest"
policy "allowall"
tunneled-node-server-redirect secondary-role "allowall"
device
admin-edge-port
exit
exit
有線用戶有很多種類,只能設定一種VLAN是不足夠的。
在tunneled-node-server-redirect secondary-role
中,我們指定使用Controller本地的UserRole「allowall」,如果要將其VLAN不使用reserved-vlan,那需要在Controller的Role指定其VLAN。

Show tunneled-node-mgr tunneled-users
