1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu tính năng bảo mật trong SNMP version 2 và xây dựng chương trình mô phỏng

84 726 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 1,7 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mạng cục bộ LAN-Local Area Network là hệ thống truyền thông tốc độcao được thiết kế để nối các máy tính và các thiết bị xử lý dữ liệu khác cùng hoạtđộng với nhau trong một khu vực

Trang 1

MỤC LỤC

DANH MỤC HÌNH VẼ 3

LỜI CẢM ƠN 5

LỜI MỞ ĐẦU 6

THUẬT NGỮ VÀ VIẾT TẮT 7

CHƯƠNG I: TỔNG QUAN VỀ MẠNG MÁY TÍNH VÀ QUẢN TRỊ MẠNG VỚI GIAO THỨC SNMP 8

1.1 Tổng quan về mạng máy tính 8

1.1.1 Mô hình OSI 8

1.1.2 Các công nghệ mạng máy tính 9

1.2 Tổng quan về quản trị mạng và giao thức SNMP 12

1.2.1 Khái niệm về quản trị mạng 12

1.2.2 Công việc quản trị mạng 12

1.2.3 Giới thiệu về giao thức SNMP 13

1.3 Các khái niệm nền tảng của SNMP 15

1.3.1 Các thành phần trong SNMP 15

1.3.2 Object ID 17

1.3.3 Object access 18

1.3.4 SMI và MIB 18

1.4 Các phương thức và cấu trúc bản tin SNMP 25

1.4.1 Các phương thức của SNMP 25

1.4.2 Cấu trúc bản tin SNMP 29

CHƯƠNG II: MÔ HÌNH BẢO MẬT TRONG GIAO THỨC QUẢN TRỊ MẠNG SNMP 30

Trang 2

2.1.1 SNMPv1 31

2.1.2 SNMP v2c 35

2.2 Giới thiệu về mô hình bảo mật trong SNMPv1 39

2.3 Giới thiệu về mô hình bảo mật trong SNMPv2 40

2.3.1 Community string 40

2.3.2 View 42

2.3.3 SNMP access control list 43

2.4 Giới thiệu về mô hình bảo mật trong SNMPv3 44

2.4.1 SNMP engine 44

2.4.2 SNMP Application 47

CHƯƠNG III: ỨNG DỤNG GIAO THỨC QUẢN TRỊ MẠNG SNMP VÀO HỆ THỐNG MẠNG 51

3.1 Bài toán 51

3.1.1Phát biểu bài toán 51

3.1.2 Phân tích thiết kế 51

3.2 Lập trình ứng dụng sử dụng thư viện Asocket.dll (ActiveSocket) 66

3.2.1 Giới thiệu về thư viện Asocket.dll 66

3.2.2 Các đối tượng dùng trong lập trình ứng dụng SNMP 66

3.3 Giao diện chương trình Mô phỏng giao thức quản trị mạng SNMP 79

KẾT LUẬN 84

TÀI LIỆU THAM KHẢO 85

Trang 3

DANH MỤC HÌNH VẼ

Hình 1.1: Mô hình OSI. 8

Hình 1.2: Các thành phần trong SNMP. 15

Hình 1.3: (a) Một Manager-một Agent ,(b) Nhiều Managers-một Agent 16

Hình 1.4: Liên kết trạm quản trị và các Agent 16

Hình 1.5: Định nghĩa các cây con trong RFC1155. 19

Hình 1.6: SMIv1(RFC1155) 20

Hình 1.7: MIB tree. 24

Hình 1.8: MIB-2 trong MIB 25

Hình 1.9: Các phương thức của SNMPv1. 29

Hình 1.10: Cấu trúc một bản tin SNMP 29

Hình 2.1: Định nghĩa các tài liệu chuẩn của SNMPv1 và SNMPv2 30

Hình 2.2: Cấu trúc Get/GetNext/Set/respones PDU 32

Hình 2.3: Cấu trúc bản tin trap 34

Hình 2.4: Bản tin Trap thông báo tại interface FastEthernet0/21. 34

Hình 2.5: Hình minh họa các phương thức của SNMPv2c 36

Hình 2.6: Cấu trúc trung của bản tin SNMPv2c 37

Hình 2.7: Cấu trúc PDU 38

Hình 2.8: Cấu trúc GetBulk PDU. 39

Hình 2.9: Thiết lập Community String trên windows. 42

Hình 2.10: Thiết lập SNMP ACL trên windows. 43

Trang 4

Hình 2.12: Các thành phần của một SNMP Agent. 47

Hình3.1: Biểu đồ use case tổng quát. 52

Hình 3.2: Biểu đồ use case use case tổng quát Thiết lập thông số. 52

Hình 3.3: Biểu đồ trình tự của quá trình thiết lập thông số. 56

Hình 3.4: Biểu đồ cộng tác của tiến trình thiết lập thông số. 56

Hình 3.5: Biểu đồ use case tổng hợp gói chức năng SNMP operation request. 57

Hình 3.6: Biểu đồ trình tự use case get request. 58

Hình 3.7: Biểu đồ cộng tác của tiến trình get request. 59

Hình 3.10: Biểu đồ trình tự set request. 62

Hình 3.11: Biểu đồ cộng tác Set Request. 63

Hình 3.12: Biểu đồ trình tự get bulk request. 64

Hình 3.13: Biểu đồ cộng tác get bulk request. 65

Hình 3.14: Giao diện chương trình 80

Hình 3.15: Load MIB File 80

Hình 3.16:Các tùy chọn SNMP Agent và thiết lập community. 81

Hình 3.17: Các phương thức mà chương trình thực hiện 81

Hình 3.18: Hỗ trợ phương thức GetBulk của SNMP v2c. 82

Trang 5

Sản phẩm của đợt làm đề tài tốt nghiệp của em là Xây dựng chương trình

mô phỏng về tính năng bảo mật của SNMP version 2 Em mong rằng kết hợpviệc đọc bản báo cáo này và xem sản phẩm thầy cô và các bạn sinh viên có thể sửdụng dễ dàng các chức năng của phần mềm

Trong quá trình làm đề tài em đã sử dụng và nắm vững hơn những kiếnthức đã học và học được thêm những kiến thức bổ ích mới mẻ Không những vậy

mà em còn học tập được tinh thần làm việc có trách nhiệm và khả năng làm việcđộc lập

Cuối cùng em xin chân thành cảm ơn tới tất cả các thầy cô và đặc biệt gửi

lời cám ơn chân thành tới thầy Ths.Nguyễn Anh Chuyên đã hướng dẫn tận tình

em trong đợt làm đề tài tốt nghiệp này

Em xin chân thành cảm ơn!

Trang 6

LỜI MỞ ĐẦU

Tuy hình thành ở Việt Nam chưa lâu nhưng quản trị mạng nhanh chóng trởthành một nghề “nóng” trong danh sách những công việc có độ hút lớn với giớitrẻ năng động Thành thạo việc thiết kế các hệ thống an toàn mạng , quản lý cấuhình tài nguyên, quản trị người dùng và dịch vụ mạng, nâng cao tính bảo mật ,nắm vững các kĩ thuật xâm nhập cũng như những biện pháp phòng chống tấncông hiệu quả đó cũng là công việc cơ bản của quản trị mạng …

Do sự phát triển mạnh mẽ của công nghệ và dịch vụ truyền thông Bùng

nổ của Internet, truy nhập thông tin toàn cầu và hình thức và dịch vụ đa dạng: dữliệu, thoại, video, vô tuyến và hữu tuyến dẫn tới sự cần thiết cho việc Quản trịmạng

Một doanh nghiệp ứng dụng công nghệ thông tin có quy mô lớn như ngânhàng, bảo hiểm , hàng không , thương mại điện tử đều cần quản trị mạng , có thểcần tới một phòng quản trị mạng có vài chục , thậm chí hàng trăm nhân viên phụtrách hệ thống mạng

Trong thời gian học tập tại trường em đã được học nhiều môn học dưới sựchỉ bảo hướng dẫn của các thầy cô giáo Đại Học Công Nghệ Thông Tin VàTruyền Thông với sự nỗ lực cố gắng của bản thân luôn cố gắng học hỏi trong nhà

trường và trong thực tế Em chọn đề tài tốt nghiệp về Nghiên tính năng bảo mật trong SNMP version 2 và xây dựng chương trình mô phỏng

Do kiến thức còn hạn chế nên bài báo cáo không tránh khỏi những thiếuxót Em mong nhận được sự góp ý của thầy cô và các bạn

Em xin chân thành cảm ơn!

Trang 7

THUẬT NGỮ VÀ VIẾT TẮT

ACL Access Control List Danh sách điều khiển truy cập

ASN.1 Abstract Syntax Notation One Kí hiệu cú pháp trừu tượng

BER Basic Encoding Rules Quy tắc mã hóa cơ bản

SNMP Simple Network Management

Protocol

Giao thức quản lý mạng đơn giản

MIB Management Information Base Cơ sở thông tin quản trị

MAN Metropolitan Area Network Mạng khu vực đô thị

RFC Request for Comments Đề nghị duyệt thảo và bình luậnLAN Local Area Network Mạng máy tính cục bộ

OSI Open Systems Interconnection

Reference Model

Mô hình tham chiếu kết nối các hệthống mở

SMI Structure Management

Information

Cấu trúc thông tin quản trị

ICMP Internet Control Message

Protocol

Giao thức kiểm soát thông báo Internet

EGP External Gateway Protocol Giao thức cổng ngoài

Tcp Transmission Control Protocol Giao thức điều khiển truyền vậnUdp User Datagram Protocol Giao thức điều khiển người dùng

IETF Internet Engineering Task Force Lực lượng chuyên trách kỹ thuật

kết nối mạng RFC Request for Comments Đề nghị duyệt thảo và bình luậnVACM View-base Access Control

Model

Mô hình điều khiển truy cập trên

cơ sở thẩm traVPN Vitual Private Network Mạng riêng ảo

PDU Protocol Data Unit Đơn vị dữ liệu giao thức

Trang 8

CHƯƠNG I: TỔNG QUAN VỀ MẠNG MÁY TÍNH VÀ QUẢN TRỊ

Trang 9

Tầng 7 (Ứng dụng): Các chương trình ứng dụng (SMTP,FPT,Telnet,…) cầnlưu ý đến giao diện người sử dụng và hệ thống cho thuận tiện

1.1.2 Các công nghệ mạng máy tính.

1.1.2.1 Topo mạng

Topology của mạng là cấu trúc hình học không gian mà thực chất là cách

bố trí phần tử của mạng cũng như cách nối giữa chúng với nhau Thông thường mạng có 3 dạng cấu trúc là: Mạng dạng hình sao (Star Topology), mạng dạng vòng (Ring Topology) và mạng dạng tuyến (Linear Bus Topology) Ngoài 3 dạngcấu hình kể trên còn có một số dạng khác biến tướng từ 3 dạng này như mạng phân cấp, mạng full mesh, mạng partial mesh…

a Mạng hình sao

Mạng dạng hình sao bao gồm một trung tâm và các nút thông tin Các nútthông tin là các trạm đầu cuối, các máy tính và các thiết bị khác của mạng Trungtâm của mạng điều phối mọi hoạt động trong mạng với các chức nǎng cơ bản là:-Xác định cặp địa chỉ gửi và nhận được phép chiếm tuyến thông tin và liênlạc với nhau

-Cho phép theo dõi và sử lý sai trong quá trình trao đổi thông tin

-Thông báo các trạng thái của mạng

Các ưu điểm của topo mạng hình sao:

-Hoạt động theo nguyên lý nối song song nên nếu có một thiết bị nào đó ởmột nút thông tin bị hỏng thì mạng vẫn hoạt động bình thường

- Cấu trúc mạng đơn giản và các thuật toán điều khiển ổn định

- Mạng có thể mở rộng hoặc thu hẹp tuỳ theo yêu cầu của người sử dụng.Nhược điểm:

- Khả nǎng mở rộng mạng hoàn toàn phụ thuộc vào khả nǎng của trung tâm.Khi trung tâm có sự cố thì toàn mạng ngừng hoạt động

- Mạng yêu cầu nối độc lập riêng rẽ từng thiết bị ở các nút thông tin đến

Trang 10

máy tính với HUB/Switch không cần thông qua trục BUS, tránh được các yếu tố

gây ngưng trệ mạng Gần đây, cùng với sự phát triển switching hub, mô hình này

ngày càng trở nên phổ biến và chiếm đa số các mạng mới lắp

b Mạng hình tuyến (Bus Topology)

Theo cách bố trí hành lang các đường như hình vẽ thì máy chủ (host) cũngnhư tất cả các máy tính khác (workstation) hoặc các nút (node) đều được nối vềvới nhau trên một trục đường dây cáp chính để chuyển tải tín hiệu

Tất cả các nút đều sử dụng chung đường dây cáp chính này Phía hai đầu

dây cáp được bịt bởi một thiết bị gọi là terminator Các tín hiệu và gói dữ liệu

(packet) khi di chuyển lên hoặc xuống trong dây cáp đều mang theo điạ chỉ củanơi đến

Ưu điểm của topomạng bus:

- Dùng dây cáp ít, dễ lắp đạt

- Không giới hạn độ dài cáp

Nhược điểm:

- Sẽ gây ra nghẽn mạng khi chuyển lưu lượng dữ liệu lớn

- Khi một trạm trên đường truyền bị hỏng thì các trạm khác cũng phảingừng hoạt động

c Mạng dạng vòng (Ring Topology)

Mạng dạng này, bố trí theo dạng xoay vòng, đường dây cáp được thiết kếlàm thành một vòng khép kín, tín hiệu chạy quanh theo một chiều nào đó Cácnút truyền tín hiệu cho nhau mỗi thời điểm chỉ được một nút mà thôi Dữ liệutruyền đi phải có kèm theo địa chỉ cụ thể của mỗi trạm tiếp nhận

Ưu điểm của topo mạng Ring:

- Mạng dạng vòng có thuận lợi là có thể nới rộng ra xa, tổng đường dây cầnthiết ít hơn so với hai kiểu trên

Nhược điểm:

- Đường dây phải khép kín, nếu bị ngắt ở một nơi nào đó thì toàn bộ hệthống cũng bị ngừng

Trang 11

d Mạng dạng kết hợp

 Kết hợp hình sao và tuyến (Star/Bus Topology)

Cấu hình mạng dạng này có bộ phận tách tín hiệu (spitter) giữ vai trò thiết

bị trung tâm, hệ thống dây cáp mạng có thể chọn hoặc Ring Topology hoặcLinear Bus Topology

Ưu điểm của cấu hình này là mạng có thể gồm nhiều nhóm làm việc ở cách xanhau, ARCNET là mạng dạng kết hợpStar/Bus Topology Cấu hình dạng này đưalại sự uyển chuyển trong việc bố trí đường dây tương thích dễ dàng đối với bất

cứ toà nhà nào

 Kết hợp hình sao và vòng (Star/Ring Topology)

Cấu hình dạng kết hợp Star/Ring Topology, có một "thẻ bài" liên lạc(Token) được chuyển vòng quanh một cái HUB trung tâm Mỗi trạm làm việc(workstation) được nối với HUB - là cầu nối giữa các trạm làm việc và để tǎngkhoảng cách cần thiết

1.1.2.2 LAN

Mạng cục bộ (LAN-Local Area Network) là hệ thống truyền thông tốc độcao được thiết kế để nối các máy tính và các thiết bị xử lý dữ liệu khác cùng hoạtđộng với nhau trong một khu vực địa lý nhỏ như ở một tầng của tòa nhà ,hoặctrong một tòa nhà… Một số mạng LAN có thể kết nối lại với nhau trong một khuvực làm việc

Các mạng LAN trở nên thông dụng vì nó cho phép người sử dụng dùngchung những tài nguyên quan trọng như máy in mầu, ổ đĩa CD-ROM, các sảnphầm mềm ứng dụng chung những tài nguyên quan trọng như máy in mầu, ổ đĩaCD-ROM ,các phầm mền ứng dụng và những thông tin cần thiết khác Trước khiphát triển công nghệ LAN các máy tính là độc lập với nhau, bị hạn chế bởi sốlượng các chương trình tiền ích, sau khi kết nối mạng rõ ràng hiệu quả của chúngtăng lên gấp bội Để tận dụng hết những ưu điểm của mạng LAN người ta đã kếtnôi các LAN riêng biệt vào mạng chính yếu diện rộng

Trang 12

1.1.2.3 WAN.

WAN (Wide Area Network)– Mạng diện rộng, kết nối máy tính trong nộibộ quốc gia hay giữa các quốc gia trong cùng một châu lục Thông thường kếtnối này thường được thực hiện thông qua mạng viễn thông

1.1.2.4 VPN.

Mạng riêng ảo hay VPN (viết tắt cho Vitual Private Network) là mộtmạng dành riêng để kết nối các máy tính của các công ty, tập đoàn hay các tổchức với nhau thông qua mạng Internet công cộng

1.1.2.5 MAN.

MAN (Metropolitan Area Network) kết nôi các máy tính trong phạm vi mộtthành phố Kết nối này được thực hiện thông qua các môi trường truyền thôngtốc độ cao (50-100Mbit/s)

1.2 Tổng quan về quản trị mạng và giao thức SNMP

1.2.1 Khái niệm về quản trị mạng.

Do sự phát triển mạnh mẽ của công nghệ và dịch vụ truyền thông:

+ Bùng nổ của Internet, truy nhập thông tin toàn cầu

+ Hình thức và dịch vụ đa dạng: dữ liệu, thoại, video, vô tuyến và hữutuyến dẫn tới sự cần thiết cho việc Quản trị mạng

- Quản trị mạng: Được định nghĩa là công việc quản lý mạng lưới gồm:

+ Cũng cấp các dịch vụ hỗ trợ

+ Đảm bảo mạng lưới hoạt động hiểu quả

+ Đảm bảo chất lượng mạng lưới cung cấp đúng như tiêu chuẩn đặt ra + Quản trị hệ thống là công việc cung cấp các dịch vụ hỗ trợ đảm bảo sựtin cậy nâng cao hiệu quả hoạt động của hệ thống đảm bảo chất lượng dịch vụcung cấp trên hệ thống

Như vậy: Quản trị mạng được hiểu khái quát là tập hợp công tác quản trị mạnglưới và quản trị hệ thống

1.2.2 Công việc quản trị mạng.

Công việc của quản trị mạng hiện nay:

Trang 13

+ Quản trị cấu hình tài nguyên mạng tức là quản lý kiểm soát cấu hình quản

lý các các tài nguyên cấp phát cho các đối tượng sử dụng khác nhau

+ Quản trị người dùng và dịch vụ mạng, công tác quản lý người sử dụngtrên hệ thống đảm bảo dịch vụ cung cấp có độ tin cậy cao chất lượng đảm bảotheo các tiêu chí đề ra

+Quản trị hiệu năng và hoạt động mạng là công tác quản lý và giám sát hoạtđộng mạng đảm bảo các thiết bị, hệ thống và dịch vụ trên mạng hoạt động ổnđịnh, hiệu quả

+Quản trị an ninh và an toàn mạng bao gồm công tác quản lý và giám sátmạng lưới các hệ thống đảm bảo phòng tránh các truy nhập trái phép có tính pháhoại các hệ thống dịch vụ hoặc với mục tiêu đánh cắp thông tin

1.2.3 Giới thiệu về giao thức SNMP.

Về bản chất SNMP là một tập các thao tác cho phép người quản trị hệthống có thể thay đổi trạng thái của các thiết bị (có hỗ trợ SNMP) Ví dụ, ta cóthể sử dụng SNMP để tắt một interface nào đó trên router của mình, theo dõi hoạtđộng của card Ethernet, hoặc kiểm soát nhiệt độ trên switch và cảnh báo khi nhiệtđộ quá cao

SNMP là giao thức quản lý mạng đơn giản

SNMP (Simple Network Management Protocol) là “giao thức quản lý mạng đơngiản” Một giao thức quy định cấu trúc, định dạng (format) của dòng dữ liệu traođổi với nhau và quy định trình tự, thủ tục để trao đổi dòng dữ liệu đó Nếu mộtbên tham gia gửi dữ liệu không đúng định dạng hoặc không theo trình tự thì cácbên khác sẽ không hiểu hoặc từ chối trao đổi thông tin SNMP là một giao thức,

do đó nó có những quy định riêng mà các thành phần trong mạng phải tuân theo.Một thiết bị hiểu được và hoạt động tuân theo giao thức SNMP được gọi là

“có hỗ trợ SNMP”(SNMP supported) hoặc “tương thích SNMP” (SNMPcompartible) SNMP dùng để quản lý(có thể theo dõi, lấy thông tin, được thôngbáo, tác động để hệ thống hoạt động như ý muốn) VD một số khả năng của phần

Trang 14

+ Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đãtruyền/nhận.

+ Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trốngbao nhiêu

+ Tự động nhận cảnh báo khi switch có một port bị down

+ Điều khiển tắt (shutdown) các port trên switch

SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nềnTCP/IP và quản lý các thiết bị có nối mạng TCP/IP Các thiết bị mạng khôngnhất thiết phải là máy tính mà có thể là switch, router, firewall, adsl gateway, và

cả một số phần mềm cho phép quản trị bằng SNMP

SNMP là giao thức đơn giản, do nó được thiết kế đơn giản trong cấu trúcbản tin và thủ tục hoạt động, và còn đơn giản trong bảo mật (ngoại trừ SNMPversion 3) Sử dụng phần mềm SNMP, người quản trị mạng có thể quản lý, giámsát tập trung từ xa toàn mạng của mình

Ưu điểm trong thiết kế của SNMP

SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phầntrong mạng Nhờ đó các phần mềm SNMP có thể được phát triển nhanh và tốn ítchi phí

SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát.Không có giới hạn rằng SNMP có thể quản lý được cái gì Khi có một thiết bịmới với các thuộc tính, tính năng mới thì người ta có thể thiết kế “custom”SNMP để phục vụ cho riêng mình

SNMP được thiết kế để có thể hoạt động độc lập với các kiến trúc và cơ chếcủa các thiết bị hỗ trợ SNMP Các thiết bị khác nhau có hoạt động khác nhaunhưng đáp ứng SNMP là giống nhau VD bạn có thể dùng 1 phần mềm để theodõi dung lượng ổ cứng còn trống của các máy chủ chạy HĐH Windows vàLinux; trong khi nếu không dùng SNMP mà làm trực tiếp trên các HĐH này thìbạn phải thực hiện theo các cách khác nhau

Các phiên bản của SNMP

Trang 15

SNMP có 4 phiên bản: SNMPv1, SNMPv2c, SNMPv2u và SNMPv3 Cácphiên bản này khác nhau một chút ở định dạng bản tin và phương thức hoạtđộng Hiện tại SNMPv1 là phổ biến nhất do có nhiều thiết bị tương thích nhất vàcó nhiều phần mềm hỗ trợ nhất Trong khi đó chỉ có một số thiết bị và phần mềm

Hình 1.2: Các thành phần trong SNMP.

 Network management station thường là một máy tính chạy phần mềmquản lý SNMP (SNMP management application), dùng để giám sát và điều khiểntập trung các network element Một trạm quản trị ít nhất có:

- Một bộ các ứng dụng quản trị để phân tích dữ liệu, khôi phục sự cố…

- Một giao diện để người quản trị mạng có thể giám sát và điều khiểnmạng

- Khả năng thể hiện các yêu cầu của người quản trị mạng trong việc kiểmsoát thực tế và điều khiển các phần tử từ xa trong mạng

- Một cơ sở dữ liệu của thông tin lấy từ các MIB của tất cả các thành phầnđược quản trị trong mạng

Trang 16

gồm device, host và application Một management station có thể quản lý nhiềuelement, một element cũng có thể được quản lý bởi nhiều management station.

Hình 1.3: (a) Một Manager-một Agent ,(b) Nhiều Managers-một Agent

 SNMP agent: SNMP agent là một tiến trình (process) chạy trên networkelement, có nhiệm vụ cung cấp thông tin của element cho station, nhờ đó stationcó thể quản lý được element Nói cách khác, Application chạy trên station vàagent chạy trên element là 2 tiến trình SNMP trực tiếp liên hệ với nhau

 Giao thức SNMP: dùng để liên kết trạm quản trị và các Agent Giao thứcbao gồm 3 toán tử Get ( cho phép trạm quản trị thu nhận giá trị của các đối tượngtại Agent), Set ( cho phép trạm quản trị thiết lập giá trị của các đối tượng tạiAgent), Trap ( cho phép 1 Agent thông báo cho trạm quản trị các sự kiện)

Các ví dụ minh họa sau đây sẽ làm rõ hơn các khái niệm này :

Hình 1.4: Liên kết trạm quản trị và các Agent

+ Để dùng một máy chủ (= station) quản lý các máy con (= element) chạyHĐH Windows thông qua SNMP thì bạn phải : cài đặt một phần mềm quản lýSNMP (= application) trên máy chủ, bật SNMP service (= agent) trên máy con

Trang 17

+ Để dùng một máy chủ (= station) giám sát lưu lượng của một router (=element) thì bạn phải : cài phần mềm quản lý SNMP (= application) trên máychủ, bật tính năng SNMP (= agent) trên router.

Mỗi object có một tên gọi và một mã số để nhận dạng object đó, mã số gọi

là Object ID (OID) Một object có thể có nhiều giá trị cùng loại Chẳng hạn mộtthiết bị có thể có nhiều tên, có nhiều Mac address Một object chỉ có một OID, vìvậy để chỉ ra các giá trị khác nhau của cùng một object thì ta dùng thêm mộtphân cấp nữa: sub-id

Các object có thể có nhiều giá trị hoặc 1 giá trị thì luôn luôn được viết dướidạng có phân cấp con sub-id Ví dụ một thiết bị dù chỉ có 1 tên thì nó vẫn phảiviết là sysName.0 hay 1.3.6.1.2.1.1.5.0

Đối với các object có nhiều giá trị thì các chỉ số của phân cấp con khôngnhất thiết phải liên tục hay bắt đầu từ 0 Ví dụ một thiết bị có 2 mac address thìcó thể chúng được gọi là ifPhysAddress.23 và ifPhysAddress.125645

OID của các object phổ biến có thể được chuẩn hóa, hoặc tự định nghĩa Đểlấy một thông tin có OID đã chuẩn hóa thì SNMP application phải gửi một bảntin SNMP có chứa OID của object đó cho SNMP agent, SNMP agent khi nhậnđược thì nó phải trả lời bằng thông tin ứng với OID đó

Một trong các ưu điểm của SNMP là nó được thiết kế để chạy độc lập vớicác thiết bị khác nhau Chính nhờ việc chuẩn hóa OID mà ta có thể dùng mộtSNMP application để lấy thông tin các loại device của các hãng khác nhau

Trang 18

1.3.3 Object access

Mỗi object có quyền truy cập là READ_ONLY (chỉ đọc) hoặcREAD_WRITE (chỉ ghi) Mọi object đều có thể đọc được nhưng chỉ nhữngobject có quyền READ_WRITE (đọc _ghi) mới có thể thay đổi được giá trị

VD : Tên của một thiết bị (sysName) là READ_WRITE, ta có thể thay đổitên của thiết bị thông qua giao thức SNMP Tổng số port của thiết bị (ifNumber)

là READ_ONLY, dĩ nhiên ta không thể thay đổi số port của nó

1.3.4 SMI và MIB

MIB (cơ sở thông tin quản lý) là một cấu trúc dữ liệu gồm các đối tượngđược quản lý (managed object), được dùng cho việc quản lý các thiết bị chạy trênnền TCP/IP Cấu trúc mô tả MIB gọi là SMI ( Structure ManagementInformation) SMI nhận dạng các kiểu dữ liệu trong MIB và chỉ rõ các tài nguyêntrong MIB được miêu tả và đặt tên như thế nào SMI duy trì tính đơn giản và khảnăng mở rộng trong MIB SMI không cung cấp cách tạo ra các cấu trúc dữ liệuphức tạp Các MIB sẽ chứa các loại dữ liệu do nhà cung cấp tạo ra

Trước khi đi vào cấu trúc của mib, ta sơ lược qua một chuẩn gọi là ASN.1:+ ASN.1 (Abstract Syntax Notation One) là chuẩn mô tả các luật mã hóadữ liệu (encoding rules) cho các hệ thống truyền thông số Một trong 3 hệ thốngluật mã hóa trong ASN.1 là BER (Basic Encoding Rules) BER được SNMPdùng làm phương pháp mã hóa dữ liệu Vì vậy trong các RFC liên quan đếnSNMP có dòng ghi chú “use of the basic encoding rules of ASN.1”

+ BER mô tả nhiều kiểu dữ liệu như : BOOLEAN, INTEGER,

ENUMERATED, OCTET STRING, CHOICE, OBJECT IDENTIFIER, NULL, SEQUENCE,…

1.3.4.1 SMIv1

Để cung cấp các phương pháp tiêu chuẩn biểu diễn thông tin quản trị, SMIcần làm các việc:

+ Cung cấp tiêu chuẩn kỹ thuật để định nghĩa cấu trúc MIB đặc biệt

+ Cung cấp tiêu chuẩn kỹ thuật để định nghĩa các đối tượng đơn lẻ, bao

Trang 19

+Cung cấp tiêu chuẩn kỹ thuật để mã hoá các giá trị đối tượng.

Các đối tượng được quản lý bao gồm 3 thuộc tính cơ bản sau:

a Name

Name là định danh của object, có kiểu OBJECT IDENTIFIER OBJECTIDENTIFIER là một chuỗi thứ tự các số nguyên biểu diễn các nút (node) của mộtcây từ gốc đến ngọn

Gốc (root node) trong mib không có tên Dưới root là 3 node con :

+ ccitt(0) : do CCITT quản lý (Consultative Committee for InternationalTelephone and Telegraph)

+ iso(1) : do tổ chức ISO quản lý (International Organization forStandardization)

+ joint-iso-ccitt(2) : do cả ISO và CCITT quản lý

Dưới node iso(1), tổ chức ISO thiết kế 1 node dành cho các tổ chức khác

là org(3) Dưới org(3) có nhiều node con, một node được dành riêng cho USDepartment of Defense, dod(6)

Tất cả mọi thứ thuộc về cộng đồng Internet đều nằm

dưới iso.org.dod.internet, mọi object của các thiết bị TCP/IP đều bắt đầu với prefix 1.3.6.1 (dấu chấm đầu tiên biểu diễn rằng iso là cây con của root, và root thì không có tên) RFC1155 định nghĩa các cây con như sau :

Hình 1.5: Định nghĩa các cây con trong RFC1155.

+ directory : dành riêng cho tương lai nếu dịch vụ OSI Directory được sửdụng trên internet

+ mgmt (management) : tất cả các mib chuẩn chính thức của internet đều

Trang 20

(Internet Assigned Numbers Authority) sẽ cấp cho mib đó một object-identifiernằm dưới mgmt.

+ experimental : dùng cho các object đang trong quá trình thử nghiệm,được IANA cấp phát

+ private : dùng cho các object do người dùng tự định nghĩa, tuy nhiên cácchỉ số cũng do IANA cấp Tất cả các đơn vị cung cấp hệ thống mạng có thể đăng

ký object-identifier cho sản phẩm của họ, chúng được cấp phát dưới nodeprivate.enterprises

Hình 1.6: SMIv1(RFC1155)

b Syntax

Syntax mô tả kiểu của object là gì Syntax được lấy từ chuẩn ASN.1nhưng không phải tất cả các kiểu đều được hỗ trợ SMIv1 chỉ hỗ trợ 5 kiểunguyên thủy (primitive types) lấy từ ASN.1 và 6 kiểu định nghĩa thêm (definedtypes) Primitive types : INTEGER, OCTET-STRING, OBJECT-IDENTIFIER,NULL, SEQUENCE

Defined types :

+ NetworkAddress : kiểu địa chỉ internet (ip)

+ IpAddress : kiểu địa chỉ internet 32-bit (ipv4), gồm 4 octet liên tục

Trang 21

+ Counter : kiểu số nguyên không âm 32-bit và tăng đều, khi số này tăngđến giới hạn thì phải quay lại từ 0 Giá trị tối đa là 232-1 (4294967295)

+ Gauge : kiểu số nguyên không âm 32-bit, có thể tăng hoặc giảm nhưngkhông tăng quá giá trị tối đa 232-1

+ TimeTicks : kiểu số nguyên không âm, chỉ khoảng thời gian trôi qua kể

từ một thời điểm nào đó, tính bằng phần trăm giây VD từ khi hệ thống khởiđộng đến hiện tại là 1000 giây thì giá trị sysUpTime=100000

+ Opaque : kiểu này cho phép truyền một giá trị có kiểu tùy ý nhưngđược đóng lại thành từng OCTET-STRING theo quy cách của ASN.1

c Encoding

Đối tượng quản lý được mã hóa thành một chuỗi octet sử dụng luật mãhóa cơ sở BER (Basic Encoding Rules) BER định nghĩa các các đối tượng đượcmã hóa và giải mã để chúng có thể truyền đi thông qua môi trường Ethernet

Cấu trúc kiểu OBJECT-TYPE

RFC1155 quy định cấu trúc của một record “định nghĩa đối tượng quảnlý” (A Managed Object Definition), kiểu dữ liệu này ọi là OBJECT-TYPE Một

“Managed Object Definition” có kiểu OBJECT-TYPE bao gồm các trường :

+ SYNTAX : kiểu của object, là một trong các primitive types hoặcdefined types ở trên

+ ACCESS : mức truy nhập của object, mang một trong các giá trị only, read-write, write-only, not-accessible

read-+ STATUS : mang một trong các giá trị mandatory (bắt buộc phải hỗ trợ),optional (có thể hỗ trợ hoặc không), obsolete (đã bị thay thế) Một agent nếu hỗtrợ một chuẩn mib nào đó thì bắt buộc phải hỗ trợ tất cả các object cóstatus=mandatory, còn status=optional thì có thể hỗ trợ hoặc không

+ DESCRIPTION : dòng giải thích cho ý nghĩa của object

SMIv1 định nghĩa một vài data type được sử dụng để quản lý mạng và cácthiết bị mạng

Trang 22

Bảng 1.1: Datatype trong SMIv1.

INTEGER Một số 32 bít ,được dung cho trạng thái của một đối tượng

hoặc cho việc định danh các đối tượng Ví dụ trạng thái củamột router có thể là up hoặc down, hoặc testing thì tươngứng với các giá trị 1 là up, 2 là down và 3 là testing Giá trị 0không được sử dụng trong trường hợp này (RFC1155)

OCTET STRING Chuỗi văn bản, nhưng đôi khi cũng được sử dụng để đại diện

SEQUENCE Danh sách các đối tượng ASN.1(có thể rỗng )

SEQUENCE OF Định nghĩa đối tượng quản lý tạo thành từ kiểu ASN.1

Sequence IpAddress Địa chỉ Ipv4 32bit

NetworkAddress Tương tự như các loại IpAddress , Nhưng có thể đại diện cho

các địa chỉ mạng khác nhau Counter Là số nguyên không âm chỉ được tăng không giảm , giá trị

lớp nhất 232-1(4.294.967.295) .Khi counter đạt giá trị lớnnhất nó quay lại tăng từ 0

Gauge Là một số nguyên không âm có thể tăng hoặc giảm , giá trị

lớn nhất là 232-1 Khi đạt giá trị lớn nhất nó dừng lại và khởitạo lại

TimeTicks Là một số nguyên không âm có giá trị từ 0 đến 232

-1(4.294.967.295) Dùng để đếm số phần trăm của giây , thờigian hoạt động trên thiết bị được đo bằng kiểu dữ liệu này Opaque Kiểu này hỗ trợ khả năng chuyển dữ liệu tùy ý Dữ liệu được

mã hóa thành một chuỗi OCTET

1.3.4.2 SMIv2

SMIv2 (Structure of Management Information version 2) được trình bàytrong RFC2578, bao gồm nhiều thay đổi trong cấu trúc mib file Phần này trìnhbày những thay đổi chủ yếu nhất

Trang 23

Các kiểu dữ liệu mới hoặc thay đổi so với SMIv1

+ INTEGER32 : số nguyên nằm trong khoảng -231 and 231-1 (-2147483648

to 2147483647 decimal)

+ OCTET STRING : kiểu chuỗi ký tự, độ dài tối đa 65535

+ OBJECT IDENTIFIER : định danh của object, không quá 128 phần tử(sub-identifier), mỗi phần tử là số nguyên không quá 232-1

+ COUNTER32 : kiểu số nguyên không âm tăng dần, tối đa là 232-1, khivượt giá trị tối đa thì quay lại từ 0 Counter32 không bắt buộc giá trị bắt đầu phải

Hình sau minh họa MIB tree:

Trang 24

Hình 1.7: MIB tree.

Một node trong cây là một object, có thể được gọi bằng tên hoặc id CácobjectID trong MIB được sắp xếp thứ tự nhưng không phải là liên tục, khi biếtmột OID thì không chắc chắn có thể xác định được OID tiếp theo trong MIB VD

trong chuẩn mib-2 thì object ifSpecific và object atIfIndex nằm kề nhau nhưng

OID lần lượt là 1.3.6.1.2.1.2.2.1.22 và 1.3.6.1.2.1.3.1.1.1

Muốn hiểu được một OID nào đó thì cần có file MIB mô tả OID đó MộtMIB file không nhất thiết phải chứa toàn bộ cây ở trên mà có thể chỉ chứa mô tảcho một nhánh con Bất cứ nhánh con nào và tất cả lá của nó đều có thể gọi làmột mib

Một manager có thể quản lý được một device chỉ khi ứng dụng SNMPmanager và ứng dụng SNMP agent cùng hỗ trợ một MIB Các ứng dụng nàycũng có thể hỗ trợ cùng lúc nhiều MIB

MIB-2

Mib-2 là một trong những mib được hỗ trợ rộng rãi nhất Nếu một thiết

bị được tuyên bố là có hỗ trợ SNMP thì hãng sản xuất phải chỉ ra nó hỗ trợ cácRFC nào, và thường là RFC1213

Vị trí của MIB-2 trong mib như sau :

Trang 25

Hình 1.8: MIB-2 trong MIB

Các kiểu dữ liệu mới được định nghĩa trong mib-2 gồm :

+ Display String : kế thừa từ kiểu OCTET STRING nhưng chỉ bao gồmcác ký tự in được (printable characters) và dài không quá 255 ký tự

+ Physical Address : giống kiểu OCTET STRING, được dùng để biểudiễn địa chỉ vật lý của thiết bị

1.4 Các phương thức và cấu trúc bản tin SNMP

1.4.1 Các phương thức của SNMP

Giao thức SNMPv1 có 5 phương thức hoạt động, tương ứng với 5 loại bảntin như sau:

Bảng 1.2: Các phương thức hoạt động của SNMPv1.

Bản tin / phương thức Mô tả tác dụng

GetRequest Manager gửi GetRequest cho agent để yêu cần cung

cấp thông tin nào đó dựa vào ObjectID()

GetNextRequest Manager gửi GetNextRequest có chứa một ObjectID

cho agent để yêu cầu cung cấp thông tin nằm kế tiếpObjectID đó trong MIB

SetRequest Manager gửi SetRequest cho agent để đặt giá trị cho

đối tượng của agent dựa vào ObjectID

GetResponse Agent gửi GetResponse cho Manager để trả lời khi

nhận được GetRequest/GetNextRequest

Trap Agent tự động gửi Trap cho Manager khi có một sự

kiện xảy ra đối với một object nào đó trong agent

Mỗi bản tin đều có chứa OID để cho biết object mang trong nó là gì OIDtrong GetRequest cho biết nó muốn lấy thông tin của object nào OID trongGetResponse cho biết nó mang giá trị của object nào OID trong SetRequest chỉ

ra nó muốn thiết lập giá trị cho object nào OID trong Trap chỉ ra nó thông báo sựkiện xảy ra đối với object nào

Trang 26

1.4.1.1 GetRequest

Bản tin GetRequest được manager gửi đến agent để lấy một thông tin nàođó Trong GetRequest có chứa OID của object muốn lấy VD : Muốn lấy thôngtin tên của Device1 thì manager gửi bản tin GetRequest OID=1.3.6.1.2.1.1.5 đếnDevice1, tiến trình SNMP agent trên Device1 sẽ nhận được bản tin và tạo bản tintrả lời Trong một bản tin GetRequest có thể chứa nhiều OID, nghĩa là dùng mộtGetRequest có thể lấy về cùng lúc nhiều thông tin

1.4.1.2 GetNextRequest

Bản tin GetNextRequest cũng dùng để lấy thông tin và cũng có chứa OID,tuy nhiên nó dùng để lấy thông tin của object nằm kế tiếp object được chỉ ratrong bản tin

+ Có thể shutdown một port trên switch bằng phần mềm SNMP manager,bằng cách gửi bản tin có OID là 1.3.6.1.2.1.2.2.1.7 (ifAdminStatus) và có giá trị

1 4.1.5 Trap

Bản tin Trap được agent tự động gửi cho manager mỗi khi có sự kiện xảy

ra bên trong agent, các sự kiện này không phải là các hoạt động thường xuyên

Trang 27

của agent mà là các sự kiện mang tính biến cố Ví dụ : Khi có một port down, khicó một người dùng login không thành công, hoặc khi thiết bị khởi động lại, agent

sẽ gửi trap cho manager

Tuy nhiên không phải mọi biến cố đều được agent gửi trap, cũng khôngphải mọi agent đều gửi trap khi xảy ra cùng một biến cố Việc agent gửi haykhông gửi trap cho biến cố nào là do hãng sản xuất device/agent quy định

Phương thức trap là độc lập với các phương thức request/response SNMPrequest/response dùng để quản lý còn SNMP trap dùng để cảnh báo Nguồn gửitrap gọi là Trap Sender và nơi nhận trap gọi là Trap Receiver Một trap sender cóthể được cấu hình để gửi trap đến nhiều trap receiver cùng lúc

Có 2 loại trap : trap phổ biến (generic trap) và trap đặc thù (specific trap).Generic trap được quy định trong các chuẩn SNMP, còn specific trap do ngườidùng tự định nghĩa (người dùng ở đây là hãng sản xuất SNMP device) Loại trap

là một số nguyên chứa trong bản tin trap, dựa vào đó mà phía nhận trap biết bảntin trap có nghĩa gì

Theo SNMPv1, generic trap có 7 loại sau: coldStart(0), warmStart(1), linkDown(2), linkUp(3), authenticationFailure(4), egpNeighborloss(5),

enterpriseSpecific(6) Giá trị trong ngoặc là mã số của các loại trap Ý nghĩa của các bản tin generic-trap như sau :

+ coldStart : thông báo rằng thiết bị gửi bản tin này đang khởi động lại(reinitialize) và cấu hình của nó có thể bị thay đổi sau khi khởi động

+ warmStart : thông báo rằng thiết bị gửi bản tin này đang khởi động lại vàgiữ nguyên cấu hình cũ

+ linkDown : thông báo rằng thiết bị gửi bản tin này phát hiện được mộttrong những kết nối truyền thông (communication link) của nó gặp lỗi Trong bảntin trap có tham số chỉ ra ifIndex của kết nối bị lỗi

+ linkUp : thông báo rằng thiết bị gửi bản tin này phát hiện được một trongnhững kết nối truyền thông của nó đã khôi phục trở lại Trong bản tin trap có

Trang 28

+ authenticationFailure : thông báo rằng thiết bị gửi bản tin này đã nhậnđược một bản tin không được chứng thực thành công (bản tin bị chứng thựckhông thành công có thể thuộc nhiều giao thức khác nhau như telnet, ssh, snmp,ftp, …) Thông thường trap loại này xảy ra là do user đăng nhập không thànhcông vào thiết bị.

+ egpNeighborloss : thông báo rằng một trong số những “EGP neighbor”của thiết bị gửi trap đã bị coi là down và quan hệ đối tác (peer relationship) giữa

2 bên không còn được duy trì

+ enterpriseSpecific : thông báo rằng bản tin trap này không thuộc các kiểugeneric như trên mà nó là một loại bản tin do người dùng tự định nghĩa

Người dùng có thể tự định nghĩa thêm các loại trap để làm phong phú thêmkhả năng cảnh báo của thiết bị như : boardFailed, configChanged, powerLoss,cpuTooHigh, v.v… Người dùng tự quy định ý nghĩa và giá trị của các specifictrap này, và dĩ nhiên chỉ những trap receiver và trap sender hỗ trợ cùng một MIBmới có thể hiểu ý nghĩa của specific trap Do đó nếu dùng một phần mềm trapreceiver bất kỳ để nhận trap củacác trap sender bất kỳ, ta có thể đọc và hiểu cácgeneric trap khi chúng xảy ra; nhưng ta sẽ không hiểu ý nghĩa các specific trapkhi chúng hiện lên màn hình vì bản tin trap chỉ chứa những con số

Hình 1.9: Các phương thức của SNMPv1.

Đối với các phương thức Get/Set/Response thì SNMP Agent lắng nghe ởport UDP 161, còn phương thức trap thì SNMP Trap Receiver lắng nghe ở portUDP 162

Trang 29

CHƯƠNG II: MÔ HÌNH BẢO MẬT TRONG GIAO THỨC QUẢN

Trang 30

SNMPv2 là một phiên bản phát triển từ SNMPv1, SNMPv2 được đưa ravào năm 1993, hiện thời nó được coi là một chuẩn nháp giữa SNMPv1 vàSNMPv3.Giống như SNMPv1, các chức năng của SNMPv2 được đặc tả trongphạm vi của SMI(Structure of Management Infomation) Về mặt lý thuyết ,SNMPv2 bao gồm nhiều cải tiến của SNMPv1 SNMPv2 được định nghĩa trongRFC 3416, RFC 3417, RFC 3418.

Hình 2.1: Định nghĩa các tài liệu chuẩn của SNMPv1 và SNMPv2

SNMPv3 là phiên bản mới nhất hiện nay của SNMP Chức năng chính củanó đóng góp trong việc quản trị mạng là vấn đề bảo mật Việc bổ sung này là cầnthiết nhằm nâng cao khả năng xác thực và kết nối riêng giữa các thực thể quản lý.Phiên bản này được định nghĩa trong RFC 3410, RFC 3411, RFC 3412, RFC

3413, RFC 3414, RFC 3415, RFC 3416, RFC 3417, RFC 3418,và RFC 2576.Khác nhau giữa các phiên bản:

+ Khác nhau ở phương thức hoạt động (operation) : SNMPv1 có 5 phươngthức, tuy nhiên các version khác sau này được bổ sung thêm một số phương thứcmới

+ Khác nhau ở cấu trúc bản tin SNMP (message format) : các phiên bảnkhác nhau sẽ khác nhau ở cấu trúc các bản tin

Trang 31

2.1.1 SNMPv1

2.1.1.1 Các phương thức của SNMPv1

Bảng 3 : Các phương thức hoạt động của SNMPv1

Bản tin / phương thức Mô tả tác dụng

GetRequest Manager gửi GetRequest cho agent để yêu cần cung

cấp thông tin nào đó dựa vào ObjectID()GetNextRequest Manager gửi GetNextRequest có chứa một ObjectID

cho agent để yêu cầu cung cấp thông tin nằm kế tiếpObjectID đó trong MIB

SetRequest Manager gửi SetRequest cho agent để đặt giá trị cho

đối tượng của agent dựa vào ObjectID GetResponse Agent gửi GetResponse cho Manager để trả lời khi

nhận được GetRequest/GetNextRequest Trap Agent tự động gửi Trap cho Manager khi có một sự

kiện xảy ra đối với một object nào đó trong agent

2.1.1.2 Cấu trúc của PDU GetRequest

- Request-ID: Mã số của request ID này là số ngẫu nhiên do manager tạo

ra, agent khi gửi bản tin GetResponse cho request nào đó thì phải gửi requestIDgiống như lúc nhận Giữa manager và agent có thể có nhiều request & reponse,một request và một response là cùng một phiên trao đổi khi chúng có requestIDgiống nhau

- Error-status: nếu = 0 là thực hiện thành công không có lỗi, nếu <> 0 làcó lỗi xảy ra và giá trị của nó mô tả mã lỗi Trong bản tin GetRequest,GetNextRequest, SetRequest thì error-status luôn = 0

- Error-index: số thứ tự của objectid liên quan đến lỗi nếu có Trongvariable-bindings có nhiều objectid, được đánh số từ 1 đến n, một bản tinGetRequest có thể lấy cùng lúc nhiều object

- Variable-bindings : danh sách các cặp [ObjectID – Value] cần lấy thông

Trang 32

trị Khi agent gửi bản tin trả lời thì nó sẽ copy lại bản tin này và điền vào valuebằng giá trị của object.

Hình 2.2: Cấu trúc Get/GetNext/Set/respones PDU

2.1.1.3 Cấu trúc PDU GetResponse

- Request-id: mã số của request ID này phải giống với request-id của bảntin GetRequest trước đó

- Error-status : mang một trong các giá trị noError(0), tooBig(1),noSuchName(2), badValue(3), readOnly(4), genErr(5) Nếu agent lấy thông tin

để trả lời request thành công thì error-status là noError(0)

- Objectid : định danh của object được trả về Nếu trước đó là GetRequestthì objectid sẽ giống với objectid trong bản tin request, nếu trước đó làGetNextRequest thì objectid sẽ là định danh của object nằm sau (nằm sau trongmib) objectid của request

2.1.1.4 Cấu trúc PDU GetNextRequest

Cấu trúc GetNextRequest giống với GetRequest, chỉ khác ở byte chỉ rabản tin là GetNextRequest PDU

2.1.1.5 Cấu trúc PDU SetRequest

Cấu trúc SetRequest cũng giống với GetRequest, objectid-value chỉ ra đối tượng và giá trị cần set

Trang 33

2.1.1.6 Cấu trúc PDU Trap

Cấu trúc của bản tin trap của SNMPv1 như sau :

+ enterprise : kiểu của object gửi trap Đây là một OID giúp nhận dạngthiết bị gửi trap là thiết bị gì; nhận dạng chi tiết đến hãng sản xuất, chủng loại,model OID này bao gồm một chỉ số doanh nghiệp (enterprise number) và chỉ số

id của thiết bị của hãng do hãng tự định nghĩa

+ agent address : địa chỉ IP của nguồn sinh ra trap Giả sử tất cả trapsender được cấu hình để gửi trap đến một trap receiver trung gian, gọi là traprelay, sau đó trap relay gửi đến nhiều trap receiver cùng lúc; lúc này bản tin trapnhận được tại trap receiver sẽ có IP source là của trap relay, trong khi IP củanguồn phát sinh trap thực sự nằm trong agent address

+ generic-trap : kiểu của các loại trap generic

+ specific-trap : kiểu của các loại trap do người dùng tự định nghĩa

+ time-stamp : thời gian tính từ lúc thiết bị được khởi động đến lúc gửibản tin trap, tính bằng centi giây

+ variable-bindings : các cặp objectID – value mô tả các object có liênquan đến trap

Hình 2.3: Cấu trúc bản tin trap

Trang 34

Hình 2.4: Bản tin Trap thông báo tại interface FastEthernet0/21.

+ enterprise = 1.3.6.1.4.1.9.1.324, đây là định danh của thiết bị Ciscoswitch Catalyst 2950 (.9.1.324)

2.1.2 SNMP v2c

Khác biệt của SNMPv2c so với SNMPv1 là :

+ Có nhiều phương thức hơn so với SNMPv1

+ Cấu trúc bản tin Trap PDU khác so với SNMPv1

+ Có thêm bản tin Bulk PDU với cấu trúc riêng

Những điểm nâng cấp chính của SNMP được đưa ra trong SNMPv2nằm trong các vùng sau:

Cấu trúc thông tin quản trị (SMI): SNMPv2 mở rộng SNMPV1 SMI theomột vài cách Bổ sung thêm các đối tượng mới bằng cách sử dụng Macro để định

Trang 35

nghĩa các dạng đối tượng và nâng cấp thông tin liên quan đến một đối tượng nócung cấp một quy ước mới để thêm hoặc xoá các hàng trong bảng

Khả năng trao đổi giữa các trạm quản trị: bổ sung InformRequestPDU chophép một trạm quản trị gửi một thông báo dạng Trap cho một trạm quản trị khác

Các hoạt động giao thức SNMPv2 MIB chứa thông tin lưu chuyển cơ bản

về hoạt động của giao thức SNMPv2, và chứa thông tin liên quan đến cấu hìnhcủa Agent hoặc trạm quản trị SNMPv2 và có thêm PDU mới:GetBulkRequestPDU cho phép trạm quản trị nhận các khối dữ liệu lớn một cáchcó hiệu quả

2.1.2.1 Các phương thức của SNMPv2c

SNMPv2c có 8 phương thức gồm : GetRequest, GetNextRequest,Response, SetRequest, GetBulkRequest, InformRequest, Trap và Report Nhưvậy so với SNMPv1 thì v2c có thêm các phương thức GetBulk, Inform vàReport

a) GetBulkRequest

Cho phép lấy thông tin quản lý từ nhiều phần trong bảng Các bản tin Get/GetNext vẫn có thể lấy cùng lúc nhiều object bằng cách đưa tất cả chúng vàodanh sách variable-bindings trong bản tin request, tuy nhiên, kích thước của câuhỏi có thể bị giới hạn bởi agent Nhưng GetBulk có thể lấy nhiều object mà chỉcần chỉ ra 1 object trong variable-bindings Hai trường cần khai báo trong

“getbulk” là: “nonrepeaters” và ”max-repetitions” Nonrepeaters báo cho agentbiết N đối tượng đầu tiên có thể trả lời lại như một câu lệnh ”get” đơn mã,repeaters báo cho agent biết cần cố gắng tăng lên tối đa M yêu cầu ”getnext” chocác đối tượng còn lại

b) InformRequest

Có tác dụng tương tự như trap, nhưng khi manager nhận đượcInformRequest thì nó sẽ gửi lại Response để xác nhận đã nhận được thông báo,còn Trap thì không có cơ chế xác nhận

Trang 36

Bản tin Report không được định nghĩa trong RFC3416, các hệ thống có sửdụng Report phải tự định nghĩa chúng, tuy nhiên bản tin Report vẫn có cấu trúcgiống như các bản tin khác

Agent lắng nghe request ở cổng UDP 161 còn manager nhận trap &inform ở cổng UDP 162

Hình sau minh họa hoạt động của các phương thức SNMPv2c :

Hình 2.5: Hình minh họa các phương thức của SNMPv2c

2.1.2.2 Cấu trúc bản tin SNMPv2c

Cấu trúc chung của bản tin SNMPv2c như sau:

Trang 37

Hình 2.6: Cấu trúc trung của bản tin SNMPv2c

+ version : phiên bản SNMP (v1 = 0, v2c = 1, v2u = 2, v3 = 3)

+ community string : chuỗi community

+ data : phần data là các bản tin ứng với các phương thức của SNMP Trong SNMPv2c, bản tin PDU có 2 loại cấu trúc là PDU và BulkPDU.Các bản tin GetRequest, GetNextRequest, SetRequest, Response, Trap,InformRequest và Report có cùng cấu trúc là PDU; còn GetBulkRequest có cấutrúc là BulkPDU

2.1.2.3 Cấu trúc PDU

Cấu trúc PDU của SNMPv2c không thay đổi gì so với PDU của SNMPv1,gồm các trường :

+ request-id : mã số của request ID này là số ngẫu nhiên do manager tạo

ra, agent khi gửi bản tin Response cho request nào thì nó phải gửi requestIDgiống như lúc nhận Giữa manager và agent có thể có nhiều request & reponse,một request và một response là cùng một phiên trao đổi khi chúng có requestIDgiống nhau

+ error-status : nếu = 0 là thực hiện thành công không có lỗi, nếu <> 0 làcó lỗi xảy ra và giá trị của nó mô tả mã lỗi Trong các bản tin request thì error-status luôn = 0

+ error-index : số thứ tự của objectid liên quan đến lỗi nếu có Trongvariable-bindings có nhiều objectid, được đánh số từ 1 đến n

+ variable-bindings : danh sách các cặp [ObjectID – Value] cần lấy thôngtin, trong đó objectId là định danh của object cần lấy, còn value là giá trị củaobject đó Khi agent gửi bản tin request thì value là không xác định, khi gửi trảlời thì nó sẽ điền vào value bằng giá trị của object

Trang 38

Hình 2.7: Cấu trúc PDU

2.1.2.4 Cấu trúc Bulk PDU

GetBulkRequest có thể lấy về nhiều object mà chỉ cần chỉ ra một vài object trong bản tin gửi đi Nguyên lý của nó là khai báo số lượng object tính từ object được chỉ ra trong request mà agent phải lần lượt trả về thông tin, kiểu như

“hãy lấy cho tôi 20 object tính từ object có id là ” Một bản tin GetBulk bao gồm các trường:

Hình 2.8: Cấu trúc GetBulk PDU.

+ request-id : tương tự như cấu trúc của PDU

Trang 39

+ non-repeaters : số lượng item đầu tiên trong variable-bindings của GetBulk mà agent phải trả lời bằng item nằm kế tiếp trong mib, mỗi item trong request thì sẽ có một item trong response

+ max-repetitions : các item còn lại trong variable-bindings sẽ được agenttrả lời bằng max-repetitions item nằm kế tiếp chúng trong mib, mỗi item còn lại trong request này sẽ có max-repetitions item tương ứng trong response

2.1.2.5 Trap PDU và InformRequest PDU

Bản tin Trap và Inform có cùng cấu trúc PDU như các bản tin khác TrongSNMPv2, các bản tin này khi gửi đi thì 2 item đầu tiên trong variable-bindings phải là sysUpTime.0 và snmpTrapOID.0, sau đó mới đến các item liên quan đến sự kiện Trong khi SNMPv1 Trap chỉ chứa các item liên quan đến sự kiện

2.2 Giới thiệu về mô hình bảo mật trong SNMPv1.

SNMP cơ bản có chức năng bảo mật rất thô sơ Cơ chế duy nhất để xácthực là theo community names Community names được sử dụng xác định cácnhóm quản lý với quyền truy cập khác nhau Community names được sử dụng đểxác định manager được phép gửi hoặc thiết lập yêu cầu Community names được

sử dụng để xác định các chính sách truy cập cho các nhà quản lý khác nhau Một

số tên được hạn chế trên một số vùng của MIB trong khi số khác có thể có quyềnlớn hơn

SNMP community là nơi quy định tên một nút và tên giống nhau có thểđược sử dụng tại nhiều nút.Khi người quản lý mốn thực hiện một số nhiệm vụquản lý(get hoặc set) nó luôn phải đưa ra community name phù hợp với quyềntruy cập của nó Lựa chọn các nút để quản lý nhằm duy trì một danh sách của tất

cả các community names có liên quan

Đây không phải là cách an toàn để xác định người sử dụng Bất cứ ai biếtmột community name có quyền mạnh có thể hoạt động như một manager cóquyền lựa chọn node Ngoài ra community name ảnh hưởng đến tính bảo mật

Trang 40

Điều này có thể để lại một lỗ hổng rất lớn trong bảo mật của SNMP: Người đó cóthể lắng nghe các UDP không được mã hóa dựa trên lưu lượng truy cập SNMP

và nắm bắt những community name tại một bộ định tuyến Có nghĩa rằng việcnghe trộm và giả mạo là những mối đe dọa rõ ràng nhất

Việc xác thực yếu của SNMP ảnh hưởng tới chính nó Kết hợp với sự thiếuriêng tư khiến cho bảo mật trong SNMP càng kém hơn Dễ dàng để phát hiện lưulượng truy cập của văn bản UDP làm cho tính xác thực của SNMP càng yếu hơn

Do vấn đề an toàn trong SNMP mà nó được dùng chủ yếu để theo dõi cácagent Trên thực tế, trong việc triển khai thực hiện SNMP phương thức “set” bị

vô hiệu hóa vì nó dễ bị tấn công bởi kẻ tấn công muốn quản lý các thiết bị

2.3 Giới thiệu về mô hình bảo mật trong SNMPv2.

Một SNMP management station có thể quản lý/giám sát nhiều SNMPelement, thông qua hoạt động gửi request và nhận trap Tuy nhiên một SNMPelement có thể được cấu hình để chỉ cho phép các SNMP management stationnào đó được phép quản lý/giám sát mình Các cơ chế bảo mật đơn giản này gồmcó : community string, view và SNMP access control list

2.3.1 Community string.

Community string là một chuỗi ký tự được cài đặt giống nhau trên cảSNMP manager và SNMP agent, đóng vai trò như “mật khẩu” giữa 2 bên khitrao đổi dữ liệu.Community string có 3 loại: Read-community, Write-Community và Trap-Community

Khi manager gửi GetRequest, GetNextRequest đến agent thì trong bản tingửi đi có chứa Read- Community Khi agent nhận được bản tin request thì nó sẽ

so sánh Read-community do manager gửi và Read-community mà nó được càiđặt Nếu 2 chuỗi này giống nhau, agent sẽ trả lời; nếu 2 chuỗi này khác nhau,agent sẽ không trả lời

Write-Community được dùng trong bản tin SetRequest Agent chỉ chấpnhận thay đổi dữ liệu khi writecommunity 2 bên giống nhau

Trap-community nằm trong bản tin trap của trap sender gửi cho trap

Ngày đăng: 20/04/2017, 22:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w