Uỷ quyền (Authorization)

Một phần của tài liệu An toàn mạng máy tính và giải pháp xác thực người dùng (Trang 38)

Uỷ quyền cho phép nhà quản trị điều khiển việc cấp quyền trong một khoảng thời gian, hay trên từng thiết bị, từng nhóm, từng ngƣời dùng cụ thể hay trên từng giao thức. AAA cho phép nhà quản trị tạo ra các thuộc tính mô tả các chức năng của ngƣời dùng đƣợc phép thao tác vào tài nguyên. Do đó, ngƣời dùng phải đƣợc xác thực trƣớc khi uỷ quyền cho ngƣời đó.

Uỷ quyền trong AAA làm việc giống nhƣ một tập các thuộc tính mô tả những gì mà ngƣời dùng đã đƣợc xác thực có thể có.

Ví dụ: Ngƣời dùng LINH sau khi đã xác thực thành công có thể chỉ đƣợc

phép truy cập vào server LINHNQ_SERVER thông qua FTP. Những thuộc tính này đƣợc so sánh với thông tin chứa trong cơ sở dữ liệu của ngƣời dùng đó và kết quả đƣợc trả về AAA để xác định khả năng cũng nhƣ giới hạn thực tế của ngƣời đó. Điều này yêu cầu cơ sở dữ liệu phải giao tiếp liên tục với AAA server trong suốt quá trình kết nối đến thiết bị truy cập từ xa (RAS).

Uỷ quyền liên quan đến việc sử dụng một bộ quy tắc hoặc các mẫu để quyết định những gì một ngƣời sử dụng đã chứng thực có thể làm trên hệ thống.

Máy chủ AAA sẽ phân tích yêu cầu và cấp quyền truy cập bất cứ yêu cầu nào có thể, có hoặc không phải là toàn bộ yêu cầu là hợp lệ. Ví dụ: Một máy khách quay số kết nối và yêu cầu nhiều liên kết. Một máy chủ AAA chung chỉ đơn giản là sẽ từ chối toàn bộ yêu cầu, nhƣng một sự thực thi thông minh hơn sẽ xem xét yêu cầu, xác định rằng máy khách chỉ đƣợc phép một kết nối dial-up, và cấp một kênh trong khi từ chối các yêu cầu khác.

39 3.1.3. Kiểm toán (Accounting)

Kiểm toán cho phép nhà quản trị có thể thu thập thông tin nhƣ thời gian bắt đầu, thời gian kết thúc ngƣời dùng truy cập vào hệ thống, các câu lệnh đã thực thi, thống kê lƣu lƣợng, việc sử dụng tài nguyên và sau đó lƣu trữ thông tin trong hệ thống cơ sở dữ liệu quan hệ. Nói cách khác, kiểm toán cho phép giám sát dịch vụ và tài nguyên đƣợc ngƣời dùng sử dụng. Ví dụ: thống kê cho thấy ngƣời dùng có tên truy cập là LINH đã truy cập vào LINHNQ_SERVER bằng giao thức FTP với số lần là 5 lần. Điểm chính trong kiểm toán đó là cho phép ngƣời quản trị giám sát tích cực và tiên đoán đƣợc dịch vụ và việc sử dụng tài nguyên. Thông tin này có thể đƣợc dùng để tính cƣớc khách hàng, quản lý mạng, kiểm toán sổ sách.

3.2. Giao thức sử dụng trong dịch vụ AAA

3.2.1.1. Giới thiệu

Hình 3-2 Các giao thức cho dịch vụ AAA

Có hai giao thức bảo mật dùng trong dịch vụ AAA đó là TACACS (Terminal Access Controller Access Control System) và RADIUS (Remote Authentication Dial-In User Service). Cả hai giao thức đều có phiên bản và thuộc tính riêng. Chẳng hạn nhƣ phiên bản riêng của TACACS là TACACS+, tƣơng thích hoàn toàn với TACACS. RADIUS cũng có sự mở rộng khi cho phép khách hàng thêm thông tin xác định đƣợc mang bởi RADIUS. TACACS và RADIUS đƣợc dùng từ một thiết bị nhƣ là server truy cập mạng (NAS) đến AAA server.

40

Xem xét một cuộc gọi từ xa nhƣ hình 3.2. Ngƣời dùng gọi từ PC đến NAS. NAS sẽ hỏi thông tin để xác thực ngƣời dùng. Từ PC đến NAS, giao thức sử dụng là PPP, và một giao thức nhƣ là CHAP hay PAP đƣợc dùng để truyền thông tin xác thực. NAS sẽ truyền thông tin đến AAA Server để xác thực. Nó đƣợc mang bởi giao thức TACACS hoặc RADIUS.

3.2.1.2. Tổng quan về TACACS

TACACS là giao thức đƣợc chuẩn hoá sử dụng giao thức hƣớng kết nối (connection-oriented) là TCP trên port 49.

TACACS có các ƣu điểm sau:

o Với khả năng nhận gói reset (RST) trong TCP, một thiết bị có thể lập tức báo cho đầu cuối khác biết rằng đã có hỏng hóc trong quá trình truyền.

o TCP là giao thức mở rộng vì có khả năng xây dựng cơ chế phục hồi lỗi. Nó có thể tƣơng thích để phát triển cũng nhƣ làm tắc nghẽn mạng với việc sử dụng sequence number để truyền lại.

o Toàn bộ payload đƣợc mã hoá với TACACS+ bằng cách sử dụng một khoá bí mật chung (shared secret key). TACACS+ đánh dấu một trƣờng trong header để xác định xem thử có mã hoá hay không.

o TACACS+ mã hoá toàn bộ gói bằng việc sử dụng khoá bí mật chung nhƣng bỏ qua header TACACS chuẩn. Cùng với header là một trƣờng xác định body có đƣợc mã hoá hay không. Thƣờng thì trong toàn bộ thao tác, body của một gói đƣợc mã hoá hoàn toàn để truyền thông an toàn.

o TACACS+ đƣợc chia làm ba phần: xác thực (authentication), cấp quyền (authorization) và tính cƣớc (accounting). Với cách tiếp cận theo module, ta có thể sử dụng các dạng khác của xác thực và vẫn sử dụng TACACS+ để cấp quyền và tính cƣớc. Chẳng hạn nhƣ, việc sử dụng phƣơng thức xác thực Kerberos cùng với việc cấp quyền và tính cƣớc bằng TACACS+ là rất phổ biến.

o TACACS+ hỗ trợ nhiều giao thức.

o Với TACACS+, ta có thể dùng hai phƣơng pháp để điều khiển việc cấp quyền thực thi các dòng lệnh của một user hay một nhóm nhiều user:

41

o Phƣơng pháp thứ nhất là tạo một mức phân quyền (privilege) với một số câu lệnh giới hạn và user đã xác thực bởi router và TACACS server rồi thì sẽ đƣợc cấp cho mức đặc quyền xác định nói trên.

o Phƣơng pháp thứ hai đó là tạo một danh sách các dòng lệnh xác định trên TACACS+ server để cho phép một user hay một nhóm sử dụng.

o TACACS thƣờng đƣợc dùng trong môi trƣờng enterprise. Nó có nhiều ƣu điểm và làm việc tốt đáp ứng yêu cầu quản lý mạng hàng ngày.

Đị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-3Đị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:

42

- 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 uỷ 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ã hoá của gói TACACS. Giá trị 1 là chƣa mã hoá, giá trị 0 là gói tin đã đƣợc mã hoá.

+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 tuỳ 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.

3.2.1.3. Tổng quan về 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

43

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 Firewall 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 Firewall hỗ trợ một vài máy chủ RADIUS sau:

 CiscoSecure ACS

 Cisco Access Registrar.

 Livingston.

 Merit.

 Funk Steel Belted.

 Microsoft Internet Authentication Server.

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 kiểm 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ã hoá, địa chỉ IP của khách hàng AAA, và cổng định dạng gói tin RADIUS:

Code Identifier Length Request Authenticator

44

Hình 3-4 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 Firewall (để quản trị, vpn …).

 Các Cisco ASA Firewall 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 Cisco ASA Firewall. Attributes

45

 Các Cisco ASA Firewall 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 Firewall đá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 tuỳ 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à uỷ quyền. RADIUS server xác thực và uỷ 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.

3.3.Dịch vụ AAA trên CISCO ASA FIREWALL 3.3.1. Đặc điểm của AAA trên ASA FIREWALL 3.3.1. Đặc điểm của AAA trên ASA FIREWALL Đặc điểm của AAA khi sử dụng với ASA Firewall gồm :

- Client cần truy nhập đến một dịch vụ nào đó. ASA firewall, lúc này đóng vai trò là gateway giữa client và thiết bị, sẽ yêu cầu client gửi user ID và password.

- ASA nhận đƣợc thông tin đó và chuyển nó đến AAA server. AAA server đƣợc định nghĩa nhƣ là một thực thể logic dùng để cung cấp 3 chức năng AAA. Server sẽ tìm xem thông tin về user này có trong database của nó hay không ? Nếu có thì user sẽ đƣợc phép sử dụng dịch vụ đã yêu cầu. Nếu không, user bị từ chối sử dụng dịch vụ đó.

Với việc sử dụng AAA server riêng nhƣ vậy, giúp cho ASA giảm đƣợc tải (CPU), cấu hình và quản lý đơn giản, làm tăng khả năng mở rộng.

Việc sử dụng AAA server cho phép chỉ có các user đƣợc xác thực mới đƣợc truy cập đến một mạng nào đó, nhà quản trị mạng có thể giới hạn việc truy cập các dịch vụ nhƣ FTP, Telnet, HTTP, hay là các dịch vụ khác.

User có thể xác thực với ASA firewall sử dụng một trong 3 phƣơng pháp sau:

46

- Telnet: dấu nhắc đƣợc phát ra bởi ASA, mỗi user có 4 lần log in. Nếu username hoặc password sai sau lần thứ tƣ, ASA sẽ làm rớt kết nối. Nếu xác thực và thẩm quyền thành công, user

- FTP: dấu nhắc đƣợc phát ra từ chƣơng trình FTP. Nếu password không đúng, kết nối sẽ bị rớt ngay lập tức. Nếu username hoặc password trong

authentication database khác với username và password của remote host mà ta cần truy nhập vào thông qua FTP, sử dụng username và password theo mẫu sau:

aaa_username@remote_username

aaa_password@remote_password

ASA firewall gửi aaa_username và aaa_password đến AAA server, nếu authentication và authorization thành công, remote_username và remote_password đƣợc gửi chuyến FTP server đích.

- HTTP: browser phát ra cửa sổ username, password. Nếu nhập vào không đúng password, user sẽ đƣợc nhắc nhập lại.

Nếu username hoặc password trong database authentication khác với

username và password ở remote host, thì nhập username và password theo mẫu sau:

aaa_username@remote_username

aaa_password@remote_password

ASA firewall gửi aaa_username và aaa_password đến AAA server, nếu authentication và authorization thành công, remote_username và remote_password đƣợc gửi chuyến HTTP server đích.

3.3.2. Cấu hình xác thực

Khi CSACS ( Cisco Secure Access Control Server ) đƣợc cấu hình (CSACS là một phần mềm đƣợc cài đặt trên server cung cấp đầy đủ 3 dịch vụ AAA), một entry tƣơng ứng với AAA server phải đƣợc cấu hình trên ASA. Các bƣớc cấu hình nhƣ sau[4

] :

 Tạo AAA group, chỉ ra giao thức dùng cho xác thực:

aaa-server group_tag (if_name) host server_ip key timeout

seconds

 Tạo ra AAA server và đăng ký nó đến AAA group, nhiều AAA server có thể ở trong cùng một group:

47

aaa-server group_tag protocol auth_protocol

Group_tag: tên của server group

If_name: tên interface kết nối với server

Host server_ip: địa chỉ IP của TACACS+ server hoặc RADIUS server

Key: là từ khoá case-sensitive, có độ dài tối đa là 127 kí tự, từ khoá này phải giống với từ khoá của server. Key đƣợc sử dụng giữa client và server cho việc mã hoá dữ liệu giữa chúng. Nếu key không đƣợc chỉ ra, mã hoá sẽ không xảy ra. Không đƣợc sử dụng khoảng trắng giữa các kí tự trong key.

Một phần của tài liệu An toàn mạng máy tính và giải pháp xác thực người dùng (Trang 38)