Như đã giới thiệu trước đây TACACS là một bộ giao thức được tạo và nhằm mục đích kiểm soát truy cập vào các thiết bị đầu cuối máy tính lớn và Unix. Cisco đã tạo ra một giao thức mới gọi là TACACS+, được phát hành như một tiêu chuẩn mở vào đầu những năm 1990. TACACS+ có thể được lấy tên từ TACACS, nhưng nó là một giao thức hoàn toàn riêng biệt và không tương thích ngược được thiết kế cho AAA. Mặc dù TACACS+ chủ yếu được sử dụng cho quản trị thiết bị AAA, nhưng có thể sử dụng nó cho một số loại truy cập mạng AAA.
TACACS+ trở thành giao thức được hỗ trợ với Cisco ISE trong phiên bản
2.0. Trước ISE 2.0, Máy chủ kiểm soát truy cập an toàn của Cisco (ACS) là sản phẩm máy chủ AAA chính của Cisco dành cho các doanh nghiệp cần sử dụng TACACS+ cho quản trị thiết bị AAA. Tuy nhiên, bắt đầu với ISE 2.0, ISE đã thay thế ACS làm máy chủ AAA hàng đầu của doanh nghiệp Cisco cho cả RADIUS và TACACS+.
Hình 2 – 3 Giao tiếp máy khách – máy chủ TACACS+
Một trong những điểm khác biệt chính của TACACS+ là khả năng phân tách xác thực, ủy quyền và tính cước dưới dạng các chức năng riêng biệt và độc lập. Đây là lý do tại sao TACACS+ thường được sử dụng để quản trị thiết bị, mặc dù RADIUS vẫn chắc chắn có khả năng cung cấp quản trị thiết bị AAA.
Quản trị thiết bị có thể rất tương tác về bản chất, với nhu cầu xác thực một lần nhưng ủy quyền nhiều lần trong một phiên quản trị duy nhất trong dòng lệnh của thiết bị. Một bộ định tuyến hoặc bộ chuyển mạch có thể cần phải ủy quyền cho hoạt động của người dùng trên mỗi lệnh căn bản. TACACS+ được thiết kế để đáp
ứng nhu cầu ủy quyền đó. Đúng như tên gọi, TACACS+ được thiết kế để quản trị thiết bị AAA để xác thực và ủy quyền cho người dùng vào các máy tính lớn và Unix và các thiết bị đầu cuối hoặc bảng điều khiển khác.
Giao tiếp TACACS+ giữa máy khách TACACS+ và máy chủ TACACS+ sử dụng các loại thông báo khác nhau tùy thuộc vào chức năng. Nói cách khác, các thông điệp khác nhau có thể được sử dụng để xác thực hơn là được sử dụng để ủy quyền và tính cước. Một điểm rất thú vị khác cần biết là giao tiếp TACACS+ sẽ mã hóa toàn bộ gói.
Khi sử dụng TACACS+ để xác thực, chỉ có ba loại gói được trao đổi giữa máy khách (thiết bị mạng) và máy chủ:
Các đoạn dưới đây mô tả quá trình dòng xác thực và các thông điệp được sử
dụng:
Khi một yêu cầu xác thực được gửi từ máy khách đến máy chủ, nó sẽ bắt
đầu bằng thông báo START từ thiết bị mạng (máy khách AAA) đến máy chủ AAA. Thông báo START cho máy chủ biết rằng sẽ có yêu cầu xác thực đang đến. Tất cả các thông điệp từ máy chủ đến thiết bị mạng sẽ được REPLY (trả lời) trong khi xác thực. Máy chủ gửi một tin nhắn REPLY yêu cầu khách hàng lấy lại tên người dùng. Tên người dùng được gửi đến máy chủ trong một tin nhắn CONINUE.
Sau khi máy chủ nhận được tên người dùng, nó sẽ gửi một tin nhắn REPLY cho khách hàng yêu cầu mật khẩu, được gửi lại cho máy chủ trong một tin nhắn CONTINUE. Máy chủ sẽ gửi một tin nhắn REPLY cuối cùng với trạng thái đạt hoặc không đạt yêu cầu xác thực.
Các giá trị có thể được trả về từ máy chủ AAA cho máy khách AAA trong thông báo REPLY cuối cùng như sau:
Hình 2 – 4 minh họa các thông báo xác thực giữa máy khách và máy chủ
Khi sử dụng TACACS+ để ủy quyền, chỉ có hai thông báo được sử dụng giữa máy khách AAA và máy chủ AAA:
Một chức năng chính của AAA không thể bỏ qua là tính cước. Điều quan trọng đối với an ninh là có một bản ghi lại đầy đủ về những gì đã xảy ra. Ngoài yêu cầu ủy quyền được gửi đến máy chủ AAA, cần bản ghi lại tính cước về các hoạt động của người dùng.
Giống như tin nhắn ủy quyền, chỉ có hai loại tin nhắn được sử dụng trong tính cước:
Hình 2 – 5 minh họa người dùng cuối được ủy quyền truy cập CLI exec của IOS. Hình này là sự tiếp nối trực tiếp của chuỗi xác thực được hiển thị trong Hình 2 – 4. Trong hình minh họa này, người dùng cuối được ủy quyền để thực thi IOS và được phép chạy lệnh show run.
Hình 2 – 5 Sự lưu thông trong giao tiếp của giao thức TACACS+ ủy quyền và tính cước