Nghĩa khoa học và thực tiễn

Một phần của tài liệu Xây dựng hệ thống giám sát mạng dựa trên mã nguồn mở luận văn thạc sĩ (Trang 81)

6 Các công trình nghiên cứu liên quan

5.3nghĩa khoa học và thực tiễn

5.3.1 Ý nghĩa về mặt khoa học

Đề tài nghiên cứu đưa ra cách nhìn tổng quan nhất về một hệ thống giám sát, phát hiện và phòng chống xâm nhập mạng, các phương thức tấn công mạng và các giải pháp bảo mật hệ thống mạng. Bên cạnh đó xây dựng một hệ thống giám sát và cảnh báo bằng email hoặc bằng SMS đến quản trị viên, giúp cho việc quản trị hệ thống mạng trở nên cơ động và an toàn hơn.

5.3.2 Về mặt thực tiễn

Đề tài sẽ được ứng dụng ngay trong cơ quan của tác giả hoặc có thể mở rộng trong toàn ngành nơi mà tác giả đang công tác do dựa trên mã nguồn mở hoàn toàn miễn phí và đáp ứng nhu cầu của cơ quan.

Mặt khác, nghiên cứu của đề tài có thể được áp dụng rộng rãi trong các đơn vị hoặc các doanh nghiệp do không cần chi phí đầu tư và hiệu quả của công trình nghiên cứu có tính khả thi.

Cung cấp cho các quản trị viên một bộ công cụ tích hợp giám sát mạng và phát hiện xâm nhập, giúp quản trị viên dễ dàng trong việc theo dõi và quản trị hệ thống mạng của mình trực quan, hiệu quả hơn.

5.4 Hướng phát triển cho đề tài

+ Hoàn thiện các chức năng của chương trình

Hoàn thiện thêm chức năng gửi cảnh báo đến quản trị viên bằng âm thanh (Audio), chức năng tự động cập nhật các rule của snort.

Hiện tại, mô hình đang được áp dụng cho hệ thống mạng nội bộ trong một doanh nghiệp, chưa thể áp dụng trong một hệ thống mạng trong môi trường WAN nên cần tiếp tục nghiên cứu phát triển.

TÀI LIỆU THAM KHẢO A Tiếng Việt

[1] Ngô Vi Đồng (2009),”Hiện trạng về ATTT khu vực phía Nam”, Ngày an toàn thông tin 2009.

[2] Trọng Cầm, Báo điện tử Vietnamnet.vn (2010)“ An toàn thông tin Việt Nam: thừa nhận thức, thiếu thực thi”.

[3] “ Hướng dẫn cài đặt và cấu hình file config hệ thống giám sát Cacti” Bài viết của các tác giả trên báo điện tử http://www.asterisk.vn/forum/viewtopic.php?f=18&t=174(2010)

[4] “Cài đặt và cấu hình gateway SMS Gnokii” Bài viết trên website http://forum.niit.vn/archive/index.php/t-20359.html, tác giả hieunh tháng 2/2011 [5] “Các kiểu tấn công mạng” tác giả LeHoanPC 3/2008,Website http://www.quantrimang.com.vn/baomat/giaiphapbaomat/22_Cac-kieu-tan- cong-mang.aspx.

[6] Lỗ hổng bảo mật mạng. Website http://vinasupport.com/2010/lo-hong-bao- mat/ tác giả manlivo189, 25/3/2010.

[7] “Hệ thống phát hiện xâm nhập IDS”

http://www.quantrimang.com.vn/kienthuc/kien-thuc-co-ban/37334_He-thong- phat-hien-xam-pham-IDS-Phan-1.aspx tác giả VanLinh 24/01/2007

B Tiếng Anh

[8] Max Schubert, Derrick Bennett (2008), “Nagios 3 Enterprise Network Monitoring Including Plug-ins and Hardware Devices”, Syngress.

[9] Dinangkur Kundu, S.M. lbrahim Lavlu (2009), "Cacti 0.8 Network Monitoring" PACKT Publishing.

[10] Rafeeq UR Rehman (2003),“Intrusion Detection With Snort - Advanced IDS Techniques using Snort, Apache, MySQL, PHP, and ACID”, Prentice Hall PTR.

[11] Nagios NRPE Document (1997-2000), NDOUtil Database Model(2006- 2007),EthanGalstard.

[12] The Snort Project (2009), “Snort users manual 2.8.5”.

[13] David Josephsen (2007),“Building a Monitoring Infrastructure with Nagios”, Prentic Hall.

PHỤ LỤC PHỤ LỤC A

Bước 1: Chuẩn bị source cài đặt

- Download software tại http://www.gnokii.org (gnokii-0.6.28.tar.gz) - Chép các gói vào /usr/gnokii-soft (adsbygoogle = window.adsbygoogle || []).push({});

Bước 2: Giải nén source gnokii

# tar -zxvf gnokii-0.6.28.tar.gz

Bước 3: Cài đặt

Chú ý: phải cài trước gói gcc (# yum install gcc) và intltool (# yum install intltool)

- Di chuyển vào thư mục đã giải nén gnokii-0.6.28 # cd /gnokii-0.6.28

# ./configure # gmake

# gmake install

Bước 4: Điều chỉnh file cấu hình

- copy /Docs/sample/gnokiirc --> /etc/gnokiirc #cp ../Docs/gnokiirc /etc/gnokiirc

- Điều chỉnh cấu hình trong /etc/gnokiirc

Tùy vào thiết bị GSM/GPRS modem (gắn cổng COM1 (/dev/ttyS0) hay USB (/dev/ttyUSB0))

#vi /etc/.gnokiirc

---> Điều chỉnh: Bỏ dấu # tại dòng: model AT thêm dấu # tại dòng: model 6510 va TELEPHONE chỉnh: debug = off

-- copy gnokiirc vào /root/

# cp /etc/gnokiirc /root/.gnokiirc

- gnokii --identify

Note: Nếu có hiển thị các thông số của GSM/GPRS modem thì computer đã

nhận diện ra thiết bị VD:

#gnokii --identify GNOKII Version 0.6.28 IMEI : 351047888189814

Manufacturer : WAVECOM MODEM Model : MULTIBAND 900E 1800

Product name : MULTIBAND 900E 1800 Revision : 641b09gg.Q2403! 132

//Kiểm tra việc gửi SMS từ dòng lệnh

PHỤ LỤC B

Hướng dẫn cài đặt và cấu hình Snort

Bước 1: Các gói cần thiết phải cài đặt trước khi thực hiện cài Snort

# yum –y install mysql mysql-bench mysql-server mysql-devel mysqlclient10 php-mysql httpd gcc pcre-devel php-gd gd mod_ssl glib2-devel gcc-c++ libpcap-

devel php php-pear

Bước 2: Bật và khởi động các service cần thiết

- Sử dụng các dòng lệnh dưới đây để bật các service lên #/sbin/chkconfig httpd on (adsbygoogle = window.adsbygoogle || []).push({});

#/sbin/chkconfig mysqld on

- Sử dụng các dòng lệnh dưới đây để khởi động các service #/sbin/service httpd start

#/sbin/service mysqld start

Bước 3. Kiểm tra Apache Server

Vào thư mục /var/www/html và tải về tập tin index.php.txt như sau◊ #cd /var/www/html

#wget http://www.internetsecurityguru.com/index.php.txt Đổi tên tập tin vừa tải về thành index.php bằng lệnh sau: #mv index.php.txt index.php

Mở trình duyệt và gõ vào địa chỉ http://<ip của máy đang cấu hình>/index.php

Bước 4. Tạo tài khoản snort để truy xuất vào hệ thống và cơ sở dữ liệu mysql

/usr/sbin/groupadd snort

/usr/sbin/useradd –g snort snort –s /sbin/nologin Đặt password cho user snort bằng lệnh: passwd snort Bước 5. Tải các gói cần thiết để cài đặt SNORT

Download gói Snort-2.8.5.1.tar.gz

Giải nén gói tin vừa chép về bằng các lệnh dưới đây #tar –xvzf snort-2.8.5.1.tar.gz

Vào thư mục vừa giải nén. Thực hiện các lệnh dưới đây để cài đặt: #chmod +x ./configure

#./configure - -with-mysql - -enable-dynamicplugin #make

#make install

Tạo các thư mục chứa tập tin cài đặt và chạy snort #mkdir /etc/snort

Giải nén và sao chép toàn bộ tập tin snortrules-snapshot-2.7.tar.gz vào trong /etc/snort vừa tạo

#cd /etc/snort

#tar –xvzf snortrules-snapshot-2.7.tar.gz

Chỉnh sửa tập tin snort.conf nằm trong thư mục /etc/snort/etc/snort.conf là tập tin

cấu hình chính của snort; khi thực thi, snort sẽ đọc tâp tin này để khởi động các thông số cần thiết. Mở và chỉnh sửa tập tin snort.conf bằng quyền root

#vi /etc/snort/snort.conf

Sửa các dòng theo chỉ dẫn dưới đây:

- Tìm đến dòng “var HOME_NET any” và sửa thành “var HOME_NET 192.168.3.0/24”; nếu địa chỉ mạng trong là địa chỉ đường mạng 192.168.3.0 - Sửa đường dẫn đến thư viện rules

Tìm đến dòng sau

var RULE_PATH .../rules Sửa đường dẫn thành:

Var RULE_PATH /etc/snort/rules

Bước 6. Cấu hình để Snort log vào cơ sở dữ liệu MySQL

Tìm đến phần output với dòng sau (adsbygoogle = window.adsbygoogle || []).push({});

# output database: log, mysql, user=root password=test dbname=db host=localhost

Bỏ dấu “#” và sửa thành như sau:

output database: log, mysql, user=snort password=<password> dbname=snort host=localhost

Bước 7. Cài đặt cơ sở dữ liệu vào MySql

#mysql

mysql> SET PASSWORD FOR root@localhost=PASSWORD('password'); >Query OK, 0 rows affected (0.25 sec) (no need-da tao trong cacti)

mysql> create database snort;

>Query OK, 1 row affected (0.01 sec)

mysql> grant INSERT,SELECT on root.* to snort@localhost; >Query OK, 0 rows affected (0.02 sec)

mysql> SET PASSWORD FOR

snort@localhost=PASSWORD('password_from_snort.conf'); >Query OK, 0 rows affected (0.25 sec)

mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost;

>Query OK, 0 rows affected (0.02 sec)

mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort;

mysql> exit >Bye

- Thực thi câu lệnh dưới đây để import cơ sở dữ liệu snort vào Mysql

# mysql –u root –p snort < /etc/snort/snort-2.8.5.1/schemas/create_mysql.sql Enter password: <mysql root password>

- Sau đó kiểm tra lại cơ sở dữ liệu mysql như sau #mysql –p

>Enter password:

mysql> show databases; +---+ | Database +---+ | mysql | Snort | test +---+

3 rows in set (0.00 sec) mysql> use snort

>Database changed mysql> show tables;

Bước 8. Cài đặt BASE

- Cài đặt ADODB #cd /var/www/html

#tar –xzf /root/snortinstall/adodb495.tgz - Cài đặt BASE

#cd /var/www/html

#tar –xvzf /root/snortinstall/base-1.4.0.tar.gz - Đổi tên thư mục:

mv base-1.4.0 base/

Chép tập tin base_conf.php.dist thành base_conf.php #cd base/ (adsbygoogle = window.adsbygoogle || []).push({});

#cp base_conf.php.dist base_conf.php

- Chỉnh sửa cấu hình BASE cho thích hợp như 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 bằng cách dùng trình duyệt và gõ vào địa chỉ như sau: http://<ip máy server>/base

Sau bước này, chúng ta đã cài đặt thành công IDS SNORT vào hệ thống, quản trị viên sẽ theo dõi hệ thống và các alert của IDS SNORT thông qua trang web BASE vừa cài đặt.

PHỤ LỤC C

Hướng dẫn cài đặt và cấu hình Nagios Bước 1: Cài đặt các gói thư viện – service cần thiết

# yum install httpd gcc glibc glibc-common gd gd-devel php[11]

Bước 2: Tạo account và group dành cho việc run các command thông qua giao

diện web

# useradd -m nagios

///Tạo nhóm nagcmd và đưa user nagios và apache vào nhóm # groupadd nagcmd

# usermod -a -G nagcmd nagios # usermod -a -G nagcmd apache

Bước 3: Tạo thư mục và down các file cài đặt Nagios

# mkdir /opt/Nagios

Download gói core của Nagios và Plugins http://www.nagios.org/download/download.php

Gói tải về trong bài này là Nagios-3.3.1.tar.gz và nagios-plugins-1.4.15-35- g355a.tar.gz

Bươc 4: Cài đặt Nagios

///Xả nén 2 file trong thư mục Nagios vùa tạo # cd /opt/Nagios

# tar –xzvf nagios-3.3.1.tar.gz # cd nagios-3.3.1

///Biên dịch và cấu hình Nagios

# ./configure –with-command-group=nagcmd # make all # make install # make install-init # make install-config # make install-commandmode

Xong bước này thì Nagios đã sẵn sàng trong /usr/local/nagios

Bước 5: Cài đặt giao diện web cho Nagios

# make install-webconf

///Tạo user quản trị giao diện web

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin ///Start dịch vụ httpd

# service httpd start # chkconfig httpd on

Bước 6 : Cài đặt Nagios plugin [11]

# cd /opt/Nagios (adsbygoogle = window.adsbygoogle || []).push({});

# tar xzf nagios-plugins-1.4.15-35-g355a.tar.gz # cd nagios-plugins-1.4.15-35-g355a

///Biên dịch và cài đặt Nagios

# ./configure –with-nagios-user=nagios –with-nagios-group=nagios # make

# make install

Cấu hình địa chỉ admin nhận các alerts trong file /usr/local/nagios/etc/objects/contacts.cfg

Sửa dòng

email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

Check lại file cấu hình mặc định của Nagios

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Total Warnings: 0

Total Errors: 0 Start dịch vụ Nagios # chkconfig –add nagios # chkconfig nagios on # service nagios start

Bước 7: log on và kiểm tra kết quả qua trang admin : http://ip-address/nagios/

Lưu ý:

Khi cài đặt xong hệ thống Nagios mặc định sẽ add localhost làm đối tượng monitor đầu tiên lúc này dịch vụ http của localhost sẽ được monitor nhưng luôn

gặp thông báo warning vì không tìm thấy index.html hay index.php.. vì lúc này folder /var/www/hmtl đang rỗng vì thế để giải quyết warning chỉ cần tão một file index.html trong /var/www/html

PHỤ LỤC D

Hướng dẫn cài đặt và cấu hình Cacti [3]

Yêu cầu phần mềm:

+ MySQL Server : lưu trữ dữ liệu của cacti.

+ NET-SNMP server - SNMP (Simple Network Management Protocol) là một giao thức dùng cho quản trị mạng.

+ PHP with net-snmp module

+ Truy xuất vào dữ liệu SNMP bởi PHP.

+ Apache / lighttpd / ngnix webserver : Web server để thể hiện giao diện đồ thị được tạo ra bởi PHP và RRDTOOL.

Các gói cần có cho RRDTOOL:

# pango-devel, libxml2-devel.ruby ruby-devel, //Cài NET-SNNMP

Trích dẫn:

#yum -y install net-snmp-utils php-snmp net-snmp-libs //Cài MySQL

Trích dẫn:

#yum -y install mysql-server mysql

//Cấu hình MySQL database cho Cacti cài đặt password cho mysql root user (adsbygoogle = window.adsbygoogle || []).push({});

Trích dẫn:

#mysqladmin -u root password NEWPASSWORD //Tạo database cho Cacti

Trích dẫn:

# mysql -u root -p -e 'create database cacti'

//Tạo và cấp quyền cho user cacti trên database cacti với password là 123456

Trích dẫn:

#mysql -u root –p

mysql> GRANT ALL ON cacti.* TO cacti@localhost DENTIFIED BY '123456';

mysql>FLUSH privileges; mysql> exit

//Cài đặt SNMP

Trích dẫn:

#yum install net-snmp-utils php-snmp net-snmp-libs //Cấu hình snmp

Trích dẫn:

#vi /etc/snmp/snmpd.conf

Bạn thay đổi và thêm nội dung sau vào SNMP (xem snmpd.conf để biết thêm chi tiết)

Trích dẫn:

rocommunity 123456

syslocation "Asterisk Vietnam" proc mountd

proc ntalkd 4 disk / 10000 load 12 14 14

Bạn lưu file snmpd.conf và đóng lại, sau đó start snmpd và bật snmpd service:

Trích dẫn:

#/etc/init.d/snmpd start #chkconfig snmpd on //Cài đặt rrdtool

Trích dẫn:

#wget http://packages.sw.be/rrdtool/rrdtool-1 ... f.i386.rpm #wget http://packages.sw.be/rrdtool/perl-rrdt ... f.i386.rpm #wget http://packages.sw.be/rrdtool/rrdtool-d ... f.i386.rpm

rpm -ivh rrdtool-1.2.18-1.el5.rf.i386.rpm perl-rrdtool-1.2.18-1.el5.rf.i386.rpm rrdtool-devel-1.2.18-1.el5.rf.i386.rpm

Trích dẫn:

#wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz #tar -zvxf cacti-0.8.7g.tar.gz -C /var/www/html/

#cd /var/www/html/#mv cacti-0.8.7g cacti //Hoặc bạn có thể cài bằng yum

Trích dẫn: (adsbygoogle = window.adsbygoogle || []).push({});

#yum -y install cacti

//Tạo MySQL database cho cacti với database name là cacti

Trích dẫn:

#mysqladmin --user=root --password=password create cacti //Import cacti database mặc định từ cacti.sql trong thư mục cacti

Trích dẫn:

#mysql --user=root --password=password cacti < cacti.sql

//Edit lại nội dung file include/config.php cho đúng với username và database của hệ thống của bạn.

Trích dẫn:

#cd /var/www/html/cacti/include #vi config.php

//Thay đổi nội dung trong file config.php :

Trích dẫn:

$database_default = "cacti"; $database_hostname = localhost"; $database_username = "cacti"; $database_password = "123456";

//Bạn add thêm dòng sau đây vào /etc/crontab

Trích dẫn:

// thêm nội dung như sau :

*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 //Hoàn tất quá trình cài đặt Cacti.

Một phần của tài liệu Xây dựng hệ thống giám sát mạng dựa trên mã nguồn mở luận văn thạc sĩ (Trang 81)