QUAN HỆ THỐNG GIÁM SÁT MẠNG
ĐỊNH NGHĨA – SỰ CẦN THIẾT GIÁM SÁT AN NINH MẠNG
1.1.1 ĐỊNH NGHĨA GIÁM SÁT AN NINH MẠNG:
Giám sát an ninh mạng là quá trình thu thập và phân tích thông tin từ các thành phần của hệ thống, nhằm đánh giá tình trạng an ninh và cung cấp cảnh báo cho người quản trị.
Giám sát an ninh mạng bao gồm việc theo dõi tất cả các thành phần và thiết bị trong hệ thống mạng, như máy trạm, cơ sở dữ liệu, ứng dụng, server và các thiết bị mạng khác.
1.1.2 SỰ CẦN THIẾT CỦA HỆ THỐNG GIÁM SÁT AN NINH MẠNG:
Để đánh giá tổng quát bức tranh an toàn, an ninh thông tin của một cơ quan, tổ chức, việc thu thập, phân tích và lưu trữ các sự kiện an toàn thông tin từ các thiết bị như Router, Switch, Firewall, IDS/IPS, Mail Security, Web Security, Anti-Virus, cũng như các ứng dụng Mail, Web, cơ sở dữ liệu và hệ điều hành là rất cần thiết Tuy nhiên, số lượng sự kiện an toàn thông tin được tạo ra là rất lớn, với nhiều định dạng khác nhau và giá trị thông tin khác nhau Các thiết bị khác nhau có thể tạo ra báo cáo từ các góc độ khác nhau về cùng một sự kiện an toàn thông tin.
Yếu tố con người và môi trường làm việc có thể dẫn đến việc bỏ qua các thông tin cảnh báo quan trọng và không xử lý kịp thời các sự cố an ninh mạng, gây thiệt hại lớn cho cơ quan, tổ chức Do đó, cần thiết lập một hệ thống giám sát an ninh mạng (GSANM) để theo dõi và giám sát các mối đe dọa, từ đó đưa ra phương án đối phó hiệu quả Hệ thống GSANM sẽ quản lý và phân tích các sự kiện an ninh mạng, thu thập, chuẩn hóa, lưu trữ và phân tích toàn bộ các sự kiện phát sinh từ hạ tầng công nghệ thông tin của cơ quan, tổ chức.
+ Phát hiện kịp thời các tấn công mạng xuất phát từ Internet cũng như các tấn công xuất phát trong nội bộ
+ Phát hiện kịp thời các điểm yếu, lỗ hổng bảo mật của các thiết bị, ứng dụng và dịch vụ trong hệ thống
Việc phát hiện kịp thời sự lây nhiễm mã độc trong hệ thống mạng là rất quan trọng, bao gồm việc xác định các máy tính bị nhiễm mã độc và những máy tính nghi ngờ thuộc mạng máy tính ma (botnet).
+ Giám sát việc tuân thủ chính sách an ninh trong hệ thống
+ Cung cấp bằng chứng số phục vụ công tác điều tra sau sự cố
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG GIÁM SÁT MẠNG
Hình 1.1: Ví dụ sơ đồ giám sát an ninh mạng.
CÁC BƯỚC CẦN THỰC HIỆN CỦA MỘT HỆ THỐNG NSM
Việc thu thập dữ liệu liên quan đến tình trạng hoạt động của các thiết bị trong hệ thống mạng là rất quan trọng, đặc biệt trong các hệ thống lớn nơi mà các dịch vụ và thiết bị không được đặt trên cùng một máy Thay vào đó, chúng thường nằm trên các máy chủ và hệ thống con riêng biệt, hoạt động trên những nền tảng khác nhau Để giải quyết vấn đề này, mô hình Log tập trung được áp dụng, giúp chuyển tất cả Log về một trung tâm để phân tích và xử lý hiệu quả.
Each device has its unique characteristics and corresponding types of logs For instance, network devices such as routers and switches generate specific logs, while intrusion detection systems (IDS), intrusion prevention systems (IPS), and tools like Snort produce their own distinct logs Additionally, web servers and application servers maintain logs, along with event logs and registry logs from Windows and Unix/Linux servers.
- Cách thức thu thập dữ liệu trong hệ thống NSM:
Phương pháp đẩy (Push Method) cho phép các sự kiện từ thiết bị, máy trạm và server tự động chuyển về các Collector theo thời gian thực hoặc theo khoảng thời gian được cấu hình Các Collector của Log Server sẽ lắng nghe và nhận các sự kiện khi chúng xảy ra, chẳng hạn như NetFlow, Syslog-ng Message (bao gồm Syslog-Agent và Syslog-Server) và logs từ Access-list (ACL).
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG GIÁM SÁT MẠNG
Hình 1.2: Thu thập dữ liệu theo phương pháp đẩy
Phương pháp kéo (Pull Method) là cách thức mà các Collector thu thập và lưu trữ các sự kiện phát sinh trên các thiết bị Các sự kiện này sẽ được lấy về bởi các bộ Collector thông qua hai giao thức phổ biến: Security Device Event Exchange (SDEE), bao gồm các thiết bị trong hệ thống phát hiện xâm nhập được phát triển bởi ICSA, và SNMP (Simple Network Management Protocol), giao thức hỗ trợ quản lý thiết bị từ xa.
Sau khi thu thập thông tin về hệ thống, bước tiếp theo là phân tích dữ liệu, bao gồm việc chỉ mục hóa thông tin và phát hiện các bất thường cũng như mối đe dọa tiềm ẩn Việc này dựa trên các thông tin như lưu lượng truy cập, trạng thái truy cập và định dạng yêu cầu Một ví dụ điển hình là sự gia tăng đột ngột của lưu lượng truy cập trong một khoảng thời gian nhất định.
Hình 1.3: Ví dụ về biểu đồ lưu lượng Web tăng vọt đột biến
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG GIÁM SÁT MẠNG
Sau khi phân tích dữ liệu từ các thông tin thu thập được, bước tiếp theo là đánh giá và cung cấp thông tin cảnh báo cho người quản trị Đồng thời, cần thực hiện các hành động để đối phó với những mối đe dọa và khắc phục các sự cố có thể xảy ra.
Cảnh báo về sự cố có thể được gửi qua email hoặc SMS, và hệ thống có khả năng thực thi mã script để giảm thiểu hậu quả Khi sự cố xảy ra, hệ thống tự động thông báo cho người quản trị qua email và SMS, đồng thời có thể thực hiện script để thêm địa chỉ IP có hành vi tấn công vào danh sách đen của Firewall Điều này yêu cầu lập trình viên phải có kiến thức sâu sắc và kinh nghiệm về hệ thống.
XÂY DỰNG HỆ THỐNG GIÁM SÁT AN NINH MẠNG (GSANM)
1.3.1 CÁC GIẢI PHÁP XÂY DỰNG HỆ THỐNG GSANM:
Hệ thống GSANM có thể được triển khai thông qua ba giải pháp chính: Giải pháp quản lý thông tin an ninh (SIM), Giải pháp quản lý sự kiện an ninh (SEM) và Giải pháp quản lý và phân tích sự kiện an ninh (SIEM).
Giải pháp SIM tập trung vào việc thu thập, lưu trữ và biểu diễn nhật ký dữ liệu sự kiện từ nhiều nguồn khác nhau như thiết bị mạng, hệ điều hành, ứng dụng và thiết bị an ninh Tuy nhiên, do thiếu thành phần phân tích và xử lý sự kiện an ninh, SIM chỉ có khả năng phát hiện và xử lý các biến cố đơn giản.
Giải pháp SEM chủ yếu tập trung vào việc phân tích và xử lý các nhật ký đã thu thập để cung cấp cảnh báo cho người dùng Tuy nhiên, một hạn chế của SEM là không thể lưu trữ nhật ký trong thời gian dài.
Giải pháp SIEM ra đời nhằm khắc phục những hạn chế của hai giải pháp SIM và SEM, kết hợp ưu điểm của cả hai SIEM cung cấp một giải pháp toàn diện cho phép các cơ quan, tổ chức giám sát hiệu quả các sự kiện an toàn thông tin (ATTT) trong hệ thống.
1.3.2 MÔ HÌNH GIẢI PHÁP SIEM:
Mô hình giải pháp SIEM bao gồm ba thành phần chính: thu thập nhật ký an toàn thông tin (ATTT), phân tích và lưu trữ, cùng với quản trị tập trung Bên cạnh đó, hệ thống còn tích hợp các thành phần bổ sung như cảnh báo, DashBoard theo dõi thông tin, và các báo cáo phong phú đáp ứng tiêu chuẩn quản lý, cũng như thành phần lưu trữ có khả năng lưu trữ dữ liệu lâu dài.
1.3.2.1 THÀNH PHẦN THU THẬP NHẬT KÝ ATTT:
- Bao gồm các giao diện thu thập nhật ký ATTT trực tiếp từ các thiết bị, dịch vụ, ứng dụng Thành phần này có các tính năng:
+ Thu thập toàn bộ dữ liệu nhật ký từ các nguồn thiết bị, ứng dụng… gồm cả các thiết bị vật lý và thiết bị ảo
+ Kiểm soát băng thông và không gian lưu trữ thông qua khả năng chọn lọc dữ liệu nhật ký
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG GIÁM SÁT MẠNG
Phân tách và chuẩn hóa các sự kiện vào một lược đồ chung giúp tối ưu hóa quy trình xử lý dữ liệu Đồng thời, việc tích hợp các sự kiện sẽ giảm thiểu số lượng sự kiện gửi về thành phần phân tích và lưu trữ, nâng cao hiệu quả quản lý thông tin.
+ Chuyển toàn bộ các sự kiện đã thu thập về thành phần phân tích và lưu trữ
1.3.2.2 THÀNH PHẦN PHÂN TÍCH VÀ LƯU TRỮ:
- Thành phần này có các tính năng:
+ Kết nối với các thành phần thu thập nhật ký để tập hợp nhật ký tập trung và tiến hành phân tích, so sánh tương quan
Mô-đun phân tích sẽ được nâng cao nhờ các luật đã được định nghĩa trước, cùng với khả năng tùy biến, nhằm đảm bảo cung cấp kết quả phân tích chính xác nhất.
Các nhật ký an toàn thông tin (ATTT) được phân tích và so sánh theo thời gian thực để cung cấp cảnh báo tức thời cho người quản trị Ngoài việc so sánh dữ liệu theo thời gian thực, tính năng này còn cho phép phân tích dữ liệu trong quá khứ, giúp người quản trị có cái nhìn toàn diện về tình hình ATTT Hệ thống cũng hỗ trợ kết nối với các giải pháp lưu trữ dữ liệu như SAN và NAS, nâng cao khả năng lưu trữ và xây dựng kế hoạch dự phòng nhằm chống mất dữ liệu.
1.3.2.3 THÀNH PHẦN QUẢN TRỊ TẬP TRUNG:
- Cung cấp giao diện quản trị tập trung cho toàn bộ hệ thống GSANM Các giao diện được phân quyền theo vai trò của người quản trị
Hệ thống cung cấp hàng nghìn mẫu báo cáo và giao diện theo dõi, cùng với các điều kiện lọc linh hoạt, giúp người quản trị dễ dàng sử dụng Ngoài ra, các công cụ này cho phép tùy biến, chỉnh sửa hoặc tạo mới các báo cáo, giúp người quản trị phát triển các công cụ phù hợp với nhu cầu của hệ thống.
- Hỗ trợ các công cụ cho việc xử lý các sự kiện ATTT xảy ra trong hệ thống.
MỘT SỐ SẢN PHẨM GIÁM SÁT AN NINH MẠNG
Hiện nay, có nhiều công cụ hỗ trợ giám sát an ninh mạng, mỗi công cụ đều có những ưu điểm và nhược điểm riêng, do đó người quản trị cần có kinh nghiệm trong việc sử dụng Việc lựa chọn công cụ phù hợp cần dựa trên quy mô hệ thống, mức độ an toàn, nhiệm vụ hệ thống và ngân sách phát triển Đôi khi, chỉ sử dụng một sản phẩm không đủ hiệu quả, vì vậy cần kết hợp nhiều công cụ để đạt được kết quả tốt nhất Dưới đây là một số sản phẩm giám sát an ninh mạng.
Loggly là dịch vụ quản lý Log trực tuyến dựa trên điện toán đám mây, giúp người dùng dễ dàng triển khai hệ thống giám sát an ninh mạng Tất cả dữ liệu Log sẽ được chuyển đến máy chủ Loggly thông qua các client như Snare hoặc công cụ do Loggly cung cấp.
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG GIÁM SÁT MẠNG server của Loggly sẽ được xử lý, phân tích và đưa ra các cảnh báo tới các nhà quản trị
Loggy cung cấp tính năng tìm kiếm thông tin trên log một cách hiệu quả, hiển thị dữ liệu dưới dạng biểu đồ trực quan, giúp người dùng dễ dàng theo dõi Hệ thống cũng gửi cảnh báo kịp thời khi phát hiện vấn đề, đảm bảo người sử dụng luôn được thông báo về tình trạng hoạt động.
+ Hỗ trợ định dạng: Loggly chỉ hoạt động tốt với Syslog Muốn sử dụng các loại Log khác chúng ta cần phải convert chúng về Syslog để sử dụng
Loggly hoạt động dựa trên mô hình SaaS (Software as a Service), cho phép người dùng dễ dàng thu thập log bằng cách cấu hình hệ thống với một client được cung cấp Client này sẽ gửi Syslog tới và xử lý tại Server của Splunk.
+ Đánh chỉ mục dữ liệu: Loggly có thể thực hiện việc đánh chỉ mục dữ liệu một cách nhanh chóng và tối ưu
Loggly cung cấp cơ chế tìm kiếm thông minh và nhanh chóng, giúp người dùng xác định sự cố hiệu quả và thiết lập các cảnh báo kịp thời.
Loggly cung cấp tính năng cảnh báo và giám sát hiệu quả với giao diện hiển thị tình trạng và kết quả tìm kiếm bằng biểu đồ trực quan, giúp quản trị viên dễ dàng hình dung hệ thống Cơ chế cảnh báo của Loggly hoạt động dựa trên việc thiết lập tìm kiếm thông tin trên Log, tự động thông báo cho người dùng khi có một hoặc nhiều bản ghi phù hợp với cú pháp tìm kiếm đã được cấu hình.
+ Do hoạt động trên mô hình Service nên hiệu suất của Loggly không thực sự thích hợp với những hệ thống ở mức độ doanh nghiệp lớn
Truyền tải một lượng dữ liệu lớn có thể làm giảm hiệu suất trong phân tích và cảnh báo, đặc biệt là đối với các mạng có tốc độ truy cập thấp.
+ Loggly không hỗ trợ các tính năng tự động khắc phục lỗi (tự động chạy script đã cấu hình sẵn để khắc phục lỗi)
Syslog-ng là công cụ thu thập log hiệu quả và linh hoạt, được nhiều nhà quản trị mạng lựa chọn để xây dựng hệ thống log tập trung Được phát triển dựa trên chuẩn syslog cho nền tảng Unix và các hệ điều hành tương tự, Syslog-ng bao gồm hai thành phần chính: Syslog-ng client và Syslog-ng server Các client có nhiệm vụ thu thập và gửi log quan trọng đến máy chủ để lưu trữ.
Syslog-client thu thập log từ các host và gửi về Syslog server, trong khi Syslog-ng thu thập log từ các server khác nhau qua giao thức TCP, đảm bảo thông tin không bị mất mát trong quá trình truyền tải Bên cạnh đó, Syslog-ng cung cấp cơ chế truy xuất log an toàn thông qua SSL/TLS.
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG GIÁM SÁT MẠNG
Syslog-ng hỗ trợ chuẩn Syslog trong môi trường Unix, nhưng theo mặc định, Windows không hỗ trợ Syslog Tuy nhiên, có thể áp dụng một số biện pháp để chuyển đổi các loại log sang định dạng Syslog Syslog-ng cũng hoạt động hiệu quả trên nhiều hệ điều hành và phần cứng khác nhau, bao gồm Linux, BSD, Sun Solaris, HP-UX, AIX và các hệ thống Unix khác.
Syslog-ng cho phép lưu trữ dữ liệu vào các cơ sở dữ liệu như MSSQL, MySQL, Oracle và PostgreSQL, giúp người dùng dễ dàng tìm kiếm và truy vấn thông tin.
Syslog-ng cung cấp cơ chế lọc hiệu quả để phân loại các Log message, giúp giảm thiểu lượng dữ liệu gửi về server log từ các client Cơ chế này dựa trên nhiều thông số khác nhau, bao gồm nguồn host, ứng dụng, và mức độ ưu tiên trong Log message.
Syslog-ng client được cài đặt trên các máy khách để thu thập các loại Log Dữ liệu sau đó sẽ được lọc qua bộ phận của syslog-ng theo các quy tắc đã cấu hình trước Cuối cùng, Log sẽ được gửi đến các Server log hoặc chuyển qua một Relay server trước khi đến Log Server.
Syslog-ng có nhược điểm là không phải phần mềm phân tích, vì vậy nó chỉ có khả năng lọc các log message theo những tiêu chí đã được định sẵn Do đó, syslog-ng không thể thực hiện tốt việc phân tích và cảnh báo các nguy cơ cho người quản trị.
HP ArcSight Logger là một phần của bộ sản phẩm ArcSight của HP, cung cấp giải pháp quản lý log hiệu quả Sản phẩm này có khả năng thu thập, phân tích và lưu trữ một lượng lớn log với nhiều định dạng khác nhau Ngoài ra, HP ArcSight Logger hỗ trợ triển khai hệ thống dưới nhiều hình thức, bao gồm thiết bị, phần mềm, máy ảo và dịch vụ đám mây.
+ Hỗ trợ nhiều loại định dạng Log: Syslog, Eventlog, Device Log …
+ Phân tích toàn diện dữ liệu
+ Cảnh báo và giám sát hệ thống trong thời gian thực
+ Đánh chỉ mục dữ liệu, tìm kiếm và kết xuất báo cáo
+ Đi sâu vào việc phân tích ngữ cảnh từ các thông tin nhận được
TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
SƠ LƯỢC VỀ ZABBIX
Zabbix là công cụ mã nguồn mở hiệu quả cho việc giám sát mạng, tình trạng và tính toàn vẹn của server cùng các thiết bị mạng Phần mềm này cho phép người dùng cấu hình thông báo linh hoạt qua email hoặc SMS dựa trên các sự kiện đã thiết lập Bên cạnh đó, Zabbix cung cấp báo cáo và dữ liệu chính xác từ cơ sở dữ liệu, làm cho nó trở thành lựa chọn lý tưởng cho việc giám sát hệ thống.
Tất cả cấu hình của Zabbix được thực hiện qua giao diện web, giúp việc giám sát hạ tầng mạng trở nên dễ dàng và thuận tiện hơn Việc lên kế hoạch và cấu hình đúng cách là rất quan trọng để tối ưu hóa quá trình theo dõi Zabbix đóng vai trò thiết yếu trong việc giám sát hiệu quả hệ thống mạng.
Zabbix là một dự án phần mềm được khởi xướng vào năm 1998 như một giải pháp nội bộ Sau ba năm phát triển, vào năm 2001, Zabbix đã chính thức ra mắt công chúng với giấy phép GPL Đến năm 2004, phiên bản ổn định đầu tiên - 1.0, đã được phát hành.
- Các phiên bản Zabbix theo thời gian:
Hình 2.1: Các phiên bản Zabbix theo thời gian
2.1.2 NHỮNG ĐIỂM NỔI BẬT CỦA ZABBIX:
Giám sát toàn bộ hệ thống mạng là rất quan trọng, cho phép theo dõi hiệu suất và tính sẵn sàng của máy chủ, ứng dụng web, cơ sở dữ liệu và thiết bị mạng.
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
- Zabbix được thiết kế để hỗ trợ môi trường từ nhỏ đến rộng lớn với các yêu cầu trong một doanh nghiệp sẵn có
Hệ thống giám sát tập trung cho phép lưu trữ toàn bộ thông tin, bao gồm dữ liệu cấu hình và hiệu suất, trong một cơ sở dữ liệu Điều này giúp dễ dàng xử lý và tái sử dụng các dữ liệu một cách hiệu quả.
- Giám sát chủ động: Nâng cao chất lượng dịch vụ và giảm chi phí hoạt động bằng cách tránh thời gian chết
- Tất cả các phiên bản Zabbix đều là phần mềm mã nguồn mở
- Khả năng trực quan phong phú cho phép làm việc với dữ liệu nhanh hơn và thông minh hơn.
CÁC THÀNH PHẦN CƠ BẢN CỦA ZABBIX
Zabbix Server là thành phần trung tâm của phần mềm Zabbix, có khả năng kiểm tra các dịch vụ mạng từ xa thông qua báo cáo từ Agent Zabbix Server lưu trữ tất cả các cấu hình và số liệu thống kê, giúp quản lý và giám sát hiệu quả hệ thống mạng.
Zabbix Proxy là một thành phần tùy chọn của Zabbix, có chức năng thu thập dữ liệu, lưu trữ tạm thời và chuyển tiếp đến Zabbix Server Đây là giải pháp lý tưởng cho việc giám sát tập trung tại các địa điểm từ xa, chi nhánh công ty, cũng như các mạng lưới không có quản trị viên nội bộ Ngoài ra, Zabbix Proxy còn giúp phân phối tải cho Zabbix Server, nâng cao hiệu suất giám sát.
Để giám sát chủ động các thiết bị cục bộ và ứng dụng như ổ cứng và bộ nhớ trên hệ thống mạng, Zabbix Agent được cài đặt trên Server Agent này sẽ thu thập thông tin hoạt động từ Server mà nó đang chạy và gửi dữ liệu này đến Zabbix Server để xử lý.
Để thuận tiện cho việc truy cập và cấu hình dữ liệu theo dõi, người dùng có thể sử dụng giao diện web của Zabbix Server, thường được triển khai trên các máy chủ.
CÀI ĐẶT ZABBIX
Zabbix yêu cầu tối thiểu 128MB RAM và 256MB không gian trống trên ổ đĩa cứng Số lượng ổ cứng cần thiết phụ thuộc vào số lượng hosts và các thông số cần giám sát.
- Phụ thuộc vào số lượng hosts được giám sát mà Zabbix yêu cầu tối thiểu các tài nguyên như sau:
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Name Platform CPU/Memory Database Monitored hosts
Small Ubuntu Linux PII 350MHz
RAID10 MySQL InnoDB or PostgreSQL >1000
Fast RAID10 MySQL InnoDB or PostgreSQL >10000 Bảng 1: Yêu cầu tài nguyên cho cài đặt Zabbix
Với yêu cầu bảo mật và tính chất quan trọng của máy chủ theo dõi, UNIX là hệ điều hành duy nhất đảm bảo hiệu suất, khả năng chịu lỗi và khả năng phục hồi cần thiết Zabbix hoạt động hiệu quả trên các phiên bản hàng đầu của thị trường.
- Yêu cầu phần mềm: Zabbix được xây dựng xung quanh một máy chủ web Apache hiện đại, cơ sở dữ liệu động và ngôn ngữ PHP
- Hệ thống quản lý cơ sở dữ liệu:
Phần mềm Phiên bản Chú thích
MySQL 5.0.3 hoặc mới hơn Yêu cầu nếu MySQL được sử dụng làm cơ sở dữ liệu phụ trợ Zabbix
Oracle 10g hoặc sau đó Yêu cầu nếu Oracle được sử dụng làm cơ sở dữ liệu phụ trợ Zabbix
PostgreSQL 8.1 hoặc mới hơn Yêu cầu nếu PostgreSQL được sử dụng như là cơ sở dữ liệu Zabbix phụ trợ
SQLite 3.3.5 hoặc mới hơn Yêu cầu nếu SQLite được sử dụng làm cơ sở dữ liệu phụ trợ Zabbix
IBM DB2 9,7 hoặc sau đó Yêu cầu nếu IBM DB2 được sử dụng như là cơ sở dữ liệu phụ trợ Zabbix
Bảng 2: Yêu cầu cơ sở dữ liệu cho cài đặt Zabbix
- Frontend: Các phần mềm sau đây là cần thiết để chạy Zabbix Frontend:
Phần mềm Phiên bản Chú thích
PHP 5.3.0 hoặc mới hơn PHP v7 không được hỗ trợ Bảng 3: Các phần mềm cần thiết để chạy Zabbix Frontend
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
- Trình duyệt Web: Cookies và Java Script phải được bật Phiên bản mới nhất của Google Chrome, Mozilla Firefox, Microsoft Internet Explorer và Opera đều được hỗ trợ
OpenIPMI requires IPMI support, while libssh2 necessitates SSH support with version 1.0 or higher fping is needed for ICMP ping packages, and libcurl is essential for monitoring VMware web services Additionally, libiksemel is required for Jabber support, and libxml2 is necessary for VMware monitoring Lastly, net-snmp is needed for SNMP support.
Bảng 4: Yêu cầu máy chủ
2.3.2 CÀI ĐẶT ZABBIX SERVER TRÊN NỀN CENTOS:
Bước 1: Cài đặt CentOs – cấu hình địa chỉ ip đảm bảo kết nối internet:
Hình 2.2: Cài đặt CentOs 6.8 trên máy muốn làm Zabbix Server
- Server zabbix sẽ được cài trên một trong các dòng của hệ điều hành Linux (ở đây chọn phiên bản CentOs6.8 bản Minimal)
- Sau khi cài được CentOs6.8 ta gõ câu lệnh để thiết lập cấu hình network cho cổng eth0: vi /etc/sysconfig/network-scripts/ifcfg-eth0
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Hình 2.3: Cấu hình ip cho cổng Ethernet 0
- Tiến hành nhập các thông số:
- Kiểm tra kết nối internet bằng câu lệnh: ping 8.8.8.8
- Tắt tưởng lửa và dịch vụ Selinux trên CentOs để có thể remote từ xa bằng các câu lệnh:
Để tắt tường lửa trên hệ thống, bạn có thể sử dụng lệnh `/etc/rc.d/init.d/iptables stop` để ngừng dịch vụ iptables Để đảm bảo dịch vụ iptables (IPv4) không khởi động cùng hệ thống, hãy sử dụng lệnh `chkconfig iptables off` Tương tự, để ngăn dịch vụ iptables (IPv6) khởi động cùng hệ thống, bạn cần chạy lệnh `chkconfig ip6tables off`.
- Tắt Selinux: vi /etc/sysconfig/selinux Ở dòng SELINUX=enforcing chuyển thành SELINUX=disabled
- Khởi động lại máy để hoàn tất cấu hình Lúc này ta có thể sử dụng các phần mềm để remote từ xa đến CentOs:
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Hình 2.4: Sử dụng Putty để remote từ xa đến Server
Bước 2: Cài đặt Apache httpd:
- Cài đặt Httpd để cấu hình máy chủ Web http sử dụng port 80/TCP : yum -y install httpd
Hình 2.5 : Cài đặt Httpd để cấu hình máy chủ Web
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
- Chỉnh sửa cấu hình http, thay thế tên Server tùy ý : vi /etc/httpd/conf/httpd.conf
# Dòng 262: địa chỉ của Admin
# Dòng 276: đổi tên cho server
# Dòng 402: thêm tập tin mà nó có thể truy cập với tên thư mục
DirectoryIndex index.html index.htm
- Khởi động dịch vụ httpd : /etc/rc.d/init.d/httpd start chkconfig httpd on
- Câu lệnh: yum -y install php php-mbstring php-pear
Hình 2.6: Cài đặt PHP cho Server
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
- Chỉnh sửa: vi /etc/httpd/conf/httpd.conf
# Dòng 402: thêm tập tin mà nó có thể truy cập với tên thư mục
DirectoryIndex index.html index.php vi /etc/php.ini
# Dòng 946: cài đặt timezone date.timezone = "Asia/Tokyo"
- Khởi động lại httpd:/etc/rc.d/init.d/httpd restart
Bước 4: Cài đặt server Mysql:
- Câu lệnh: yum -y install mysql-server vi /etc/my.cnf : thêm vào :character-set-server=utf8
- Khởi động Mysql : /etc/rc.d/init.d/mysqld start chkconfig mysqld on
- Thiết lập ban đầu cho Mysql: mysql_secure_installation
To set up MySQL, you will be prompted to enter the current password for the root account If you haven't set a password yet, simply press Enter without typing anything.
- Set root password? [Y/n]: nếu muốn thiết lập mật khẩu cho MySQL thì nhập “y” hoặc enter, ngược lại thì nhập “n” Nên thiết lập mật khẩu cho root, nhập “y” hoặc enter
- “New password” và “Re-enter new password“: nhập mật khẩu 2 lần giống nhau
- Enter cho các tùy chọn còn lại
Hình 2.7: Cài đặt Server Mysql
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Bước 5: Cài đặt Repo cho Zabbix và một số gói cần thiết khác:
- Một số gói cần thiết: yum -y install php-mysql php-gd php-xml php-bcmath
- Cài đặt Repository cho Zabbix: rpm -Uvh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.2- 1.el6.noarch.rpm
A repository can be viewed as a library of links to the necessary packages for installing Zabbix Different versions of Zabbix will have corresponding repositories; for Zabbix version 2.4, the repository link can be found at Zabbix.com You can access the repository for Zabbix 2.4 at https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages.
Hình 2.8: Cài đặt Repository cho Zabbix:
Step 6: Install the Zabbix server and the Zabbix agent to enable self-monitoring of the Zabbix server using the command: yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix_get.
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Hình 2.9: Cài đặt máy chủ Zabbix
Bước 7: Tạo cơ sở dữ liệu cho Zabbix:
Welcome to the MySQL monitor Commands end with; or \g
Your MySQL connection id is 12
Copyright (c) 2000, 2013, Oracle and/or its affiliates All rights reserved
Oracle is a registered trademark of Oracle Corporation and/or its affiliates Other names may be trademarks of their respective owners
Type 'help;' or '\h' for help Type '\c' to clear the current input statement mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec) mysql> grant all privileges on zabbix.* to zabbix@localhost' identified by
Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on zabbix.* to zabbix@'172.16.1.12' identified by 'bluehat';
Query OK, 0 rows affected (0.00 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec) mysql> exit
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
- Tạo Mysql Zabbix server: cd /usr/share/doc/zabbix-server-mysql-*/create mysql -u root -p zabbix < schema.sql mysql -u root -p zabbix < images.sql mysql -u root -p zabbix < data.sql
Bước 8: Cấu hình và Start Zabbix: vi /etc/zabbix/zabbix_server.conf
# Dòng 107: thêm DBpassword cho Zabbix
- Khởi động Zabbix server : /etc/rc.d/init.d/zabbix-server start chkconfig zabbix-server on
Bước 9 : Cấu hình Zabbix Agent để Server tự monitor chính nó : vi /etc/zabbix/zabbix_agentd.conf
# Dòng 85: Xác định Zabbix server
Server7.0.0.1 (Có thể sử dụng đúng địa chỉ ip tĩnh của Zabbix server)
# Dòng 126: xác định Zabbix server
ServerActive7.0.0.1 (Có thể sử dụng đúng địa chỉ ip tĩnh của Zabbix server)
- Khởi động Zabbix agent: /etc/rc.d/init.d/zabbix-agent start chkconfig zabbix-agent on
Bước 10: Thay đổi cấu hình httpd như sau:
# Dòng 11: thay đổi quyền truy cập cho Zabbix frontend
Allow from localhost 172.0.0.0/8 (Tùy chỉnh theo Admin)
# Dòng 18: Thay đổi timezone php_value date.timezone Asia/Tokyo
- Khởi động lại http: /etc/rc.d/init.d/httpd restart
- Sau khi hoàn thành 10 bước trên, ta mở trình duyệt Web và nhập địa chỉ theo cú pháp:
- http:///zabbix (Vd: http://172.16.1.12/zabbix)
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Hình 2.10: Giao diện cài đặt Zabbix
- Nhấn Next và tiến hành các cài đặt ban đầu:
Hình 2.11: Cài đặt ban đầu cho Zabbix
Sau khi hoàn tất cài đặt, bạn hãy đăng nhập bằng tên người dùng và mật khẩu mặc định là Admin/Zabbix để truy cập vào giao diện chính của Zabbix, xác nhận rằng quá trình cài đặt đã thành công.
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Hình 2.12: Giao diện chính của Zabbix
2.3.3 CÀI ĐẶT GIÁM SÁT THIẾT BỊ BẰNG ZABBIX:
Sau khi cài đặt Zabbix server, bước tiếp theo là cài đặt công cụ giám sát trên các thiết bị cần theo dõi Zabbix hỗ trợ nhiều loại thiết bị phổ biến, bao gồm server Linux, server Windows và thiết bị Cisco.
- Bước 1: Tải file cài đặt Agent cho Windows tại trang sau: http://www.suiviperf.com/zabbix/old/
- (Chú ý lựa chọn file cài đặt phù hợp với phiên bản Zabbix đã được cài đặt, ở đây chọn zabbix_agent-2.4.8_x64.msi)
- Chạy file zabbix_agent-2.4.8_x64.msi vừa tải về, nhấn “Next” để cài đặt
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Hình 2.13: Cài đặt Zabbix Agent trên Windows Server
- Active server ta nhập địa chỉ ip của Zabbix server (Ở đây là 172.16.1.12)
- Tiếp tục nhấn Next để hoàn tất quá trình cài đặt
- Bước 3 : Kiểm tra Zabbix agent đã chạy bằng cách vào Run, gõ lệnh :
Hình 2.14 : Kiểm tra Zabbix Agent đã hoạt động
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Để đảm bảo kết nối giữa Zabbix server và Windows Server, cần chú ý tắt tường lửa trên Windows Server hoặc thiết lập cho phép port 10050 Bạn cũng nên kiểm tra kết nối bằng lệnh ping giữa hai server.
- Bước 4 : Thêm Host để giám sát trên giao diện Web của Zabbix server :
- Vào Configuration ->Hosts sau đó nhấn “Create host”
Hình 2.15: Thêm Host để giám sát trên giao diện Web của Zabbix Server
- Tại Tab Host, điền một số thông tin cơ bản như: Host name, Visible name, chọn Group mà host thuộc
- Chú ý nhập đúng Ip của Agent tại “Agent interface”
Hình 2.16: Cài đặt cấu hình cho Host Windows Server
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
- Chuyển sang tab Template, nhấn “Select”, check vào “Template OS Windows” ->
Để bắt đầu giám sát host vừa tạo, bạn cần kiểm tra vào tên host trong danh sách và chọn “Enable” Khi ô chữ “Z” ở cuối hàng chuyển sang màu xanh, điều này có nghĩa là host đang được giám sát.
Hình 2.17: Kiểm tra Host Windows Server đã hoạt động
- Bước 1 : Cài đặt Zabbix agent trên Linux server nào cần được giám sát như sau :
- Cài đặt gói repo bằng câu lệnh : yum -y install http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-
- Cài đặt Zabbix agent bằng câu lệnh : yum -y install zabbix-agent
Hình 2.18 : Cài đặt Zabbix Agent trên Linux Server
- Chỉnh sửa một số thông số để giám sát linux server bằng câu lệnh : vi /etc/zabbix/zabbix_agentd.conf
# Dòng 85: điền địa chỉ IP của Zabbix server (ở đây là 172.16.1.12)
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
# Dòng 137: thay đổi tên của linux server
Hình 2.19: Chỉnh sửa thông số cấu hình trên Linux Server
- Sau đó khởi động Zabbix agent bằng câu lệnh: /etc/rc.d/init.d/zabbix-agent start
- Bật Zabbix agent: chkconfig zabbix-agent on
Hình 2.20: Khởi động Zabbix Agent
- Bước 2: Tạo host để giám sát trên giao diện Web của Zabbix Server:
- Các bước tạo host tương tự như tạo host đối với Windows Server, tuy nhiên, tại mục chọn Template, ta phải chọn Template cho phù hợp, ở đây chọn “Template
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Hình 2.21: Tạo Host và cấu hình cho Host Linux Server
- Lưu ý nhập chính xác địa chỉ ip của Linux Server tại “Agent interfaces” (Ở đây là 172.16.1.10)
- Tại danh sách các host, ta check vào tên host vừa tạo -> “Enable”, khi thấy ô chữ
“Z” cuối hàng bật màu xanh nghĩa là host đó đang được giám sát
2.3.3.3 ĐỐI VỚI NETWORK DEVICE (CISCO):
- Bước 1: Bật Snmp trên thiết bị cần giám sát
- Kết nối vào Router/Switch: prompt#telnet 172.16.1.14
- Nhập username, password và vào mode cấu hình: Router#configure terminal
Để thiết lập chuỗi SNMP community, chúng ta cần khai báo chuỗi này như một mật khẩu để tạo mối quan hệ giữa NMS và agent, giúp NMS truy vấn thông tin từ router Câu lệnh cấu hình chuỗi SNMP community được sử dụng như sau:
Router(config)#snmp-server community bluehat RO (Trong đó “bluehat” là chuỗi community có thể tùy chỉnh cho dễ nhớ)
- Cấu hình router gởi trap đến Zabbix Server (dùng snmpv2): Để cho phép router gởi traps khi có sự cố cho Zabbix Server chúng ta dùng cau lệnh sau:
Router (config)#snmp-server enable traps snmp
- Tiếp theo ta cấu hình host sẽ được gởi trap đến – đó chính là Zabbix Server:
Router (config)#snmp-server host 192.168.159.101 version 2c bluehat
Để thiết lập thông tin liên hệ và vị trí cho router Cisco, bạn có thể sử dụng lệnh sau: Router (config)#snmp-server contact “Số điện thoại của admin” Lệnh này giúp xác định người quản lý router và cho biết router đang ở vị trí nào trong mạng.
Router (config)#snmp-server location “239Nguyenthuonghien”
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
Hình 2.22 : Bật Snmp trên Router cần giám sát
- Bước 2 : Cấu hình Zabbix Server :
- Thêm host vào Zabbix Server :
- Từ giao diện chính của Zabbix, chọn “Configuration” -> “Host” và click vào nút
- Khai báo các thông số của rotuter bao gồm:
Tên router có thể được đặt tùy ý, và để thêm vào nhóm, bạn chọn từ danh sách có sẵn và nhấn “Enable”, khi thấy ô chữ
“Z” cuối hàng bật màu xanh nghĩa là host đó đang được giám sát
Để cấu hình Zabbix, cần sử dụng phần mềm xem MIB của router để lấy các OID cần thiết Ngoài ra, người dùng cũng có thể tham khảo các template có sẵn và điều chỉnh chúng theo nhu cầu của mình.
CHƯƠNG 2: TÌM HIỂU PHẦN MỀM MÃ NGUỒN MỞ ZABBIX
THỰC NGHIỆM
MÔ TẢ MÔ HÌNH THỰC NGHIỆM
- Mô hình thực nghiệm được xây dựng gồm 1 Linux Server, 1 Windows server được nối với nhau thông qua Switch Cisco 2960
- Zabbix server có địa chỉ 172.16.1.12/24, chức năng giám sát các thiết bị mạng, chương trình ứng dụng, tài nguyên các máy server khác
- Windows server có địa chỉ 172.16.1.205/24 và Linux server có địa chỉ
172.16.1.10/24 là 2 máy được giám sát
- Switch Cisco 2960 có địa chỉ 172.16.1.254(Đây là Switch hoạt động thực của hệ thống mạng công ty)
- Zabbix server sẽ giám sát Windows server, Linux server và Switch cisco 2960
CẤU HÌNH
- (Xem phần cài đặt tại mục 2.3.3.1)
- (Xem phần cài đặt tại mục 2.3.3.2)
3.2.3 CẤU HÌNH CHO SWITCH CISCO 2960:
- (Xem bật snmp tại mục 2.3.3.3)
- Tạo 3 host giám sát: Windows server, Linux Server và Switch
- (Xem phần tạo host giám sát tại các mục 2.3.3)
Hình 3.1: Tạo 3 Host trên giao diện Web của Zabbix Server.
KẾT QUẢ
- Zabbix server giám sát hoạt động của máy chủ CentOS Linux, Windows Server
Vào năm 2012, việc giám sát thiết bị mạng Cisco Switch bao gồm theo dõi hoạt động của các thiết bị, tài nguyên máy như CPU, bộ nhớ và ổ đĩa, cũng như lưu lượng truy cập trên các cổng kết nối Quá trình này tạo ra các thống kê về việc sử dụng mạng và thiết bị, đồng thời cung cấp cảnh báo thông qua biểu đồ đồ họa.
Sơ đồ cung cấp cho người quản trị cái nhìn tổng thể về hệ thống và lưu lượng thời gian thực trên các đường link, giúp nhanh chóng phát hiện sự cố.
Hình 3.2: Tổng quan hệ thống
- Biểu đồ trạng thái hoạt động của CPU
Hình 3.3: CPU Load của Windows Server
Hình 3.4: Disk Usage của Windows Server
Hình 3.5: CPU Loads của Linux Server
Hình 3.6: Disk Usage của Linux Server
Hình 3.7: Memory Usage của Linux Server
- Kết quả giám sát của CPU Usage, Free Memory, Out Traffic,
Hình 3.8: CPU Usage của Switch Cisco 2960
Hình 3.9: Free Memory của Switch Cisco 2960
Hình 3.10: Out Traffic của Switch Cisco 2960