Thành viên:Sontranngoc/RADIUS

Bách khoa toàn thư mở Wikipedia

Remote Authentication Dial-In User Service (RADIUS) là một giao thức mạng, hoạt động trên cổng mặc định là UDP 1812 [1] cung cấp quản lý xác thực tập trung (Authentication), phân quyền (Authorization) và tính cước (Accounting) (AAA) cho người dùng kết nối và sử dụng dịch vụ mạng. RADIUS được Livingston Enterprises, Inc. phát triển vào năm 1991 dưới dạng giao thức tính cước và xác thực truy cập, sau đó được đưa vào các tiêu chuẩn của Internet Engineering Task Force (IETF). [2]

RADIUS rất phổ biến, được sử dụng rộng rãi, nó thường được các nhà cung cấp dịch vụ Internet (ISP) và doanh nghiệp sử dụng để quản lý truy cập Internet hoặc mạng nội bộ, mạng không dây và dịch vụ email tích hợp. Các mạng này có thể kết hợp modem, đường dây thuê bao kỹ thuật số (DSL), điểm truy cập, mạng riêng ảo (VPN), cổng mạng, máy chủ web, v.v. [3]

RADIUS là giao thức máy khách / máy chủ chạy trên lớp ứng dụng (Application Layer) và có thể sử dụng TCP hoặc UDP làm phương thức vận chuyển. RADIUS thường là lựa chọn đầu cuối cho xác thực 802.1X . [4]

RADIUS thường chạy như một dịch vụ trên máy chủ UNIX hoặc Microsoft Windows. [5]

Các thành phần của RADIUS[sửa | sửa mã nguồn]

RADIUS là một giao thức AAA (authentication - xác thực, authorization - ủy quyền, accounting - tính cước) để quản lý truy cập mạng. Xác thực và ủy quyền được định nghĩa trong RFC 2865 , tính cước được định nghĩa trong RFC 2866 .

Xác thực và ủy quyền[sửa | sửa mã nguồn]

Người dùng hoặc máy tính gửi thông tin đăng nhập để truy cập vào tài nguyên mạng đến Máy chủ truy cập mạng (NAS - Network Access Server). Thông tin đăng nhập được chuyển đến thiết bị NAS thông qua giao thức link-layer, ví dụ, Giao thức điểm-điểm (PPP) trong trường hợp nhiều nhà cung cấp dịch vụ quay số hoặc DSL hoặc đăng trong form web bảo mật HTTPS .

Sau đó, NAS gửi thông báo Yêu cầu truy cập (RADIUS Access Request message) đến máy chủ RADIUS, yêu cầu ủy quyền cấp quyền truy cập thông qua giao thức RADIUS. [1]

Kết nối giữa NAS và máy chủ RADIUS được mã hóa bằng một chuỗi bảo mật (shared secret) được định sẵn.

Yêu cầu này bao gồm thông tin đăng nhập, thường ở dạng tên người dùng và mật khẩu hoặc chứng chỉ bảo mật (certificate) do người dùng cung cấp. Ngoài ra, yêu cầu có thể chứa thông tin khác mà NAS biết về người dùng, ví dụ địa chỉ IP, MAC hoặc số điện thoại và thông tin liên quan đến vị trí vật lý của người dùng với NAS.

Máy chủ RADIUS kiểm tra thông tin có chính xác không bằng cách sử dụng các phương thức xác thực như PAP, CHAP hoặc EAP . Thông tin nhận dạng của người dùng được xác minh, có thể gồm các thông tin khác yêu cầu khác, chẳng hạn như địa chỉ mạng hoặc số điện thoại, trạng thái tài khoản và các quyền truy cập dịch vụ mạng cụ thể. Trước kia, các máy chủ RADIUS đã kiểm tra thông tin của người dùng bằng cơ sở dữ liệu cục bộ. Các máy chủ RADIUS hiện nay có thể thực hiện việc này bằng cách truy vấn các nguồn khác như các máy chủ SQL, Kerberos, LDAP hoặc Active Directory để xác minh thông tin đăng nhập của người dùng.

Luồng dữ liệu xác thực và ủy quyền của RADIUS

Sau đó, máy chủ RADIUS trả về một trong ba phản hồi cho NAS: 1) Từ chối truy cập (Access Reject), 2) Yêu cầu gửi thêm thông tin truy cập (Access Challenge) hoặc 3) Chấp nhận truy cập (Access Accept).

Từ chối truy cập - Access Reject
Người dùng bị từ chối truy cập vào tất cả các tài nguyên mạng. Lý do có thể bao gồm việc không cung cấp chứng nhận hoặc tài khoản người dùng không xác định hoặc không hoạt động, bị khóa, v.v...
Yêu cầu gửi thêm thông tin truy cập - Access Challenge
Yêu cầu thông tin bổ sung từ người dùng như mật khẩu phụ, mã PIN, mã thông báo hoặc thẻ. Access Challenge cũng được sử dụng trong các hộp thoại xác thực phức tạp hơn, khi đường hầm (tunnel) bảo mật được thiết lập giữa máy người dùng và máy chủ RADIUS để giấu thông tin đăng nhập khỏi NAS.
Chấp nhận truy cập - Access Accept
Người dùng được cấp quyền truy cập. Khi người dùng được xác thực, máy chủ RADIUS sẽ thường kiểm tra xem người dùng có được phép sử dụng dịch vụ mạng được yêu cầu hay không. Chẳng hạn một người dùng nào đó có thể được phép sử dụng mạng không dây, nhưng không được sử dụng VPN của công ty. Thông tin này có thể được lưu trữ cục bộ trên máy chủ RADIUS hoặc có thể được truy vấn tại một nguồn bên ngoài như LDAP hoặc Active Directory.

Mỗi một trong số ba phản hồi RADIUS này có thể bao gồm thêm thuộc tính phản hồi (Reply-Message Attribute ). Máy chủ RADIUS có thể phản hồi lý do từ chối, thông báo yêu cầu thêm thông tin, hoặc thông báo chào mừng cho việc chấp nhận.

Các thuộc tính ủy quyền được chuyển đến NAS, quy định các quyền truy cập được phép. Ví dụ: các thuộc tính ủy quyền sau có thể được bao gồm trong Access-Accept:

  • Địa chỉ IP cụ thể được gán cho người dùng
  • Dải địa chỉ IP người dùng có thể chọn
  • Thời gian tối đa mà người dùng có thể kết nối (Session Timeout)
  • Danh sách truy cập, hàng đợi ưu tiên hoặc các hạn chế khác đối với quyền truy cập của người dùng
  • Thông số L2TP.
  • Thông số VLAN.
  • Thông số chất lượng dịch vụ (QoS)

Khi NAS được cấu hình để sử dụng RADIUS, bất kỳ người dùng nào của NAS sẽ gửi thông tin xác thực cho NAS. Đó có thể là dòng lệnh đăng nhập để người dùng sẽ nhập tên người dùng và mật khẩu. Ngoài ra, người dùng có thể sử dụng giao thức Framing Protocol , chẳng hạn như Giao thức điểm-điểm (PPP), để gửi các thông tin này.

Khi NAS có được thông tin, nó có thể chọn xác thực bằng RADIUS. Để thực hiện điều này, NAS tạo một "Yêu cầu truy cập" có chứa các thuộc tính như tên người dùng, mật khẩu người dùng, ID và cổng mà người dùng đang truy cập. Khi có mật khẩu, nó sẽ bị ẩn bằng cách sử dụng phương pháp dựa trên Thuật toán mã hóa RSA MD5.

Tính cước[sửa | sửa mã nguồn]

Luồng dữ liệu tính cước của RADIUS

Tính cước được mô tả trong RFC 2866 .

Khi NAS cấp quyền truy cập mạng cho người dùng, Thông tin tính cước (gói Yêu cầu tính cước RADIUS có chứa thuộc tính Loại trạng thái Acct với giá trị "bắt đầu") được gửi đến máy chủ RADIUS bằng cổng mặc định UDP 1813 để thông báo cho máy chủ RADIUS về việc truy cập mạng của người dùng đã bắt đầu. Bản ghi "Bắt đầu" thường chứa thông tin nhận dạng người dùng, địa chỉ mạng, điểm đính kèm và số phiên (session ID). [6]

Định kỳ, các bản ghi Cập nhật tạm thời (gói Yêu cầu tính cước RADIUS có chứa thuộc tính Loại trạng thái Acct với giá trị "cập nhật tạm thời") có thể được gửi bởi NAS đến máy chủ RADIUS, để cập nhật trạng thái của phiên hoạt động. Các bản ghi "tạm thời" thường cung cấp thời lượng phiên và thông tin về việc sử dụng dữ liệu hiện tại.

Cuối cùng, khi chấm dứt quyền truy cập mạng của người dùng, NAS sẽ phát hành bản ghi tính cước dừng cuối cùng (gói Yêu cầu tính cước RADIUS có chứa thuộc tính Loại trạng thái Acct với giá trị "dừng") cho máy chủ RADIUS, cung cấp thông tin về việc sử dụng cuối cùng về thời gian, tổng số gói tin được truyền, tổng dữ liệu được truyền, lý do ngắt kết nối và các thông tin khác liên quan đến truy cập mạng của người dùng.

Thông thường, NAS gửi các gói Yêu cầu tính cước cho đến khi nhận được xác nhận Phản hồi tính cước, có thử lại khi thất bại.

Mục đích chính của dữ liệu này là người dùng có thể được lập hóa đơn tương ứng; dữ liệu cũng thường được sử dụng cho mục đích thống kê và giám sát mạng chung.

Chuyển vùng (Roaming)[sửa | sửa mã nguồn]

Chuyển vùng bằng máy chủ RADIUS AAA proxy.

RADIUS thường được sử dụng để thực hiện việc chuyển vùng giữa các ISP, ví dụ:

  • Bởi các công ty cung cấp tập hợp thông tin toàn cầu duy nhất có thể sử dụng được trên nhiều mạng công cộng;
  • Bằng cách độc lập, nhưng hợp tác, các tổ chức cấp thông tin xác thực của họ cho người dùng của họ, cho phép khách truy cập từ người này sang người khác được xác thực bởi nhà cung cấp của họ, chẳng hạn như trong eduroam .
RFC Title Date published Related article Related RFCs Notes
RFC 2058 Remote Authentication Dial In User Service (RADIUS) January 1997 RADIUS Obsoleted by RFC 2138
RFC 2059 RADIUS Accounting January 1997 RADIUS Obsoleted by RFC 2139
RFC 2138 Remote Authentication Dial In User Service (RADIUS) April 1997 RADIUS Obsoleted by RFC 2865
RFC 2139 RADIUS Accounting April 1997 RADIUS Obsoleted by RFC 2866
RFC 2548 Microsoft Vendor-specific RADIUS Attributes March 1999 RADIUS
RFC 2607 Proxy Chaining and Policy Implementation in Roaming June 1999
RFC 2618 RADIUS Authentication Client MIB Management information base Obsoleted by RFC 4668
RFC 2619 RADIUS Authentication Server MIB Management information base Obsoleted by RFC 4669
RFC 2620 RADIUS Accounting Client MIB June 1999 Management information base Obsoleted by RFC 4670
RFC 2621 RADIUS Accounting Server MIB June 1999 Management information base Obsoleted by RFC 4671
RFC 2809 Implementation of L2TP Compulsory Tunneling via RADIUS April 2000
RFC 2865 Remote Authentication Dial In User Service (RADIUS) June 2000 RADIUS Updated by RFC 2868, RFC 3575, RFC 5080 This standard describes RADIUS authentication and authorization between a Network Access Server (NAS) and a shared RADIUS authentication server. This protocol is also used to carry configuration information from the RADIUS server to the NAS.
RFC 2866 RADIUS Accounting June 2000 RADIUS This standard describes how accounting information is carried from the NAS to a shared RADIUS accounting server.
RFC 2867 RADIUS Accounting Modifications for Tunnel Protocol Support June 2000 RADIUS Updates RFC 2866
RFC 2868 RADIUS Attributes for Tunnel Protocol Support June 2000 Updates RFC 2865
RFC 2869 RADIUS Extensions June 2000 Updated by RFC 3579, RFC 5080
RFC 2882 Network Access Servers Requirements: Extended RADIUS Practices July 2000
RFC 3162 RADIUS and IPv6 August 2001
RFC 3575 IANA Considerations for RADIUS July 2003
RFC 3576 Dynamic Authorization Extensions to RADIUS July 2003 Obsoleted by RFC 5176
RFC 3579 RADIUS Support for EAP September 2003 Extensible Authentication Protocol Updates RFC 2869
RFC 3580 IEEE 802.1X RADIUS Usage Guidelines September 2003 802.1X
RFC 4014 RADIUS Attributes Suboption for the DHCP Relay Agent Information Option February 2005
RFC 4372 Chargeable User Identity January 2006
RFC 4590 RADIUS Extension for Digest Authentication July 2006 Obsoleted by RFC 5090
RFC 4668 RADIUS Authentication Client MIB for IPv6 August 2006 Management information base
RFC 4669 RADIUS Authentication Server MIB for IPv6 August 2006 Management information base
RFC 4670 RADIUS Accounting Client MIB for IPv6 August 2006 Management information base
RFC 4671 RADIUS Accounting Server MIB for IPv6 August 2006 Management information base
RFC 4675 RADIUS Attributes for Virtual LAN and Priority Support September 2006
RFC 4679 DSL Forum Vendor-Specific RADIUS Attributes September 2006
RFC 4818 RADIUS Delegated-IPv6-Prefix Attribute April 2007
RFC 4849 RADIUS Filter Rule Attribute April 2007
RFC 5080 Common RADIUS Implementation Issues and Suggested Fixes December 2007 Updates RFC 3579
RFC 5090 RADIUS Extension for Digest Authentication February 2008
RFC 5176 Dynamic Authorization Extensions to RADIUS January 2008
RFC 5607 RADIUS Authorization for NAS Management July 2009
RFC 5997 Use of Status-Server Packets in the RADIUS Protocol August 2010 Updates RFC 2866
RFC 6158 RADIUS Design Guidelines March 2011
RFC 6218 Cisco Vendor-Specific RADIUS Attributes for the Delivery of Keying Material April 2011
RFC 6421 Crypto-Agility Requirements for Remote Authentication Dial-In User Service (RADIUS) November 2011
RFC 6613 RADIUS over TCP May 2012 Experimental
RFC 6614 Transport Layer Security (TLS) Encryption for RADIUS May 2012 Experimental
RFC 6929 Remote Authentication Dial-In User Service (RADIUS) Protocol Extensions April 2013 Updates RFC 2865, RFC 3575, RFC 6158

Xem thêm[sửa | sửa mã nguồn]

Tài liệu tham khảo[sửa | sửa mã nguồn]

  1. ^ a b RFC 2865 Remote Authentication Dial In User Service (RADIUS)
  2. ^ John Vollbrecht (2006). “The Beginnings and History of RADIUS” (PDF). Interlink Networks. Truy cập ngày 15 tháng 4 năm 2009.
  3. ^ Brien Posey (31 tháng 8 năm 2006). “SolutionBase: RADIUS deployment scenarios” (PDF). TechRepublic. Truy cập ngày 15 tháng 4 năm 2009.[liên kết hỏng]
  4. ^ Edwin Lyle Brown (2006). 802.1X Port-Based Authentication. Taylor & Francis. tr. 17. ISBN 978-1-4200-4465-2.
  5. ^ “How Does RADIUS Work?”. Cisco. 19 tháng 1 năm 2006. Truy cập ngày 15 tháng 4 năm 2009.
  6. ^ RFC 2866 RADIUS Accounting

Liện kết ngoài[sửa | sửa mã nguồn]

[[Thể loại:Giao thức tầng ứng dụng]] [[Thể loại:Tiêu chuẩn Internet]] [[Thể loại:Giao thức Internet]]