Các giao thức AAA

Một phần của tài liệu NGHIÊN CỨU CÁC GIẢI PHÁP ĐẢM BẢO AN NINH CHO MẠNG RIÊNG ẢO VPN (Trang 46 - 53)

1 TỔNG QUAN VỀ MẠNG RIÊNG ẢO

3.2.2Các giao thức AAA

Nhiều giao thức đòi hỏi nhận thực trước khi cung cấp sự cho phép và quyền truy nhập tới user hay thiết bị. TACACS+ và RADIUS là hai giao thức trội hơn hẳn, được thực hiện với các server bảo mật và được các thiết bị mạng sử dụng. Giao thức thứ ba là Kerberos, nó được sử dụng trong một vài môi trường doanh nghiệp để xác nhận người sử dụng và các dịch vụ mạng mà họ sử dụng trước khi công nhận đặc

quyền truy nhập. Các giao thức này chuyển thông tin giữa thiết bị mạng và server bảo mật.

3.2.2.1 TACACS+

Hệ thống điều khiển truy nhập những thiết bị điều khiển truy nhập đầu cuối nâng cao (Terminal Access Controller Access Control Plus – TACACS+) là một giao thức server bảo mật, nó cho phép điều khiển các user thử nhận được quyền truy nhập vào các thiết bị mạng. TACACS+ là thế hệ mới nhất của giao thức TACACS. TACACS ban đầu là giao thức dựa trên truy nhập UDP (User Datagram Protocol –

UDP), nó dàn xếp sự truy nhập của user. TACACS+ sử dụng TCP làm giao thức

vận chuyển của nó và các server thường lắng nghe ở cổng 49. Các chức năng của nó được dựa trên quan hệ server/client cổ điển, sử dụng hỏi đáp trong một khuôn dạng thuật toán để quyết định liệu các user có được nhận thực, cho phép và thanh toán hay không.

a. Lợi ích của TACACS+

TACACS+ sử dụng TCP như một giao thức thông tin để thông tin giữa thiết bị mạng và server bảo mật trên cổng dành riêng số 49. TCP tương phản với UDP, nó đã được chọn một phần vì khả năng vốn có của nó để phát lại các gói dữ liệu một cách an toàn. Tuy nhiên, mào đầu 12 byte của gói tin TACACS+ được gửi dưới dạng tường minh. Hình 3.1 chỉ ra mào đầu của goi tin TACACS+

Hình 3.1: Mào đầu gói tin TACACS+

b. Quá trình nhận thực của TACACS+

Giao thức TACACS+ chuyển tiếp nhiều kiểu thông tin username, password. Thông tin được mã hoá trên mạng với thuật toán mã hoá MD5. Nhận thực TACACS+ cũng hỗ trợ các đòi hỏi đa thách thức và đáp ứng từ các server TACACS+.

Server TACACS+ có thể nhận thực một user dựa trên dữ liệu username, password lưu trữ bên trong nó hay nó có thể hoạt động như một client để nhận thực userr dựa trên các hệ thống nhận thực khác riêng biệt như là các bộ điều khiển tên miền Windows NT. Quá trình nhận thực TACACS+ bắt đầu với server truy nhập mạng gửi bản tin START tới server TACACS+. Gói tin START luôn được gửi như là gói tin đầu tiên trong quá trình nhận thực hay sau khi khởi động lại.

Phụ thuộc vào việc nhận gói tin START từ server truy nhập mạng, server TACACS+ gửi một gói tin REPLY có đặt giá trị GET USER. Điều này sẽ đưa cho client với gợi ý username. Server truy nhập nhận các thông tin yêu cầu và đưa trả về server TACACS+ trong gói tin CONTINUE. Nếu username được tìm thấy hoặc trong cơ sở dữ liệu nội hạt trên server TACACS+ hoặc trong cơ sở dữ liệu bên ngoài thì server gửi gói tin REPLY khác với giá trị đặt là GET PASS. Điều này sẽ đưa cho client với gợi ý password. Server truy nhập lại nhận thông tin yêu cầu và đưa nó cho server TACACS+ trong gói tin CONTINUE. Nếu password được tìm thấy hoặc trong cơ sở dữ liệu nội hạt trên server TACACS+ hoặc trong cơ sở dữ liệu bên ngoài và nó so sánh với password của username tương ứng thì server gửi một gói tin REPLY với giá trị được đặt là ACCEPT hay REJECT. Quá trình nhận thực được chỉ ra chi tiết trong hình 3.2:

Chú ý: Một gói tin TACACS+ có thể được gửi từ server bảo mật tới server truy nhập mạng. Gói tin ERROR được gửi trong sự kiện lỗi nghẽn mạng trong pha nhận thực. Nếu server truy nhập mạng nhận được gói tin ERROR từ server bảo mật thì nó sẽ thử nhận thực client sử dụngphương pháp được cấu hình trong danh sách phương pháp.

Hình 3.2: Nhận thực TACACS+

c. Quá trình cho phép TACACS+

Không giống như quá trình nhận thực, quá trình cho phép TACACS+ chỉ định nghĩa hai kiểu gói tin, REQUEST và RESPONSE. Quá trình nhận thực bắt đầu với server truy nhập mạng gửi tới server TACACS+ một gói tin REQUEST yêu cầu sự cho phép. Gói tin REQUEST chứa các giá trị nhất định, các giá trị nó gửi cho server TACACS+ để phân biệt user. Các giá trị bao gồm:

− Phương pháp nhận thực.

− Mức đặc quyền.

− Kiểu nhận thực.

− Dịch vụ nhận thực.

Sau khi nhận gói tin REQUEST từ server truy nhập mạng, server TACACS+ quyết định các sự cho phép user và gửi lại gói tin RESPONSE có các thuộc tính cho server truy nhập mạng. Quá trình cho phép TACACS+ như hình 3.3:

Hình 3.3: Quá trình cho phép TACACS+

d. Quá trình thanh toán TACACS+

Thanh toán thường là pha cuối cùng của kiến trúc AAA. Pha thanh toán TACACS+ và pha cho phép giống nhau. Quá trình thanh toán bắt đầu với server truy nhập mạng gửi gói tin REQUEST tới server TACACS+. Gói tin REQUEST chứa nhiều giá trị giống như gói tin REQUEST trong quá trình cho phép. Sau khi nhận được gói REQUEST, server TACACS+ công nhận yêu cầu bằng gói RESPONSE chỉ ra rằng tất cả thanh toán diễn ra đúng.

3.2.2.2 RADIUS

RADIUS (Remote Access Dial In User Service) là một giao thức bảo mật

Internet được phát triển bởi Livingston Enterprises. RADIUS sử dụng UDP như giao thức vận chuyển của nó và nói chung được coi như là dịch vụ kết nối không hướng. Các client RADIUS chạy trên các router và gửi các yêu cầu tới server RADIUS chứa đựng tất cả các uỷ nhiệm nhận thực của user. Danh sách sau đây gồm một vài khía cạnh chính làm nên sự thành công của RADIUS:

− Giao thức mở.

− Dựa trên kiến trúc client/server.

− Thực hiện mã hoá giữa client và server. (adsbygoogle = window.adsbygoogle || []).push({});

− Nhận thực tập trung.

− Thao tác với các giao thức khác.

RADIUS là giao thức hoàn toàn mở, có nghĩa là mã nguồn sẵn có và có thể thay đổi để lam việc với bất kỳ hệ thống bảo mật nào trên thị trường. Điều này cho phép RADIUS hoàn toàn thích hợp với các nhu cầu riêng biệt của môi trường khác nhau. RADIUS dựa trên kiểu client/server. Máy từ xa hoạt động như một client và server RADIUS bảo mật ở đầu kia điều khiển sự nhận thực.

RADIUS cung cấp kiểu AAA như TACACS+ cung cấp. Tuy nhiên, RADIUS tổ hợp nhận thực với cho phép và chỉ phân chia sự thanh toán . RADIUS có thể tương tác với các giao thức nhận thực khác như là TACACS, XTACACS và TACACS+.

a. Quá trình nhận thực của RADIUS:

RADIUS cung cấp nhiều phương pháp nhận thực cho các user. Server RADIUS có thể nhận thực cho một user dựa trên danh sách username hay password bên trong chính nó hay nó có thể hoạt động như một client để nhận thực cho user dựa trên các hệ thống nhận thực khác như bộ điều khiển tên miền Windows NT. Dĩ nhiên, phương pháp được sử dụng phụ thuộc vào sự thực thi của nhà cung cấp riêng biệt. Điển hình, đăng nhập của người sử dụng được truy vấn từ server truy nhập mạng tới server RADIUS và một đáp ứng được gửi từ server RADIUS. Đăng nhập của người sử dụng bao gồm một gói tin Access-Request và đáp ứng của server là một gói tin Access-Accept hay một gói tin Access-Reject. Gói tin Access-Request chứa username, password đã được mã hoá, địa chỉ IP và cổng. Sau khi server RADIUS nhận gói tin Access-Request thì nó bắt đầu truy vấn cơ sở dữ liệu để tìm cặp username, password phù hợp. Nếu không thấy phù hợp thì server gửi gói tin Access-Reject cho server truy nhập mạng. Nếu tìm thấy sự phù hợp thì server gửi gói tin Access-Accept cho server truy nhập mạng. Chi tiết như hình 3.4:

Hình 3.4: Quá trình nhận thực của RADIUS

Chú ý: Có đáp ứng thứ ba mà server RADIUS có thể sử dụng là Access- Challenge. Một gói tin thách thức được gửi từ server RADIUS để hỏi server truy nhập mạng để thu thập thêm dữ liệu từ client. Các gói tin thách thức được gửi trong phiên thiết lập.

b. Quá trình cho phép của RADIUS:

Như đã đề cập ở trên, RADIUS tổ hợp cả nhận thực và cho phép, nhưng ở góc độ nào đó thì chúng vẫn có sự khác biệt. Quá trình nhận thực RADIUS pải được hoàn thành trước khi quá trình cho phép bắt đầu. Sau khi server RADIUS tìm thấy trong cơ sở dữ liệu một cặp username, password phù hợp, server RADIUS trả một đáp ứng Access-Accept cho server truy nhập mạng. Tại thời điểm này, server RADIUS bọc trong gói tin Access-Accept một danh sách các cặp giá trị thuộc tính (attribute-value) mà nó xác định các thông số được sử dụng cho phiên này.

Server truy nhập mạng và server RADIUS truyền các thông tin thanh toán giữa chúng trên UDP cổng 1646. Trách nhiệm của server truy nhập mạng là gửi thông tin thanh toán cho server RADIUS sau khi nhận thực và cho phép được hoàn thành và nó được thực hiện bằng cách gửi gói tin Accounting-Request cho server. Đây được xem như gói tin Accouting-Start. Vì RADIUS thực hiện các dịch vụ sử dụng giao thức UDP nên server RADIUS chịu trách nhiệm công nhận gói tin Accounting-Request bằng một gói tin Accounting-Response. Khi phiên hoàn thành thì server truy nhập mạng gửi một gói tin Accounting-Request khác tới server bảo mật RADIUS để chi tiết các dịch vụ được phân phát. Đây được coi như gói tin Accounting-Stop. Cuối cùng, server bảo mật RADIUS gửi gói tin Accounting- Response cho server truy nhập mạng đẻ công nhận việc chấp nhận gói tin stop. Chi tiết như hình 3.5:

Hình 3.5: Quá trình thanh toán của RADIUS

Một phần của tài liệu NGHIÊN CỨU CÁC GIẢI PHÁP ĐẢM BẢO AN NINH CHO MẠNG RIÊNG ẢO VPN (Trang 46 - 53)