Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
MỤC LỤC
1
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
DANH MỤC HÌNH VẼ
2
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
DANH MỤC BẢNG BIỂU
3
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt Mô tả Giải thích
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập
IPS Intrusion Prevention System Hệ thống ngăn chặn xâm nhập
LAN Local Area Network Mạng máy tính cục bộ
MIB Management Information Base Cơ sở dữ liệu thông tin quản lý
NMS Network Monitoring System Hệ thống giám sát mạng
SNMP Simple Network Management
Protocol
Giao thức quản lý mạng đơn giản
STP Spanning Tree Protocol Giao thức ngăn chặn sự lặp vòng
VoIP Voice over Internet Protocol Đàm thoại qua giao thức IP
WAN Wide Area Network Mạng diện rộng
4
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Lý do chọn đề tài
Ngày nay cùng với sự phát triển nhanh chóng của khoa học kỹ thuật, đặc biệt
là trong lĩnh vực công nghệ thông tin đã tác động mạnh đến nền kinh tế thế giới nói
chung và nền kinh tế Việt Nam nói riêng.
Nhằm bảo đảm an ninh cho các hệ thống cũng như quản lý tình trạng hoạt
động của các thiết bị mạng server, quản lý băng thông kết nối, trạng thái của các
dịch vụ trong hệ thống là một khối lượng công việc khổng lồ và khó khăn với bất kỳ
người quản trị nào. Nếu không được xây dựng một hệ thống giám sát và cảnh báo
người quản trị sẽ thụ động trong việc phòng ngừa, sửa chữa các lỗi của hệ thống
mạng từ đó gây ra tổn thất ảnh hưởng đến quá trình kinh doanh và hoạt động của
doanh nghiệp. Điều này làm cho việc quản trị hệ thống mạng máy tính càng được
ổn định và hoàn thiện hơn nữa.
Bằng việc thực hiện phần mềm giám sát mạng, hệ thống quản lý có thể thu
thập đủ dữ liệu và báo cáo định kỳ, nó giúp chúng ta quản lý mạch lạc và dễ dàng.
Nó hạn chế tối đa việc mạng bị gián đoạn trong quá trình hoạt động. Nó đảm bảo
việc khai thác tài nguyên có hiệu quả, đảm bảo an toàn, tin cậy cho những dịch vụ
cung cấp Hiện nay có rất nhiều công cụ giám sát mạng hỗ trợ cho công việc giám
sát mạng mã nguồn mở: Nagios, Cacti, openNMS Mỗi phần có ưu nhược điểm
riêng nhưng Zabbix là một phần mềm khá mạnh.
Để phát triển hệ thống giám sát mạng hơn nữa, cũng như cách triển khai được
hệ thống mạng. Tôi đã chọn đề tài “ Nghiên cứu và Triển khai hệ thống giám sát
mạng cho công ty cổ phần đầu tư phát triển công nghệ Trí Nam”.
1.2 Mục tiêu chọn đề tài
- Tìm hiểu về hệ thống giám sát mạng.
- Sử dụng được giao thức SNMP để giám sát các thiết bị.
- Tìm hiểu được phần mềm Zabbix.
- Đưa ra được mô hình triển khai cho hệ thống mạng công ty.
- Triển khai được hệ thống giám sát mạng doanh nghiệp Trí Nam
5
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
1.3 Giới hạn và phạm vi của đề tài
Xây dựng và triển khai hệ thống mạng cho công ty cổ phần phát triển đầu tư
công nghệ Trí Nam.
1.4 Hướng tiếp cận đề tài
Tiếp cận đề tài theo phương pháp tự nghiên cứu kết hợp với sự hướng dẫn của
thầy giáo hướng dẫn để xây dựng hệ thống giám sát mạng cho công ty cổ phần đầu
tư và phát triển công nghệ Trí Nam.
1.5 Kết quả dự kiến đạt được
- Sử dụng được phần mềm GNS3
- Xây dựng được mô hình mạng giám sát
- Triển khai được hệ thống giám sát mạng cho công ty Trí Nam
1.6 Ý nghĩa lý luận và thực tiễn
- Ý nghĩa lý luận
Qua đề tài chúng ta có thể biết về hệ thống giám sát mạng cũng như biết được
rõ hơn về cách triển khai về hệ thống trên nhiều phần mềm giám sát khác nhau.
- Ý nghĩa thực tiễn
Ứng dụng đề tài này vào thực tế để triển khai cho nhiều doanh nghiệp hơn.
6
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Tổng quan về hệ thống giám sát mạng
2.1.1 Giới thiệu hệ thống giám sát mạng
Giám sát mạng là các hoạt động giám sát hệ thống, thiết bị của một mạng
máy tính thông qua các công cụ phần mềm quản lý chuyên dụng. Hệ thống giám sát
thường được xây dựng ở các công ty, doanh nghiệp vừa và lớn khi có nhu cầu kiểm
tra quản lý hệ thống của họ.
Các hệ thống giám sát mạng (NMSs) thì khác với các hệ thống phát hiện xâm
nhập (IDSs) hoặc các hệ thống phòng chống xâm nhập (IPSs). Những hệ thống phát
hiện break-ins và ngăn chặn người dùng trái phép. Tập trung của NMS không phải
cho vấn đề an ninh mỗi lần đăng nhập.
Giám sát mạng có thể đạt được bằng cách sử dụng phần mềm khác nhau kết
hợp giữa các plug hay play, thiết bị phần cứng và giải pháp phần mềm. Hầu hết bất
kì loại mạng nào cũng có thể được giám sát. Nó không quan trọng là có dây hay
không dây, một mạng LAN công ty, VPN hoặc dịch vụ cung cấp WAN. Bạn có thể
giám sát thiết bị trên các hệ điều hành khác nhau với vô số chức năng, từ điện thoại
di động, tới servers, routers và switches. Những hệ thống này có thể giúp bạn xác
định các hoạt động cụ thể và số liệu xuất, đưa ra kết quả cho phép doanh nghiệp giải
quyết các yêu cầu khác nhau, đưa ra các mối đe dọa an ninh nội bộ và cung cấp
nhiều hiển thị hoạt động hơn.
Việc quyết định dùng cái gì để giám sát mạng thì rất quan trọng. Bạn phải
chắc rằng cấu trúc sơ đồ mạng của công ty bạn thì luôn cập nhật. Đó là bản đồ
chính xác để đưa ra các mạng khác nhau nhằm đáp ứng việc giám sát, server đang
chạy trên hệ điều hành nào, có bao nhiêu máy tính để bàn và có bao nhiêu thiết bị từ
xa có thể truy cập cho mỗi mạng.
2.1.2 Vai trò quan trọng của hệ thống giám sát mạng
Bạn có thể nghĩ rằng nếu mạng đưa ra và chạy, không có lý do để gây rối với
nó. Tại sao bạn lại quan tâm về việc thêm một dự án cho các nhà quản lý của bạn.
7
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
Lý do để khẳng định việc giám sát mạng là nhằm duy trì “sức khỏe” của mạng lưới,
đảm bảo sẵn sàng và cải thiện hiệu suất. NMS cũng có thể giúp bạn xây dựng cơ sở
dữ liệu thông tin quan trọng mà bạn có thể dùng để lên kế hoạch trong sự phát triển
trong tương lai.
2.1.3 Chức năng của hệ thống giám sát mạng
Người ta dùng hệ thống giám sát mạng thường để kiểm tra băng thông sử
dụng, kiểm tra hiệu suất của ứng dụng và hiệu suất của máy chủ.
Giám sát lưu lượng là nhiệm vụ cơ bản, một trong những việc xây dựng hệ
thống mạng và duy trì các nhiệm vụ cơ bản. Nó thường tập trung vào các vấn đề hỗ
trợ người dùng nội bộ. Vì vậy hệ thống giám sát mạng tiến hóa để giám sát các loại
thiết bị như:
• BlackBerrys
• Cell phones
• Servers and desktops
• Routers
• Switches
Một số hệ thống mạng đi kèm với việc phát hiện tự động, khả năng ghi lại
thiết bị liên tục khi chúng được thêm vào, gỡ bỏ hoặc trải qua những thay đổi cấu
hình. Những công cụ này tách riêng các thiết bị tự động:
• IP address
• Service
• Type (switch, router, etc…)
• Physical location.
Ngoài những lợi thế hiển nhiên của việc biết chính xác và thực tế những gì
bạn đã khai triển, hệ thống giám sát mạng còn có thể tự động phát hiện và phân loại
công đoạn, giúp bạn có kế hoạch phát triển.
2.1.4 Phân loại các mạng của hệ thống giám sát
Hệ thống giám sát mạng có thể giám sát các có kích thước lớn, nhỏ, trung
bình. Một số loại mạng như là:
• Wireless or wired
• Lan
8
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
• VPN
• WAN
Thị trường kinh doanh luôn đòi hỏi các chức năng trang web mới để sử dụng
nội bộ và bên ngoài. Hiệu suất các chức năng nhạy cảm (hay còn gọi là băng thông)
bao gồm tiếng nói qua IP (VoIP), Internet Protocol TV (IPTV) và video theo yêu
cầu (VOD). Giám sát cho phép các nhà quản lý phân bố nguồn lực để duy trì tính
toàn vẹn của hệ thống.
2.1.5 Chiến lược của hệ thống giám sát mạng
Một hệ thống giám sát (NMS) sẽ giúp định hướng trong môi trường phức
tạp, đưa ra các báo cáo, người quản lý có thể sử dụng các báo cáo này để:
- Xác nhận việc tuân thủ quy định và chính sách
- Tiết kiệm chi phí tiềm lực bằng cách tìm nguồn dữ liệu dư thừa.
- Giải quyết hiệu quả việc bị lấy cắp thông tin.
- Trợ giúp xác định năng suất của nhân viên.
- Spot quá tải thiết bị trước khi nó có thể mang xuống một mạng lưới.
- Xác định liên kết mạng diện rộng yếu và thắt cổ trai.
- Do độ trễ, hoặc do chuyển tải dữ liệu bị trễ.
- Tìm bất thường trong mạng nội bộ có thể cho biết mối đe dọa ăn ninh
Nhưng một NMS không phải là hệ thống phát hiện IDS hoặc hệ thống phòng
chống IPS. Một số NMS có thể phát hiện các hành động khó chịu, nhưng đó không
phải là nhiệm vụ của nó.
Giám sát mạng cẩn thận cho phép giám đốc điều hành tất cả thông tin họ cần
để chứng minh việc nâng cấp mạng và mở rộng mạng là cần thiết để hỗ trợ doanh
nghiệp thành công trong tương lai.
Service – level agreements (SLA) khó thực thi bên bộ phận khách hàng bởi
vì nó đưa ra những điều khoản rất là khắt khe.
Hệ thống giám sát mạng làm việc hiệu quả sẽ thông báo cho nhà quản lý biết
thiết bị, dịch vụ, hoặc ứng dụng được phép hoạt động ở mức nào.
9
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
2.1.6 Công cụ của hệ thống giám sát mạng
Bản thân những hệ thống giám sát mạng có thể là phần mềm hoặc firmware
đơn giản hay phức tạp. Một trong những công cụ đơn giản nhất là gửi tín hiệu đến
thiết bị và xem thời gian trả về là bao lâu. Thích hợp hơn với hầu hết các nhà quản
lý là các công cụ liên quan đến các kiểm tra thông tin thường và các kịch bản theo
dõi và có thể trong mạng lưới rộng khắp.
Các công cụ mã nguồn mở có tính mở rộng cao, không tốn. Và chúng làm
việc với hầu hết các công cụ và phù hợp với hầu hết các nền tảng. Không có vấn đề
gì đáng lo khi bạn chọn công cụ, mặc dù tích cực tìm hiểu xem chúng làm tốt như
thế nào trong môi trường của bạn, đặc biệt với các hệ điều hành trên mạng của bạn.
Nếu như mạng của bạn trở nên quá phức tạp và bạn không thể kiểm soát
được những gì đang xảy ra, bạn có thể dõi outsource. Outsources tạo ra các mức của
dịch vụ và các gói chức năng để bao quát nhiều môi trường mạng và ngân sách. Sản
phẩm giám sát mạng có thể miễn phí hoàn toàn hoặc chúng có thể vô cùng tốn kém.
2.1.7 Yêu cầu chi phí cho hệ thống giám sát
Giải pháp giám sát mạng có thể hoàn toàn miễn phí hoặc rất tốn kém. Hầu hết
các công cụ mã nguồn mở là miễn phí, như những công cụ có thể được mua kèm
với cơ sở hạ tầng. Ứng dụng phần – giải pháp và các dịch vụ chỉ giao động trong
khoảng từ 50$ đến hàng nghìn USD.
Với các nhà cung cấp dịch vụ, bạn có thể tùy chọn trong danh mục các dịch vụ
giám sát, có thể tiết kiệm thông qua lấy các thiết bị phát sinh phụ thuộc vào mạng.
Có những trao đổi khác nhau. Mua dịch vụ có thể cung cấp cho bạn tiếp cận với
công nghệ giám sát mới nhất; tương phản, lấy được thiết bị cung cấp nhiều chức
năng hơn.
Một trong những điều chắc chắn khi nói đến giám sát mạng là chi phí mà bạn
phải bỏ ra nếu không sử dụng những công nghệ này có thể sẽ lớn hơn bạn nghĩ rất
nhiều, Khi bạn không nhận được hiệu suất và tính sẵn sàng, bạn buộc lòng phải chịu
tốn kém để chắc chắn rằng mạng của bạn hiệu quả và an toàn.
10
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
2.2. Tổng quan về giao thức SNMP
2.2.1 Giới thiệu về quản lý hệ thống mạng
Sự phát triển và hội tụ mạng trong những năm gần đây đã tác động mạnh mẽ
tới tất cả các khía cạnh của mạng lưới, thậm chí cả về những nhận thức nền tảng và
phương pháp tiếp cận.
Quản lý mạng cũng là một trong những lĩnh vực đang có những sự thay đổi và
hoàn thiện mạnh mẽ trong cả nỗ lực tiêu chuẩn hóa của tổ chức tiêu chuẩn lớn trên
thế giới và yêu cầu từ phía người sử dụng dịch vụ. Mặt khác các nhà khai thác
mạng, nhà cung cấp thiết bị và người sử dụng thường áp dụng các phương pháp
chiến lược khác nhau cho việc quản lý mạng và thiết bị của mình. Mỗi nhà cung cấp
thiết bị thường đưa ra giải pháp quản lý mạng riêng biệt cho sản phẩm của mình.
Trong bối cảnh hội tụ mạng hiện nay, số lượng thiết bị và dịch vụ rất đa dạng và
phức tạp đã tạo ra các thách thức lớn trong vấn đề quản lý mạng.
Nhiệm vụ của quản lý mạng rất rõ ràng về mặt nguyên tắc chung, nhưng các
bài toán quản lý cụ thể lại có độ phức tạp rất lớn. Điều này xuất phát từ tính đa dạng
của các hệ thống thiết bị và các đặc tính quản lý của các loại thiết bị, và xa hơn nữa
là chiến lược quản lý phải phù hợp với kiến trúc mạng và đáp ứng yêu cầu của
người sử dụng. Một loạt các thiết bị điển hình cần được quản lý gồm: Máy tính cá
nhân, máy trạm, server, máy vi tính cỡ nhỏ, máy vi tính cỡ lớn, các thiết bị đầu
cuối, thiết bị đo kiểm, máy điện thoại, tổng đài điện thoại nội bộ các thiết bị truyền
hình, máy quay, modem, bộ ghép kênh, bộ chuyển đổi giao thức, CSU/DSU, bộ
ghép kênh thống kê, bộ ghép và giải gói, thiết bị tương thích ISDN, card NIC, các
bộ mã hóa và giải maz tín hiệu, thiết bị nén dữ liệu, các gateway, các bộ xử lý front-
end, các đường trung kế, DSC/DAC, các bộ lặp, bộ tái tạo tín hiệu, các thiết bị
chuyển mạch, các bridge, router, hay switch, tất cả mới chỉ là một phần của danh
sách các thiết bị được quản lý.
Toàn cảnh của bức tranh quản lý bao gồm quản lý các tài nguyên mạng cũng
như các tài nguyên dịch vụ, người sử dụng, các ứng dụng hệ thống, các cơ sở dữ
liệu khác nhau trong các loại môi trường ứng dụng.
11
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
Về mặt kĩ thuật, tất cả thông tin trên được thu thập, trao đổi và được kết hợp
với hoạt động quản lý mạng dưới dạng các số liệu quản lý bởi các kĩ thuật tương tự
như các kĩ thuật sử dụng trong mạng truyền số liệu.
Tuy nhiên sự khác nhau căn bản giữa truyền thông số liệu và trao đổi thông tin
quản lý là việc trao đổi thông tin quản lý đòi hỏi các trường dữ liệu chuyên biệt, các
giao thức truyền thông cũng như các mô hình thông tin chuyên biệt, các kỹ năng
chuyên biệt để có thể thiết kế, vận hành hệ thống quản lý cũng như biên dịch các
thông tin quản lý báo lỗi, hiện trạng hệ thống, cấu hình và độ bảo mật.
2.2.2 Hai phương thức giám sát Poll và Alert
Hai phương thức giám sát “Poll” và “Alert” đây là 2 phương thức cơ bản của
các kỹ thuật giám sát hệ thống, nhiều phần mềm và giao thức được xây dựng dựa
trên 2 phương thức này, trong đó có SNMP.
a) Phương thức Poll
Nguyên tắc hoạt động: Trung tâm giám sát (manager) sẽ thường xuyên hỏi
thông tin của thiết bị cần giám sát (device). Nếu Manager không hỏi thì Device
không trả lời, nếu Manager hỏi thì Device phải trả lời. Bằng cách hỏi thường xuyên,
Manager sẽ luôn cập nhật được thông tin mới nhất từ Device.
Ví dụ: Người quản lý cần theo dõi khi nào thợ làm xong việc. Anh ta thường
xuyên hỏi người thợ “Anh đã làm xong chưa?” và người thợ sẽ trả lời rằng “Xong”
hoặc “Chưa”.
Request #1
Response #1
Request #2
Response
Hình 2-1: Hình minh họa cơ chế Poll
12
Manager Device
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
b) Phương thức Alert
Nguyên tắc hoạt động: Mỗi khi trong Device xảy ra một sự kiện (event) nào
đó thì Device sẽ tự hoạt động gửi thông báo cho Manager gọi là Alert. Manager
không hỏi thông tin định kỳ từ Device.
Device thì gửi những thông báo mang tính sự kiện chứ không gửi những
thông tin thường xuyên thay đổi, nó cũng sẽ không gửi Alert nếu chẳng có sự kiện
gì xảy ra. Chẳng hạn khi một port down/up thì Device sẽ gửi cảnh báo, còn tổng số
byte truyền qua port đó sẽ không được Device gửi đi vì đó là thông tin thường
xuyên thay đổi. Muốn lấy những thông thường xuyên thay đổi thì Manager phải chủ
động đi hỏi Device, tức là phải thực hiện phương thức Poll.
Alert #1 Event #1
Alert #2 Event #2
Alert #3 (No Event)
Event #3
Hình 2-2: Hình minh họa cơ chế Alert
Ví dụ: Người quản lý cần theo dõi tình hình làm việc của thợ, anh ta yêu cầu
người thợ thông báo cho mình khi có vấn đề gì đó xảy ra. Người thợ sẽ thông báo
các sự kiện đại loại như “Tiến độ đã hoàn thành 50%”, “Mất điện lúc 10h”, “Có
điện lại lúc 11h”, “Mới có tai nạn xảy ra”.
c) So sánh phương thức Poll và Alert
Hai phương thức hoàn toàn khác nhau về cơ chế. Một ứng dụng giám sát có
thể sử dụng Poll hoặc Alert, hoặc cả hai, tùy vào yêu cầu cụ thể trong thực tế.
Bảng so sánh sự khác biệt giữa hai phương thức:
Bảng 2-1: So sánh Port và Alert
Poll Alert
13
Device Manager
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
Có thể chủ động lấy các thông tin cần
thiết từ các đối tượng mình quan tâm,
không cần lấy những thông tin không
cần thiết từ những nguồn không quan
tâm.
Tất cả những event xảy ra đều được gửi
về Manager. Manager phải có cơ chế
lọc các event cần thiết, hoặc Device
phải thiết lập được cơ chế chỉ gửi event
cần thiết.
Có thể lập bảng trạng thái tất cả thông
tin của Device sau khi poll qua một lượt
các thông tin đó. Ví dụ Device có một
port down và Manager được khởi động
sau đó, thì Manager sẽ biết được port
đang down sau khi poll qua một lượt tất
cả các port.
Nếu không có event gì xảy ra thì
Manager không biết được trạng thái của
Device. Ví dụ Device có 1 port down và
Manager được khởi động sau đó, thì
Manager sẽ không thể biết được port
đang down.
Trong trường hợp đường truyền giữa
Manager và Device xảy ra gián đoạn và
Device có sự thay đổi, thì Manager sẽ
được cập nhật được thông tin mới nhất
do nó luôn luôn poll định kì.
Khi đường truyền gián đoạn và Device
có sự thay đổi thì nó vẫn gửi Alert cho
Manager, nhưng Alert này sẽ không đến
được Manager. Sau đó mặc dù đường
truyền thông suốt trở lại thì Manager
vẫn không thể biết được những gì đã
xảy ra.
Chỉ cần cài đặt tại Manager để trỏ đến
tất cả các Device. Có thể dễ dàng thay
đổi Manager khác.
Phải cài đặt tại từng Device để trỏ đến
Manager. Khi thay đổi Manager thì phải
cài đặt lại trên tất cả Device để trỏ về
Manager mới.
Có thể bỏ sót các sự kiện: khi Device có
thay đổi, sau đó trở lại như ban đầu
trước khi đến lượt poll kế tiếp thì
Manager sẽ không phát hiện được.
Manager sẽ được thông báo mỗi khi xảy
ra ở Device, do đó Manager không bỏ
sót bất kì sự kiện nào.
14
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
Hai phương thức Poll và Alert có những điểm thuận lợi và bất lợi ngược
nhau, do đó nhiều trường hợp ta nên sử dụng kết hợp cả 2 phương thức để đạt được
hiệu quả của poll và alert.
Các ví dụ ứng cơ chế Poll & Alert:
- Giao thức Syslog: mỗi khi có sự kiện xảy ra thì thiết bị sẽ gửi bản tin Syslog
đến Syslog Server.
- Phần mềm NetworkView, giám sát tình trạng các server bằng cách thực hiện
ping liên tục.
- Giao thức STP, phát hiện loop trong mạng bằng cách gửi nhận các gói
BPDU và gửi bản tin Topology change mỗi khi phát hiện thay đổi.
- Trong quản lý người ta luôn thực hiện song song chế độ kiểm tra và báo cáo,
thường xuyên kiểm tra để phát hiện vấn đề và báo cáo khi xảy ra vấn đề.
2.2.3 Giới thiệu giao thức SNMP
SNMP là giao thức quản lý mạng cơ bản dịch từ cụm từ “Simple Network
Management Protocol”. Giao thức này được sử dụng rất phổ biến để giám sát và
điều khiển các thiết bị mạng.
Giao thức SNMP được thiết kế để cung cấp một phương thức đơn giản nhằm
quản lý tập trung mạng TCP/IP. Người quản trị có thể thông qua giao thức này để
quản lý các hoạt động hay thay đổi các trạng thái hệ thống mạng.
Giao thức SNMP được sử dụng để quản lý các hệ thống Unix, Window…, các
thiết bị mạng như router, gateway, firewall, switch…, thông qua một số phần mềm
cho phép quản trị với SNMP.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 surpported) hoặc tương tích
SNMP (SNMP compartible).
SNMP dùng để quản lý, nghĩa là nó có thể theo dõi, có thể lấy thông tin, có
thể được thông báo và có thể tác động để hoạt động như ý muốn. VD một số khả
năng của phần mềm SNMP:
- Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã
truyền/ nhận như thế nào.
15
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
- Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trống
bao 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 là giao thức đơn giản, do nó được thiết kế đơn giản trong cấu trúc bản
tin và thủ tục hoạt động, và còn đơn giản trong bảo mật (ngoại trừ SNMP version
3). Sử dụng phần mềm SNMP, người quản trị mạng có thể quản lý, giám sát tập
trung từ xa toàn mạng của mình.
2.2.4 Ưu điểm của thiết kế SNMP
SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phần trong
mạng. Nhờ đó các phần mềm SNMP có thể được phát triển nhanh và tốn ít chi 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 cho 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 nhưng đáp ứng SNMP là cơ
bản giống nhau.
2.2.5 Các phiên bản của SNMP
Tổ chức Internet Engineering Task Force (IETF) chịu trách nhiệm cho việc
định nghĩa các chuẩn giao thức hoạt động trong môi trường mạng, bao gồm cả
SNMP. IETF phát hành các tài liệu Requests for Comments (RFCs) chỉ rõ các giao
thức tồn tại trong môi trường IP.
IETF đã công bố các phiên bản của SNMP như sau:
• SNMP Version 1 (SNMPv1) được định nghĩa trong RFC 1157. Khả năng bảo
mật của SNMPv1 dựa trên nguyên tắc cộng đồng, cho phép bất cứ ứng dụng
nào chạy SNMP cũng có thể truy xuất thông tin của các thiết bị chạy SNMP
khác. Có 3 tiêu chuẩn là: read-only, read-write, và trap.
16
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
• SNMP Version 2 (SNMPv2): tính bảo mật của phiên bản này dưa trên chuỗi
“community”. Do đó phiên bản này còn được gọi là SNMPv2c và được định
nghĩa trong RFC 1905, 1906, 1907.
• SNMP Version 3 (SNMPv3): được định nghĩa trong các RFC 1905, 1906,
1907, 2571, 2572, 2573, 2574, và 2575. Phiên bản này hỗ trợ chức thực
mạnh, cho phép truyền thông riêng tư giữa và có xác nhận giữa các thực thể.
2.2.6 Điều hành SNMP
a) Các thành phần trong SNMP
Hệ thống quản lý mạng dựa trên SNMP gồm ba thành phần: bộ phận quản lý
(manager), đại lý (agent) và cơ sở thông tin quản lý (MIB).
Management là một server có chạy các chương trình có thể thực hiện một số
chức năng quản lý mạng. Management có thể xem như NMS (Network Manager
Stations). NMS có khả năng thăm dò và thu thập các cảnh báo từ các Agent trong
mạng. Các cảnh báo của Agent là cách mà Agent báo với NMS khi có sự cố xảy ra.
Cảnh báo của Agent được gửi một cách không đồng bộ, không nằm trong việc trả
lời truy vấn NMS, NMS dựa trên nền các thông tin trả lời của Agent để có các
phương án giúp mạng hoạt động hiệu quả hơn.
Agent là một phần trong các chương trình chạy trên các thiết bị mạng cần
quản lý. Nó có thể là một chương trình độc lập, hoặc tích hợp vào hệ điều hành như
IOS của Cisco trên Router. Ngày nay, đa số các thiết bị mạng hoạt động tới lớp IP
được cài đặt SNMP agent. Các nhà sản xuất ngày càng muốn phát triển các agent
trong các sản phẩm của họ. Các Agent cung cấp thông tin cho NMS bằng cách lưu
trữ các hoạt động khác nhau của thiết bị.
MIB không có sự hạn chế nào khi NMS gửi một truy vấn đồng thời Agent gửi
một cảnh báo. MIB có thể xem như một cơ sở dữ liệu của đối tượng quản lý mà
Agent lưu trữ được. Bất kì thông tin bào NMS có thể truy cập được đều được định
nghĩa trong MIB. Một Agent có thể có nhiều MIB nhưng tất các Agent đều có một
MIB gọi là MIB-II được định nghĩa trong RFC 1213.
17
Network management station
Network element
Network element
Network element
Network management station #2
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
Theo RFC1157 bao gồm 2 thành phần chính: các trạm quản lý mạng (network
management station) và các thành tố mạng (network element).
- Network management station thường là một máy tính chạy phần mềm
quản lý SNMP (SNMP management application), dùng để giám sát và
điều khiển tập trung các network element.
SNMP Protocol
SNMP Protocol
Hình 2-3: Cấu trúc của Network management station
- Network element là các thiết bị, máy tính, hoặc phần mềm tương thích
SNMP và được quản lý bởi network management station. Như vậy
element bao gồm device, host và application.
- Một management station có thể quản lý nhiều element, một element cũng
có thể được quản lý bởi nhiều management station. Vậy nếu một element
được quản lý bởi 2 station thì điều gì sẽ xảy ra? Nếu station lấy thông tin
từ element thì cả 2 station sẽ có thông tin giống nhau. Nếu 2 station tác
động đến cùng một element thì element sẽ đáp ứng cả 2 tác động theo thứ
tự cái nào đến trước.
Ngoài ra còn có khái niệm SNMP agent. SNMP agent là một tiến trình
(process) chạy trên network element, có nhiệm vụ cung cấp thông tin của element
cho station, nhờ đó station có thể quản lý được element. Chính xác hơn là
application chạy trên station và agent chạy trên element mới là 2 tiến trình SNMP
trực tiếp liên hệ với nhau. Các ví dụ minh họa sau đây sẽ làm rõ các khái niệm này:
- Để dùng một máy chủ (= station) quản lý các máy con (= element) chạy
HĐ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.
18
Network managerment
SNMP application
Network element
SNMP agent
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
- Để 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áy chủ, bật tính năng SNMP (= agent) trên router.
Hình 2-4: SNMP agent chạy trên network
b) Object ID
Một thiết bị hỗ trợ SNMP có thể cung cấp nhiều thông tin khác nhau, mỗi
thông tin đó gọi là một object.
Ví dụ:
- Máy tính có thể cung cấp các thông tin: tổng số ổ cứng, tổng số port nối
mạng, tổng số byte đã truyền/nhận, tên máy tính, tên các process đang
chạy trên máy…
- Router có thể cung cấp các thông tin: tổng số card, tổng số port, tổng số
byte đã truyền/nhận, tên router, tình trạng các port của 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 trong các ưu điểm của SNMP là nó được thiết kế để chạy độc
lập với các thiết bị khác nhau. Chính nhờ việc chuẩn hóa OID mà ta có thể dùng
một SNMP application để lấy thông tin các loại device của các hãng khác nhau.
c) Object access
Mỗi object có quyền truy cập là READ_ONLY hoặc READ_WRITE. Mọi
object đều có thể đọc được nhưng chỉ những object có quyền READ_WRITE mới
có thể thay đổi được giá trị.
d) Management Information Base
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ên nền
TCP/IP. MIB là kiến trúc chung mà các giao thức quản lý trên TCP/IP nên tuân
19
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
theo, trong đó có SNMP. MIB được thể hiện thành 1 file (MIB file) và có thể biểu
diễn thành 1 cây (MIB tree). MIB có thể được chuẩn hóa hoặc tự tạo.
Một manager có thể quản lý được một device chỉ khi ứng dụng SNMP
manager và ứng dụng SNMP agent cùng hỗ trợ một MIB. Các ứng dụng này cũng
có thể hỗ trợ cùng lúc nhiều MIB.
Thiết bị chịu sự quản lý (Managed device): Là một nút mạng hỗ trợ giao thức
SNMP và thuộc về mạng quản lý.
Cơ sở thông tin quản lý MIB: Mỗi thiết bị chịu sự quản lý có thể có cấu hình,
trạng thái và thông tin thống kê rất đa dạng, định nghĩa chức năng và khả năng vận
hành của thiết bị.
2.2.7 Các phương thức trong SNMP
Giao thức SNMPv1 có 5 phương thức hoạt động, tương ứng với 5 loại bản tin
Bảng 2-2: Các phương thức trong SNMP
Phương thức Mô tả tác dụng
GetRequest Manager gửi GetRequest cho agent để yêu cầu agent
cung cấp thông tin nào đó dựa vào ObjectID (trong
GetRequest có chứa OID).
GetNextReques
t
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ếp
ObjectID đó 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ì. OID
trong GetRequest cho biết nó muốn lấy thông tin của object nào. OID trong
20
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
GetResponse 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.
a) 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ông tin tên của Device1 thì manager gửi bản tin
GetRequest
- OID=1.3.6.1.2.1.1.5 đến Device1, tiến trình SNMP agent trên Device1 sẽ
nhận được bản tin và tạo bản tin trả lời.
- Trong một bản tin GetRequest có thể chứa nhiều OID, nghĩa là dùng một
GetRequest có thể lấy về cùng lúc nhiều thông tin.
b) 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ỉ ra trong bản
tin. Tại sao phải có phương thức GetNextRequest? Như bạn đã biết khi đọc qua
những phần trên: một MIB bao gồm nhiều OID được sắp xếp thứ tự nhưng không
liên tục, nếu biết một OID thì không xác định được OID kế tiếp. Do đó ta cần
GetNextRequest để lấy về giá trị của OID kế tiếp. Nếu thực hiện GetNextRequest
liên tục thì ta sẽ lấy được toàn bộ thông tin của agent.
c) SetRequest
Bản tin SetRequest được manager gửi cho agent để thiết lập giá trị cho một
object nào đó.
Ví dụ:
- Có thể đặt lại tên của một máy tính hay router bằng phần mềm SNMP
manager, bằng cách gửi bản tin SetRequest có OID là 1.3.6.1.2.1.1.5.0
(sysName.0) và có giá trị là tên mới cần đặt.
- 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ó
21
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
giá trị là 2^7. Chỉ những object có quyền READ_WRITE mới có thể thay
đổi được giá trị.
d) GetResponse
Mỗi khi SNMP agent nhận được các bản tin GetRequest, GetNextRequest hay
SetRequest thì nó sẽ gửi lại bản tin GetResponse để trả lời. Trong bản tin
GetResponse có chứa OID của object được request và giá trị của object đó.
e) 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 của
agent mà là các sự kiện mang tính biến cố.
Ví dụ: Khi có một port down, khi có 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ông phải mọi agent đều gửi trap
khi xảy ra cùng một biến cố. Việc agent gửi hay khô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. SNMP
request/response dùng để quản lý còn SNMP trap dùng để cảnh báo. Nguồn gửi trap
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ười dù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ản tin trap có
nghĩa gì.
Theo SNMPv1, generic trap có 7 loại sau:
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
- coldStart(1): 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.
22
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
- warmStart(2): 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(3): Thông báo rằng thiết bị gửi bản tin này phát hiện được một
trong những kết nối truyền thông (communication link) của nó gặp lỗi. Trong
bản tin trap có tham số chỉ ra ifIndex của kết nối bị lỗi.
- linkup(4): Thông báo rằng thiết bị gửi bản tin này phát hiện được một trong
nhữ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ó
tham số chỉ ra ifIndex của kết nối được khôi phục.
- authenticationFailure(5): 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ực
khô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ành công vào thiết bị.
- egpNeighborloss(6): Thông báo rằng một trong số những “EGP neighbor” 8
coi là down và quan hệ đối tác (peer relationship) giữa 2 bên không còn được
duy trì.
- enterpriseSpecific(7): Thông báo rằng bản tin trap không thuộc các kiểu
generic 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êm
khả 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 specific trap
này, và dĩ nhiên chỉ những trap receiver và trap sender hỗ trợ cùng một MIB mới có
thể hiểu ý nghĩa của specific trap. Do đó nếu bạn dùng một phần mềm trap receiver
bất kỳ để nhận trap của các trap sender bất kỳ, bạn có thể đọc và hiểu các generic
trap khi chúng xảy ra; nhưng bạn sẽ không hiểu ý nghĩa các specific trap khi chúng
hiện lên màn hình vì bản tin trap chỉ chứa những con số.
Manager Agent Manager
GetRequest
Trap
GetResponse Trap
GetNextRequest
GetResponse Trap
23
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
SetRequest
GetResponse
Hình 2-5: Hình minh họa 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 ở port UDP
162.
2.2.8 Các cơ chế bảo mật cho SNMP
Một SNMP management station có thể quản lý/giám sát nhiều SNMP element,
thông qua hoạt động gửi request và nhận trap. Tuy nhiên một SNMP element có thể
được cấu hình để chỉ cho phép các SNMP management station nà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ồm có: community string, view và SNMP
access control list.
a) 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 khi trao đổi dữ
liệu. Communitystring có 3 loại: Read-community, Write-Community và Trap-
Community.
Khi manager gửi GetRequest, GetNextRequest đến agent thì trong bản tin gử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ấp nhận
thay đổi dữ liệu khi write-community 2 bên giống nhau.
Trap-community nằm trong bản tin trap của trap sender gửi cho trap receiver.
Trap receiver chỉ nhận và lưu trữ bản tin trap chỉ khi trap-community 2 bên giống
24
Nghiên cứu & Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển
công nghệ Trí Nam
nhau, tuy nhiên cũng có nhiều trap receiver được cấu hình nhận tất cả bản tin trap
mà không quan tâm đến trap-community.
Community string có 3 loại như trên nhưng cùng một loại có thể có nhiều
string khác nhau. Nghĩa là một agent có thể khai báo nhiều read-community, nhiều
write-community.
Trên hầu hết hệ thống, read-community mặc định là “public”, write-
community mặc định là “private” và trap-community mặc định là “public”.
Community string chỉ là chuỗi ký tự dạng cleartext, do đó hoàn toàn có thể bị
nghe lén khi truyền trên mạng. Hơn nữa, các community mặc định thường là
“public” và “private” nên nếu người quản trị không thay đổi thì chúng có thể dễ
dàng bị dò ra. -Khi community string trong mạng bị lộ, một người dùng bình
thường tại một máy tính nào đó trong mạng có thể quản lý/giám sát toàn bộ các
device có cùng community mà không được sự cho phép của người quản trị.
b) View
Khi manager có read-community thì nó có thể đọc toàn bộ OID của agent. Tuy
nhiên agent có thể quy định chỉ cho phép đọc một số OID có liên quan nhau, tức là
chỉ đọc được một phần của MIB. Tập con của MIB này gọi là view, trên agent có
thể định nghĩa nhiều view.
Ví dụ : agent có thể định nghĩa view interfaceView bao gồm các OID liên
quan đến interface, storageView bao gồm các OID liên quan đến lưu trữ, hay
AllView bao gồm tất cả các OID.
Một view phải gắn liền với một community string. Tùy vào community string
nhận được là gì mà agent xử lý trên view tương ứng. Ví dụ : agent định nghĩa read-
community “inf” trên view interfaceView, và “sto” trên.
StorageView: Khi manager gửi request lấy OID ifNumber với community là
“inf” thì sẽ được đáp ứng do ifNumber nằm trong interfaceView; nếu manager
request OID hrStorageSize với community “inf” thì agent sẽ không trả lời do
hrStorageSize không nằm trong interfaceView; nhưng nếu manager request
25