4. Giao thức AAA và dịch vụ hỗ trợ của Cisco ASA
4.2. Terminal Access Controller Access-Control System (Tacacs+)
TACACS + là một giao thức bảo mật AAA cung cấp xác thực tập trung của người dùng đang cố gắng để truy cập vào NAS, giao thức TACACS + hỗ trợ cho AAA một cách linh hoạt hơn. TACACS + sử dụng cổng 49 và chạy trên nền UDP hoặc TCP. Cisco ASA sử dụng giao thức TCP để giao tiếp TACACS+ .
4.2. Định dạng TACACS và các giá trị tiêu đề
Các ID TACACS định nghĩa một tiêu đề 12-byte xuất hiện trong tất cả các gói TACACS. tiêu đề này luôn luôn được gửi ở định dạng văn bản rõ ràng.
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Major_ver sion Minor_ver sion
Type Seq_no Flags
Session_id Length Hình 3-4: Định dạng gói tin
Major_version Đây là số phiên bản chính của TACACS. giá trị xuất hiện trong tiêu đề như TAC_PLUS_MAJOR_VER = 0xc.
Minor_version:cung cấp số serial cho giao thức TACACS. Nó cũng cung cấp cho khả năng tương thích của giao thức. Một giá trị mặc định, cũng như phiên bản một, được định nghĩa cho một số lệnh. Những giá trị này xuất hiện trong tiêu đề TACACS như TAC_PLUS_MINOR_VER_DEFAULT = 0x0
TAC_PLUS_MINOR_VER_ONE = 0x1.
Nếu một máy chủ AAA chạy TACACS nhận được một gói TACACS xác định một phiên bản nhỏ hơn khác phiên bản hiện tại, nó sẽ gửi một trạng thái lỗi trở lại và yêu cầu các minor_version với phiên bản gần nhất được hỗ trợ.
Loại này phân biệt các loại gói tin. Chỉ có một số loại là hợp pháp. Các loại gói hợp pháp như sau:
- TAC_PLUS_AUTHEN = 0x01 đây là loại gói nghĩa xác thực. - TAC_PLUS_AUTHOR-0x02 đây là loại gói tin mà nghĩa ủy quyền.
- TAC_PLUS_ACCT = 0x03 đây là loại gói tin mà nghĩa kế toán.
Seq_no : xác định số thứ tự cho các phiên làm việc. TACACS có thể khởi tạo một hoặc nhiều phiên TACACS cho mỗi khách hàng AAA.
Flags:có 2 cờ
+TAC_PLUS_UNENCRYPTED_FLAG :xác định mã hóa củagói TACACS. Giá trị 1 là chưa mã hóa, giá trị 0 là gói tin đã được mã hóa.
+TAC_PLUS_SINGLE_CONNECT_FLAG:Xác định ghép hoặc không ghép các phiên tacacs trên một kết nối tcp.
Session_id Đây là một giá trị ngẫu nhiên đó chỉ định các phiên hiện tại giữa khách hàng và máy chủ AAA chạy TACACS. Giá trị này vẫn giữ nguyên trong suốt thời gian của phiên làm việc
Lengh: tổng chiều dài của gói TACACS, không bao gồm tiêu đề 12-byte.
Khái niệm xác thực TACACS + cũng tương tự như RADIUS. NAS sẽ gửi một yêu cầu chứng thực với TACACS + server .Các máy chủ cuối cùng sẽ gửi bất kỳ thông điệp sau đây trở về NAS:
ACCEPT - Người dùng đã được xác thực thành công và các dịch vụ yêu cầu sẽ được cho phép. Nếu như cơ chế cấp quyền được yêu cầu,tiến trình cấp quyền sẽ được thực thi.
REJECT - xác thực người dùng đã bị từ chối. Người sử dụng có thể được nhắc để thử lại chứng thực tùy thuộc vào TACACS + server và NAS.
ERROR - Một số lỗi xảy ra trong quá trình xác thực. Nguyên nhân gây ra lỗi có thể ở vấn đề kết nối hoặc vi phạm cơ chế bảo mật.
CONTINUE - Người dùng được nhắc nhở để cung cấp thông tin xác thực hơn. Sau khi quá trình xác thực đã hoàn tất, nếu uỷ quyền được yêu cầu TACACS + server với sẽ xử lý giai đoạn kế tiếp nếu xác thực thành công.
4.3. Rsa SecurID (SID)
RSA SecurID (SID) là một giải pháp bảo mật được cung cấp bởi công ty bảo mật RSA. RSA ACE/Server là thành phần quản trị của giải pháp SID. Nó cung cấp mật khẩu trong thời gian nhất định. Cisco ASA hỗ trợ xác thực SDI mà chỉ dành cho xác thực người dùng VPN. Tuy nhiên nếu SDI sử dụng một máy chủ xác thực, thì khi đó giống như dùng CiscoSecure ACS dành cho Windown NT, máy chủ đó có thể sử dụng xác thực bên ngoài đối với dịch vụ SID và proxy để đảm bảo các yêu cầu xác thực đối với tất cả các dịch được hỗ trợ bởi Cisco ASA. Cisco ASA và SDI sử dụng UDP cổng 5500 cho quá trình truyền thông.Giải pháp SDI cung cấp mật khẩu cho người dùng mỗi 60 giây theo cơ chế vòng tròn. Các mật khẩu đó được tạo ra khi người dùng nhập
vào số pin và được đồng bộ hóa với máy chủ để cung cấp cơ chế xác thực. Máy chủ SDI có thể được cấu hình để yêu cầu người dùng nhập vào số bin mới khi đang xác thực.
Cơ chế xác thực đó được thể hiện ở hình 3-5:
Hình 3-5: Cơ chế xác
thực
1.Người dùng thực hiện kết nối với thiết bị bảo mật Cisco ASA. 2.Cisco ASA bắt đầu thực hiện cơ chế xác thực.
3.Người sử dụng cung cấp thông tin Username and Password. 4.Cisco ASA chuyển tiếp các yêu cầu xác thực đến máy chủ SDI.
5.Nếu như mã bin mới được chấp thuận,máy chủ SDI xác thực người dung và yêu cầu một Pin mới để sử dụng khi tới một phiên xác thực người dung kế tiếp.
6.Cisco ASA yêu cầu người dùng cấp một Pin mới. 7.Người dùng nhập vào Pin mới.
8.Cisco ASA gửi thông tin Pin mới đến máy chủ SDI.
4.4. Win NT
Cisco ASA hỗ trợ Windown NT xác thực các kết nối truy cập từ xa VPN.Nó giao tiếp với máy chủ Windown NT sử dụng TCP cổng 139.Giống như SDI,có thể sử dụng một máy chủ Radius/Tacacs+,và cũng giống như CiscoSecure ACS có thể ủy quyền xác thực đến Windown NT cho các dịch vụ được hỗ trợ bởi Cisco ASA.
4.5. Kerberos
Là một giao thức được xây dựng để nâng cao độ an toàn khi xác thực trong môi trường mạng phân tán.Cisco ASA có thể xác thực người dùng VPN thông qua các thư mục Windown bên ngoài,mà sử dụng Kerberos để xác thực.Có thể sử dụng hệ điều hành Unix hoặc Linux để chạy máy chủ xác thực Kerberos.Được hỗ trợ để xác thực các máy khách VPN.Cisco ASA giao tiếp với thư mục tích cực và,hoặc máy chủ Kerberos sử dụng UDP cổng 88.
4.6. Lightweight Directory Access Protocol (LDAP)
Cisco ASA hỗ trợ giao thức LDAP ủy quyền kết nối truy cập từ xa VPN.Giao thức xác thực LDAP được đề rõ trong RFC 3377 và RFC 3771.LDAP cung cấp các dịch vụ ủy quyền khi truy cập đến cơ sở dữ liệu của người dùng với thông tin cây thư
21 1 4 3 6 5 8 7
mục.Cisco ASA giao tiếp với máy chủ LDAP thông qua TCP cổng 389. LDAP chỉ cung cấp các dịch vụ ủy quyền.Vì vậy một giao thức riêng biệt nào đó cần phải xác thực dịch vụ. LDAP là một chuẩn giao thức truy cập thư mục đơn giản, hay là một ngôn ngữ để client và severs sử dụng để giao tiếp với nhau.LDAP là một giao thức “lightweight ” có nghĩa là đây là một giao thức có tính hiệu quả, đơn giản và dễ dàng để cài đặt. trong khi chúng sử dụng các hàm ở mức cao. Điều này trái ngược với giao thức “heavyweight” như là giao thức truy cập thư mục X.500 (DAP) sử dụng các phương thức mã hoá quá phức tạp. LDAP sử dụng các tập các phương thức đơn giản và là một giao thức thuộc tầng ứng dụng.
Phương thức hoạt động của LDAP Mô hình LDAP client/server:
Đầu tiên xem xét LDAP như là giao thức giao tiếp client/server. Giao thức client/sever: là một mô hình giao thức giữa một chương trình client chạy trên một máy tính gởi một yêu cầu qua mạng đến cho một máy tính khác đang chạy một chương trình sever (phục vụ), chương trình này nhận lấy yêu cầu và thực hiện sau đó trả lại kết quả cho chương trình client. Ý tưởng cơ bản của giao thức client/server là công việc được gán cho những máy tính đã được tối ưu hoá để làm thực hiện công việc đó.Ví dụ tiêu biểu cho một máy server LDAP có rất nhiều RAM(bô nhớ) dùng để lưu trữ nội dung các thư mục cho các thao tác thực thi nhanh và máy này cũng cần đĩa cứng và các bộ vi xử lý ở tốc độ .
LDAP Là một giao thức hướng thông điệp.Do client và sever giao tiếp thông qua các thông điệp, Client tạo một thông điệp (LDAP message) chứa yêu cầu và gởi đến cho server. Server nhận được thông điệp và sử lý yêu cầu của client sau đó gởi trả cho client cũng bằng một thông điệp LDAP. Ví dụ: khi LDAP client muốn tìm kiếm trên thư mục, client tạo LDAP tìm kiếm và gởi thông điệp cho server. Sever tìm trong cơ sở dữ liệu và gởi kết quả cho client trong một thông điệp LDAP.
Quá trình kết nối giữa LDAP server và client: LDAP client và server thực hiện theo các bước sau:
Client mở một kết nối TCP đến LDAP server và thực hiện một thao tác bind. Thao tác bind bao gồm tên của một directory entry và uỷ nhiệm thư sẽ được sử dụng trong quá trình xác thực, uỷ nhiệm thư thông thường là pasword nhưng cũng có thể là chứng chỉ điện tử dùng để xác thực client.
Sau khi thư mục có được sự xác định của thao tác bind, kết quả của thao tác bind được trả về cho client.
LDAP Server LDAP Client
1. Mở kết nối và bind tới server
2. Kết quả của thao tác bind 3. Hoạt động tìm kiếm 4. Trả về kết quả 1 5. Trả về kết quả 2 6. Kết thúc phiên làm việc 7.Thao tác unbind 8. Đóng kết nối
Hình 3-6: Quá trình kết nối giữa Client và Server Mô hình kết nối giữa Client / Server
1. Mở kết nối và bind tới server. 2. Client nhận kết quả bind.
3. Client phát ra các yêu cầu tìm kiếm.
4. Server thực hiện xử lý và trả về kết quả 1 cho client. 5. Server trả về kết quả 2 cho client.
7. Client phát ra yêu cầu unbind, với yêu cầu này server biết rằng client muốn huỷ bỏ kết nối.
8. Server đóng kết nối