CHƯƠNG 1 : TỔNG QUAN VỀ AN NINH MẠNG
3.1. Tổng quan AAA
Hình 3-21 Mơ hình AAA chung
AAA 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 tồ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 uỷ 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), uỷ quyền (authorization) và kiểm toán (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ể kích hoạt các dịch vụ AAA trên router, switch, firewall, các thiết bị VPN, server…
Các dịch vụ AAA bao gồm ba phần, xác thực (authentication), Uỷ quyền (accounting) và kiểm tốn (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.
3.1.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, tuỳ thuộc vào giao thức mà AAA hỗ trợ mã hố đến đâu, ít nhất thì cũng mã hố 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à VIET
và mật khẩu là Vieth@nIT 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.
3.1.2. Uỷ quyền (Authorization)
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 VIET sau khi đã xác thực thành cơng có thể chỉ được phép
truy cập vào server VIETHANIT_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.
Ví dụ: Trong trường hợp của một nhà cung cấp dịch vụ Internet, nó có thể quyết
định liệu một địa chỉ IP tĩnh được cho là trái ngược với một địa chỉ DHCP được giao. Các quản trị hệ thống định nghĩa những quy tắc này.
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.
3.1.3. Kiểm tốn (Accounting)
Kiểm tố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 ngun 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 tố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à VIET đã truy cập vào VIETHANIT_SERVER bằng giao thức FTP với số lần là 5 lần. Điểm chính trong kiểm tốn đó là cho phép người quản trị giám sát tích cực và tiên đốn được dịch vụ và việc sử dụng tài ngun. 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.1.4. Giao thức sử dụng trong dịch vụ AAA
3.1.4.1. Giới thiệu
Hình 3-22 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 hồn tồ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.
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.1.4.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.
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 q 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 Tồn bộ payload được mã hố với TACACS+ bằng cách sử dụng một khố 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ố hay khơng.
o TACACS+ mã hố tồn bộ gói bằng việc sử dụng khố 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ố hay khơng. Thường thì trong tồn bộ thao tác, body của một gói được mã hố hồn tồn để truyền thơng an tồ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:
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 ln ln đượ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_versio n
Minor_version Type Seq_no Flags
Session_id Length Hình 3-4: Đị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:
- 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ã hố của gói TACACS. Giá trị 1 là chưa mã hố, giá trị 0 là gói tin đã được mã hố.
+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 q trình xác thực đã hồ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.1.4.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 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 PIX 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 PIX 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:
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 tồ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 PIX Firewall (để quản trị,vpn …). Các Cisco PIX 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 PIX Firewall.
Các Cisco PIX 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
Code Identifier Length Request Authenticator
Cisco PIX 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.2. Dịch vụ AAA trên CISCO PIX FIREWALL
3.2.1. Đặc điểm của AAA trên PIX FIREWALL.
Đặc điểm của AAA khi sử dụng với PIX Firewall gồm:
- Client cần truy nhập đến một dịch vụ nào đó. PIX 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.
- PIX 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 PIX 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 PIX firewall sử dụng một trong 3 phương pháp sau:
- Telnet: dấu nhắc được phát ra bởi Pix, mỗi user có 4 lần log in. Nếu username