Mô hình bảo mật dựa trên ngƣời dùng (User-Based Security Model)

Một phần của tài liệu Nghiên cứu giải pháp an ninh trong một số kiến trúc quản trị mạng (Trang 45)

2.4.3.1. Định nghĩa User-Based Security Model (USM)

USM là mô hình bảo mật thực hiện dịch vụ bảo mật trong các thông báo của SNMPv3, nó dùng kết hợp các phƣơng pháp xác thực (authentication) và bảo mật (privacy). Hai yêu cầu quan trọng cần thiết cho mô hình bảo mật, đó là một cho chế độ bảo mật (dùng mật mã hoặc khóa bảo mật, privKey) và một cho chế độ xác thực (dùng khóa authentication, authKey). Các khóa không đƣợc lƣu trữ trong MIB của node. Vì vậy kẻ tấn công không thể truy cập trực tiếp thông qua SNMP get hoặc set.

Hình 2.17 – Định dạng thông báo SNMPv3 với USM

2.4.3.2. Các phƣơng thức sử dụng trong USM

Xác thực và toàn vẹn (Authentication and Integrity)

Đối với chứng thực ngƣời gửi và kiểm tra tính toàn vẹn của thông báo USM hỗ trợ hai giao thức xác thực khác nhau, cả hai đều sử dụng rộng rãi dựa trên một HMAC. HMAC-MD5-96 là một giao thức, sử dụng MD5 (Message Digest algorithm) cho việc băm. Các HMAC-SHA-96, sử dụng SHA-1 (SHA-1 là một thuật toán băm đang đƣợc chính phủ Mỹ sử dụng) cho việc băm. Đầu vào cho cả hai chức năng băm là những thông báo đƣợc gửi đi và khóa xác thực bí mật của ngƣời dùng (authKey). Cả hai hàm băm cùng đƣa ra một đầu ra, trong cả hai trƣờng hợp đều cắt ngắn 12 octet của một mã xác thực thông báo Message Authentication Code (MAC). Tính toán và cắt ngắn MAC sau đó nối vào thông báo đƣợc gửi đi.

Thông báo nhận đƣợc và authKey bí mật đƣợc sử dụng nhƣ là đầu vào cho HMAC để tính MAC khi đã nhận đƣợc thông báo. Bây giờ, tính MAC khi đã nhận đƣợc thông báo, nếu mà MAC đã đƣợc tính đó không giống MAC của thông báo gửi thì thông báo đó đƣợc bỏ qua. Nếu MAC đã đƣợc tính giống MAC của thông báo gửi, có thể chắc chắn về hai điều:

- Tính toàn vẹn: Thông báo không thể thay đổi đƣợc trong quá trình truyền. Một kẻ tấn công sẽ phải biết authKey bí mật để thay đổi các thông báo thì mới không bị phát hiện.

- Tính xác thực: Nếu với khóa bí mật chỉ đƣợc biết đến bởi bên gửi và bên nhận, ngƣời ta có thể chắc chắn rằng thông báo đƣợc gửi đi bởi các bên đã đảm bảo tính xác thực.

Hình 2.18 – Định dạng gói tin sử dụng USM

Xác minh kịp thời của thông báo (Timeliness Verification of Messages)

Chức năng bảo mật và chứng thực đƣợc mô tả không ngăn chặn đƣợc tấn công làm trễ thông báo hoặc phát lại thông báo, các cuộc tấn công đó sẽ không bị phát hiện trừ khi thực sự không có gì khác thƣờng trong các thông báo phát lại. Để SNMPv3 thực hiện các an ninh đối với các loại hình thao tác tấn công vào lƣu lƣợng, USM có một cơ chế kịp thời. Trên thực tế, SNMPv3 yêu cầu các thông báo nhận đƣợc nằm trong một cửa sổ thời gian một cách hợp lý.

Cơ chế kịp thời dựa trên hai công cụ đối lập nhau: snmpEngineBoots và snmpEngineTime. Khi một SNMP Engine (phần mềm SNMPv3 trên node quản trị) đƣợc cài đặt, cả hai giá trị đƣợc thiết lập về 0. Sau khi công cụ SNMP đã đƣợc bắt đầu, snmpEngineTime đƣợc tăng lên một lần mỗi giây. Nếu snmpEngineTime đạt

giá trị tối đa (231

- 1) giây, snmpEngineBoots đƣợc tăng lên. Sau đó snmpEngineTime đƣợc thiết lập để về 0 và chu kỳ lại tiếp tục. Sử dụng một cơ chế đồng bộ hóa phức tạp, một công cụ SNMP quản trị node duy trì một tính toán các giá trị thời gian cho mỗi node quản trị mà nó giao tiếp. Những giá trị tính toán này đƣợc đặt trong mỗi thông báo gửi đi. Các SNMP engine quản trị node tiếp nhận sau đó quyết định việc có hoặc không chấp nhận thông báo đến trong cửa sổ thời gian của 150 giây. Nếu thông báo không phù hợp với cửa sổ thời gian, nó chỉ đơn giản là sẽ bỏ qua.

Bảo mật trong suốt quá trình mã hóa (Privacy Through Encryption)

Đối với bảo mật, USM sử dụng tiêu chuẩn mã hóa dữ liệu để mã hóa thông báo.Chính xác hơn các phƣơng thức CBC - DES đƣợc sử dụng.Các mã hóa của thông báo là tùy chọn.Cũng giống nhƣ khóa xác thực, khóa mã khóa đã đƣợc thiết lập tại chính các node quản trị.

Sử dụng khóa bí mật (đối xứng) để mã hóa hệ thống SNMPv3 thì sẽ tăng thêm khó khăn. Việc quản trị khóa tốt sẽ là một giải pháp ra an ninh. Nếu tất cả các node quản trị có khóa bí mật khác nhau đƣợc quản trị bí mật thì khi trạm quản trị có đƣợc số khóa bí mật đó thì có thể quản trị các node. Các thiết lập mới và việc quản trị các khóa nhanh chóng sẽ trở thành khó khăn. Nếu các trạm quản trị là bị hack và các khóa bí mật bị xâm nhập, tất cả các node phải đƣợc cấu hình lại bằng tay. Mặt khác nếu muốn sử dụng một và cùng một khóa bí mật ở tất cả các node đƣợc quản trị trong mạng thì vấn đề này ảnh hƣởng đến sự bí mật của khóa bí mật, điều này ảnh hƣởng tới an ninh của toàn bộ hệ thống quản trị, đó là tất cả các node có thể đƣợc quản trị vì dùng chung một khóa bí mật. Tuy nhiên trong USM vấn đề này đƣợc giải quyết bằng cách sử dụng một kỹ thuật gọi là định vị khóa vào mỗi node. Việc tạo khóa, cập nhật và quản trị đƣợc mô tả trong RFC-2274. Ý tƣởng là để tạo ra một khóa duy nhất (gọi là khóa chính) cho mỗi ngƣời dùng SNMP bằng cách sử dụng mật khẩu của ngƣời sử dụng và snmpEngineID, ID là của SNMP Engine.

2.4.4. Kiểm soát truy cập (View-Based Access Control)

Nói chung, có tồn tại nhiều cách khác nhau để quản trị kiểm soát truy cập, đó là, xác định các quyền truy cập của một ngƣời dùng từ xa để có thể thay đổi hoặc xem MIB cục bộ. Điều này có nghĩa rằng việc kiểm soát truy cập là một chức năng

bảo mật đƣợc thực hiện ở cấp PDU. Cơ chế kiểm soát truy cập dự định đƣợc sử dụng với SNMPv3 đƣợc gọi là View-Based Access Control (VACM), quy định tại RFC-2575.

Các VACM đƣợc quy định để xác định đúng truy cập cho mỗi nhóm cơ sở. Điều này khác với USM, USM thì xác định việc chứng thực của ngƣời sử dụng cá nhân. Trong VACM mỗi ngƣời dùng đã bao gồm trong một số nhóm và các nhóm khác nhau đó có thể đƣợc cấp mức độ bảo mật khác nhau. Điều này có nghĩa rằng có thể xảy ra các tình huống nhƣ một nhóm các nhà quản trị chính, có kiểm soát cuối cùng để thay đổi tất cả các thông số trong tất cả các node đƣợc quản trị. Ngoài ra, có thể có một nhóm nhỏ, mà những nhà quản trị quan sát và sẽ cấp quyền truy cập chỉ để đọc một số phần của mỗi MIB cục bộ.

Về cơ bản, một ứng dụng SNMPv3 sử dụng VACM qua isAccessAllowed gốc. Các tham số đầu vào là securityModel (mô hình an ninh đang đƣợc sử dụng), securityName, securitylevel, viewType (loại xem), contextName (bối cảnh bị truy cập), và variableName (biến đƣợc truy cập). Các thông số này là cần thiết cho các quyết định điều khiển truy cập trong VACM.

Các quyền truy cập đƣợc lƣu trong các bảng khác nhau tại các node và mỗi bảng đƣợc tra cứu để xác định đúng yêu cầu truy cập của ngƣời quản trị. Thủ tục kiểm tra các quyền truy cập trong mô hình VACM thông qua các bảng điều khiển truy cập khác nhau đƣợc minh họa trong hình 2.19, thủ tục này dựa trên những khái niệm sau đây:

• " Who - Ai" là đối tƣợng của hoạt động và đƣợc định nghĩa bởi securityModel và securityName. Đó là đối tƣợng thuộc về một nhóm node SNMPv3. Sử dụng sự kết hợp securityModel và một securityName có thể tìm thấy những groupName tƣơng ứng từ vacmSecurityToGroupTable.

• Các contextName quy định cụ thể "Where - ở đâu" đối tƣợng muốn quản trị có thể đƣợc tìm thấy. Đây là truy vấn từ vacmContextTable để xem, nếu phạm vi yêu cầu đã tồn tại.

• "How - Làm thế nào" là sự kết hợp của securityModel và securitylevel và nó định nghĩa nhƣ thế nào để đến yêu cầu đƣợc bảo vệ. Sự kết hợp của những “Who”, “Where”, và “How” là một trong những thực thể chính trong trong vacmAccessTable.

• Các viewType quy định cụ thể loại hình yêu cầu truy cập ("Why - tại sao"). Các tùy chọn là read, write, hoặc thông báo yêu cầu truy cập. Các mục chọn trong vacmAccessTable có một MIB viewName đối với từng loại hoạt động. Sau

đó, bằng cách sử dụng một viewType có thể truy vấn một viewName cụ thể. Sau đó, chỉ số viewName này xem MIB thích hợp trong vacmViewTreeFamilyTable.

• Các đối tƣợng của hoạt động SNMP ("What - cái gì") đƣợc định nghĩa bởi variableName này.

Quyết định truy cập cuối cùng đƣợc thực hiện bằng cách so sánh variableName với MIB xem.Nếu variableName đƣợc tìm thấy trong MIB xem, truy cập vào sẽ đƣợc cấp.

Hình 2.19 – Sơ đồ thực hiện VACM

2.5. Kết luận chƣơng 2

Trong chƣơng 3 này chúng ta đã nghiên cứu một trong những vấn đề đang rất đƣợc quan tâm trong những giao thức quan trị mạng. Do các thiết bị trong mạng ngày càng nhiều, từ nhu cầu muốn quản trị tất cả những thiết bị đó thì SNMP ra đời.

SNMP sử dụng UDP nhƣ là giao thức truyền tải thông tin giữa các manager và agent. Việc sử d(User Datagram Protocolụng UDP, thay vì TCP, bởi vì UDP là phƣơng thức truyền mà trong đó hai đầu thông tin không cần thiết lập kết nối trƣớc khi dữ liệu đƣợc trao đổi (connectionless), thuộc tính này phù hợp trong điều kiện mạng gặp trục trặc, hƣ hỏng v.v.

SNMP có các phƣơng thức quản trị nhất định và các phƣơng thức này đƣợc định dạng bởi các gói tin PDU (Protocol Data Unit). Các manager và agent sử dụng PDU để trao đổi với nhau.

Từ khi ra đời SNMP đã trải qua các phiên bản khác nhau nhƣng mỗi phiên bản ra đời thì đều có những khuyết điểm vầ bảo mật.

Do sử dụng community nhƣ là mật khẩu nên SNMPv1 là giao thức rất yếu về bảo mật. Các gói tin đƣợc gửi đi dƣới dạng thuần văn bản nên không chống đỡ đƣợc kiểu tấn công bằng cách nghe lén. Tính bảo mật kém, tên cộng đồng community đƣợc sử dụng nhƣ là mật khẩu để xác thực các thông điệp SNMP. Quản trị mạng dựa trên SNMPv1 có mức bảo mật thấp. Vì dữ liệu không mã hóa và không có thiết lập cụ thể để ngƣng bất kỳ truy nhập mạng trái phép nào khi tên community name và địa chỉ IP bị sử dụng để gửi yêu cầu giả mạo tới agent.

SNMPv2 ra đời giải quyết đƣợc vấn đề bảo mật của SNMPv1 nhƣng do nhóm SNMPv2 có quá nhiều phiên bản khác, các phiên bản này lại không tƣơng thích nhau nên không đƣợc các nhà sản xuất hỗ trợ và cuối cùng SNMPv2 lại quay trở lại sử dụng community nhƣ SNMPv1.

Vấn đề về bảo mật chỉ đƣợc giải quyết triệt để chỉ khi xuất hiện phiên bản SNMPv3. Trong phiên bản này đã sử dụng User-Based Security Model (USM) và View-Based Access Control (VACM). USM là mô hình bảo mật thực hiện dịch vụ bảo mật trong các thông báo của SNMPv3, nó dùng kết hợp các phƣơng pháp xác thực (authentication) và bảo mật (privacy). VACM là Cơ chế kiểm soát truy cập, có thể xác định quyền truy cập từ xa của một ngƣời để thay đổi hoặc xem MIB cục bộ. Vấn đề bảo mật trong việc truyền các thông điệp trên giao thức quản trị mạng dựa trên nền Web thì sao? Chúng ta sẽ nghiên cứu tiếp ở chƣơng 3 của luận văn này.

CHƢƠNG 3: QUẢN TRỊ MẠNG DỰA TRÊN WEB VÀ GIẢI PHÁP AN NINH

3.1. Quản trị mạng dựa trên Web (Web-Based Network Management)

Việc quản trị web, hoặc quản trị trên HTTP, sử dụng cùng một công nghệ và chức năng mà nền tảng cơ sở là World Wide Web. Sự phát triển nhanh chóng của giao thức TCP/IP, nơi các thông tin và các tính toán đƣợc chia sẻ tạo ra một cách suy nghĩ mới về quản trị mạng.

Trong Web-Based Network Management (WBM), bất kỳ trình duyệt hay một phần mềm có khả năng trong giao tiếp thông qua giao thức HTTP quen thuộc thì có thể đƣợc sử dụng cho các mục đích quản trị. Nghĩa là, nhiệm vụ quản trị có thể đƣợc thực hiện từ xa, từ node bất kỳ, từ node độc lập cho dù là trạm quản trị có quản trị trực tiếp hay không. Có 2 giải pháp thực hiện WBM là Proxy WBM và nhúng WBM.

3.1.2. Proxy WBM

Các kiến trúc cho các giải pháp Proxy WBM đƣợc hiển thị trong hình 3.1a. Trong giải pháp này mạng vẫn còn chứa các trạm quản trị riêng. Sự khác biệt duy nhất với cách quản trị truyền thống là các trạm quản trị ở đây bao gồm các máy chủ web đƣợc bổ sung để xử lý các yêu cầu cơ sở của HTTP và các phần mềm để xử lý các yêu cầu quản trị thiết bị. Bằng cách này, bất kỳ nhà quản trị nào sử dụng trình duyệt web từ xa có thể sử dụng các trạm quản trị, sau đó lần lƣợt liên lạc với node quản trị bởi các phƣơng tiện SNMP quen thuộc. Trong thực tế, mục đích của WBM này chỉ là để điều khiển từ xa cho các trạm quản trị SNMP. Lợi ích từ sự trao đổi này là khả năng tƣơng thích ngƣợc trong hệ thống hiện có: không cần phải có bất kỳ một thực hiện thay đổi nào với các node quản trị khi WBM đang đƣợc áp dụng. Sự thay đổi duy nhất là các trạm quản trị của mạng phải để thiết bị hiểu và thực hiện các lệnh quản trị dựa trên HTTP.

3.1.3. Nhúng WBM

Cách tiếp cận thứ hai là nhúng WBM nhằm đạt đƣợc việc quản trị mang tính độc lập, riêng biệt, việc quản trị riêng biệt trên đƣợc gọi là nhúng WBM. Kiến trúc này đƣợc minh họa trong hình 3.1b. Trong mô hình này các web server nhúng vào trong mỗi node quản trị. Ngƣời quản trị sử dụng một trạm quản trị và các ứng dụng quản trị bằng cách sử dụng giao thức HTTP. Phần mềm quản trị kết nối đến web server của node quản trị và theo cách này, thực hiện chức năng quản trị node. Các ứng dụng tại node có thể đƣợc thực hiện bằng cách sử dụng phƣơng pháp nhúng, ví dụ nhƣ nhúng Java. Cách tiếp cận này xuất hiện gần đây với ƣu điểm là hiệu suất và dung lƣợng của các thiết bị quản trị mạng đã đƣợc cải thiện. Nếu node quản trị có một JVM chạy bên trong, các nhiệm vụ quản trị có thể đƣợc thực hiện thậm chí chỉ cần bằng cách gửi các mã lệnh quản trị tới node để thực nhiệm vụ quản trị ngay tại chính node đó. (JVM là gì? Để chạy chƣơng trình Java, cần một phần mềm nữa phiên dịch mã bytecode cũng nhƣ cung cấp cho nó môi trƣờng và các dịch vụ cần thiết, tầng phần mềm này chính là JVM).

3.1.3. So sánh an ninh của các kiến trúc WBM (Security Comparison of WBM Architectures) Architectures)

Đã có những nghiên cứu quy mô lớn để đảm bảo sự an toàn của các giao dịch dựa trên HTTP trong WWW. Mã hóa (mã hóa khóa công khai) đƣợc sử dụng rộng rãi cũng nhƣ chữ ký số. Phần HTTP miêu tả Proxy WBM ban đầu có thể trực tiếp có đƣợc một an ninh tốt hơn so với hệ thống quản trị truyền thống, dựa trên hệ thống SNMP. Mặt khác, không có gì là đã đƣợc giải quyết chắc chắn trong an ninh của giao thức quản trị Proxy WBM đó, bởi vì giao thức thực đƣợc truyền trong mạng đó lại là SNMP không chắc chắn. Đó là lý do tại sao các Proxy WBM dễ bị tấn công nhƣ là SNMP. Thực tế các cuộc tấn công giả mạo và gián điệp vẫn còn. Trong tƣơng lai, SNMPv3 nó có khả năng sẽ đƣợc sử dụng để cung cấp an ninh cho Proxy WBM. Mang tất cả các ƣu điểm thì lợi ích chính của Proxy WBM vẫn là dễ dàng thực hiện quản trị thông qua một giao diện lạ mắt và có khả năng liên lạc với trạm quản trị từ bất kỳ một máy trạm nào trong mạng.

Nghiên cứu an ninh của nhúng WBM

Các đề án và kỹ thuật để thực hiện các giao vận an toàn xuyên suốt trên WWW có thể đƣợc sử dụng trong mô hình End-To-End. Đó là bởi vì do ngƣời

Một phần của tài liệu Nghiên cứu giải pháp an ninh trong một số kiến trúc quản trị mạng (Trang 45)

Tải bản đầy đủ (PDF)

(89 trang)