Giao thức AAA và dịch vụ hỗ trợ của Cisco ASA

Một phần của tài liệu nghien-cuu-ve-firewall-asa (Trang 51 - 61)

AAA là từ viết tắt: Authentication, Authorization, Accounting. AAA cung cấp các giải pháp khác nhau để điều khiển kiểm soát truy cập đến các thiết bị mạng. Các dịch vụ sau đây được bao gồm trong kiến trúc AAA là:

Authentication (Xác thực): Quá trình xác thực người dùng dựa trên đặc tính của họ và các thông tin được xác định trước, chẳng hạn như mật khẩu và các cơ chế khác như giấy chứng nhận kỹ thuật số.

Authorization (Ủy quyền): Là phương pháp mà một thiết bị mạng tập hợp một tập các thuộc tính điều chỉnh đúng với nhiệm mà người sử dụng được ủy quyền thực hiện. Những thuộc tính thiết lập nên quyền hạn mà người sử dụng được phép hoặc không cho phép . Các kết quả được trả lại cho các thiết bị mạng để xác định quyền hạn của người dùng mà cơ sở dữ liệu của người dùng có thể được đặt trên ASA hoặc nó có thể được lưu trữ trên một máy chủ RADIUS hoặc TACACS +.

Accounting (Kế toán): Quá trình thu thập và gửi thông tin người dùng đến một máy chủ AAA được ghi lại để theo dõi các lần đăng nhập (khi người dùng đăng nhập và đăng xuất) và các dịch vụ mà người dùng truy cập. Thông tin này có thể được sử dụng để thanh toán, kiểm tra, và mục đích báo cáo.

Cisco ASA có thể được cấu hình để duy trì một cơ sở dữ liệu người dùng nội bộ hoặc sử dụng một máy chủ bên ngoài để xác thực.

Hình 3-2: Mô tả kiến trúc cơ bản cho NAS/RADIUS/TACACS+/AAA

Sau đây là các giao thức chứng thực AAA và các máy chủ được lưu trữ cơ sỡ dữ liệu nằm bên ngoài:

 Remote Authentication Dial-In User Service (Radius).

 Terminal Access Controller Access-Control System (Tacacs+).

 Rsa SecurID(SID).

 Win NT.

 Kerberos.

 Lightweight Directory Access Protocol (LDAP).

4.1. Remote Authentication Dial-In User Service (Radius).

RADIUS là một giao thức xác thực sử dụng rộng rãi được định nghĩa trong RFC 2865. "Remote Authentication Dial-In User Service (RADIUS)." RADIUS hoạt động trong một mô hình khách hàng / máy chủ. Một khách hàng RADIUS thường được gọi là một máy chủ truy cập mạng (network access server :NAS).một máy NAS có trách nhiệm truyền thông tin người dùng tới máy chủ RADIUS. Cisco ASA hoạt động như là một NAS và xác thực người dùng dựa trên phản ứng của máy chủ RADIUS. Cisco ASA hỗ trợ một vài máy chủ RADIUS sau:

 CiscoSecure ACS

 Cisco Access Registrar. GVHD: THS Nguyễn Đức Quang

 Livingston.

 Merit.

 Funk Steel Belted.

 Microsoft Internet Authentication Server.

Đối với mạng xác thực, một khóa bí mật được trao đổi giữa các máy chủ AAA/RADIUS và khách hàng AAA. Các khóa bí mật được chia sẻ là không bao giờ được gửi qua liên kết thiết bị để đảm bảo tính toàn vẹn. Khi RADIUS xác thực người sử dụng, phương pháp xác thực có thể được sử dụng rất nhiều, RADIUS hỗ trợ xác thực qua Point-to-Point Protocol Challenge Handshake Authentication Protocol (PPP CHAP) và PPP Password Authentication Protocol (PAP),RADIUS là một giao thức mở rộng cho phép các nhà cung cấp khả năng thêm giá trị thuộc tính mới mà không tạo ra một vấn đề đối với các thuộc tính giá trị hiện tại. Một khác biệt lớn giữa TACACS và RADIUS là RADIUS không xác thực và ủy quyền riêng biệt. RADIUS cũng cung cấp cho kế toán tốt hơn.

RADIUS hoạt động theo giao thức UDP. RADIUS sử dụng các cổng 1645 và 1812 để xác thực và 1646 và 1813 cho kế toán. Các cổng 1812 và 1813 được tạo ra trong việc triển khai RADIUS mới hơn. Việc sử dụng các cổng RADIUS 1645 trong lúc triển khai đạ gây ra xung đột với các dịch vụ "datametrics". Do đó, cổng chính thức là 1812.Giao thức RADIUS được xem là một dịch vụ kết nối. Các vấn đề liên quan đến máy chủ sẵn sàng, phát lại, và hết giờ được xử lý trên thiết bị chứ không phải là giao thức truyền tải. Chức năng này khác với TACACS + độ tin cậy trong giao thức phụ thuộc vào giao thức TCP.

Hoạt động RADIUS

Sau đây là quá trình hoạt động RADIUS quản lý đăng nhập:

Bước 1. Một thông tin đăng nhập người dùng tạo ra một truy vấn (Access-Request) từ AAA khách hàng đến máy chủ RADIUS.

Bước 2. Một phản ứng cho phép hoặc loại bỏ(Access-Accept hoặc Access-Reject) được trả về từ máy chủ.

Các gói tin Access-Request chứa tên người dùng, mật khẩu mã hóa, địa chỉ IP của khách hàng AAA, và cổng định dạng gói tin RADIUS:

Hình 3-3 Định dạng gói tin Radius Mỗi gói tin RADIUS gồm các thông tin sau đây:

+ Code: 1 octet, định nghĩa loại packet

+ Identifier: 1 octet, Kiểm tra yêu cầu, trả lời và phát hiện trùng lặp yêu cầu từ RADIUS server.

+ Length: 2 octet, xác định độ dài của toàn bộ gói.

+ Request Authenticator: 16 octet, Các octet quan trọng nhất được truyền đi đầu tiên, nó xác nhận trả lời từ máy chủ RADIUS. Hai loại authenticators như sau:

-Request-Authenticator có sẵn trong gói Access-Request và Accounting-Request -Response-Authenticator có sẵn trong các gói Access-Accept, Access-Reject, Access-Challenge, Accounting-Response.

+ Attributes: Thuộc tính bổ sung vào RADIUS hỗ trợ nhà cung cấp cụ thể.

Các máy chủ RADIUS nhận được yêu cầu xác thực người dùng và sau đó trả về thông tin cấu hình cần thiết cho khách hàng để hỗ trợ các dịch vụ cụ thể cho người dùng. Các máy chủ RADIUS thực hiện điều này bằng cách gửi Internet Engineering Task Force (IETF) hoặc các thuộc tính nhà cung cấp cụ thể. (Các thuộc tính RADIUS chứng thực được định nghĩa trong RFC 2865.)

Cisco ASA hoạt động như là một NAS và máy chủ RADIUS là một Cisco Secure Access Control Server (ACS).

Người dùng cố gắng để kết nối với Cisco ASA (để quản trị,vpn,thực hiện tính năng cut-though proxy).

GVHD: THS Nguyễn Đức Quang

Code Identifier Length Request Authenticator

Các Cisco ASA nhắc nhở người dùng, yêu cầu tên người dùng và mật khẩu của mình.

Người sử dụng gửi thông tin của mình cho ASA Cisco.

Các Cisco ASA gửi yêu cầu xác thực (Access-Request) đến máy chủ RADIUS. Các máy chủ RADIUS gửi một message Access-Accept nếu người dùng là xác thực thành công hoặc một Access-Reject nếu người dùng không xác thực thành công.

Cisco ASA đáp ứng cho người sử dụng và cho phép truy cập vào các dịch vụ cụ thể.

Lưu ý: Các máy chủ RADIUS cũng có thể gửi các thuộc tính nhà cung cấp cụ thể cho Cisco ASA tùy thuộc vào việc thực hiện và các dịch vụ sử dụng. Những thuộc tính này có thể chứa thông tin như địa chỉ IP để gán các thông tin khách hàng và ủy quyền. RADIUS server xác thực và ủy quyền kết hợp các giai đoạn thành một yêu cầu duy nhất và chu kỳ liên kết đáp ứng.

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:

3 4 5 6 7 8 1 2

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ư mục.Cisco ASA giao tiếp với máy chủ LDAP thông qua TCP cổng 389. LDAP chỉ GVHD: THS Nguyễn Đức Quang

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.

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.

6. Server gởi thông điệp kết thúc việc tìm kiếm.

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

Một phần của tài liệu nghien-cuu-ve-firewall-asa (Trang 51 - 61)

Tải bản đầy đủ (PDF)

(82 trang)