Hcmute xây dựng hệ thống giám sát hoạt động của mạng máy tính dựa vào phần mềm nguồn mở

90 4 0
Hcmute xây dựng hệ thống giám sát hoạt động của mạng máy tính dựa vào phần mềm nguồn mở

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

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

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG XÂY DỰNG HỆ THỐNG GIÁM SÁT HOẠT ÐỘNG CỦA MẠNG MÁY TÍNH DỰA VÀO PHẦN MỀM NGUỒN MỞ S K C 0 9 MÃ SỐ: T2013-45 S KC 0 4 Tp Hồ Chí Minh, 2013 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƯỜNG XÂY DỰNG HỆ THỐNG GIÁM SÁT HOẠT ĐỘNG CỦA MẠNG MÁY TÍNH DỰA VÀO PHẦN MỀM NGUỒN MỞ Mã số: T2013-45 Chủ nhiệm đề tài: ThS Huỳnh Nguyên Chính TP HCM, 11/2013 Luan van TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƯỜNG XÂY DỰNG HỆ THỐNG GIÁM SÁT HOẠT ĐỘNG CỦA MẠNG MÁY TÍNH DỰA VÀO PHẦN MỀM NGUỒN MỞ Mã số: T2013-45 Chủ nhiệm đề tài: ThS Huỳnh Nguyên Chính TP HCM, 11/2013 Luan van i MỤC LỤC MỞ ĐẦU Chương TỔNG QUAN 1.1 Tổng quan bảo mật hệ thống mạng máy tính 1.2 Phân loại lỗ hổng bảo mật 1.3 Các công cụ phát lỗ hổng mạng 1.4 Các kiểu công mạng 1.5 Các giải pháp phát phịng chống cơng mạng Chương HỆ THỐNG PHÁT HIỆN & PHÒNG CHỐNG XÂM NHẬP 11 2.1 Vai trò IDS/IPS hệ thống mạng 11 2.1.1 Lịch sử phát triển 11 2.1.2 Vai trò hệ thống phát phòng chống xâm nhập mạng 11 2.2 Đặc điểm hệ thống IDS/IPS 12 2.2.1 Kiến trúc hệ thống phát xâm nhập (IDS) 12 2.2.2 Các cách triển khai hệ thống IDS/IPS 15 2.2.3 Khả phát phòng chống xâm nhập mạng hệ thống IDS/IPS 17 2.3 Hệ thống giám sát lưu lượng, thiết bị dịch vụ 18 2.4 Hệ thống báo động 19 2.5 SNMP hệ thống giám sát mạng 20 Chương CÁC CÔNG CỤ NGUỒN MỞ HỖ TRỢ PHÁT HIỆN & PHÒNG CHỐNG XÂM NHẬP MẠNG 22 3.1 Giới thiệu 22 3.2 Đặc điểm Snort 23 3.3 Phân tích vấn đề Snort khả triển khai 26 3.3.1 Lợi ích Snort 26 3.3.2 Đánh giá tập luật Snort 27 Luan van ii 3.5 Hệ thống giám sát trạng thái hoạt động thiết bị dịch vụ - Nagios 28 3.6 Hệ thống giám sát lưu lượng - Cacti 32 3.7 Hệ thống báo động qua SMS - Gnokii 36 Chương PHÁT TRIỂN ỨNG DỤNG HỆ THỐNG GIÁM SÁT MẠNG DỰA VÀO MÃ NGUỒN MỞ 38 4.1 Mơ hình cài đặt thực nghiệm 38 4.2 Cài đặt thực nghiệm 39 4.2.1 Cài đặt Gnokii 39 4.2.2 Cài đặt Snort 40 4.2.3 Cài đặt Fwsnort 41 4.2.4 Cài đặt Nagios 44 4.2.5 Cài đặt Cacti 45 4.3 Kết thực nghiệm 50 4.4 Kết luận 57 Chương KẾT LUẬN 59 5.1 Một số kết đạt 59 5.2 Hướng phát triển 60 TÀI LIỆU THAM KHẢO 61 Phụ lục A:Hướng dẫn cấu hình GSM/GPRS Gateway Linux 62 Phụ lục B:Hướng dẫn cài đặt Snort 64 Phụ lục C:Hướng dẫn cài đặt cấu hình Nagios 69 Phụ lục D:Hướng dẫn cài đặt cấu hình CACTI 72 Luan van iii DANH MỤC CÁC TỪ VIẾT TẮT BASE Basic Analysis and Security Engine DdoS Distribute Denial of Service DNS Domain Name Service DoS Denial of Service FTP File Transfer Protocol ICMP Internet Control Message Protocol IDS Intrusion Detection System IPS Intrusion Prevention System SNMP Simple Network Managerment Protocol TCP Transfer Control Protocol HIDS Host-based Intrusion Detection System NIDS Network-based IDS ATTT An Tồn Thơng Tin MIB Management Information Base Luan van iv DANH MỤC CÁC HÌNH VẼ Hình 2.1 Hệ thống phát xâm nhập 12 Hình 2.2 Kiến trúc hệ thống IDS 13 Hình 2.3 Sự kết hợp lọc gói tin 14 Hình 2.4 IDS hoạt động chế độ promiscuous 16 Hình 2.5 IDS hoạt động chế độ inline 17 Hình 2.6 Các thiết bị dùng báo động SMS 20 Hình 3.1 Các thành phần Snort 24 Hình 3.2 Nagios giám sát thiết bị dịch vụ 28 Hình 3.3 Nagios theo dõi dịch vụ Windows qua NSClient 29 Hình 3.4 Nagios giám sát dịch vụ máy Unix/Linux qua NRPE 29 Hình 3.5 Nagios giám sát máy in 29 Hình 3.6 Nagios giám sát Router, Switch 30 Hình 3.7 Nagios giám sát thiết bị mạng 30 Hình 3.8 Nagios vẽ sơ đồ trạng thái host mạng 31 Hình 3.9 Nagios gửi cảnh báo qua e-mail SMS 31 Hình 3.10 Sơ đồ hoạt động Cacti 32 Hình 3.11 Sơ đồ trao đổi thông tin SNMP Cacti thiết bị 33 Hình 3.12 Cacti thu thập thông tin qua SNMP 33 Hình 3.13 Cacti biểu diễn lưu lượng dạng đồ thị thời gian thực 34 Hình 4.1 Mơ hình cài đặt thực nghiệm 38 Luan van v Hình 4.2 Thiết lập thơng số cho thiết bị Cacti 49 Hình 4.3 Lưu lượng thu thập qua SNMP 49 Hình 4.4 Màn hình theo dõi Cacti tích hợp tính giám sát 50 Hình 4.5 Theo dõi hoạt động Cisco Switch qua đồ thị 51 Hình 4.6 Theo dõi trạng thái thiết bị & phát báo động âm 51 Hình 4.7 Hiển thị đồ thị cho thiết bị 52 Hình 4.8 Theo dõi tổng quan cảnh báo từ Snort qua giao diện Web 52 Hình 4.9 Theo dõi chi tiết cảnh báo từ Snort qua giao diện Web 53 Hình 4.10 Hiển thị đồ thị lưu lượng cho kết nối mạng 53 Hình 4.11 Theo dõi số dịch vụ chạy host từ Nagios 54 Hình 4.12 Theo dõi lưu lượng mạng thiết bị trực quan 54 Hình 4.13 Hiển thị đồ thị lưu lượng cho kết nối mạng 55 Hình 4.14 Cảnh báo dùng DoSHTTP để công vào Web server 56 Hình 4.15 Cảnh báo gửi qua Email dùng chương trình SolarWinds scan 56 Hình 4.16 Hệ thống phát cảnh báo cho dịch vụ HTTP máy chủ Web 57 Luan van -1- MỞ ĐẦU I Cơ sở khoa học thực tiễn Mạng máy tính ngày có vai trị quan trọng cho cá nhân, tổ chức, doanh nghiệp Việc trao đổi thông tin thực giao dịch chủ yếu thơng qua hệ thống mạng máy tính Vì thế, bảo mật hệ thống mạng nhu cầu cấp thiết cho tổ chức, doanh nghiệp nhằm bảo vệ hệ thống sở liệu mình, chống lại cơng từ bên ngồi thực trao đổi thông tin, giao dịch qua mạng an toàn II Mục tiêu đề tài  Khảo sát lỗ hổng bảo mật nguy hệ thống mạng bị công xâm nhập  Xem xét giải pháp giám sát hệ thống mạng: phát xâm nhập, phịng chống xâm nhập, theo dõi tình trạng hoạt động Server, Switch, Router, số dịch vụ mạng  Phát triển hệ thống cảnh báo đa dạng qua Web, Email, SMS Audio III Đối tượng nghiên cứu  Các phần mềm nguồn mở phát xâm nhập  Các phần mềm nguồn mở phòng chống xâm nhập  Các phần mềm nguồn mở giám sát lưu lượng mạng  Các phần mềm nguồn mở giám sát thiết bị dịch vụ mạng IV Nội dung nghiên cứu  Nghiên cứu khả công mạng  Nghiên cứu giải pháp phát xâm nhập mạng  Nghiên cứu khả phòng chống công mạng MỞ ĐẦU Luan van -2-  Nghiên cứu giải pháp giám sát hoạt động thiết bị dịch vụ hệ thống mạng  Đề xuất mơ hình tích hợp cơng cụ nguồn mở hỗ trợ giám sát hoạt động thiết bị, dịch vụ mạng, phát phòng chống xâm nhập mạng  Thực nghiệm giải pháp giám sát hoạt động thiết bị mạng, dịch vụ mạng, phát phòng chống xâm nhập mạng sở nguồn mở kết hợp với hệ thống báo động đa dạng qua Email, Web, Audio SMS Trong đề tài nghiên cứu này, tác giả tập trung nghiên cứu giải pháp giám sát hệ thống mạng dựa vào phần mềm nguồn mở nhằm theo dõi dấu hiệu bất thường xảy hệ thống mạng Cụ thể, tác giả đề xuất giải pháp kết hợp Snort, Fwsnort, Cacti, Nagios GSM/GPRS modem Tạo hệ thống giám mạng có khả năng: phát xâm nhập mạng; phịng chống cơng mạng; giám sát lưu lượng thiết bị, tình trạng hoạt động CPU, RAM,… thiết bị; giám sát trạng thái hoạt động thiết bị quan trọng hệ thống (server, router, switch,…) dịch vụ mạng chạy Đồng thời phát triển hệ thống báo động đa dạng, tiện dụng linh động hỗ trợ người quản trị mạng giám sát hệ thống cách hiệu thơng qua hình thức: giao diện Web, E-mail, Audio SMS Nội dung báo cáo tổ chức thành chương:  Chương 1: Tổng quan Giới thiệu bao quát vấn đề bảo mật mạng vấn đề liên quan đến công xâm nhập hệ thống mạng  Chương Hệ thống phát phịng chống xâm nhập mạng Chương trình bày tổng quan vài trò, đặc điểm khả hệ thống phát phòng chống xâm nhập, giám sát lưu lượng, giám sát trạng thái hoạt động thiết bị dịch vụ hệ thống mạng MỞ ĐẦU Luan van -68- - Chép tập tin base_conf.php.dist thành base_conf.php #cd base/ #cp base_conf.php.dist base_conf.php - Chỉnh sửa cấu hình BASE cho thích hợp sau #BASE_urlpath = "/base"; #DBlib_path = "/var/www/html/adodb/ "; #DBtype = "mysql"; #alert_dbname = "snort"; #alert_host = "localhost"; #alert_port = ""; #alert_user = "snort"; #alert_password = "password_from_snort_conf"; Kiểm tra lại cách dùng trình duyệt gõ vào địa sau http:///base Sau bước này, cài đặt thành công IDS SNORT vào hệ thống, quản trị viên theo dõi hệ thống alert IDS SNORT thông qua trang web BASE vừa cài đặt Phụ Lục Luan van -69- Phụ lục C: Hướng dẫn cài đặt cấu hình Nagios Bước 1: Download NAGIOS Plugins http://www.nagios.org/download http://sourceforge.net Bước 2: Cài đặt NAGIOS Tạo account: username: nagios ; group: nagios # useradd nagios # passwd nagios # groupadd nagios # usremod -a -G nagios nagios Kiểm tra user nagios gửi sms # chown -R nagios /dev/ttyS0 # chown -R nagios /var/lock/ # cp /etc/gnokiirc /home/nagios/.gnokiirc # su nagios $ gnokii identify $ printf "test user nagios" | gnokii sendsms Yêu cầu gói sau phải cài trước apache, php, gcc, glibc, glibc-common, gd, gd-devel # yum install httpd php gcc glibc glibc-common gd gd-devel Di chuyển vào source cua NAGIOS va install lệnh #./configure with-command-group=nagios # make all # make install # make install-init Phụ Lục Luan van -70- # make install-config # make install-commandmode # make install-webconf Tao user de truy cap web NAGIOS (user: nagiosadmin, password: nagiosadmin) # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmi Restart apache # service httpd restart - Cấu hình plugin Lưu ý: gán quyền truy xuất cho user nagios: #chown nagios.nagios /usr/local/nagios #chown -R nagios.nagios /usr/local/nagios/libexec Bước 3: Cấu hình file cấu hình NAGIOS # /usr/local/nagios/etc/nagios.cfg # /usr/local/nagios/etc/objects/***.cfg Kiểm lỗi trình cấu hình #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg # service nagios restart Đưa nagios vào system startup (Khi hệ thống khởi động Nagios khởi động) # chkconfig add nagios # chkconfig nagios on Cài nagios plugin # tar -zxvf nagios-plugins-1.4.14.tar.gz # cd nagios-plugins-1.4.14 # /configure with-nagios-user=nagios with-nagios-group=nagios # make # make install Phụ Lục Luan van -71- Bước 4: Kiểm tra hoạt động hệ thống qua giao diện web Dùng trình duyệt web, đăng nhập với url: http://ip-address/nagios Đăng nhập với account: nagiosadmin/nagiosadmin Phụ Lục Luan van -72- Phụ lục D: Hướng dẫn cài đặt cấu hình CACTI  YÊU CẦU Cài đặt gói sau, trước cài Cacti: – RRDTool – NET-SNMP – MySQL – PHP – Apache  HƯỚNG DẪN CÀI ĐẶT APACHE • Install Apache: # yum install httpd PHP • Install PHP: # yum install php • Tạo info.php thư mục /var/www/ html • Khởi động apache: # /etc/init.d/httpd restart • Đảm bảo http hoạt động tốt trước qua bước MySQL • Cài đặt mysql # yum install mysql-server php-mysql • Restart Apache: # /etc/init.d/httpd restart • Reload http://localhost/info.php kiểm tra xem PHP load module MySQL không Phụ Lục Luan van -73- Net-SNMP • Tương tự bước trước Dùng lệnh sau để cài đặt Net-SNMP: # yum instal net-snmp php-snmp • Sau hoàn thành, khởi động lại Apache: # /etc/init.d/httpd restart • Reload http://localhost/info.php and kiểm tra PHP load module SNMP: • Cài đặt thêm Dag RPM Repository cho phép yum có thêm tính mở rộng • Download file RPM-GPG-KEY.dag.txt: # wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt • Import Key: # rpm import RPM-GPG-KEY.dag.txt • Tạo file dag.repo: vi /etc/yum.repos.d/dag.repo với nội dung sau: RRDTool • Cài đặt RRDTool: # yum enablerepo=dag -y install rrdtool  Cài đặt cấu hình Cacti Cài đặt # yum enablerepo=dag -y install cacti Cấu hình • Gán quyền truy xuất Apache đến thư mục /var/www/cacti/ Đặt password cho user cactiuser việc truy cập database theo hướng dẫn Phụ Lục Luan van -74- Cấu hình MySQL • Đặt password truy xuất database MySQL cho user root: # mysqladmin -u root password 'new-password' • Tạo database tên cacti table: Tạo Crontab • Tiếp theo, tạo cron job chạy file poller.php phút lần # touch /etc/cron.d/cacti • Sau đó, chỉnh sửa /etc/cron.d/cacti với nội dung sau: */5 * * * * cactiuser php /var/www/cacti/poller.php> /dev/null 2>&1 • Cron tìm kiến liệu cần thiết lưu trữ thư mục rra Chúng ta phải thay đổi quyền ownership thư mục rra log chi user cactiuser Phụ Lục Luan van -75- # cd /var/www/cacti/ # chown –R cactiuser rra/ log/  Cài đặt Plug-in Architecture Download • Đầu tiên, download Plugin Architecture từ Website http://cactiusers.org/downloads Extract • Giải nén # tar -zvxf cacti-plugin-arch.tar.gz • Sau giải nén xong, có thư mục cacti-plugin-arch với file patchtrong thư mục Cài đặt (Sử dụng file Patch) • Trong thư mục cacti-plugin-arch có số file có tên tương tự "cacti-plugin-0.8.6g.diff“ • Copy file thư mục cài đặt Cacti Sau đó, sử dụng lệnh sau: # patch -p1 -N dry-run < cacti-plugin-arch.diff • Tiếp tục thực lệnh sau: # patch -p1 -N < cacti-plugin-arch.diff Cấu hình • Chỉnh sửa file includes/global.php , tìm đến dịng sau: config['url_path'] = "/"; • Thay đổi thành: $config['url_path'] = "/cacti/“; • Chú ý: Khi truy xuất Cacti sử dụng http://servername/cacti/ SQL • Trong thư mục cacti-plugin-arch có file pa.sql Phụ Lục Luan van -76- • Import file vào cacti SQL database: # mysql –p cacti < pa.sql • Mọi thứ hoàn thành.Chúng ta tiến hành plug-in Cho phép user Admin sử dụng “Plugin Management” • Click Console  User Management  Admin  Realm Permissions Tab  Check Plugin Management  Cài đặt Plug-in Có nhiều plug-ins, phần náy hướng dẫn cài đặt cấu hình plug-in update, , realtime, setting Download • http://cactiusers.org/downloads • http://docs.cacti.net/plugins Extract # tar –xvcf realtime-0.4.0-1.tar.gz # tar –xvcf settings-latest.tgz # tar –xvcf update-0.4.tar.gz • Sau hồn tất, có thư mục realtime, settings, update Phụ Lục Luan van -77- Upload • Chép thư mục " realtime, settings, update" vào thư mục "plugins" web server, Ví dụ: /var/www/cacti/plugins/realtime/ /var/www/cacti/plugins/settings/ /var/www/cacti/plugins/update/ Activate • Chỉnh sửa file /var/www/cacti/include/global.php • Tìm đến dịng: $plugins = array(); • Thêm dòng sau: $plugins[] = 'update'; $plugins[] = 'realtime'; $plugins[] = 'settings'; Cấu hình • Click Console  User Management  Admin  Realm Permissions Tab  Check vào Check for Update, Plugin  Realtime Phụ Lục Luan van -78- Activate Realtime, Settings, Update for cacti • Click Console  Plugin Management  click Install  click Enable Step by step for Global Plugin Settings, Realtime Graph Viewer and Update SQL • Chú ý: số plug-in có file dạng *.sql file Chúng ta phải import vào cacti database # mysql –p cacti < *.sql Cài đặt Spine • Cài đặt thêm gói cần thiết trước biên dịch Spine: • Dùng lệnh: yum install –y net-snmp-devel mysql mysql-devel openssl-devel ksh automake autoconf libtool gcc • #libtoolize force • #autoheader Phụ Lục Luan van -79- • #autoconf • #automake • #./configure • #make • #make install Cấu hình file spine.conf • Tìm đến thư mục chứa spine (/usr/local/spine/etc) # cd /usr/local/spine/etc/ # cp spine.conf.dist spine.conf # vim spine.conf • • Thay đổi thông tin sau: DB_Host localhost DB_Database cacti DB_User cactiuser DB_Pass password DB_Port 3306 Trong file include/config.php: $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "password"; $database_port = "3306"; Activate SPINE cho cacti • This is the cacti Log before use spine (only with cmd.php) Phụ Lục Luan van -80- • Cập nhật lại vị trí hoạt động spine: Console -> Settings->Paths->Alternate Poller Path-> Spine Poller File Path = /usr/local/spine/bin/spine • Thay đổi tần số hoạt động Poller: Console -> Settings->Poller Poller Type = spine Poller Interval = every minutes Cron Interval = every minutes Phụ Lục Luan van -81- • Cacti Log sau cài đặt spine Đến hồn thành việc cấu hình cho Cacti Phụ Lục Luan van Luan van ... cứu  Các phần mềm nguồn mở phát xâm nhập  Các phần mềm nguồn mở phòng chống xâm nhập  Các phần mềm nguồn mở giám sát lưu lượng mạng  Các phần mềm nguồn mở giám sát thiết bị dịch vụ mạng IV... THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƯỜNG XÂY DỰNG HỆ THỐNG GIÁM SÁT HOẠT ĐỘNG CỦA MẠNG MÁY TÍNH DỰA VÀO PHẦN MỀM NGUỒN MỞ Mã số: T2013-45 Chủ nhiệm đề... PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƯỜNG XÂY DỰNG HỆ THỐNG GIÁM SÁT HOẠT ĐỘNG CỦA MẠNG MÁY TÍNH DỰA VÀO PHẦN MỀM NGUỒN MỞ Mã số: T2013-45 Chủ nhiệm đề tài: ThS Huỳnh Nguyên Chính

Ngày đăng: 02/02/2023, 10:18

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan