AAA是一種後臺服務,是一種對網絡用戶進行控制的安全措施。
Authentication 認證 (你是誰)
認證強度跟元素有關,用於認證的元素越多越安全,元素包括密碼,指紋,證書,視網膜等等
Authorization 授權(確定你能做什麼)
授權用戶能夠使用的命令
授權用戶能夠訪問的資源
授權用戶能夠獲得的信息
Accounting 審計(確定你做了什麼)
兩類審計:
1、時間審計
2、命令審計
爲什麼要用AAA?
通過AAA技術,我們能對接入網絡的用戶進行控制,可以控制哪些用戶能接入網絡,能得到什麼樣的權限,還能記錄用戶上來之後做了啥事。
1、跟網絡設備數量有關,也就是跟NAS的數量有關
2、跟用戶數量有關
3、由於用戶的頻繁變動
AAA的基本拓撲:
NAS–網絡訪問服務器,或者叫網絡接入服務器。其實就是你網絡的邊緣網關,外部節點需要通過這臺路由器來訪問你的網絡。需要在這臺路由器上對接入的用戶進行控制。
三大類的需要認證的流量類型client—–NAS(網絡訪問服務器)
也就是三種到達NAS的流量
1、登入nas telnet/ssh/http/https(也叫網管流量)
2、拔入nas pptp/l2tp/pppoe/ipsec ***…..
3、穿越nas auth-proxy(ios)認證代理/cut-through(pix)
AAA安全服務器的選擇:
1、本地安全數據庫
2、遠程安全服務器,也就是AAA服務器
本地安全數據庫:
本地安全數據庫運行在NAS上爲一小部分用戶提供服務,實現起來容易,但是功能不夠強大。
特點:
1、在小型網絡中使用
2、在CISCO的路由器上存儲用戶名和密碼
3、通過CISCO路由器上的本地安全數據庫進行用戶驗證
4、不需要外部的數據庫服務器
AAAprotocols:RADIUS和TACACS+
通常在網絡中實現AAA,都是通過部署一臺單獨的AAA服務器來實現,而AAA服務器是需要跟NAS通信的,它們之間通信的協議有兩種:RADIUS和TACACS+
TACACS+ 基於TCP cisco標準 端口號49 信息是加密後傳送的
RADIUS 基於UDP 國際標準 新端口號1812(authen/author) 1813(account)
舊端口號1645(authen/author) 1646(account)
RADIUS的信息是明文傳送的,只有密碼是加密傳送的。
注意:RADIUS各廠家是不一樣的,有不同的av pair
RADIUS:
有四種消息類型:
access-request 訪問請求,客戶發給server
access-challenge 挑戰信息,查詢AAA服務器上的配置
access-accept 允許訪問,查到有這個配置纔會允許
access-reject 拒絕訪問
ACS—CISCO的訪問控制服務器,也就是AAA服務器。只需要在一臺服務器上裝上CISCO的ACS軟件,就得到了一臺AAA服務器。這臺服務器可以配置爲使用tacacs+和NAS通信,也可以配置爲使用radius協議與NAS通信。
以下是在路由器上配置三A的步驟:
先做準備工作:
1、啓用AAA
aaa new-model 注意:啓用三A後,路由器上不符合三A的命令會被去掉
2、做保護
aaa authentication login NOACS none 保護-不認證
aaa authorization exec NOACS none 保護-不授權
line console 0 本地線路的保護
login authentication NOACS 設定對CON口不進行認證,保留最後一個進入的方法,以防萬一
authorization exec NOACS 建議配置,但最好配置上
line aux 0 AUX的保護
login authentication NOACS
authorization exec NOACS
3、client指server的地址
NAS(config)#tacacs-server host 150.100.1.100 key cisco 密碼後面千萬不要打上空格,敏感的
還要在AAA服務器上增加一個client,並指明client的地址,最好起個環回口讓服務器指,在服務器的CMD下加一個路由指向這個環回口。如果server指的是環回口,在client上還要指定一下更新源。
ip tacacs source-interface lo0
4、測試
test aaa group tacacs+ testR5(用戶名) cisco(口令) new-code 本命令純屬測試,沒別的作用,只是看AAA服務器起沒起作用,new-code是在新的IOS中才要用到的。
如果出現user successfully authenticated表示沒問題
一、認證:
1、開啓對login的認證
aaa authentication login FOR_VTY none 不進行認證直接進入
aaa authentication login FOR_VTY line 注意line意思是用line下的密碼進行認證
aaa authentication login FOR_VTY local 啓用本地數據庫,要自定義username和password
aaa authentication login FOR_VTY local-case 用戶名大小寫敏感
aaa authentication login FOR_VTY enable 使用enable密碼進行驗證
aaa authentication login FOR_VTY group tacacs+ 使用三A服務器進行驗證
aaa authentication login FOR_VTY local line none 如果第一種方法沒有的話,就用第二種進行認證,如果第二種也沒有,就不進行認證直接進入了,因爲設了none
需要在線程下調用:
line vty 0 4
login authenticate FOR_VTY
2、開啓對enable的認證
aaa authentication enable default group tacacs+ 在進入enable模式的時候會提示輸入用戶名和密碼,因爲tacacs+服務器上定義了用戶名和密碼。
更多內容請看原文,原文地址:http://www.laogebo.com/archives/659.html