1.1. Giới thiệu tổng quan AAA
1.1.1. Việc sử dụng AAA trong vấn đề bảo mật và điều khiển truy cập mở rộng trong mạng
Các nhà quản trị mạng ngày nay phải điều khiển việc truy cập cũng như giám sát thông tin mà người dùng đầu cuối đang thao tác. Những việc làm đó có thể đưa đến thành công hay thất bại của công ty. Với ý tưởng đó, AAA là cách thức tốt nhất để giám sát những gì mà người dùng đầu cuối có thể làm trên mạng. Ta có thể xác thực (authentication) người dùng, cấp quyền (authorization) cho người dùng, cũng như tập hợp được thông tin như thời gian bắt đầu hay kết thúc của người dùng (accounting). Như ta thấy, bảo mật là vấn đề rất quan trọng.
Với mức độ điều khiển, thật dễ dàng để cài đặt bảo mật và quản trị mạng. Ta có thể định nghĩa các vai trò (role) đưa ra cho user những lệnh mà họ cần để hoàn thành nhiệm vụ của họ và theo dõi những thay đổi trong mạng. Với khả năng log lại các sự kiện, ta có thể có những sự điều chỉnh thích hợp với từng yêu cầu đặt ra.
Tất cả những thành phần này là cần thiết để duy trì tính an toàn, bảo mật cho mạng. Với thông tin thu thập được, ta có thể tiên đoán việc cập nhật cần thiết theo thời gian. Yêu cầu bảo mật dữ liệu, gia tăng băng thông, giám sát các vấn đề trên mạng,… tất cả đều có thể tìm thấy trên dịch vụ AAA.
1.1.2. Tổng quan AAA
AAA [1] cho phép nhà quản trị mạng biết được các thông tin quan trọng về tình hình cũng như mức độ an toàn trong mạng. Nó cung cấp việc xác thực (authentication) người dùng nhằm bảo đảm có thể nhận dạng đúng người dùng. Một khi đã nhận dạng người dùng, ta có thể giới hạn thẩm quyền (authorization) mà người dùng có thể làm. Khi người dùng sử dụng mạng, ta cũng có thể giám sát tất cả những gì mà họ làm. AAA với ba phần xác thực (authentication), cấp quyền (authorization), tính cước (accounting) là các phần riêng biệt mà ta có thể sử dụng trong dịch vụ mạng, cần thiết để mở rộng và bảo mật mạng.
AAA có thể dùng để tập hợp thông tin từ nhiều thiết bị trên mạng. Ta có thể bật các dịch vụ AAA trên router, switch, firewall, các thiết bị VPN, server, …
1.1.3. Định nghĩa AAA
Các dịch vụ AAA được chia thành ba phần, xác thực (authentication), cấp quyền (accounting), tính cước (accounting). Ta sẽ tìm hiểu sự khác nhau của ba phần này và cách thức chúng làm việc như thể nào. Điều quan trọng nhất là hiểu về các kiểu khác nhau của tính cước (accounting).
1.1.3.1.Xác thực (Authentication)
Xác thực dùng để nhận dạng (identify) người dùng. Trong suốt quá trình xác thực, username và password của người dùng được kiểm tra và đối chiếu với cơ sở dữ liệu lưu trong AAA Server. Tất nhiên, tùy thuộc vào giao thức mà AAA hỗ trợ mã hóa đến đâu, ít nhất thì cũng mã hóa username và password.
Xác thực sẽ xác định người dùng là ai. Ví dụ: Người dùng có username là THIEN và mật khẩu là L@bOnlin3 sẽ là hợp lệ và được xác thực thành công với hệ thống. Sau khi xác thực thành công thì người dùng đó có thể truy cập được vào mạng. Tiến trình này chỉ là một trong các thành phần để điều khiển người dùng với AAA. Một khi username và password được chấp nhận, AAA có thể dùng để định nghĩa thẩm quyền mà người dùng được phép làm trong hệ thống.
1.1.3.2.Thẩm quyền (Authorization)
Authorization 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 làm. Do đó, người dùng phải được xác thực trước khi cấp quyền cho người đó.
AAA Authorization 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 THIEN sau khi đã xác thực thành công có thể chỉ được phép truy cập vào server VNLABPRO_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).
1.1.3.3.Tính cước (Accounting)
Accounting 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, accounting 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à THIEN đã truy cập vào VNLABPRO_SERVER bằng giao thức FTP với số lần là 5 lần. Điểm chính trong Accounting đó 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.
2.1.Giao thức sử dụng cho dịch vụ AAA
2.1.1.Giới thiệu
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 [1] được dùng từ một thiết bị như là server truy cập mạng (NAS) đến AAA server. Xem xét một cuộc gọi từ xa như hình 2.1. 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.
2.1.2.Tổng quan về TACACS
TACACS là giao thức được chuẩn hóa 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:
·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.
·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.
·Toàn bộ payload được mã hóa với TACACS+ bằng cách sử dụng một khóa bí mật chung (shared secret key). TACACS+ đánh dấu một trường trong header để xác định xem thử có mã hóa hay không.
·TACACS+ mã hóa toàn bộ gói bằng việc sử dụng khóa 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ã hóa hay không. Thường thì trong toàn bộ thao tác, body của một gói được mã hóa hoàn toàn để truyền thông an toàn.
·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.
·TACACS+ hỗ trợ nhiều giao thức.
·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:
oPhươ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.
oPhươ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.
·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.
2.1.3.Tổng quan về RADIUS
RADIUS là giao thức bảo mật mạng dựa theo mô hình client-server. Nó dùng giao thức UDP. RADIUS server thường chạy trên máy tính. Client là các dạng thiết bị có thể truyền thông tin đến RADIUS server được chỉ định trước và sau đó đóng vai trò phúc đáp mà nó trả về. Giao tiếp giữa client và RADIUS server được xác thực thông qua việc sử dụng khóa bí mật chung không được truyền qua mạng.
Một số ưu điểm của RADIUS là:
·RADIUS có phần overhead ít hơn so với TACACS vì nó sử dụng UDP, trong phần overhead không có địa chỉ đích, port đích.
·Với cách thức phân phối dạng source code, RADIUS là dạng giao thức hoàn toàn mở rộng. Người dùng có thể thay đổi nó để làm việc với bất kì hệ thống bảo mật hiện có.
·RADIUS yêu cầu chức năng tính cước (accounting) mở rộng.
RADIUS thường được dùng để tính cước dựa trên tài nguyên đã sử dụng. Ví dụ như ISP sẽ tính cước cho người dùng về chi phí kết nối. Ta có thể cài đặt RADIUS Accounting mà không cần sử dụng RADIUS để xác thực và cấp quyền. Với chức năng accounting mở rộng, RADIUS cho phép dữ liệu được gửi từ các thiết bị xuất phát cũng như là thiết bị đích, từ đó giúp ta theo dõi việc sử dụng tài nguyên (thời gian, số lượng các gói tin, số lượng byte,...) trong suốt phiên làm việc.
1.1.1. Việc sử dụng AAA trong vấn đề bảo mật và điều khiển truy cập mở rộng trong mạng
Các nhà quản trị mạng ngày nay phải điều khiển việc truy cập cũng như giám sát thông tin mà người dùng đầu cuối đang thao tác. Những việc làm đó có thể đưa đến thành công hay thất bại của công ty. Với ý tưởng đó, AAA là cách thức tốt nhất để giám sát những gì mà người dùng đầu cuối có thể làm trên mạng. Ta có thể xác thực (authentication) người dùng, cấp quyền (authorization) cho người dùng, cũng như tập hợp được thông tin như thời gian bắt đầu hay kết thúc của người dùng (accounting). Như ta thấy, bảo mật là vấn đề rất quan trọng.
Với mức độ điều khiển, thật dễ dàng để cài đặt bảo mật và quản trị mạng. Ta có thể định nghĩa các vai trò (role) đưa ra cho user những lệnh mà họ cần để hoàn thành nhiệm vụ của họ và theo dõi những thay đổi trong mạng. Với khả năng log lại các sự kiện, ta có thể có những sự điều chỉnh thích hợp với từng yêu cầu đặt ra.
Tất cả những thành phần này là cần thiết để duy trì tính an toàn, bảo mật cho mạng. Với thông tin thu thập được, ta có thể tiên đoán việc cập nhật cần thiết theo thời gian. Yêu cầu bảo mật dữ liệu, gia tăng băng thông, giám sát các vấn đề trên mạng,… tất cả đều có thể tìm thấy trên dịch vụ AAA.
1.1.2. Tổng quan AAA
AAA [1] cho phép nhà quản trị mạng biết được các thông tin quan trọng về tình hình cũng như mức độ an toàn trong mạng. Nó cung cấp việc xác thực (authentication) người dùng nhằm bảo đảm có thể nhận dạng đúng người dùng. Một khi đã nhận dạng người dùng, ta có thể giới hạn thẩm quyền (authorization) mà người dùng có thể làm. Khi người dùng sử dụng mạng, ta cũng có thể giám sát tất cả những gì mà họ làm. AAA với ba phần xác thực (authentication), cấp quyền (authorization), tính cước (accounting) là các phần riêng biệt mà ta có thể sử dụng trong dịch vụ mạng, cần thiết để mở rộng và bảo mật mạng.
AAA có thể dùng để tập hợp thông tin từ nhiều thiết bị trên mạng. Ta có thể bật các dịch vụ AAA trên router, switch, firewall, các thiết bị VPN, server, …
1.1.3. Định nghĩa AAA
Các dịch vụ AAA được chia thành ba phần, xác thực (authentication), cấp quyền (accounting), tính cước (accounting). Ta sẽ tìm hiểu sự khác nhau của ba phần này và cách thức chúng làm việc như thể nào. Điều quan trọng nhất là hiểu về các kiểu khác nhau của tính cước (accounting).
1.1.3.1.Xác thực (Authentication)
Xác thực dùng để nhận dạng (identify) người dùng. Trong suốt quá trình xác thực, username và password của người dùng được kiểm tra và đối chiếu với cơ sở dữ liệu lưu trong AAA Server. Tất nhiên, tùy thuộc vào giao thức mà AAA hỗ trợ mã hóa đến đâu, ít nhất thì cũng mã hóa username và password.
Xác thực sẽ xác định người dùng là ai. Ví dụ: Người dùng có username là THIEN và mật khẩu là L@bOnlin3 sẽ là hợp lệ và được xác thực thành công với hệ thống. Sau khi xác thực thành công thì người dùng đó có thể truy cập được vào mạng. Tiến trình này chỉ là một trong các thành phần để điều khiển người dùng với AAA. Một khi username và password được chấp nhận, AAA có thể dùng để định nghĩa thẩm quyền mà người dùng được phép làm trong hệ thống.
1.1.3.2.Thẩm quyền (Authorization)
Authorization 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 làm. Do đó, người dùng phải được xác thực trước khi cấp quyền cho người đó.
AAA Authorization 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 THIEN sau khi đã xác thực thành công có thể chỉ được phép truy cập vào server VNLABPRO_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).
1.1.3.3.Tính cước (Accounting)
Accounting 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, accounting 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à THIEN đã truy cập vào VNLABPRO_SERVER bằng giao thức FTP với số lần là 5 lần. Điểm chính trong Accounting đó 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.
2.1.Giao thức sử dụng cho dịch vụ AAA
2.1.1.Giới thiệu
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 [1] được dùng từ một thiết bị như là server truy cập mạng (NAS) đến AAA server. Xem xét một cuộc gọi từ xa như hình 2.1. 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.
2.1.2.Tổng quan về TACACS
TACACS là giao thức được chuẩn hóa 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:
·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.
·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.
·Toàn bộ payload được mã hóa với TACACS+ bằng cách sử dụng một khóa bí mật chung (shared secret key). TACACS+ đánh dấu một trường trong header để xác định xem thử có mã hóa hay không.
·TACACS+ mã hóa toàn bộ gói bằng việc sử dụng khóa 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ã hóa hay không. Thường thì trong toàn bộ thao tác, body của một gói được mã hóa hoàn toàn để truyền thông an toàn.
·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.
·TACACS+ hỗ trợ nhiều giao thức.
·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:
oPhươ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.
oPhươ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.
·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.
2.1.3.Tổng quan về RADIUS
RADIUS là giao thức bảo mật mạng dựa theo mô hình client-server. Nó dùng giao thức UDP. RADIUS server thường chạy trên máy tính. Client là các dạng thiết bị có thể truyền thông tin đến RADIUS server được chỉ định trước và sau đó đóng vai trò phúc đáp mà nó trả về. Giao tiếp giữa client và RADIUS server được xác thực thông qua việc sử dụng khóa bí mật chung không được truyền qua mạng.
Một số ưu điểm của RADIUS là:
·RADIUS có phần overhead ít hơn so với TACACS vì nó sử dụng UDP, trong phần overhead không có địa chỉ đích, port đích.
·Với cách thức phân phối dạng source code, RADIUS là dạng giao thức hoàn toàn mở rộng. Người dùng có thể thay đổi nó để làm việc với bất kì hệ thống bảo mật hiện có.
·RADIUS yêu cầu chức năng tính cước (accounting) mở rộng.
RADIUS thường được dùng để tính cước dựa trên tài nguyên đã sử dụng. Ví dụ như ISP sẽ tính cước cho người dùng về chi phí kết nối. Ta có thể cài đặt RADIUS Accounting mà không cần sử dụng RADIUS để xác thực và cấp quyền. Với chức năng accounting mở rộng, RADIUS cho phép dữ liệu được gửi từ các thiết bị xuất phát cũng như là thiết bị đích, từ đó giúp ta theo dõi việc sử dụng tài nguyên (thời gian, số lượng các gói tin, số lượng byte,...) trong suốt phiên làm việc.
Đăng nhận xét