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ừ 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 +.
Ghi chú: Các sản phẩm khác của Cisco hỗ trợ TACACS +, chẳng hạn như giải pháp Đăng ký truy cập của Cisco. Tuy nhiên, những giải pháp đó hướng đến các nhà cung cấp dịch vụ và không phù hợp trong cuốn sách này.
TACACS + sử dụng cổng Giao thức điều khiển truyền (TCP) cổng số 49 để giao tiếp giữa máy khách TACACS + và máy chủ TACACS +. Một ví dụ là một thiết bị chuyển mạch của Cisco xác thực và cho phép truy cập quản trị vào bộ chuyển đổi IOS CLI. Bộ chuyển mạch là máy khách TACACS + và Cisco ISE là máy chủ TACACS +, như được minh họa trong Hình 1-3.
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à kiểm toán 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à kiểm toán. 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.
Thông điệp xác thực trong TACACS+
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ủ:
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 TRẢ LỜI trong khi xác thực. Máy chủ gửi một thông điệp TRẢ LỜI 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 thông điệp TIẾP TỤC.
Sau khi máy chủ nhận được tên người dùng, nó sẽ gửi một thông điệp TRẢ LỜI 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 thông điệp TIẾP TỤC. Máy chủ sẽ gửi một thông điệp TRẢ LỜI 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:
Thông điệp cấp quyền và kiểm toán trong TACACS+
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:
Giống như thông điệp ủy quyền, chỉ có hai loại thông điệp được sử dụng trong việc kiểm toán(Accounting):
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 +.
Ghi chú: Các sản phẩm khác của Cisco hỗ trợ TACACS +, chẳng hạn như giải pháp Đăng ký truy cập của Cisco. Tuy nhiên, những giải pháp đó hướng đến các nhà cung cấp dịch vụ và không phù hợp trong cuốn sách này.
TACACS + sử dụng cổng Giao thức điều khiển truyền (TCP) cổng số 49 để giao tiếp giữa máy khách TACACS + và máy chủ TACACS +. Một ví dụ là một thiết bị chuyển mạch của Cisco xác thực và cho phép truy cập quản trị vào bộ chuyển đổi IOS CLI. Bộ chuyển mạch là máy khách TACACS + và Cisco ISE là máy chủ TACACS +, như được minh họa trong Hình 1-3.
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à kiểm toán 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à kiểm toán. 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.
Thông điệp xác thực trong TACACS+
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ủ:
- START: Gói này được sử dụng để bắt đầu yêu cầu xác thực giữa máy khách AAA và máy chủ AAA.
- RESPONSE: Thông điệp được gửi từ máy chủ AAA đến máy khách AAA.
- CONTINUE: Thông điệp từ máy khách AAA được sử dụng để đáp ứng yêu cầu của máy chủ AAA về tên người dùng và mật khẩu.
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 TRẢ LỜI trong khi xác thực. Máy chủ gửi một thông điệp TRẢ LỜI 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 thông điệp TIẾP TỤC.
Sau khi máy chủ nhận được tên người dùng, nó sẽ gửi một thông điệp TRẢ LỜI 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 thông điệp TIẾP TỤC. Máy chủ sẽ gửi một thông điệp TRẢ LỜI 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:
- CHẤP NHẬN: Xác thực người dùng đã thành công và quy trình ủy quyền có thể bắt đầu nếu máy khách AAA được định cấu hình cho ủy quyền.
- TỪ CHỐI: Xác thực người dùng đã thất bại. Đăng nhập sẽ bị từ chối hoặc người dùng cuối sẽ được nhắc thử lại, tùy thuộc vào cấu hình của máy khách AAA.
- LỖI: Đã xảy ra lỗi tại một số điểm trong quá trình xác thực. Máy khách AAA thường sẽ cố gắng xác thực lại người dùng hoặc thử một phương thức xác thực người dùng khác.
- TIẾP TỤC: Người dùng được nhắc để biết thêm thông tin. Điều này không được nhầm lẫn với thông báo TIẾP TỤC được gửi từ máy khách AAA đến máy chủ AAA. Giá trị này được gửi từ máy chủ AAA trong thông báo REPLY, cho biết cần thêm thông tin.
Thông điệp cấp quyền và kiểm toán trong TACACS+
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:
- YÊU CẦU: Thông báo này được gửi từ máy khách AAA đến máy chủ AAA để yêu cầu ủy quyền. Việc ủy quyền có thể liên quan đến quyền truy cập vào trình shell CLI hoặc có thể ủy quyền cho một lệnh cụ thể. Các giao thức giao tiếp không phân biệt đối xử. Các chức năng được yêu cầu được gọi là một dịch vụ. Ví dụ: dịch vụ sẽ truy cập giao diện CLI vào thiết bị để chạy Cisco IOS. Mỗi dịch vụ có thể được giao tiếp với các cặp thuộc tính-giá trị (AV).
- HỒI ĐÁP (RESPONSE): Thông báo này được gửi từ máy chủ AAA trở lại máy khách AAA với kết quả của yêu cầu ủy quyền, bao gồm các chi tiết cụ thể, chẳng hạn như cấp đặc quyền được gán cho người dùng cuối. Thông báo hồi đáp (RESPONSE) có thể chứa một trong năm câu trả lời:
- FAIL: Cho biết người dùng nên bị từ chối truy cập vào dịch vụ được yêu cầu.
- PASS_ADD: Cho biết ủy quyền thành công và thông tin có trong thông báo RESPONSE nên được sử dụng cùng với thông tin được yêu cầu. Nếu không có đối số bổ sung nào được trả về bởi máy chủ AAA trong thông báo RESPONSE, thì yêu cầu chỉ đơn giản là được ủy quyền.
- PASS_REPL: Cho biết ủy quyền thành công nhưng máy chủ đã chọn bỏ qua YÊU CẦU và sẽ thay thế nó bằng thông tin được gửi lại trong RESPONSE.
- FOLLOW: Cho biết rằng máy chủ AAA muốn máy khách AAA gửi yêu cầu ủy quyền đến một máy chủ khác. Thông tin máy chủ mới sẽ được liệt kê trong gói RESPONSE. Máy khách AAA có thể sử dụng máy chủ mới đó hoặc coi phản hồi là FAIL.
- ERROR: Cho biết sự cố xảy ra trên máy chủ AAA và cần khắc phục sự cố thêm.
Giống như thông điệp ủy quyền, chỉ có hai loại thông điệp được sử dụng trong việc kiểm toán(Accounting):
- REQUEST: Thông báo này được gửi từ máy khách AAA đến máy chủ AAA để cho biết thông báo về hoạt động. Một trong ba giá trị có thể được bao gồm trong YÊU CẦU:
- START: Chỉ ra rằng một dịch vụ đã bắt đầu.
- STOP: Chỉ ra rằng dịch vụ đã kết thúc.
- CONTINUE: Cho biết một dịch vụ đã bắt đầu và đang được tiến hành nhưng có thông tin cập nhật để cung cấp liên quan đến dịch vụ; đôi khi cũng được gọi là bản ghi Watchdog hoặc CẬP NHẬT.
- RESPONSE: Thông báo này được gửi từ máy chủ AAA trở lại máy khách AAA với kết quả YÊU CẦU kiểm toán và có thể chứa một trong ba câu trả lời:
- SUCCESS: Cho biết rằng máy chủ nhận được bản ghi từ máy khách.
- ERROR: Chỉ ra lỗi trên máy chủ và bản ghi không được lưu trữ.
- FOLLOW: Cho biết rằng máy chủ muốn máy khách gửi bản ghi đến một máy chủ AAA khác và bao gồm thông tin máy chủ đó trong RESPONSE.