RADIUS - Hướng dẫn nhanh

Trước khi bắt đầu tìm hiểu về Radius, điều quan trọng là bạn phải hiểu:

  • AAA là gì?
  • NAS là gì?

Vì vậy, trước tiên chúng ta hãy có một ý tưởng cơ bản về hai chủ đề này.

AAA là gì?

AAA là viết tắt của Xác thực, Ủy quyền và Kế toán.

Xác thực

  • Đề cập đến xác nhận rằng người dùng đang yêu cầu dịch vụ là người dùng hợp lệ.

  • Hoàn thành thông qua việc trình bày danh tính và thông tin đăng nhập.

  • Ví dụ về thông tin xác thực bao gồm mật khẩu, mã thông báo dùng một lần, chứng chỉ kỹ thuật số và số điện thoại (gọi / gọi).

Ủy quyền

  • Đề cập đến việc cấp các loại dịch vụ cụ thể (bao gồm "không có dịch vụ") cho người dùng dựa trên xác thực của họ.

  • Có thể dựa trên các hạn chế, ví dụ: hạn chế về thời gian trong ngày hoặc hạn chế về vị trí thực tế hoặc hạn chế đối với nhiều lần đăng nhập của cùng một người dùng.

  • Ví dụ về các dịch vụ bao gồm, lọc địa chỉ IP, gán địa chỉ, gán tuyến, mã hóa, QoS / dịch vụ khác biệt, kiểm soát băng thông / quản lý lưu lượng, v.v.

Kế toán

  • Đề cập đến việc theo dõi việc tiêu thụ tài nguyên mạng của người dùng.

  • Thông tin điển hình được thu thập trong kế toán bao gồm danh tính của người dùng, bản chất của dịch vụ được cung cấp, khi dịch vụ bắt đầu và khi nào dịch vụ kết thúc.

  • Có thể được sử dụng để quản lý, lập kế hoạch, thanh toán, v.v.

Máy chủ AAA cung cấp tất cả các dịch vụ trên cho khách hàng của mình.

Giao thức AAA

Radius là một giao thức AAA cho các ứng dụng như Truy cập Mạng hoặc Di động IP. Ngoài Radius, chúng tôi có các giao thức sau trong AAA:

Hệ thống kiểm soát truy cập bộ điều khiển truy cập đầu cuối (TACACS)

TACACS là một giao thức xác thực từ xa được sử dụng để giao tiếp với một máy chủ xác thực thường được sử dụng trong mạng Unix. TACACS cho phép máy chủ truy cập từ xa giao tiếp với máy chủ xác thực để xác định xem người dùng có quyền truy cập vào mạng hay không.

TACACS +

TACACS + cung cấp khả năng kiểm soát truy cập cho bộ định tuyến, máy chủ truy cập mạng và các thiết bị tính toán nối mạng khác thông qua một hoặc nhiều máy chủ tập trung. Nó sử dụng TCP và cung cấp các dịch vụ xác thực, ủy quyền và kế toán riêng biệt. Nó hoạt động trên cổng 49.

ĐƯỜNG KÍNH

Diameter là sự thay thế theo kế hoạch của Radius.

Máy chủ truy cập mạng là gì?

Máy chủ truy cập mạng (NAS) là một phần tử dịch vụ mà máy khách quay số để truy cập vào mạng. NAS là một thiết bị có giao diện cả với đường trục và POTS hoặc ISDN, đồng thời nhận các cuộc gọi từ các máy chủ muốn truy cập đường trục bằng các dịch vụ quay số. NAS được đặt tại điểm có mặt của nhà cung cấp Internet để cung cấp khả năng truy cập Internet cho khách hàng của mình.

Máy chủ truy cập mạng là:

  • Một điểm truy cập duy nhất vào tài nguyên từ xa.

  • Máy chủ truy cập từ xa, vì nó cho phép truy cập từ xa vào mạng.

  • Một điểm vào ban đầu đến một mạng.

  • Một cổng để bảo vệ tài nguyên được bảo vệ.

Những ví dụ bao gồm:

  • Xác minh Truy cập Internet bằng ID Người dùng và Mật khẩu.

  • VoIP, FoIP và VMoIP yêu cầu Số điện thoại hoặc Địa chỉ IP hợp lệ.

  • Thẻ Trả trước Điện thoại sử dụng Số Thẻ Trả trước.

Hình dưới đây cho thấy một kiến ​​trúc cơ bản của Radius.

RADIUS là một giao thức để mang thông tin liên quan đến xác thực, ủy quyền và cấu hình giữa Máy chủ truy cập mạng mong muốn xác thực các liên kết của nó và Máy chủ xác thực được chia sẻ.

  • RADIUS là viết tắt của Từ xa Xác thực Quay số Trong Dịch vụ Người dùng.

  • RADIUS là một giao thức AAA cho các ứng dụng như Truy cập mạng hoặc Di động IP

  • Nó hoạt động trong cả hai tình huống, Local và Mobile.

  • Nó sử dụng các giao thức Giao thức Xác thực Mật khẩu (PAP), Giao thức Xác thực Bắt tay Thử thách (CHAP) hoặc Giao thức Xác thực Mở rộng (EAP) để xác thực người dùng.

  • Nó tìm trong tệp văn bản, Máy chủ LDAP, Cơ sở dữ liệu để xác thực.

  • Sau khi các thông số dịch vụ xác thực được chuyển trở lại NAS.

  • Nó thông báo khi một phiên bắt đầu và dừng lại. Dữ liệu này được sử dụng cho mục đích Thanh toán hoặc Thống kê.

  • SNMP được sử dụng để giám sát từ xa.

  • Nó có thể được sử dụng như một proxy.

Đây là Sơ đồ Bán kính Mạng Đơn giản:

Dưới đây là danh sách tất cả các tính năng chính của Radius:

Mô hình Máy khách / Máy chủ

  • NAS hoạt động như một máy khách cho máy chủ Radius.

  • Máy chủ Radius chịu trách nhiệm nhận các yêu cầu kết nối của người dùng, xác thực người dùng và sau đó trả lại tất cả thông tin cấu hình cần thiết để máy khách cung cấp dịch vụ cho người dùng.

  • Máy chủ Radius có thể hoạt động như một máy khách proxy cho các máy chủ Radius khác.

An ninh mạng

  • Các giao dịch giữa máy khách và máy chủ được xác thực thông qua việc sử dụng khóa chia sẻ. Khóa này không bao giờ được gửi qua mạng.

  • Mật khẩu được mã hóa trước khi gửi qua mạng.

Cơ chế xác thực linh hoạt

Radius hỗ trợ các giao thức sau cho mục đích xác thực:

  • Point-to-Point Protocal - PPP

  • Giao thức xác thực mật khẩu - PAP

  • Thách thức giao thức xác thực bắt tay - CHAP

  • Đăng nhập UNIX đơn giản

Giao thức mở rộng

Bán kính có thể mở rộng; hầu hết các nhà cung cấp phần cứng và phần mềm Radius triển khai phương ngữ của riêng họ.

Giao thức không trạng thái, sử dụng UDP, chạy ở cổng 1812.

Trước khi Máy khách bắt đầu giao tiếp với Máy chủ Radius, yêu cầu khóa bí mật được chia sẻ giữa Máy khách và Máy chủ và Máy khách phải được cấu hình để sử dụng máy chủ Radius để nhận dịch vụ.

Khi Máy khách được định cấu hình đúng cách thì:

  • Khách hàng bắt đầu với Yêu cầu Truy cập.

  • Máy chủ gửi Access-Accept, Access-Reject hoặc Access-Challenge.

  • Access-Accept giữ tất cả các thuộc tính cần thiết để cung cấp dịch vụ cho người dùng.

Mã bán kính (thập phân) được gán như sau:

  • 1 Yêu cầu Truy cập
  • 2 Quyền truy cập-Chấp nhận
  • 3 Truy cập-Từ chối
  • 4 Kế toán-Yêu cầu
  • 5 Kế toán-Phản hồi
  • 11 Truy cập-Thử thách
  • 12 Trạng thái-Máy chủ (thử nghiệm)
  • 13 Trạng thái-Khách hàng (thử nghiệm)
  • 255 đặt trước
  • Không có khái niệm Keep Alive - Tốt hay xấu ??

Mã 4 và 5 có liên quan đến Chức năng Kế toán Bán kính. Mã 12 và 13 được dành riêng để sử dụng.

Định dạng gói của Radius như hình dưới đây:

Code:Đây là 1 Octet (1 byte) dài và xác định các loại gói tin khác nhau. Thông thường 1 Octet có nghĩa là 1 Byte.

Identifier: Đây một lần nữa dài 1 tháng 10 và hỗ trợ các phản hồi phù hợp với yêu cầu.

Length:Đây là 2 Octet dài và chỉ định độ dài của gói bao gồm mã, số nhận dạng, độ dài và trình xác thực. (Gói tối thiểu là 20 Octet và tối đa là 4096 Octet).

Authenticator: Đây là 16 tháng 10 dài và được lấp đầy trong trường hợp có một số yêu cầu và phản hồi.

List of Attributes: Có một danh sách hơn 63 thuộc tính và thuộc tính Radius cũng sẽ có định dạng xác định được mô tả trong chương tiếp theo.

Thuộc tính Radius bao gồm ba phần sau:

  • Type:Dài 1 Octet, xác định nhiều loại thuộc tính khác nhau. Nó là một mã thuộc tính được liệt kê bên dưới.

  • Length: Dài 1 Octet, độ dài của thuộc tính bao gồm Loại.

  • Value: Dài 0 hoặc nhiều hơn Octet, chứa thông tin cụ thể cho thuộc tính.

Danh sách thuộc tính RADIUS

Thuộc tính
1 Tên tài khoản
2 Mật khẩu người dùng
3 CHAP-Mật khẩu
4 Địa chỉ IP-NAS
5 Cổng NAS
6 Loại dịch vụ
7 Giao thức khung
số 8 Khung-Địa chỉ IP
9 Framed-IP-Netmask
10 Định tuyến theo khung
11 Bộ lọc-Id
12 Khung-MTU
13 Nén khung
14 Đăng nhập-IP-Máy chủ
15 Đăng nhập-Dịch vụ
16 Đăng nhập-TCP-Cổng
17 (chưa giao)
18 Trả lời tin nhắn
19 Gọi lại-Số
20 Gọi lại-Id
21 (chưa giao)
22 Định tuyến
23 Khung-IPX-Mạng
24 Tiểu bang
25 Lớp học
26 Nhà cung cấp cụ thể
27 Thời gian chờ của phiên
28 Thời gian chờ không hoạt động
29 Chấm dứt-Hành động
30 Đã gọi-Trạm-Id
31 Gọi-Trạm-Id
32 Mã định danh NAS
33 Trạng thái proxy
34 Đăng nhập-LAT-Dịch vụ
35 Đăng nhập-LAT-Node 3
36 Đăng nhập-LAT-Nhóm
37 Framed-AppleTalk-Link
38 Khung-AppleTalk-Mạng
39 Khung-AppleTalk-Zone
40-59 (dành riêng cho kế toán)
60 CHAP-Thử thách
61 Loại cổng NAS
62 Giới hạn cổng
63 Đăng nhập-LAT-Cổng

Ví dụ về yêu cầu bán kính

Hãy để chúng tôi xem xét ví dụ về Yêu cầu bán kính:

  • NAS tại địa chỉ 192.168.1.16 gửi gói Access-Request UDP đến RADIUS Server cho người dùng tên Nemo đăng nhập trên cổng 3 với mật khẩu "arctangent".

  • Trình xác thực yêu cầu là một số ngẫu nhiên 16 octet được tạo bởi NAS.

  • Mật khẩu người dùng có 16 octet được đệm ở cuối bằng null, được XOR với D5 (Chia sẻ bí mật | Trình xác thực yêu cầu).

  • 01 00 00 38 0f 40 3f 94 73 97 80 57 bd 83 d5 cb 98 f4 22 7a 01 06 6e 65 6d 6f 02 12 0d là 70 8d 93 d4 13 ce 31 96 e4 3f 78 2a 0a ee 04 06 c0 a8 01 10 05 06 00 00 00 03

  • 1 Mã = Truy cập-Yêu cầu (1)

    1 Định danh = 0

    2 Chiều dài = 56

    16 Trình xác thực yêu cầu

  • Danh sách thuộc tính

    6 Tên người dùng = "Nemo"

    18 Mật khẩu Người dùng

    6 Địa chỉ IP NAS = 192.168.1.16

    6 Cổng NAS = 3

Ví dụ về phản hồi bán kính

Đây là một ví dụ về các gói phản hồi:

  • Máy chủ Radius xác thực Nemo và gửi một gói Access-Accept UDP đến NAS để thông báo cho nó để telnet Nemo lưu trữ 192.168.1.3

  • Trình xác thực phản hồi là tổng kiểm tra MD5 16 octet của mã (2), id (0), Độ dài (38), Trình xác thực yêu cầu từ phía trên, các thuộc tính trong câu trả lời này và bí mật được chia sẻ.

  • 02 00 00 26 86 fe 22 0e 76 24 ba 2a 10 05 f6 bf 9b 55 e0 b2 06 06 00 00 00 01 0f 06 00 00 00 00 0e 06 c0 a8 01 03

  • 1 Mã = Truy cập-Chấp nhận (2)

    1 Định danh = 0 (giống như trong Yêu cầu Truy cập)

    2 Chiều dài = 38

    16 Trình xác thực phản hồi

  • Danh sách thuộc tính:

    6 Loại dịch vụ (6) = Đăng nhập (1)

    6 Đăng nhập-Dịch vụ (15) = Telnet (0)

    6 Đăng nhập-IP-Máy chủ (14) = 192.168.1.3

Đường kính là sự thay thế có kế hoạch của RADIUS. Nó là một giao thức AAA cho các ứng dụng như truy cập mạng và di động IP. Dưới đây là một số điểm mà bạn cần biết về Đường kính:

  • Nó được thiết kế để hoạt động trong cả tình huống AAA cục bộ và chuyển vùng.

  • Diameter chỉ gấp đôi Radius của giao thức tiền nhiệm.

  • Nó sử dụng TCP hoặc SCTP chứ không phải UDP.

  • Nó sử dụng bảo mật mức truyền tải (IPSEC hoặc TLS).

  • Nó có mã định danh 32 bit thay vì 8 bit.

  • Nó hỗ trợ chế độ không trạng thái cũng như trạng thái.

  • Nó hỗ trợ xác nhận lớp ứng dụng, xác định chuyển đổi dự phòng.

  • Nó cung cấp hỗ trợ chuyển vùng tốt hơn.

  • Nó sử dụng AVPs.

  • Đường kính cho phép xác định các lệnh và thuộc tính mới. Nó rất dễ dàng để mở rộng.

Tiếp theo là gì?

Bây giờ bạn đã có hiểu biết cơ bản về Bán kính và Đường kính. Để có thêm kiến ​​thức về các giao thức này, bạn cần xem qua các RFC khác nhau và các tài nguyên khác được đề cập trong phần Tài nguyên.