Giám sát là công việc cần thiết cho các doanh nghiệp để đảm bảo hệ thống hoạt động hiệu quả. Nếu không được thực hiện đúng cách, việc giám sát các khía cạnh khác nhau của IT Infrastructure có thể khá phiền phức và gây ra rất nhiều khó khăn. Bất kể quy mô của công ty lớn hay nhỏ đều không thể bỏ qua nhu cầu giám sát hệ thống của công ty đó.
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU TRIỂN KHAI GIẢI PHÁP GIÁM SÁT MẠNG DOANH NGHIỆP Mà NGUỒN MỞ OBSERVIUM Ngành: An tồn thơng tin Mã số: 7.48.02.02 Sinh viên thực hiện: Phàng Tú Linh Lớp: AT13EU Người hướng dẫn: KS Nguyễn Mạnh Thắng Khoa An tồn thơng tin – Học viện Kỹ thuật mật mã Hà Nội, 2021 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU TRIỂN KHAI GIẢI PHÁP GIÁM SÁT MẠNG DOANH NGHIỆP Mà NGUỒN MỞ OBSERVIUM Ngành: An tồn thơng tin Mã số: 7.48.02.02 Sinh viên thực hiện: Phàng Tú Linh Lớp: AT13EU Người hướng dẫn: KS Nguyễn Mạnh Thắng Khoa An tồn thơng tin – Học viện Kỹ thuật mật mã Hà Nội, 2021 MỤC LỤC MỤC LỤC i DANH MỤC TỪ VIẾT TẮT iv DANH MỤC HÌNH ẢNH v DANH MỤC BẢNG BIỂU vii LỜI CẢM ƠN viii LỜI MỞ ĐẦU ix CHƯƠNG TỔNG QUAN HỆ THỐNG GIÁM SÁT MẠNG 1.1 Tổng quan giám sát mạng 1.1.1 Khái niệm 1.1.2 Các yếu tố giám sát mạng 1.1.3 Chức giám sát mạng 1.1.4 Mục tiêu giám sát mạng 1.1.5 Tầm quan trọng giám sát mạng 1.2 Những vấn đề cần giải thực giám sát mạng 1.2.1 Vấn đề thứ 1.2.2 Vấn đề thứ hai 1.2.3 Vấn đề thứ ba 1.3 Các quy tắc thiết kế hệ thống giám sát mạng 1.3.1 Mô hình FCAPS (Fault Configuration Accounting Performance Security) 1.3.2 Báo cáo cảnh báo 1.3.3 Tích hợp lưu trữ liệu 1.4 Các giải pháp giám sát mạng phổ biến 1.5 Giao thức hỗ trợ giám sát mạng SNMP 11 1.5.1 Khái niệm giao thức giám sát mạng SNMP 11 1.5.2 Các thành phần giao thức SNMP 12 1.5.3 Các chế bảo mật SNMP 20 1.6 Hai phương thức giám sát mạng Poll Alert 22 1.6.1 Phương thức Poll 22 i 1.6.2 Phương thức Alert 22 1.7 Các phần mềm giám sát hệ thống mạng 23 1.7.1 Phần mềm giám sát mạng Cacti 23 1.7.2 Phần mềm giám sát mạng Icinga 24 1.7.3 Phần mềm giám sát mạng Nagios 25 1.7.4 Phần mềm giám sát mạng Zabbix 26 1.8 Kết luận chương 27 CHƯƠNG GIỚI THIỆU CÔNG CỤ GIÁM SÁT MẠNG Mà NGUỒN MỞ OBSERVIUM 28 2.1 Giới thiệu công cụ giám sát mạng Observium 28 2.1.1 Khái niệm 28 2.1.2 Ưu điểm 29 2.1.3 Kiến trúc hệ thống giám sát Observium 30 2.1.4 Cơ chế hoạt động 30 2.1.5 Tính Observium 31 2.1.6 Cấu trúc thư mục 32 2.2 Cài đặt phần mềm Observium 33 2.2.1 Yêu cầu hệ thống 33 2.2.2 Cài đặt Observium Server 34 2.3 Kết luận chương 34 CHƯƠNG 3: TRIỂN KHAI GIẢI PHÁP GIÁM SÁT MẠNG DOANH NGHIỆP Mà NGUỒN MỞ OBSERVIUM 36 3.1 Phát biểu toán 36 3.2 Mơ hình triển khai thực nghiệm 37 3.2.1 Giới thiệu mơ hình 37 3.2.2 Giải thích mơ hình 37 3.3 Triển khai hệ thống thực nghiệm 39 3.3.1 Kịch giám sát hệ thống mạng 40 3.3.2 Giám sát hệ thống mạng 41 3.3.3 Thiết lập cảnh báo 43 ii 3.4 Kết giám sát hệ thống mạng 46 3.4.1 Giám sát trạng thái hosts 47 3.4.2 Giám sát tài nguyên Devices 50 3.4.3 Giám sát Port Devices 51 3.4.4 Cảnh báo cố 52 3.5 Kết luận chương 55 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 57 PHỤ LỤC 58 iii DANH MỤC TỪ VIẾT TẮT ADSL Simple Network Management ProtocoL CDP Cisco Discovery Protocol EDP Extreme Discovery Protocol FCAPS Fault Configuration Accounting Performance Security FDP Foundry Discovery Protocol ISO International Standard Organization LLDP Link Layer Discovery Protocol MIB Management Information Base MPLS Multiprotocol label switching OID Object ID PagP Port Aggregation Protocol SNMP Simple Network Management Protocol TCP/IP Transmission Control Protocol VPN Virtual private network XML eXtensible Markup Language iv DANH MỤC HÌNH ẢNH Hình 1.1 Giao Thức SNMP 11 Hình 1.2 Kiến trúc SNMP 12 Hình 1.3 Hình minh hoạ trình trao đổi 15 Hình 1.4 Minh họa MIB tree 16 Hình 1.5 Cacti Monitoring 23 Hình 1.6 Icinga Monitoring 24 Hình 1.7 Nagios Monitoring 25 Hình 1.8 Zabbix Monitoring 26 Hình 2.1 Observium Monitoring 28 Hình 2.2 Kiến trúc Observium 30 Hình 2.3 Cơ chế hoạt động Obvervium 31 Hình 2.4 Cấu trúc mã nguồn Observium 32 Hình 3.1 Mơ hình hệ thống giám sát sử dụng Observium 37 Hình 3.2 Mơ hình hoạt động host Pfsense 38 Hình 3.3 Thông tin phần cứng Observium Server 39 Hình 3.4 Mơ hình hoạt động Observium server 39 Hình 3.5 Các thiết bị giám sát 40 Hình 3.6 Màn hình đăng nhập Observium 42 Hình 3.7 Giao diện Dashboard 42 Hình 3.8 Add Device 43 Hình 3.9 Các Devices thêm vào 43 Hình 3.10 Cảnh báo Dashboard 44 Hình 3.11 Các tùy chọn Alert Checker 44 Hình 3.12 Tạo Alert Checker 44 Hình 3.13 Một số Alert Checker tạo 45 Hình 3.14 Cảnh báo qua Discord 45 Hình 3.15 Cảnh báo qua Hipchat 46 Hình 3.16 Cảnh báo hiển thị Dashboard 47 Hình 3.17 Status Warning Eventlog 48 v Hình 3.18 Các Devices thêm vào 48 Hình 3.19 Thơng tin Devices 49 Hình 3.20 Alert Log Event Log thiết bị 49 Hình 3.21 Tài Nguyên CPU 50 Hình 3.22 Tài nguyên RAM 50 Hình 3.23 Tài nguyên Storage 51 Hình 3.24 Thơng tin Port Devices 51 Hình 3.25 Cảnh báo Device Down 52 Hình 3.26 Cảnh báo CPU vượt 90% 52 Hình 3.27 Cảnh báo dung lượng vượt 90% 53 Hình 3.28 Cảnh báo nhiệt độ 53 Hình 3.29 Cảnh báo lưu lượng mạng 53 Hình 3.30 Cảnh báo Port mở không sử dụng 54 Hình 3.31 Cảnh báo Online qua Telegram 55 vi DANH MỤC BẢNG BIỂU Bảng 1.1 Thông tin mục tiêu cần giám sát lý cần giám sát Bảng 1.2 Thành phần hệ thống mạng 18 Bảng 3.1 Thành phần hệ thống mạng 40 vii LỜI CẢM ƠN Trong trình thực đồ án tốt nghiệp này, em nhận giúp đỡ tận tình cán hướng dẫn KS Nguyễn Mạnh Thắng– Giảng viên Khoa An tồn thơng tin Học viện Kỹ thuật Mật Mã Em xin gửi lời cảm ơn đến thầy cô Học viện Kỹ thuật Mật Mã, đặc biệt thầy cô khoa An tồn thơng tin cung cấp kiến thức bổ ích, kiến thức sở tảng để em hoàn thành nghiên cứu đồ án Xin cảm ơn tất người tạo điều kiện tốt để em hoàn thành đồ án tốt nghiệp này! Hà Nội, ngày 25 tháng 11 năm 2021 Sinh viên Phàng Tú Linh viii Hình 3.19 Thơng tin Devices Theo dõi tồn thơng tin thiết bị cảm biến, thông tin port, Event Log Hình 3.20 Alert Log Event Log thiết bị 49 3.4.2 Giám sát tài nguyên Devices a) Tài nguyên CPU Hình 3.21 Tài Nguyên CPU Ở biểu đồ thấy lưu lượng CPU sử dụng theo thời gian, hiển thị cho số Core số luồng, từ lập chế độ cảnh báo việc sử dụng tài nguyên CPU b) Tài nguyên RAM Hình 3.22 Tài nguyên RAM Dựa vào biểu đồ biết RAM Devices sử dụng 83% Ram sử dụng cảnh báo vàng Devices 50 c) Tài nguyên Storage Hình 3.23 Tài nguyên Storage Storage giám sát phân vùng cụ thể, thấy % sử dụng phân vùng 3.4.3 Giám sát Port Devices Hình 3.24 Thơng tin Port Devices Như hình Devices Switch Cisco thấy lượng Traffic cổng, tốc độ đường truyền 51 3.4.4 Cảnh báo cố a) Cảnh báo trạng thái Devices bị Down hay Up Hình 3.25 Cảnh báo Device Down Có thể thấy thiết bị bị Down hiển thị cảnh báo, trạng thái thiết bị khác b) Cảnh báo % CPU sử dụng vượt 90% Hình 3.26 Cảnh báo CPU vượt 90% Thiết lập cảnh báo CPU quan trọng, tác vụ nặng gây tượng giật lag nặng server bị sập đột Hay CPU đáp ứng nhu cầu hoạt động tần suất cao làm giảm tuổi thọ hiệu xuất CPU 52 c) Cảnh báo dung lượng sử dụng Disk vượt 90% Hình 3.27 Cảnh báo dung lượng vượt 90% Khi dung lượng ổ đĩa vượt 90%, người quản trị cần có giải pháp nâng cấp dọn dẹp, trước người dùng phàn nàn liệu họ d) Cảnh báo nhiệt độ vượt ngưỡng cho phép Hình 3.28 Cảnh báo nhiệt độ Kiểm tra trạng thái cảm biến nhiệt độ thiết bị, tránh cố đáng tiếc xảy nhiệt độ cao gây hư hỏng vĩnh viễn thiết bị e) Cảnh báo lưu lượng mạng vượt 85% Hình 3.29 Cảnh báo lưu lượng mạng 53 Với đơn vị yêu cầu độ trễ thấp việc lưu lượng mạng vượt 85% ảnh hưởng đến cơng việc, người quản trị cần có phương án nâng cấp thiết lập giải pháp phù hợp cho lưu lượng mạng f) Giám sát cổng mạng mở khơng hoạt động Hình 3.30 Cảnh báo Port mở không sử dụng Việc Router Switch kết nối với dây mạng, không hoạt động cảnh báo theo dõi để người quản trị khắc phục cố cách nhanh số lượng port nhiều g) Cảnh báo online qua ứng dụng Telegram 54 Hình 3.31 Cảnh báo Online qua Telegram Trong hình thấy thời gian cảnh báo đưa cảnh báo Memory vượt 80% Các thông số cần quan tâm phần message gửi bao gồm: − Entity: loại cảnh báo thời gian − Metrics: số liệu cảnh báo − Device: thiết bị − Location: vị trí thiết bị − Device Uptime: Trạng thái thiết bị 3.5 Kết luận chương Triển khai hệ thống giám sát mã nguồn mở Observium theo mơ hình tập trung thành phần Observium triển khai Server giúp việc vận hành nhanh chóng xác hiệu quả, giảm số lượng server vật lý Bên cạnh việc theo dõi thơng tin thiết bị giúp người quản trị nâng cao khả quản lý, giảm thời gian tìm kiếm thủ cơng, xử lý cố nhanh 55 KẾT LUẬN Kết đạt Nghiên cứu, tìm hiểu xây dựng hệ thống giám sát mạng dựa phần mềm nguồn mở Observium Đồ án thực thành cơng mơ hình giám sát mạng sử dụng phần mềm Observium đáp ứng yêu cầu quản trị mạng hệ thống bao gồm: − Quản lý liệu quan trọng, thông tin thiết bị hệ thống kịp thời xác − Xây dựng thành công chế cảnh báo online hiển thị cảnh báo hình tiện ích quan trọng cho việc quản trị Hạn Chế − Khi triển khai server ảo hóa số lượng server vật lý giảm server lý gặp cố tắt đột ngột server giám sát khơng cịn hoạt động − Phát cảnh báo giả, dẫn đến việc cảnh báo cảnh báo giả xuất Hướng phát triển Người quản trị cần trau dồi kỹ kiến thức quản trị mạng, mạng máy tính cách thức tổ chức, xây dựng hệ thống giám sát quy hoạch hệ thống Nghiên cứu phát triển Raspberry Pi giải pháp tiết kiệm lượng giám sát thiết bị IOT 56 TÀI LIỆU THAM KHẢO [1] Observium Document https://docs.observium.org/ [2] Wikimedia https://vi.wikipedia.org/wiki/SNMP [3] Tài liệu hướng dẫn Cisco https://www.cisco.com/c/en/us/solutions/automation/what-is-networkmonitoring.html [4] Tài liệu hướng dẫn Dell http://www1.ap.dell.com/content/topics/global.aspx/sitelets/solutions/manage ment/server_monitor?c=sx&l=en 57 PHỤ LỤC Cấu hình hệ thống − Sử dụng hệ điều hành Ubuntu server 20.04 − Sử dụng quyền root Bước Cập nhật hệ thống , cài đặt PHP module cần thiết sudo apt update sudo apt -y install wget php php{pear,cgi,common,curl,mbstring,gd,mysql,bcmath,imap,json,xml,snmp,fpm,zip} Bước Cấu hình PHP – FPM : chỉnh sửa time zone file php.ini sudo nano /etc/php/*/fpm/php.ini sudo nano /etc/php/*/cli/php.ini − Chỉnh sửa file date.timezone phần [date] Bước Khởi động lại PHP service sudo systemctl restart php*-fpm.service Bước 4: Download cài đặt phiên Observium − Trước tiên tạo thư mục cho Observium /opt/Observium mkdir -p /opt/observium cd /opt − Sau Download Observium từ trang chủ wget http://www.observium.org/observium-community-latest.tar.gz tar zxvf observium-community-latest.tar.gz Bước 5: Cấu hình MariaDB cho Observium − MariaDB cung cấp tiện ích mysql_secure_installation để hoàn thành bước cài đặt cấu hình bảo mật sudo mysql_sercure_intrallation − mysql_secure_installation cho phép thiết lập mật người dùng root MariaDB, cài đặt bảo mật cho MariaDB cách xóa người dùng ẩn danh, vơ hiệu hóa Remote Mysql xóa sở liệu test 58 − Đăng nhập vào MariaDB tạo sở liệu cho Observium - Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y mysql -u root -p create database observium; grant all privileges on observium.* to observium@localhost IDENTIFIED by "Your-Password"; flush privileges; quit − Tạo tệp cấu hình cho Observium sudo cp /opt/observium/config.php.default /opt/observium/config.php − Chỉnh sửa tệp để kết nối sở liệu sudo nano /opt/observium/config.php / Database config - This MUST be configured $config['db_extension'] = 'mysqli'; $config['db_host'] = 'localhost'; $config['db_user'] = 'observium'; $config['db_pass'] = 'Your-Password'; $config['db_name'] = 'observium'; − Tạo thư mục rrd and logs sudo mkdir /opt/observium/{rrd,logs} − Thay đổi quyền thư mục sudo chown -R observium:observium /opt/observium/ sudo chmod -R 775 /opt/observium/ − Cấu hình SNMPD sudo cp /opt/observium/snmpd.conf.example /etc/snmp/snmpd.conf sudo nano /etc/snmp/snmpd.conf com2sec readonly default 0bservium sudo systemctl restart snmpd 59 Bước 6: Cấu hình Apache touch /etc/apache2/sites-available/observium.conf ln -s /etc/apache2/sites-available/observium.conf /etc/apache2/sitesenabled/observium.conf nano /etc/apache2/sites-available/observium.conf − Tạo tệp có tên Observium.conf − Sau chỉnh sửa theo mẫu sau: ServerAdmin admin@yourdomain.com DocumentRoot /opt/observium/html/ ServerName your-domain.com ServerAlias www.your-domain.com Options FollowSymLinks AllowOverride All Order allow,deny allow from all ErrorLog /var/log/apache2/your-domain.com-error_log /var/log/apache2/your-domain.com-access_log −CustomLog Khởi động lại Apache Webserver sudo a2enmod rewrite sudo a2ensite observium.conf sudo systemctl restart apache2.service Bước 7: Cấu hình giao diện Observium Web cd /opt/observium sudo /discovery.php -u 60 common − Sau chạy lệnh hình hiển thị sau: _ _ _ / _ \ | | _ _ _ (_) _ _ _ _ | | | || '_ \ / | / _ \| ' |\ \ / /| || | | || '_ ` _ \ | |_| || |_) |\ \| /| | \ V / | || |_| || | | | | | \ _/ |_. / | _/ \ _||_| \_/ |_| \ ,_||_| |_| |_| Observium Community Edition 20.9.10731 https://www.observium.org Install initial database schema done Updating database/file schema 416 -> 417 # (db) Done (0s) 417 -> 418 # (db) Done (0s) − Thêm người dùng truy cập vào Observium theo cú pháp sau adduser.php [email] − User access Levels Observium - Disabled (This user disabled) - Normal User (This user has read access to individual entities) - Global Read (This user has global read access) - Global Secure Read (This user has global read access with secured info) - Global Secure Read / Limited Write (This user has secure global read access with scheduled maintenence read/write.) 10 - Administrator (This user has full administrative access) − Ví dụ: Thêm User Admin với phân quyền theo Level 10 sudo /adduser.php admin password 10 Observium CE 20.9.10731 Add User User admin added successfully Bước 8: Truy cập vào Observium Hình Màn hình đăng nhập Observium 61 Thiết lập cảnh báo qua Telegram: Telegram ứng dụng nhắn tin có sẵn cho nhiều tảng khác nhau, để sử dụng công cụ truyền tải thông báo cần có tài khoản Telegram, Telegram Bot Các bước để tạo Telegram bot bật thông báo: Đăng ký tài khoản Telegram: cài đặt ứng dụng Telegram Desktop số bước thực ứng dụng Desktop Tạo Telegram Bot tạo telegram bot với BotFather tạo nói chuyện thơng qua lệnh /Newbot, yêu cầu chọn tên người dung cho bot ra.Khi kết thúc nhận Token: 110201543:AH8q3dGK2f2vLZVgbRfLTjQPySe2yRaJHs Tạo nhóm người dung thêm Bot tạo vào nhóm nhập lệnh /start Tim Chat identity nhóm chat theo đường link: "https://api.telegram.org/bot110201543:AH8q3dGK2f2vLZVgbRfLTjQPySe2yRaJHs/get Updates?offset=0"; echo Chuỗi Json hiển thị với danh sách id tin nhắn: {"ok":true,"result":\[{"update_id":382866198, "message":{"message_id":2,"from":{"id":123456784,"first_name":"Linh","last_na me":"Stupalov","username":"stupalov"},"chat":{"id":123456784,"first_name":"Li nh","last_name":"Stupalov","username":"stupalov","type":"private"},"date":145 9367993,"text":"\/start start"}},{"update_id":382866199, "message":{"message_id":3,"from":{"id":123456784,"first_name":"Mike","last_na me":"Stupalov","username":"stupalov"},"chat":{"id":487654321,"title":"TestGroup","type":"group"},"date":1459368048,"text":"\/sta rt"}}]} 62 Tìm chuỗi "chat":{"id":-487654321 Sau Add contact theo thơng số thu thập Hình Cảnh báo qua Telegram 63 ... thức giám sát mạng − Nắm cách thức hoạt động hệ thống giám sát mạng − Triển khai giải pháp giám sát mạng mã nguồn mở cho cá nhân đơn vị doanh nghiệp − Đánh giá ưu điểm giải pháp so với giải pháp. .. PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU TRIỂN KHAI GIẢI PHÁP GIÁM SÁT MẠNG DOANH NGHIỆP Mà NGUỒN MỞ OBSERVIUM Ngành: An tồn thơng tin Mã số: 7.48.02.02 Sinh viên... thiệu phần mềm mã nguồn mở Observium Tìm hiểu, đánh giá làm rõ cách thức hoạt động công cụ tảng mã nguồn mở Observium ix − Chương 3: Triển khai giải pháp giám sát mạng mã nguồn mở Observium Chương