Hiện nay, có khá nhiều phần mềm hỗ trợ việc giám sát an ninh mạng hiệu quả như Nagios, Zabbix, Zenoss, Cacti,… Trong số đó thì Cacti là một phần mềm mã nguồn mở với nhiều chức năng mạnh mẽ, cho phép quản lý các thiết bị, dịch vụ trong hệ thống mạng.
Trang 1ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI:
TÌM HIỂU, TRIỂN KHAI HỆ THỐNG GIÁM SÁT
MẠNG CACTI CHO MÁY CHỦ WEB
Hà Nội, 2022
Trang 2MỤC LỤC
LỜI CẢM ƠN
LỜI CAM ĐOAN
MỤC LỤC
DANH MỤC TỪ VIẾT TẮT
DANH MỤC HÌNH ẢNH vii
DANH MỤC BẢNG BIỂU
LỜI MỞ ĐẦU
CHƯƠNG 1 TỔNG QUAN VỀ AN TOÀN MÁY CHỦ WEB VÀ HỆ THỐNG GIÁM SÁT MẠNG
1.1 Tổng quan về máy chủ web 1
1.1.1 Định nghĩa Web Server
1.1.2 Nguyên lý hoạt động của Web Server
1.2 Các nguy cơ mất an toàn đối với máy chủ Web 3
1.2.1 Xác thực (Authentication)
1.2.2 Ủy quyền (Authorization)
1.2.3 Tấn công bên phía client (Client-side Attacks)
1.2.4 Thực thi lệnh (Command Execution)
1.2.5 Để lộ thông tin (Information Disclosure)
1.2.6 Các tấn công logic (Logical Attacks)
1.2.7 Một số phương thức tấn công Web Server
1.3 Một số giải pháp bảo mật cho web server 10
1.3.1 Sử dụng mod_security 11
1.3.2 Secure Web Server (HTTPS) 12
1.3.3 Internet Acceleration and Security (ISA) 12
1.3.4 Hệ thống giám sát mạng 13
1.4 Tổng quan về hệ thống giám sát mạng 14
Trang 31.4.1 Giới thiệu về hệ thống giám sát mạng 14
1.4.2 Hoạt động của hệ thống giám sát mạng 17
1.4.3 Giao thức SNMP 19
1.5 Kết luận 27
CHƯƠNG 2 HỆ THỐNG GIÁM SÁT MẠNG CACTI 28
2.1 Giới thiệu về hệ thống giám sát mạng Cacti 28
2.1.1 Giới thiệu về Cacti 28
2.1.2 Lịch sử hình thành Cacti 28
2.2 Kiến trúc và thành phần của Cacti 29
2.2.1 Kiến trúc Cacti 29
2.2.2 Thành phần của Cacti 30
2.3 Nguyên lý hoạt động của Cacti 31
2.3.1 Hoạt động của Cacti 31
2.3.2 Lưu trữ và xử lý dữ liệu trong hệ thống quản trị mạng Cacti 32
2.4 Các tính năng của Cacti 34
2.4.1 Thiết bị/Mẫu thiết bị 34
2.4.2 Đồ thị/Tổng hợp/Mẫu đồ thị 35
2.4.3 Nguồn dữ liệu/Mẫu/Hồ sơ 36
2.4.4 Thu thập/thăm dò dữ liệu 36
2.4.5 Tạo khuôn và đóng gói 37
2.4.6 Khám phá và tự động hóa 38
2.4.7 Tùy chọn xem biểu đồ 38
2.4.8 Plugin 39
2.4.9 Người dùng và nhóm người dùng 39
2.4.10 Hỗ trợ themes và đa ngôn ngữ 39
2.5 Ưu, nhược điểm Cacti 40
2.5.1 Ưu điểm 40
Trang 42.5.2 Nhược điểm 43
2.6 Kết luận chương 2 43
CHƯƠNG 3 TRIỂN KHAI HỆ THỐNG GIÁM SÁT MẠNG CACTI CHO MÁY CHỦ WEB 44
3.1 Mô hình triển khai 44
3.2 Triển khai hệ thống giám sát mạng Cacti cho máy chủ Web 44
3.2.1 Triển khai máy chủ Web 44
3.2.2 Triển khai máy chủ Cacti 45
3.2.3 Cài đặt dịch vụ SNMP trên máy chủ Web 46
3.3 Thực nghiệm giám sát máy chủ Web 46
3.3.1 Kiểm tra kết nối SNMP giữa máy chủ Cacti và máy chủ Web 46
3.3.2 Tạo đồ thị cho máy chủ Web 47
3.3.3 Thực hiện tấn công vào máy chủ Web 51
3.3.4 Kết quả giám sát sau khi máy chủ Web bị tấn công 51
3.4 Đánh giá hệ thống 53
3.5 Kết luận chương 3 53
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54
TÀI LIỆU THAM KHẢO 55
PHỤ LỤC A: 56
PHỤ LỤC B: 61
PHỤ LỤC C: 69
Trang 5DANH MỤC TỪ VIẾT TẮT
STT Từ viết
tắt
1 DNS Domain Name System Hệ thống phân giải tên miền
2 FTP File Transfer Protocol Giao thức truyền tập tin
3 SGMP Simple Gateway Management
8 NMS Network Monitoring systems Hệ thống giám sát mạng
9 NTLM Windows Challenge / Response Giao thức xác thực dựa trên
phản hồi thử thách
10 OpenNMS Open Network Monitoring
systems
Hệ thống giám sát mạng nguồn mở
11 PHP Hypertext Preprocessor Là một ngôn ngữ lập trình
12 RMON Remote Network Monitoring Giám sát mạng từ xa
13 RRD Round Robin Database Ghi và vẽ dữ liệu
14 SIEM Security Information and Event
16 SYN The Synchronous idle character Ký tự đồng bộ hóa
18 TCP/IP Transminsion Control Protocol/
20 UEI Univesal Event Indicator Chuỗi nhận biết sự kiện
21 XSS Cross site scripting Hình thức tấn công bằng mã
độc thông qua lỗ hổng
Trang 6DANH MỤC HÌNH ẢNH
Hình 1.1: Mô tả một phiên làm việc của dịch vụ Web 2
Hình 1.2: Mô hình tấn công kiểu DDoS (Distributed Denial of Service) 9
Hình 1.3: Mô hình bảo vệ Web Server 10
Hình 1.4: Báo cáo rủi ro các cuộc tấn công Web 11
Hình 1.5: Mô hình Sử dụng mod_security 11
Hình 1.6: Mô hình sử dụng phần mềm ISA 13
Hình 1.7: Hoạt động của NMS 17
Hình 1.8: Cơ chế hoạt động của Poll 21
Hình 1.9: Cơ chế hoạt động của Poll 22
Hình 1.10: Mô hình trao đổi giữa NMS và Agent 24
Hình 1.11: Các tác vụ của SNMP 25
Hình 1.12: Cách thức làm việc của SNMP 26
Hình 2.1: Giao diện của Cacti 28
Hình 2.2: Kiến trúc của Cacti 29
Hình 2.3: Các thành phần của hệ quản trị Cacti 30
Hình 2.4: Hoạt động của Cacti 31
Hình 2.5: Nguyên lý của cơ sở dữ liệu RRD (RRA) 33
Hình 2.6: Biểu diễn đồ thị trong RRD 34
Hình 2.7: Các mẫu thiết bị trong Cacti 35
Hình 2.8: Các mẫu đồ thị trong Cacti 35
Hình 2.9: Các mẫu dữ liệu trong Cacti 36
Hình 2.10: Thu thập dữ liệu trong Cacti 37
Hình 2.11: Tùy chọn xem đồ thị 39
Hình 3.1: Mô hình triển khai thực nghiệm hệ thống giám sát mạng Cacti 44
Hình 3.2: Giao diện trang web http://gioiluu.com 45
Hình 3.3: Giao diện đăng nhập của Cacti 45
Hình 3.4: Giao diện chính của Cacti 46
Trang 7Hình 3.5: Dịch vụ SNMP ở trạng thái running 46
Hình 3.6: Thêm máy chủ Web vào Cacti để giám sát 47
Hình 3.7: Kết nối SNMP thành công máy Cacti với Web server 47
Hình 3.8: Tạo đồ thị cho máy chủ Web 48
Hình 3.9: Chọn mẫu đồ thị và các thành phần cần giám sát cho máy chủ Web 48 Hình 3.10: Tạo cây đồ thị Web server 49
Hình 3.11: Thêm đồ thị vào cây đồ thị Web server 49
Hình 3.12: Cây đồ thị Web server được giám sát 49
Hình 3.13: Đồ thị giám sát mức độ sử dụng bộ xử lý trung tâm 50
Hình 3.14: Đồ thị giám sát tình trạng dung lượng ổ đĩa 50
Hình 3.15: Đồ thị giám sát thời gian hoạt động của máy chủ web 50
Hình 3.16: Đồ thị giám sát quy trình thực hiện trên máy chủ web 51
Hình 3.17: Các tùy chọn hiển thị cho cây đồ thị 51
Hình 3.18: Sử dụng công cụ hping3 tấn công vào máy chủ Web 51
Hình 3.19: Đồ thị CPU Utilization sau khi Web server bị tấn công 52
Hình 3.20: Các cây đồ thị được theo dõi của máy chủ Web bởi Cacti đã 52
Hình 3.21: Máy chủ web bị down 52
Hình 3.22: Kết nối SNMP báo lỗi 53
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1.1: Nội dung cần giám sát và lý do 16Bảng 2.1: So sánh Cacti với SolarWinds và Nagios 41
Trang 9LỜI MỞ ĐẦU
Cùng với sự phát triển của công nghệ thông tin, sự đầu tư cho hạ tầng mạngtrong mỗi doanh nghiệp ngày càng tăng cao, dẫn đến việc quản trị sự cố một hệthống mạng gặp rất nhiều khó khăn Đi cùng với những lợi ích khi phát triển hạtầng mạng như băng thông cao, khối lượng dữ liệu trong mạng lớn, đáp ứngđược nhu cầu của người dùng, hệ thống mạng phải đối mặt với rất nhiều tháchthức như các cuộc tấn công bên ngoài, tính sẵn sàng của thiết bị, tài nguyên của
hệ thống,
Một trong những giải pháp hữu hiệu nhất để giải quyết vấn đề này là thựchiện giải pháp giám sát mạng, dựa trên những thông tin thu thập được thông quaquá trình giám sát, các nhân viên quản trị mạng có thể phân tích, đưa ra nhữngđánh giá, dự báo, giải pháp nhằm giải quyết những vấn đề trên Để thực hiệngiám sát an ninh mạng có hiệu quả, một chương trình giám sát phải đáp ứngđược các yêu cầu sau: Phải đảm bảo chương trình luôn hoạt động, tính linh hoạt,chức năng hiệu quả, đơn giản trong triển khai, chi phí thấp Hiện nay, có khánhiều phần mềm hỗ trợ việc giám sát an ninh mạng hiệu quả như Nagios,Zabbix, Zenoss, Cacti,… Trong số đó thì Cacti là một phần mềm mã nguồn mởvới nhiều chức năng mạnh mẽ, cho phép quản lý các thiết bị, dịch vụ trong hệthống mạng Nhưng trong quá trình triển khai hệ thống giám sát mạng xảy ra cácnguy cơ gây mất an toàn Chẳng hạn, khi triển khai hệ thống giám sát mạng thìbên phía Agent sẽ thu thập thông tin dữ liệu gửi về bên phía máy chủ nhưngtrong quá trình truyền bị tấn công làm mất đi các nội dung cần thiết khiến chomáy chủ khó kiểm soát hệ thống
Chính vì những lý do trên, em đã chọn đề tài: “Tìm hiểu, triển khai hệthống giám sát mạng Cacti cho máy chủ web” để làm đồ án tốt nghiệp củamình
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ AN TOÀN MÁY CHỦ WEB VÀ HỆ THỐNG
GIÁM SÁT MẠNG
1.1 Tổng quan về máy chủ web
1.1.1 Định nghĩa Web Server
Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng đểlưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã đượcthiết kế cùng với những thông tin liên quan khác (các mã Script, các chươngtrình, và các file Multimedia) Máy chủ này sử dụng một chương trình chạythường trú để nhận và phục vụ các truy vấn http hoặc https từ các máy đầucuối
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng cóthể có một Domain Name Giả sử khi người sử dụng nhập vào thanh Addresstrên trình duyệt của máy một dòng http://gioiluu.com sau đó gõ phím Enter,khi đó người sử dụng đã gửi một yêu cầu đến một Server có trang chủ củaWeb là http://gioiluu.com Server này sẽ tìm trang Web có tên là index.htmrồi gửi nó đến trình duyệt của người sử dụng Bất kỳ một máy tính nào cũng
có thể trở thành một Web Server bằng cách cài đặt lên nó một chương trìnhphần mềm Server Software và sau đó kết nối vào Internet Khi máy tính kếtnối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ mộttrang Web nào đó, phần mềm Web Server sẽ nhận yêu cầu và gửi lại nhữngthông tin mà người sử dụng mong muốn Web Server Software cũng chỉ làmột ứng dụng phần mềm Phần mềm Web Server được cài đặt, và chạy trênmáy tính dùng làm Web Server, nhờ có chương trình này mà người sử dụng
có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trênmạng (Internet, Intranet) Phần mềm Web Server còn có thể được tích hợpvới cơ sở dữ liệu (Database), hay điều khiển việc kết nối vào cơ sở dữ liệu
để có thể truy cập và kết xuất thông tin từ cơ sở dữ liệu lên các trang Web vàtruyền tải chúng đến người dùng Tất cả các Web Server đều hiểu và chạyđược các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một sốkiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp,
*.aspx ; Apache dành cho *.php ; Sun Java System Web Server dành cho
*.jsp Phần lớn các Web server sử dụng cổng 80, nhưng cũng có thể thay
Trang 11đổi để Web server có thể cài đặt trên cổng không tiêu chuẩn nếu muốn "dấu"Web server như là một Web server đa host trên một máy tính bằng việc ánh
xạ mỗi server cho một cổng khác nhau
1.1.2 Nguyên lý hoạt động của Web Server
Cơ chế hoạt động của dịch vụ web là một điển hình của mô hìnhclient/server
Chương trình đầu trên client là các trình duyệt web ví dụ như IE,Firefox, Google Chrome chương trình cuối trên Server là các trình webserver (IIS WWW Service) Web server và trình duyệt web giao tiếp vớinhau bằng giao thức HTTP
Khi máy client kết nối vào Internet, người dùng gõ địa chỉ trang webcần truy nhập vào trình duyệt Web Trình duyệt web tạo một yêu cầu HTTP
về trang web đó và gửi nó tới Web server Web server nhận được yêu cầu, xử
lý yêu cầu đó và tạo một đáp ứng HTTP gửi trả lại trình duyệt web Thôngbáo đó được dịch bởi trình duyệt và hình thành một trang web tới ngườidùng
Chi tiết một phiên làm việc HTTP diễn ra như sau:
Bước 1: Trình duyệt Web tạo một kết nối TCP/IP với Web server
Bước 2: Trình duyệt Web thực hiện một yêu cầu về một trang web tớiWeb server; thực hiện yêu cầu này bởi một yêu cầu HTTP; sau đó gửi thôngbáo này tới Web server thông qua kết nối TCP/IP
Bước 3: Web server nhận được yêu cầu này xử lý nó trên cơ sở phươngthức mà yêu cầu gửi tới sử dụng
Server sau đó gửi trả lại một đáp ứng HTTP Một phần của đáp ứng nàygồm một dòng trạng thái mô tả yêu cầu HTTP của client gửi đến có đáp ứngthành công hay không
Bước 4: Khi trình duyệt web nhận được đáp ứng HTTP, kết nối TCP/IP
bị đóng lại, phiên làm việc HTTP kết thúc
Trang 12Hình 1.1: Mô tả một phiên làm việc của dịch vụ Web
1.2 Các nguy cơ mất an toàn đối với máy chủ Web
1.2.1 Xác thực (Authentication)
Xác thực mô tả các tấn công hướng đến các phương pháp kiểm tra trêncác ứng dụng web định danh người dùng, dịch vụ hoặc ứng dụng Các tấncông xác thực nhằm vượt qua hoặc khai thác các điểm yếu trong các cơ chếthực hiện xác thực máy chủ web
Một số tấn công tiêu biểu dạng này như: tấn công vét cạn (BruteForce), xác thực không đầy đủ (Insufficient Authentication), khôi phục cácmật khẩu yếu (Weak Password Recovery Validation)…
1.2.2 Ủy quyền (Authorization)
Các tấn công hướng đến phương pháp sử dụng máy chủ web để xácđịnh có hay không người dùng, dịch vụ hoặc ứng dụng cần thiết để thực hiệnhành động cho phép Nhiều website chỉ cho phép người dùng xác định nhậnđược các truy cập đến nội dung hoặc chức năng nào đó của ứng dụng Cáctruy cập bởi những người dùng khác phải bị hạn chế Bằng việc sử dụng các
kỹ thuật khác nhau, kẻ tấn công có thể nâng cao quyền của mình và nhậnđược các truy cập đến các tài nguyên được bảo vệ
Một số điểm yếu có thể bị lợi dụng để thực hiện các tấn công dạng nàynhư: giá trị định danh phiên có thể dự đoán (Credential/Session Prediction),
ủy quyền không đầy đủ (Insufficient Authorization), mãn hạn phiên khôngđầy đủ (Insufficient Session Expiration), cố định phiên (Session Fixation)…
Internet Explorer IIS WWW Service
Trang 131.2.3 Tấn công bên phía client (Client-side Attacks)
Là các tấn công vào người dùng máy chủ web Trong thời gian duyệtweb, giữa người dùng và máy chủ xác lập mối quan hệ tin cậy về phươngdiện tâm lý cũng như trên phương diện kỹ thuật Người dùng mong muốnnhận được nội dung chính thống của các site Ngoài ra người dùng khôngmong muốn các tấn công xảy ra với các site Với việc khai thác sự tín nhiệmnày, kẻ xâm nhập có thể sử dụng các phương pháp khác nhau để thực hiệntấn công lên phía client
Một số tấn công tiêu biểu thuộc lớp tấn công này như: giả mạo nộidung (Content Spoofing), tấn công Cross –site Scripting (XSS), tách đôi cácyêu cầu http (HTTP Response Splitting)…
1.2.4 Thực thi lệnh (Command Execution)
Các tấn công này hướng đến việc thực thi đoạn mã trên máy chủ web.Tất cả các máy chủ sử dụng dữ liệu có nghĩa với người dùng khi xử lý cácyêu cầu Thông thường các dữ liệu này được sử dụng khi biên dịch các lệnh,được truyền đi để tạo ra nội dung động Nếu khi xử lý không chú ý đến cácyêu cầu an toàn, kẻ tấn công có thể sửa đổi các lệnh thực thi
Một số tấn công tiêu biểu thuộc lớp tấn công này như: tràn bộ đệm(Buffer Overflow), tấn công chuỗi định dạng (Format String Attack), tấncông LDAP Injection, thực hiện các lệnh của hệ điều hành (OSCommanding), tấn công SQL Injection, tấn công SSI Injection, tấn côngXPath Injection
1.2.5 Để lộ thông tin (Information Disclosure)
Tấn công lớp này hướng đến việc nhận các thông tin bổ sung về cácứng dụng web Sử dụng điểm yếu này kẻ tấn công có thể xác định phân bổđĩa được sử dụng bởi các chương trình, số hiệu phiên bản máy khách, máychủ và các số hiệu các phiên bản chương trình mới nhất được cài đặt Đaphần các máy chủ trao quyền truy cập vượt quá lượng dữ liệu, tuy nhiên cầngiảm đến mức tối thiểu lượng thông tin dịch vụ Càng nhiều thông tin về cácứng dụng, kẻ tấn công sẽ càng dễ dàng thỏa hiệp hệ thống
Một số tấn công thuộc lớp các tấn công này như: chỉ số thư mục(Directory Indexing), định danh ứng dụng (Application Fingerprinting), rò rỉthông tin (Information Leakage)…
Trang 141.2.6 Các tấn công logic (Logical Attacks)
Các tấn công này hướng đến việc khai thác các chức năng của ứngdụng hoặc logic hoạt động của ứng dụng Sự logic của ứng dụng là quá trìnhhoạt động được mong đợi của chương trình khi thực hiện các hành độngnhất định Ví dụ như việc khôi phục mật khẩu, đăng ký bản ghi kiểm toán.Các ứng dụng có thể yêu cầu người dùng thực hiện chính xác một số hànhđộng liên tiếp để thực hiện một nhiệm vụ xác định Kẻ tấn công có thể vượtqua hoặc sử dụng cơ chế này để đạt được mục đích
Một số tấn công tiêu biểu thuộc lớp tấn công này như: lạm dụng khảnăng hoạt động (Abuse of Functionality), từ chối dịch vụ (Denial of Service)
…
1.2.7 Một số phương thức tấn công Web Server
1.2.7.1.Tấn công xác thực (Authentication attacks)
Xác thực đóng một vai trò rất quan trọng trong việc đảm bảo tính anninh của một ứng dụng Web Khi một người dùng cung cấp tên truy cập vàmật khẩu để xác thực tài khoản của mình, ứng dụng Web cấp quyền truyxuất cho người dùng dựa vào tên truy cập mà người dùng nhập vào đã đượclưu trong cơ sở dữ liệu HTTP có một số phương thức xác thực:
Vấn đề ở đây là sức mạnh tính toán của các máy tính ngày càng tăng
Trang 15Chúng có khả năng xử lý một lượng lớn dữ liệu chỉ trong một khoảng thờigian ngắn Một “password” là một chuỗi các ký tự (có trên bàn phím) màmột người cần ghi nhớ và cung cấp cho máy tính khi cần thiết (như để đăngnhập vào máy tính, truy cập tài nguyên trên mạng…).
Tuy nhiên, các mật khẩu mà quá phức tạp để ghi nhớ đối với con ngườithì lại dễ dàng bị dò ra bởi các công cụ “pasword cracking” trong mộtkhoảng thời gian ngắn đến kinh ngạc Các kiểu tấn công như “dictionaryattack”, “brute fore attack” và “hybrid attack” thường được sử dụng để đoán
và bẻ khóa mật khẩu
Phương thức bảo vệ duy nhất chống lại những hiểm họa như vậy là tạo
ra các mật khẩu mạnh (độ dài của mật khẩu thường từ 8 ký tự trở lên, trong
đó bao gồm cả chữ cái in thường/in hoa, chữ số, ký tự đặc biệt) và sử dụngthêm các yếu tố khác (vân tay, smart card, võng mạc mắt,…) cho việc chứngthực
1.2.7.2.HTTP Response Splitting
Lỗi HTTP Response Splitting tấn công vào ứng dụng web và diễn rakhi nó không thể xử lý đúng các thông tin đầu vào người dùng nhập Kẻ tấncông từ xa có thể gửi một yêu cầu HTTP đặc biệt làm cho máy chủ web địnhdạng yêu cầu nhầm tưởng rằng nó chứa 2 yêu cầu HTTP chứ không phảimột Chỉ yêu cầu thứ nhất được xử lý bởi người sử dụng HTTP ResponseSplitting cho phép tiến hành một lượng lớn các cuộc tấn công kiểu như webcache positioning, deface, “cross-user defacement”, chặn và ăn cắp thông tinngười dùng và Cross site Scripting
1.2.7.3.File Inclusion Attacks
Trong lập trình PHP có lệnh là include, require, quire_once,include_once cho phép file hiện tại gọi đến một file khác. Tùy thuộc vàomức độ bảo mật của server, kẻ tấn công có thể include file trên chính máychủ đó (include local) hay include đến một file ở máy khác (include remote).Mục đích của kẻ tấn công là chạy được các hàm hệ thống và thu thập cácthông tin nhạy cảm của hệ thống Tất cả công việc trên kẻ tấn công có thểđạt được khi chạy được web shell (hay còn gọi là web hack tool) nhưc99shell, r57shell,…
Kẻ tấn công có web shell trong tay sẽ đọc được tất cả các file trong
Trang 16website đang chạy shell đó Nếu server kém bảo mật thì kẻ tấn công có thểđọc được file của toàn bộ hệ thống, file của các website khác trên cùng máychủ đó Lỗi này hay được tận dụng để tấn công local attack: kiểu tấn côngmáy chủ, website qua một site bị lỗi trên máy chủ Nếu có quyền ghi, tất cảcác file có thể bị thay đổi deface trang chủ, chèn mã độc để thu thập thôngtin đăng nhập, ẩn dấu backdoor để lần sau vào tiếp, … Kẻ tấn công cũng cóthể lấy thông tin truy nhập cơ sở dữ liệu (database) qua file cấu hình củawebsite, sau đó truy nhập vào cơ sở dữ liệu ăn trộm dữ liệu, xóa, thay đổi dữliệu,… Trong trường hợp này, cơ sở dữ liệu là MySql cho phép sử dụng hàmloadfile, thì kẻ tấn công có thể tận dụng để đọc file từ hệ thống và file củacác site khác qua MySql bằng lệnh LOAD DATA LOCAL INFILE.
1.2.7.4.Cross-Site Scripting
Cross-Site Scripting (XSS) là một kĩ thuật tấn công bằng cách chèn vàocác website động (ASP, PHP, CGI, JSP …), những thẻ HTML hay nhữngđoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụngkhác Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viếtbằng các Client-Site Script như JavaScript, JScript, HTML Kỹ thuật tấncông XSS đã nhanh chóng trở thành một trong những lỗi phổ biến nhất củaWeb Applications và mối đe doạ của chúng đối với người sử dụng ngày cànglớn XSS thường được sử dụng với các mục đích như đánh cắp thông tingiúp hacker có thể truy cập được vào những thông tin nhạy cảm, lấy đượcquyền truy cập miễn phí vào những nội dung đúng ra phải trả tiền mới cóđược Dò xét sở thích của người sử dụng mạng, thay đổi diện mạo một trangweb nào đó Tấn công từ chối dịch vụ (DoS) Mã JavaScript độc có thể truycập bất cứ thông tin nào sau đây:
Cookie cố định được duy trì bởi trình duyệt
RAM Cookie
Tên của tất cả các cửa sổ được mở từ site bị lỗi XSS
Bất cứ thông tin mà có thể truy cập được từ DOM hiện tại (như value,
mã HTML…)
Những người phát triển web có thể bảo vệ website của mình khỏi bị lợidụng thông qua tấn công XSS, bằng cách đảm bảo những trang phát sinhđộng không chứa các tag của script bằng cách lọc và xác nhận hợp lý các dữ
Trang 17liệu đầu vào từ phía người dùng hoặc mã hóa và lọc các giá trị xuất chongười dùng.
1.2.7.5.SQL Injection
SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi dụng lỗhổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web, thông báo lỗicủa hệ quản trị cơ sở dữ liệu để "tiêm vào" (inject) và thi hành các câu lệnhSQL bất hợp pháp
Hậu quả của nó rất tai hại vì nó cho phép những kẻ tấn công có thể thựchiện các thao tác xóa, sửa, … do có toàn quyền trên cơ sở dữ liệu của ứngdụng, thậm chí là server mà ứng dụng đó đang chạy Lỗi này thường xảy ratrên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị cơ sở dữliệu như SQL Server, MySQL, Oracle, DB2, Sysbase
Có bốn dạng gồm: vượt qua kiểm tra lúc đăng nhập (authorizationbypass), sử dụng câu lệnh SELECT, sử dụng câu lệnh INSERT, sử dụng cácstored-procedures Để phòng tránh, ta có thể thực hiện ở hai mức:
Kiểm soát chặt chẽ dữ liệu nhập vào: Bảo vệ các câu lệnh SQL bằngcách kiểm soát chặt chẽ tất cả các dữ liệu nhập nhận được từ đối tượngRequest (Request, Request.QueryString, Request.Form, Request.Cookies,and Request ServerVariables)
Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu: Cần có cơ chếkiểm soát chặt chẽ và giới hạn quyền xử lí dữ liệu đến tài khoản người dùng
mà ứng dụng web đang sử dụng Quyền càng bị hạn chế, thiệt hại càng ít Ngoài ra để tránh các nguy cơ từ SQL Injection attack, nên chú ý loại
bỏ bất kì thông tin kĩ thuật nào chứa trong thông điệp chuyển xuống chongười dùng khi ứng dụng có lỗi Các thông báo lỗi thường tiết lộ các điểmyếu của hệ thống
1.2.7.6.Tấn công từ chối dịch vụ (DOS)
DoS (Denial of Service) có thể mô tả như hành động ngăn cản nhữngngười dùng hợp pháp của một dịch vụ nào đó truy cập và sử dụng dịch vụ
đó DoS là kẻ tấn công sẽ chiếm dụng một lượng lớn tài nguyên mạng nhưbăng thông, bộ nhớ…làm mất khả năng xử lý các yêu cầu dịch vụ đến từ cácmáy trạm khác Gồm có các kiểu tấn công sau:
Trang 18- Kiểu tấn công SYN flood
Lợi dụng cách thức hoạt động của kết nối TCP/IP, hacker bắt đầu quátrình thiết lập một kết nối TPC/IP tới mục tiêu muốn tấn công mà không gửitrả gói tin ACK, khiến cho mục tiêu luôn rơi vào trạng thái chờ (đợi gói tinACK từ phía yêu cầu thiết lập kết nối) và liên tục gửi gói tin SYN ACK đểthiết lập kết nối Một cách khác là giả mạo địa chỉ IP nguồn của gói tin yêucầu thiết lập kết nối SYN và cũng như trường hợp trên, máy tính đích cũngrơi vào trạng thái chờ vì các gói tin SYN ACK không thể đi đến đích do địachỉ IP nguồn là không có thật Kiểu tấn công SYN flood được các hacker ápdụng để tấn công một hệ thống mạng có băng thông lớn hơn hệ thống củahacker
- Kiểu tấn công Land Attack
Kiểu tấn công Land Attack cũng tương tự như SYN flood, nhưnghacker sử dụng chính IP của mục tiêu cần tấn công để dùng làm địa chỉ IPnguồn trong gói tin, đẩy mục tiêu vào một vòng lặp vô tận khi cố gắng thiếtlập kết nối với chính nó
- Kiểu tấn công UDP flood
Hacker gửi gói tin UDP echo với địa chỉ IP nguồn là cổng loopback củachính mục tiêu cần tấn công hoặc của một máy tính trong cùng mạng Vớimục tiêu sử dụng cổng UDP echo (port 7) để thiết lập việc gửi và nhận cácgói tin echo trên 2 máy tính (hoặc giữa mục tiêu với chính nó nếu mục tiêu
có cấu hình cổng loopback), khiến cho 2 máy tính này dần dần sử dụng hếtbăng thông của chúng, và cản trở hoạt động chia sẻ tài nguyên mạng của cácmáy tính khác trong mạng
- Tấn công kiểu DDoS (Distributed Denial of Service)
Đây là cách thức tấn công rất nguy hiểm Hacker xâm nhập vào các hệthống máy tính, cài đặt các chương trình điều khiển từ xa, và sẽ kích hoạtđồng thời các chương trình này vào cùng một thời điểm để đồng loạt tấncông vào một mục tiêu Với DDoS, các hacker có thể huy động tới hàngtrăm thậm chí hàng ngàn máy tính cùng tham gia tấn công cùng một thờiđiểm (tùy vào sự chuẩn bị trước đó của hacker) và có thể sử dụng hết băngthông của mục tiêu trong nháy mắt
Trang 19Hình 1.2: Mô hình tấn công kiểu DDoS (Distributed Denial of Service)
Hậu quả mà DDoS gây ra không chỉ tiêu tốn nhiều tiền bạc, và côngsức mà còn mất rất nhiều thời gian để khắc phục Vì vậy, cần sử dụng cácbiện pháp sau để phòng chống DDoS:
Mô hình hệ thống cần phải được xây dựng hợp lý, tránh phụ thuộc lẫnnhau quá mức
Thiết lập mật khẩu mạnh (strong password) để bảo vệ các thiết bị mạng
và các nguồn tài nguyên quan trọng khác
Thiết lập các mức xác thực đối với người sử dụng cũng như các nguồntin trên mạng Đặc biệt, nên thiết lập chế độ xác thực khi cập nhật các thôngtin định tuyến giữa các router
Xây dựng hệ thống lọc thông tin trên router, firewall… và hệ thống bảo
vệ chống lại SYN flood
Liên tục cập nhật, nghiên cứu, kiểm tra để phát hiện các lỗ hổng bảomật và có biện pháp khắc phục kịp thời
- Tấn công kiểu Smurf Attack
Kiểu tấn công này cần một hệ thống rất quan trọng, đó là mạng khuếchđại Hacker dùng địa chỉ của máy tính cần tấn công bằng cách gửi gói tinICMP echo cho toàn bộ mạng (broadcast) Các máy tính trong mạng sẽ đồngloạt gửi gói tin ICMP reply cho máy tính mà hacker muốn tấn công Kết quả
là máy tính này sẽ không thể xử lý kịp thời một lượng lớn thông tin và dẫntới bị treo máy
Trang 201.3 Một số giải pháp bảo mật cho web server
Các Web server luôn là những vùng đất màu mỡ cho các hacker tìmkiếm các thông tin giá trị hay gây rối vì một mục đích nào đó Hiểm hoạ cóthể là bất cứ cái gì từ kiểu tấn công từ chối dịch vụ, quảng cáo các website
có nội dung không lành mạnh, xoá, thay đổi nội dung các file hay phần mềmchứa mã nguy hiểm Vì vậy để bảo vệ Web Server cần triển khai những vấn
Hình 1.3: Mô hình bảo vệ Web Server
+ Hệ thống lưu trữ: Các thiết bị lưu trữ dữ liệu tích hợp SAN(Storage Area Network)
+ Ngoài việc những động tác kiểm tra của một bức tường lửa thôngthường, WAF sẽ kiểm tra sâu hơn, sẽ kiểm tra các nội dung HTTP ở lớp ứngdụng, Đặt các Web Server của người dùng trong vùng DMZ Thiết lậpfirewall của bạn không cho các kết nối tới Web Server trên toàn bộ các cổng,ngoại trừ cổng 80 (http), cổng 443 (https) và các cổng dịch vụ mà bạn sửdụng
+ Đăng ký và cập nhật định kỳ các bản sửa lỗi mới nhất về an toàn,bảo mật từ các nhà cung cấp
Trang 21+ Thực hiện toàn bộ việc cập nhật từ mạng Intranet Duy trì trangWeb ban đầu trên mỗi Server trên hệ thống mạng Intranet và tạo các thay đổi
và cập nhật ở đây; sau đó mới đẩy các cập nhật này lên Website qua một kếtnối SSL
Hình 1.4: Báo cáo rủi ro các cuộc tấn công Web
Ngoài ra để tăng độ bảo mật cho Web Server quản trị viên có thể sửdụng một số giải pháp sau:
1.3.1 Sử dụng mod_security
Hình 1.5: Mô hình Sử dụng mod_security
Mod_Security là một bộ máy phát hiện và phòng chống xâm nhậpdành cho các ứng dụng Web hoặc một Web application firewall Hoạt độngnhư một module của máy chủ web Apache, mục đích của ModSecurity làtăng cường bảo mật cho các ứng dụng web, bảo vệ chúng khỏi các loại tấncông đã biết và chưa biết Modsecurity có thể :
Trang 22- Theo dõi HTTP traffic để phát hiện những dấu hiệu bất thường.
- Lọc các dữ liệu ra vào Web Server
- Ghi lại các tương tác giữa Client và Web Server
1.3.2 Secure Web Server (HTTPS)
Là một sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSLhay TLS cho phép trao đổi thông tin một cách bảo mật trên Internet Các kếtnối HTTPS thường được sử dụng cho các giao dịch thanh toán trên WorldWide Web và cho các giao dịch nhạy cảm trong các hệ thống thông tin
HTTPS được sử dụng trong nhiều tình huống, chẳng hạn như cáctrang đăng nhập cho ngân hàng, đăng nhập công ty, và các ứng dụng khác,trong đó dữ liệu cần phải được an toàn
1.3.3 Internet Acceleration and Security (ISA)
Internet Acceleration and Security (ISA) cung cấp một tường lửalinh hoạt, có hiệu quả, và dễ sử dụng Có hai phiên bản ISA 2006 bao gồm:
- Standard Edition
- Enterprise Edition ISA Server 2006 đáp ứng nhu cầu bảo vệ vàchia sẻ băng thông, có thể xây dựng firewall để:
- Kiểm soát các luồng dữ liệu vào và ra hệ thống mạng nội bộ
- Kiểm soát quá trình truy cập của người dùng theo giao thức, thờigian và nội dung nhằm ngăn chặn việc kết nối vào những trang web có nộidung không thích hợp
- Bên cạnh đó chúng ta còn có thể triển khai hệ thống VPN Site toSite hay Remote Access hỗ trợ cho việc truy cập từ xa Với Web Server cầnđược bảo vệ chặt chẽ trong một môi trường riêng biệt thì ISA SERVER
2006 cho phép triển khai các vùng DMZ ngăn ngừa sự tương tác trực tiếpgiữa người bên trong và bên ngoài hệ thống
- Ngoài các tính năng bảo mật thông tin trên, ISA SERVER 2006còn có hệ thống đệm (cache) giúp kết nối Internet nhanh hơn do thông tintrang web có thể được lưu sẵn trên RAM hay đĩa cứng, giúp tiết kiệm đáng
kể băng thông
Trang 23Hình 1.6: Mô hình sử dụng phần mềm ISA
1.3.4 Hệ thống giám sát mạng
Giám sát máy chủ web là thuật ngữ được sử dụng để theo dõi hiệusuất, tình trạng và số liệu của máy chủ web để đảm bảo hoạt động cấpcao của máy chủ Bằng cách theo dõi các chỉ số hiệu suất của máy chủweb, quản trị viên mạng sẽ có thể xác định và giải quyết các vấn đề trướckhi chúng ảnh hưởng đến người dùng cuối
Máy chủ web là nơi lưu trữ tất cả các ứng dụng, dịch vụ và trangweb mà người dùng có thể truy cập chúng trực tuyến bất cứ khi nàongười dùng cần Điện toán đám mây ngày nay đang trở thành tiêu chuẩnmới khi ngày càng có nhiều ứng dụng và dịch vụ chuyển sang không giantrực tuyến Điều đó có nghĩa là việc giám sát các máy chủ web càng trởnên quan trọng hơn để đảm bảo tính bảo mật và khả năng tiếp cận của cácmáy chủ
Giám sát máy chủ web là cần thiết vì nó cho phép khả năng truy cập
và khả năng thích ứng đối với các tài nguyên trực tuyến, là những phầnthiết yếu của các chức năng kinh doanh Người dùng cuối có thể cần nộidung do máy chủ web kiểm soát Do đó, giám sát máy chủ web có thể làmột phần cần thiết để đảm bảo chức năng và năng suất của các ứng dụng
và dịch vụ được hoàn thành theo yêu cầu của công ty đối với hoạt độngkinh doanh hàng ngày
Máy chủ chậm có thể ngay lập tức ảnh hưởng đến tài chính của công
ty, vì người dùng cuối có thể nhanh chóng rời khỏi các trang web chậm
Trang 24Nền tảng giám sát máy chủ web như Motadata được thiết kế để xác địnhcác lỗi và hư hỏng Nền tảng này sẽ gửi cảnh báo hoặc thông báo choquản trị viên mạng để tránh bất kỳ loại thời gian ngừng hoạt động nàocủa máy chủ.
Giám sát máy chủ web cũng tạo ra thông tin chi tiết dựa trên nhu cầu
và hiển thị những thay đổi về lưu lượng truy cập cho nhiều trang web,ứng dụng và phần mềm Theo dõi dữ liệu như các hoạt động và phiêntrang web có thể hữu ích cho các tổ chức muốn mở rộng trang web của
họ, hiện đại hóa chức năng của ứng dụng hoặc bao gồm các dịch vụ bổsung để đáp ứng nhu cầu tăng lưu lượng truy cập
1.4 Tổng quan về hệ thống giám sát mạng
1.4.1 Giới thiệu về hệ thống giám sát mạng
Giám sát hệ thống mạng là giám sát, thu nhập thông tin đưa ra cácthành phần của hệ thống, phân tích các thông tin, dấu hiệu nhằm đánh giá vàđưa ra các cảnh báo cho người quản trị hệ thống Đối tượng của hệ thốnggiám sát gồm: các máy trạm, cơ sở dữ liệu, các ứng dụng, các server, cácthiết bị mạng …
Khi phụ trách hệ thống mạng máy tính, để giảm thiểu tối đa các sự cốlàm gián đoạn hoạt động của hệ thống mạng, người quản trị hệ thống mạngcần phải nắm được tình hình “sức khỏe” các thiết bị, dịch vụ được triển khai
để có những quyết định xử lý kịp thời và hợp lý nhất Ngoài ra, việc hiểu rõtình trạng hoạt động của các thiết bị, các kết nối mạng… cũng giúp chongười quản trị tối ưu được hiệu năng hoạt động của hệ thống mạng để đảmbảo được các yêu cầu sử dụng của người dùng Việc giám sát hoạt động củacác thiết bị mạng, ứng dụng và dịch vụ trong môi trường mạng, với hàngchục hay hàng trăm thiết bị, mà người quản trị thực hiện thủ công sẽ khôngmang lại hiệu quả Vì thế, cần phải có một phần mềm thực hiện việc giámsát một cách tự động và cung cấp các thông tin cần thiết để người quản trịnắm được hoạt động của hệ thống mạng, đó là hệ thống giám sát mạng
Hệ thống giám sát mạng (Network Monitoring System) là một phầnmềm thực hiện việc giám sát hoạt động của hệ thống và các dịch vụ, ứngdụng bên trong hệ thống mạng đó Nó thực hiện việc thu thập thông tin củacác thiết bị mạng, các kết nối, các ứng dụng và dịch vụ bên trong hệ thống
Trang 25mạng để phân tích và đưa ra các thông tin hỗ trợ người quản trị mạng có cáinhìn tổng quan, chi tiết về môi trường mạng Dựa trên những thông tin thuthập được, hệ thống giám sát mạng có thể tổng hợp thành các báo cáo, gửicác cảnh báo cho người quản trị để có hướng xử lý phù hợp nhằm giảm thiểu
sự cố và nâng cao hiệu suất mạng Với những thông tin nhận được từ hệthống giám sát mạng, người quản trị có thể xử lý các sự cố và đưa ra cáchướng nâng cấp thiết bị, dịch vụ để đảm bảo hệ thống mạng hoạt động thôngsuốt
1.4.1.1.Các yếu tố cơ bản trong giám sát mạng
Để việc giám sát mạng đạt hiệu quả cao nhất cần xác định các yếu tốcốt lõi của giám sát mạng như:
- Các đơn vị, hệ thống, thiết bị, dịch vụ cần giám sát
- Các trang thiết bị, giải pháp, phần mềm thương mại phục vụ giám sát
- Xác định các phần mềm nội bộ và phần mềm mã nguồn mở phục vụgiám sát
- Ngoài ra, yếu tố con người, đặc biệt là quy trình phục vụ giám sát là
vô cùng quan trọng
1.4.1.2.Chức năng của giám sát
- Cảnh báo qua Web, Email và SMS khi phát hiện tấn công vào hệthống mạng
- Báo động bằng âm thanh và SMS khi một host (Server, Router,Switch…) hoặc một dịch vụ mạng ngưng hoạt động
- Giám sát lưu lượng mạng qua các cổng giao tiếp trên Router, Switch,Server… hiển thị qua các đồ thị trực quan, thời gian thực Giám sát lưulượng giữa các thiết bị kết nối với nhau một cách trực quan
1.4.1.3 Nội dung cần giám sát mạng
Đối với hệ thống mạng, điều quan trọng nhất là nắm được các thông tinchính xác nhất Tầm quan trọng chính là nắm bắt thông tin trạng thái củathiết bị vào thời điểm hiện tại, cũng như biết được thông tin về các dịch vụ,ứng dụng của hệ thống
Xem bảng 1.1 sau đây nêu ra một số nội dung cần giám sát và lý do đểthực hiện giám sát
Trang 26Bảng 1.1: Nội dung cần giám sát và lý do
nó sẽ ảnh hưởng nghiêm trọng đến cơ quan, tổchức đó
Lưu lượng trong mạng Nhằm đưa ra những giải pháp, ngăn ngừa hiện
tượng quá tải trong mạng
Các chức năng về bảo mật Nhằm đảm bảo an ninh trong hệ thống
Lượng dữ liệu vào ra của
Router
Cần xác định chính xác thông tin lượng dữ liệu đểtránh quá tải hệ thống
Các sự kiện được viết
ra log như WinEvent
or Syslog
Có thể thu được thông tin chính xác các thay đổitrong hệ thống
Nhiệt độ, thông tin về
máy chủ, máy in
Ta có thể biết được thông tin về máy in bị hưhỏng hay cần thay mực trước khi được ngườidùng báo cũng như đảm bảo máy chủ không bịquá nóng
1.4.1.4 Tầm quan trọng của giám sát mạng
Hệ thống giám sát mạng đóng vai trò quan trọng trong hạ tầng côngnghệ thông tin của các cơ quan, đơn vị, tổ chức Hệ thống này cho phép thuthập, chuẩn hóa, lưu trữ và phân tích tương quan toàn bộ các sự kiện an toànmạng được sinh ra trong hệ thống công nghệ thông tin của tổ chức Ngoài ra,
hệ thống giám sát an toàn mạng phát hiện kịp thời các tấn công mạng, 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ệ
Trang 27thống, phát hiện kịp thời sự bùng nổ virus trong hệ thống mạng, các máytính bị nhiễm mã độc.
Hệ thống giám sát mạng sẽ giúp định hướng trong môi trường mạngphức tạp, đưa ra các báo cáo và các nhận định để đảm bảo công tác giám sátmạng an toàn hiệu quả Thông qua hệ thống giám sát mạng giúp cho ngườiquản trị hệ thống:
Tính bảo mật: Đảm bảo các thông tin không bị lộ ra ngoài Là mộttrong những phần quan trọng giữa các giám sát mạng, tính năng này sẽ theodõi những biến động trong hệ thống mạng và cảnh báo cho quản trị viên biếtkhi có sự cố xảy ra kịp thời Thông qua màn hình giám sát, người quản trị cóthể xác định được vấn đề khả nghi và tìm cách giải quyết phù hợp nhất chovấn đề đó
Khả năng xử lý sự cố: Khả năng này là một trong các lợi thế của giámsát mạng Tiết kiệm thời gian chuẩn đoán sai lệch trong mạng, giám sát viên
có thể biết chính xác thiết bị hoặc một phần của hệ thống nào đang có vấn đề
và xử lý nó một cách nhanh nhất trước khi người dùng mạng phát hiện.Tiết kiệm thời gian và tiền bạc: Nếu không có phần mềm giám sát thì sẽmất nhiều thời gian để tìm kiếm và sửa lỗi hệ thống mà lẽ ra chỉ mất vài giây
để sửa lỗi đó Điều này không chỉ tốn thêm chi phí mà còn làm giảm năngsuất lao động Ngược lại, nhờ có phần mềm giám sát, vấn đề sẽ nhanh chóngtìm ra và xử lý hiệu quả, có thể tập trung nhiền hơn vào công việc khác, lợinhuận công ty cũng gia tăng
Lập kế hoạch thay đổi: Với giám sát mạng, giám sát viên có thể theodõi được thiết bị nào sắp hỏng và cần phải thay mới Giám sát mạng chongười giám sát khả năng lên kế hoạch sẵn và dễ dàng tạo ra thay đổi cầnthiết cho hệ thống mạng
1.4.2 Hoạt động của hệ thống giám sát mạng
Hoạt động của NSM (Network Security Monitor) bao gồm ba giaiđoạn: thu thập dữ liệu, phát hiện xâm nhập và phân tích dữ liệu Xem hình1.3 trình bày về hoạt động của NSM:
Trang 28Hình 1.7: Hoạt động của NMS 1.4.2.1.Thu thập dữ liệu
Hoạt động của NSM bắt đầu với bước quan trọng nhất là thu thập dữliệu Việc thu thập dữ liệu được thực hiện với sự kết hợp của cả phần cứng
và phần mềm trong việc tạo, sắp xếp và lưu trữ dữ liệu cho việc phát hiệnxâm nhập và phân tích dữ liệu trong hệ thống NSM Thu thập dữ liệu làphần quan trọng nhất của chu trình NSM bởi vì các bước thực hiện ở đây sẽđịnh hình khả năng của một tổ chức trong việc phát hiện xâm nhập và phântích dữ liệu hiệu quả
Có một số loại dữ liệu của NSM và tương ứng sẽ có một số phươngpháp có thể thu thập được các loại dữ liệu này Các loại dữ liệu phổ biếnnhất của NSM bao gồm dữ liệu nội dung đầy đủ, dữ liệu phiên, dữ liệu thống
kê, dữ liệu kiểu chuỗi trong gói tin và dữ liệu cảnh báo Tùy thuộc vào nhucầu của tổ chức, kiến trúc mạng và nguồn tài nguyên sẵn có, các kiểu dữ liệunày có thể được sử dụng chủ yếu để phát hiện xâm nhập, phân tích, hoặcdùng cho cả hai
Khởi đầu, thu thập dữ liệu có thể là một trong những phần cần nhiềulao động nhất trong chu trình NSM Để thu thập dữ liệu có hiệu quả đòi hỏi
có một sự nỗ lực từ lãnh đạo tổ chức, đội ngũ an ninh thông tin, các nhómmạng và các nhóm quản trị hệ thống Thu thập dữ liệu bao gồm các nhiệmvụ như sau:
• Xác định các vị trí có nhiều điểm yếu tồn tại trong tổ chức
• Xác định các nguy cơ ảnh hưởng đến mục tiêu tổ chức
• Xác định nguồn dữ liệu có liên quan
• Tinh chế nguồn dữ liệu thu thập được
• Cấu hình cổng SPAN để thu thập dữ liệu gói tin
• Xây dựng lưu trữ SAN cho lưu giữ nhật ký
Trang 29• Cấu hình phần cứng và phần mềm thu thập dữ liệu.
1.4.2.2 Phát hiện xâm nhập
Phát hiện xâm nhập là quá trình mà qua đó dữ liệu thu thập được kiểmtra và cảnh báo sẽ được tạo ra dựa trên các sự kiện quan sát được và dữ liệuthu thập không được như mong đợi Điều này thường được thực hiện thôngqua một số hình thức chữ ký, sự bất thường, hoặc phát hiện dựa trên thống
kê Kết quả là tạo ra các dữ liệu cảnh báo
Phát hiện xâm nhập thường là một chức năng của phần mềm với một
số gói phần mềm phổ biến như Snort IDS và Bro IDS của một hệ thống pháthiện xâm nhập mạng (NIDS), và OSSEC, AIDE hoặc McAfee HIPS của một
hệ thống phát hiện xâm nhập máy chủ (HIDS) Một số ứng dụng như quản
lý sự kiện và thông tin an ninh (Security Information and EventManagement - SIEM) sẽ sử dụng cả dữ liệu dựa trên mạng và dữ liệu dựatrên máy chủ để phát hiện xâm nhập dựa trên các sự kiện liên quan
1.4.2.3 Phân tích dữ liệu
Phân tích là giai đoạn cuối cùng của chu trình NSM, và được thực hiệnkhi một người diễn giải và xem xét dữ liệu cảnh báo Điều này thường sẽliên quan đến việc xem xét thu thập dữ liệu bổ sung từ các nguồn dữ liệukhác Phân tích dữ liệu có thể được thực hiện với các nhiệm vụ sau:
• Phân tích gói tin
có thể bắt đầu với các biện pháp ứng phó
Hoạt động NSM kết thúc bằng các bài học kinh nghiệm trong việc pháthiện xâm nhập và phân tích dữ liệu cho bất kỳ sự bất thường nào và tiếp tụchình thành các chiến lược thu thập dữ liệu cho tổ chức
1.4.3 Giao thức SNMP
Trong thế giới mạng hiện tại với một mạng lưới gồm các bộ định tuyến
Trang 30(Router), bộ chuyển mạch (Switch), máy chủ (Server) và các máy trạm(Workstation), đó dường như là một vấn đề khó khăn cho việc quản lý tất cảcác thiết bị mạng và đảm bảo chúng làm việc tốt cũng như hoạt động tối ưu.
Để hỗ trợ cho quá trình quản lý các nhà nghiên cứu cho phát triển giao thứcquản trị mạng đơn giản (Simple Network Management Protocol) viết tắt làSNMP SNMP được giới thiệu vào năm 1988 để đáp ứng cho nhu cầu ngàycàng tăng của việc quản trị các thiết bị sử dụng giao thức internet (InternetProtocol) SNMP cung cấp một tập các lệnh đơn giản cho phép việc quản lýcác thiết bị từ xa
Hiện tại SNMP có 3 phiên bản sau:
- SNMP version 1: Chuẩn của giao thức SNMP được định nghĩa trong RFC
1157 và là một chuẩn đầy đủ của IETF Vấn đề bảo mật của SNMP v1 dựa trênnguyên tắc cộng đồng, không có nhiều Password, chuỗi văn bản thuần và chophép bất kỳ một ứng dụng nào đó dựa trên SNMP có thể hiểu các chuỗi này để
có thể truy cập vào các thiết bị quản lý, có 3 thao tác cơ bản trong SNMPv1 là;Read-only, Read-write, Trap
- SNMP version 2: Phiên bản này dựa trên các chuỗi "Community"; do đóphiên bản này được gọi là SNMPv2, được định nghĩa trong RFC 1905, 1906,
1907, và đây chỉ là bản thử nghiệm của IETF Mặc dù chỉ là thử nghiệm nhưngnhiều nhà sản xuất đã đưa nó vào thực nghiệm
- SNMP version 3: Là phiên bản tiếp theo được IETF đưa ra bản đầy đủ Nóđược khuyến nghị làm bản chuẩn, được định nghĩa trong RFC 1905, RFC 1906,RFC 1907, RFC 2571, RFC 2572, RFC 2573, RFC 2574 và RFC 2575 Nó hỗtrợ các loại truyền thông riêng tư và có xác nhận giữa các thực thể TrongSNMP có 3 vấn đề chính cần quan tâm; Manager, Agent và MIB (ManagementInformation Base) MIB là cơ sở dữ liệu dùng phục vụ cho Manager và Agent
1.4.3.1 Quản lý và giám sát mạng
Cốt lõi của SNMP là một tập các lệnh đơn giản cho phép người quản trị
có khả năng thay đổi trạng thái của các thiết bị được quản lý Ví dụ như cóthể sử dụng SNMP để tắt một cổng trên router hay kiểm tra tốc độ của cổng
đó SNMP có thể giám sát nhiệt độ của các thiết bị và cảnh báo khi nhiệt độquá cao
Trang 31SNMP thường được kết hợp với quản lý router nhưng giao thức nàycòn có thể dùng để quản lý nhiều loại thiết bị khác Trong khi người tiềnnhiệm của SNMP là Simple Gateway Management Protocol (SGMP) đượcphát triển để quản lý bộ định tuyến thì SNMP có thể dùng để quản lý các hệthống Linux, Windows, máy in, modem… và bất kì thiết bị nào có thể chạyphần mềm cho phép gửi thông tin SNMP thì có thể được quản lý.
Một khía cạnh khác của quản lý là giám sát, điều này có nghĩa là theodõi toàn bộ mạng Giám sát mạng từ xa (Remote Network Monitoring -RMON) được phát triển để giúp chúng ta hiểu chức năng của mạng cũngnhư các thiết bị khác ảnh hưởng đến toàn bộ mạng RMON có thể dùng đểgiám sát lưu lượng mạng LAN và cả các cổng mạng WAN
Trước và sau khi có SNMP:
Giả sử, có một mạng gồm 100 máy trạm sử dụng các hệ điều hành khácnhau Trong đó có các máy là máy chủ chứa dữ liệu, các máy khác thì có kếtnối với máy in, còn lại là các máy trạm cá nhân Thêm vào đó là các bộ địnhtuyến và bộ chuyển mạch Hệ thống mạng có kết nối Internet
Điều gì xảy ra khi một trong các máy chủ chứa dữ liệu ngưng hoạtđộng? Nếu nó xảy ra vào giữa tuần thì người dùng có thể thông báo chongười quản trị mạng để sửa chữa Nhưng nếu nó xảy ra vào cuối tuần khimọi người đã về nhà bao gồm cả quản trị mạng thì sao?
Đó là lý do tại sao phải cần tới SNMP Thay vì phải có ai đó thông báorằng hệ thống có vấn đề thì SNMP cho phép giám sát hệ thống một cách liêntục kể cả khi không có ai ở đó Ví dụ, SNMP sẽ thông báo số gói tin bị hưngày càng tăng trên bộ định tuyến để có thể xử lý trước khi vấn đề nghiêmtrọng xảy ra Quản trị viên có thể cấu hình để được cảnh báo tự động các vấn
đề trong hệ thống mạng của mình
1.4.3.2 Managers và Agents
Trong môi trường SNMP có 2 loại thực thể là: Managers và Agents
Thực thể thứ nhất Managers là một server chạy các phần mềm quản lý.
Managers thông thường được xem như là Network Management Stations(NMS) Một NMS chịu trách nhiệm cho việc Poll và nhận Traps từ cácAgent trong mạng
Trang 32- Poll là 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 sẽkhông trả lời, nếu Manager hỏi thì Device phải trả lời Bằng cách hỏi thườngxuyên, Manager sẽ luôn cập nhật được thông tin mới từ Device
Hình 1.8: Cơ chế hoạt động của Poll
Ví dụ: Người quản lý cần theo dõi khi nào thợ làm xong việc Anh ta sẽthường xuyên hỏi người thợ “Anh làm việc xong chưa?”, và người thợ sẽ trảlời “Xong” hoặc “Chưa xong”
- Trap là cách để agent thông báo cho NMS biết chuyện gì đã xảy ra.
Trap không được gửi một cách đồng bộ nghĩa là nó không chịu trách nhiệmhồi báo các truy vấn của NMS mà chỉ thông báo khi có vấn đề xảy ra Ví dụ,khi một liên kết T1 của router bị mất kết nối, router có thể gửi một Trap đếnNMS
Thực thể thứ hai là Agent: là một phần mềm chạy trên thiết bị mạng
cần quản lý Agent có thể là một chương trình riêng biệt hoặc cũng có thểđược tích hợp vào hệ điều hành (ví dụ như Cisco IOS trên router hay một hệđiều hành cấp thấp quản lý UPS-bộ tích điện) Ngày nay, hầu hết các thiết bịhoạt động dựa trên nền tảng IP đều đi kèm với các phần mềm SMNP, agentgiúp người quản trị có thể quản lý thiết bị một cách dễ dàng Agent cung cấpthông tin cho NMS bằng cách theo dõi các hoạt động của thiết bị Ví dụ:agent trên router theo dõi trạng thái các cổng của router NMS có thể truyvấn trạng thái của các cổng này và có hành động thích hợp khi nếu như mộttrong các cổng xảy ra vấn đề Khi agent phát hiện có vấn đề xảy ra trên thiết
bị nó có thể gửi trap đến NMS Một vài thiết bị sẽ gửi hồi báo “all clear”
Trang 33trap khi có sự chuyển đổi từ trạng thái xấu sang tốt Điều này cũng có thể cóích trong việc xác định vần để đã được giải quyết Xem hình 1.9 dưới đây
mô tả mối quan hệ giữa NMS và Agent
Hình 1.9: Mối quan hệ giữa NMS và Agent
Điều quan trọng cần phải xác định rõ là Poll và Trap có thể xảy ra cùnglúc Không có hạn chế nào khi NMS truy vấn Agent và Agent gửi trap đếnNMS
1.4.3.3 Quản lý máy trạm
Việc quản lý các tài nguyên của máy trạm (như dung lượng đĩa cứng,
bộ nhớ đã sử dụng…) là một phần quan trọng trong việc quản lý mạng HostResources MIB định nghĩa một tập các đồi tượng giúp cho việc quản lý các
hệ thống Unix và Windows (tất cả các hệ thống chạy SNMP agent đều có thểquản lý không chỉ riêng Unix và Windows)
1.4.3.4 SNMP và UDP
SNMP sử dụng UDP (User Datagram Protocol) để truyền tải dữ liệugiữa managers và agents Giao thức UDP, được định nghĩa trong RFC 768,được chọn để sử dụng trong SNMP thay vì giao thức TCP (TransmissionControl Protocol) bởi vì nó là giao thức phi kết nối, nghĩa là không có kếtnối điểm tới điểm giữa agent và NMS khi dữ liệu được truyền qua lại Điềunày làm cho SNMP không đáng tin cậy vì không có khả năng phát hiện khi
dữ liệu bị mất Do đó SNMP phải có cách để phát hiện dữ liệu truyền có bịmất không và truyền lại dữ liệu nếu cần thiết Đơn giản chỉ phụ thuộc vàothời gian chờ Khi NMS gửi yêu cầu đến agent và chờ hồi báo Thời gianchờ của NMS phụ thuộc vào cấu hình của người quản trị Nếu đã hết thờigian chờ và NMS không nhận được thông tin phản hồi từ agent nó sẽ gửi lại
Trang 34yêu cầu Số lần gửi lại cũng phụ thuộc vào cấu hình của ứng dụng SNMP.Vấn đề khó khăn khi SNMP sử dụng UDP làm giao thức truyền nhận
dữ liệu là khi agent gửi trap cho NMS, vì không có cách nào để NMS biếtchuyện gì xảy ra khi agent gửi trap, mà trap lại không đến được NMS vàagent cũng không biết có cần phải gửi lại trap không, do NMS không gửi lạihồi báo cho agent khi nhận được trap
Mặt khác do UDP sử dụng ít tài nguyên nên việc ảnh hưởng đến hiệuxuất mạng thấp SNMP đã từng được triển khai trên TCP nhưng đó là mộtmôi trường không thích hợp do tính hướng kết nối của giao thức này
SNMP dùng UDP cổng 161 để gửi và nhận yêu cầu, UDP cổng 162 đểnhận trap Tất cả các thiết bị sử dụng SNMP phải dùng 2 cổng mặc định này,nhưng một vài nhà sản xuất cho phép ta thay đổi cổng trên cấu hình củaagent Nếu cấu hình mặc định bị thay đổi, NMS phải thay đổi để phù hợpvới cấu hình trên agent
Hình 1.10: Mô hình trao đổi giữa NMS và Agent
Xem hình 1.10 mô tả mô hình TCP/IP, là mô hình cơ bản cho tất cả cácquá trình truyền thông TCP/IP Ngày nay, tất cả các thiết bị muốn tham giavào quá trình truyền thông trên Internet đều phải tuân theo bộ giao thức này.Khi NMS hay agent muốn thực hiện truyền thông phải theo các tuần tự sau:Application: Đầu tiên ứng dụng SNMP (NMS hay agent) quyết định
Trang 35phải làm gì Ví dụ, nó có thể gửi một yêu cầu SNMP đến agent, gửi hồi đápyêu cầu SNMP (có thể được gửi từ agent), hay gửi một trap đến NMS Tầngứng dụng cung cấp dịch vụ cho người dùng cuối, chẳng hạn như người điềuhành yêu cầu thông tin trạng thái của một cổng trên switch.
UDP: Tại tầng vận chuyển theo trong mô hình TCP/IP, UDP cho phép 2host truyền thông với nhau Nội dụng của UDP header chứa nhiều thông tin,trong đó có cổng của thiết bị mà nó gửi yêu cầu hay trap Cổng đích có thể là
161 (truy vấn) hoặc 162 (trap)
IP: Tại tầng mạng giao thức IP cố gắng truyền các gói SNMP tới địa chỉđích được yêu cầu
Medium Access Control (MAC): sự kiện cuối cùng phải xảy ra cho mộtgói SNMP để có thể đến được đích là tầng vật lý, nơi gói tin được địnhtuyến để truyền tới đích Lớp MAC bao gồm phần cứng và trình điều khiểnthiết bị đưa dữ liệu tới đích Lớp MAC cũng chịu trách nhiệm cho việc nhậngói tin từ tầng vật lý và chuyển gói tin lên tầng trên tiếp theo trong mô hìnhTCP/IP
Để có thể dễ hiểu hãy xem xét một ví dụ mô tả Giả sử ta muốn gửi thưcho một người bạn ở xa để mời người đó tới nhà vào mùa hè này Bằng cáchquyết định gửi một lá thư mời, ta đã thực hiện giống như một chương trìnhSNMP Điền vào bìa thư địa chỉ của người nhận giống như chức năng củalớp UDP là xác định cổng đích trong UDP header, trong trường hợp này làđịa chỉ của người nhận Dán tem và bỏ vào thùng thư để người đưa thư lấy
đi giống như chức năng của lớp IP Hành động cuối cùng khi người đưa thưđến và lấy lá thư Từ đây lá thư được gửi đến đích, là hộp thư của người bạn.Lớp MAC của máy tính giống như xe đưa thư hay máy bay mang thư Khingười bạn nhận được thư, người đó cũng sẽ thực hiện một quá trình tương tựnhư vậy để hồi đáp Thông qua ví dụ trên mọi người có thể hình dung cáchthức gói tin được truyền
1.4.3.5 Hoạt động của SNMP
Trạm quản lý tương tác với Agent qua giao thức SNMP, giao thứcSNMP gồm 5 tác vụ và mỗi tác vụ được mã hóa trong một đơn vị dữ liệuPDU (Protocol Data Unit) riêng biệt và được chuyển qua mạng bằng giaothức UDP đó là các tác vụ:
Trang 36- Get-request: lấy giá trị của một hoặc nhiều biến.
- Get-next-request: lấy giá trị của biến kế tiếp
- Set-request: đặt giá trị của một hoặc nhiều biến
- Get-response: trả về giá trị của một hoặc nhiều biến sau khi phát lệnhGet-request hoặc Get-next-request, hoặc Set-request
- Trap: gửi cảnh báo cho Agent quản lý khi có biến cố xảy ra trênmáyAgent
Hình 1.11: Các tác vụ của SNMP
Xem hình 1.11 minh họa 5 tác vụ liên lạc giữa Agent máy quản lý vàagent máy trạm, trong đó SNMP sử dụng port 161 cho các lệnh get-request,get-next- request, set-request và get-response, riêng lệnh trap thì sử dụngport 162 Để minh họa cách thức SNMP làm việc như thế nào, người dùngxem ví dụ ở hình 1.12 Giả sử có một ứng dụng quản lý SNMP chạy trênmáy host 1 yêu cầu số phiên kích hoạt từ một máy Microsoft SNMP agent làhost 2
+ Trình quản lý SNMP sử dụng tên máy (host name) để gửi yêu cầu
qua cổng dịch vụ UDP 161 Tên máy sẽ được phân giải bằng cách sử dụngcác file HOST, DNS hoặc WINS
+ Một message SNMP chứa lệnh get-request phát ra để phát hiện số
phiên kích hoạt với tên (community name) là public.
+ Máy host 2 nhận Message và kiểm tra tên nhóm làm việc chung(community name) Nếu tên nhóm sai hoặc Message bị hỏng thì yêu cầu từphía máy host 1 bị hủy bỏ Nếu tên nhóm đúng và Message hợp lệ thì kiểmtra địa chỉ IP để đảm bảo nó được quyền truy nhập Message từ Agent host 1.+ Sau đó, phiên kích hoạt được tạo (ví dụ là phiên số 7) và trả thông tin
về cho Agent quản lý SNMP
Trang 37Hình 1.12: Cách thức làm việc của SNMP
Nhược điểm:
- Vì 4 trong 5 Message SNMP là các nghi thức hồi đáp đơn giản (Agentgửi yêu cầu, máy Agent phản hồi kết quả) nên SNMP sử dụng giao thứcUDP Điều này nghĩa là một yêu cầu từ Agent của máy này có thể khôngđến được Agent máy khác và không trả về hồi đáp từ Agent giữa 2 máy vớinhau Vì vậy Agent cần cài đặt thời gian hết hạn (Timeout) và cơ chế phátlại
- Quản trị mạng dựa trên SNMP có mức bảo mật thấp Vì dữ liệu không
mã hóa và không có thiết lập cụ thể để ngưng bất kỳ truy nhập mạng trái
phép nào Khi tên (Community name) và địa chỉ IP bị sử dụng để gửi yêu
cầu giả mạo tới Agent
- Quản trị mạng dựa trên SNMP có mức khả chuyển thấp giữa các kiếntrúc khác nhau Vì cấu trúc thông tin quản lý của SNMP chỉ hỗ trợ giới hạncác kiểu dữ liệu
1.5 Kết luận
Chương 1 đã trình bày một cách chi tiết, rõ ràng về tổng quan của máychủ web, an toàn máy chủ web và hệ thống giám sát mạng Cụ thể đã trìnhbày được những nội dung sau:
- Tổng quan về máy chủ web
- Các nguy cơ mất an toàn đối với máy chủ web
- Tổng quan về hệ thống giám sát mạng
Trang 38CHƯƠNG 2 HỆ THỐNG GIÁM SÁT MẠNG CACTI
2.1 Giới thiệu về hệ thống giám sát mạng Cacti
2.1.1 Giới thiệu về Cacti
Cacti là một công cụ giám sát mã nguồn mở cung cấp giao diện đồ hoạ
hoàn chỉnh dựa trên nền tảng bộ công cụ RRDTool Cacti lưu trữ tất cả các
thông tin cần thiết để tạo các đồ thị và thêm dữ liệu vào cơ sở dữliệu MySQL Giao diện người dùng hoàn toàn được quản lý bằng ngônngữ PHP Cùng với việc có thể tạo dựng đồ thị, nguồn dữ liệu và kho lưu trữtrong cơ sở dữ liệu, Cacti còn xử lý việc thu thập dữ liệu Ngoài ra còn có hỗtrợ SNMP cho những người dùng để tạo biểu đồ lưu lượng với MRTG
2.1.2 Lịch sử hình thành Cacti
Hình 2.1: Giao diện của Cacti
Dự án Cacti được bắt đầu bởi Ian Berry vào ngày 2 tháng 9 năm 2001.Berry đã được truyền cảm hứng để bắt đầu dự án trong khi làm việc cho mộtISP nhỏ Mục tiêu của ông trong việc tạo ra Cacti là cung cấp một công cụ
dễ sử dụng hơn RRDtool và linh hoạt hơn MRTG.
Vào ngày 13 tháng 9 năm 2004, phiên bản 0.8.6 đã được phát hành.Sau đó với nhiều nhà phát triển hơn, tốc độ và khả năng mở rộng củachương trình cũng lớn mạnh hơn
Vào tháng 6 năm 2012, trên trang chủ Cacti cho biết phiên bản 1.0.0 đãđược lên lịch phát hành trong quý đầu tiên của năm 2013 Nhưng vào tháng
Trang 398 năm 2013, nó được thay thế bằng thông báo rằng “Lộ trình này đã lỗi thời Chúng tôi tổ chức lại để cải thiện chu kỳ phát triển của Cacti”.
Năm 2017 là một năm hoạt động tích cực của nhóm phát triển Cacti
Họ đã phát hành hơn 30 phiên bản của Cacti kể từ bản phát hành 1.0.0 đầu
tiên vào tháng 1 năm 2017 Cộng đồng GitHub đã phát triển và hiện có thêmnhiều nhà phát triển đang hoàn thiện bản phát hành 1.x để sử dụng trong giađình, công ty nhỏ và doanh nghiệp trong suốt toàn cầu
2.2 Kiến trúc và thành phần của Cacti
2.2.1 Kiến trúc Cacti
Hình 2.2: Kiến trúc của Cacti
Người quản trị làm việc với Cacti thông qua trình duyệt web (Browser).Với trình duyệt web, người quản trị có thể khai báo các loại thiết bị trong hệthống mạng, thiết lập các thông số về tất cả các thiết bị cần giám sát Các dữliệu quản trị sẽ được lưu trữ trong các bảng dữ liệu MySQL, kết quả các dữliệu được minh họa hiển thị dưới dạng các sơ đồ
Những thông tin mà Cacti thu thập được của người dùng thông qua cáctruy vấn được lưu trữ lại trong cơ sở dữ liệu MySQL để duy trì hoạt độngcho những lần sau
Từ yêu cầu của người dùng, Cacti sẽ xử lý các dữ liệu thông qua cáctruy vấn từ Poller Poller liên tục lấy dữ liệu từ các thiết bị cần được giámsát như: Server, router, HDD, Ram….Các dữ liệu thu thập được sẽ được lưutrữ bằng cơ sở dữ liệu xoay vòng RRD Cacti sẽ sử dụng những dữ liệu RRD
để tổ hợp và biểu diễn dữ liệu dưới dạng đồ thị
Trang 402.2.2 Thành phần của Cacti
Các thành phần cài đặt chính để Cacti hoạt động là các gói phần mềm:RRDtool, MySQL, Webserver, PHP, Net-snmp
RRDtool: là một cơ sở dữ liệu xoay vòng dùng để lưu lại dữ liệu thu
thập được từ các truy vấn hỗ trợ cho việc xuất dữ liệu đồ họa
MySQL: gói này được cài đặt giống như cơ sở dữ liệu riêng của Cacti
để Cacti tùy ý sử dụng Là cơ sở dữ liệu lưu lại dữ liệu về người dùng, mậtkhẩu vào kho MySQL
Webserver: Cacti được xây dựng trên nền web nên bất kỳ web server
hỗ trợ PHP cũng phải cài đặt để Cacti giao tiếp như Httpd của Apache haycủa Microsoft được khuyên dùng vì tính năng ổn định và phổ biến
PHP: Cacti được lập trình dựa trên ngôn ngữ PHP, do vậy muốn để
Cacti hoạt động được trên hệ thống bắt buộc phải cài đặt gói PHP
Net- snmp: gói phần mềm hỗ trợ việc sử dụng giao thức SNMP có thể
được hoạt động trên IPv4, IPv6
Hình 2.3 cho ta cái nhìn chi tiết hơn về các modul của hệ quản trị mạngCacti
Hình 2.3: Các thành phần của hệ quản trị Cacti
Cacti là hệ quản trị mạng mã nguồn mở dựa trên nền Web, cung cấp cáctính năng phong phú như biểu đồ nhúng, mẫu thiết bị, tích hợp và phát triểntrên các phần mềm cơ bản (mysql, php, rrdtool, net-snmp) Nó dễ cài đặt và
dễ dàng sử dụng các menu trong Cacti Ngoài ra Cacti hỗ trợ thêm plugin sửdụng như một công cụ để nâng cao hiệu suất tổng thể của hệ thống cũng nhưcác ứng dụng đặc thù Điều này là không thể hoặc rất khó khăn đối với các