99
i MC LC Trang phbìa Li cảm ơn Lời cam đoan Tóm tt luận văn Mc Lc -------------------------------------------------------------------------------- i Danh mc các chviết tt ----------------------------------------------------------- iv Danh mc hình v--------------------------------------------------------------------- v PHN MĐẦU ---------------------------------------------------------------------- 1 1 Tính cp thiết của đề tài ---------------------------------------------------------- 1 2 Mc tiêu của đề tài ---------------------------------------------------------------- 2 3 Đối tượng phn mm nghiên cu ----------------------------------------------- 2 4 Ni dung nghiên cứu đề tài ------------------------------------------------------ 3 5 Bcc luận văn ------------------------------------------------------------------- 4 6 Các công trình nghiên cu liên quan ------------------------------------------- 5 CHƯƠNG 1: TỔNG QUAN 1.1 Đánh giá tổng quan vbo mt mng máy tính ---------------------------- 6 1.2 Phân loi các mối đe dọa trong bo mt ------------------------------------- 8 1.2.1 Mối đe dọa bên trong ------------------------------------------------------ 8 1.2.2 Mối đe dọa từ bên ngoài --------------------------------------------------- 9 1.2.3 Mối đe dọa không có cấu trúc -------------------------------------------- 9 1.2.4 Mối đe dọa có cấu trúc -------------------------------------------------- 10 1.3 Phân loại một số lỗ hổng trong bảo mật ----------------------------------- 10 1.3.1 Lỗ hổng bảo mật ---------------------------------------------------------- 10 1.3.2 Phân loại lỗ hổng bảo mật ----------------------------------------------- 10 1.4 Mt skiu tn công mng -------------------------------------------------- 14 1.5 Các gii pháp phát hin và phòng chng tn công mng ---------------- 17 1.5.1 Các bin pháp phát hin hthng btn công ------------------------ 17 1.5.2 Gii pháp phát hin và phòng chng xâm nhp ---------------------- 19 CHƯƠNG 2: HỆ THNG PHÁT HIN VÀ PHÒNG CHNG XÂM NHP

Luan Van Tot Nghiep_V1.6.Plus Complete

  • Upload
    thanglx

  • View
    73

  • Download
    0

Embed Size (px)

DESCRIPTION

Luan Van

Citation preview

i

MỤC LỤC

Trang phụ bìa

Lời cảm ơn

Lời cam đoan

Tóm tắt luận văn

Mục Lục -------------------------------------------------------------------------------- i

Danh mục các chữ viết tắt ----------------------------------------------------------- iv

Danh mục hình vẽ --------------------------------------------------------------------- v

PHẦN MỞ ĐẦU ---------------------------------------------------------------------- 1

1 Tính cấp thiết của đề tài ---------------------------------------------------------- 1

2 Mục tiêu của đề tài ---------------------------------------------------------------- 2

3 Đối tượng phần mềm nghiên cứu ----------------------------------------------- 2

4 Nội dung nghiên cứu đề tài ------------------------------------------------------ 3

5 Bố cục luận văn ------------------------------------------------------------------- 4

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

CHƯƠNG 1: TỔNG QUAN

1.1 Đánh giá tổng quan về bảo mật mạng máy tính ---------------------------- 6

1.2 Phân loại các mối đe dọa trong bảo mật ------------------------------------- 8

1.2.1 Mối đe dọa bên trong ------------------------------------------------------ 8

1.2.2 Mối đe dọa từ bên ngoài --------------------------------------------------- 9

1.2.3 Mối đe dọa không có cấu trúc -------------------------------------------- 9

1.2.4 Mối đe dọa có cấu trúc -------------------------------------------------- 10

1.3 Phân loại một số lỗ hổng trong bảo mật ----------------------------------- 10

1.3.1 Lỗ hổng bảo mật ---------------------------------------------------------- 10

1.3.2 Phân loại lỗ hổng bảo mật ----------------------------------------------- 10

1.4 Một số kiểu tấn công mạng -------------------------------------------------- 14

1.5 Các giải pháp phát hiện và phòng chống tấn công mạng ---------------- 17

1.5.1 Các biện pháp phát hiện hệ thống bị tấn công ------------------------ 17

1.5.2 Giải pháp phát hiện và phòng chống xâm nhập ---------------------- 19

CHƯƠNG 2: HỆ THỐNG PHÁT HIỆN VÀ PHÒNG CHỐNG XÂM

NHẬP

ii

2.1 Vai trò, chức năng của hệ thống phát hiện và phòng chống xâm nhập 22

2.1.1 Lịch sử phát triển --------------------------------------------------------- 22

2.1.2 Vai trò, chức năng của hệ thống phát hiện và phòng chống xâm nhập

------------------------------------------------------------------------------------- 23

2.2 Đặc điểm, kiến trúc hệ thống của IDS/IPS -------------------------------- 24

2.2.1 Cơ sở hạ tầng của hệ thống IDS/IPS ----------------------------------- 24

2.2.2 Kiến trúc hệ thống phát hiện xâm nhập ------------------------------- 25

2.3 Phân loại IDS/IPS ------------------------------------------------------------- 29

2.3.1 Host-based IDS/IPS (HIDS) -------------------------------------------- 31

2.3.2 Network Base IDS/IPS (NIDS/IPS) ----------------------------------- 32

2.3.3 Triển khai hệ thống IDS/IPS -------------------------------------------- 34

2.3.4 Khả năng phát hiện và phòng chống xâm nhập của IDS/IPS ------- 36

2.4 Hệ thống giám sát lưu lượng mạng ----------------------------------------- 37

2.5 Hệ thống báo động ------------------------------------------------------------ 38

2.6 SNMP và hệ thống giám sát mạng ----------------------------------------- 39

CHƯƠNG 3: CÁC CÔNG CỤ MÃ NGUỒN MỞ HỖ TRỢ GIÁM SÁT,

PHÁT HIỆN VÀ PHÒNG CHỐNG XÂM NHẬP MẠNG

3.1 Giới thiệu ---------------------------------------------------------------------- 41

3.2 Đặc điểm của Snort ----------------------------------------------------------- 42

3.3 Vấn đề của Snort và khả năng triển khai ---------------------------------- 45

3.3.1 Lợi ích của Snort --------------------------------------------------------- 45

3.3.2 Đánh giá tập luật của Snort --------------------------------------------- 46

3.4 Fwsnort chuyển đổi tập luật từ Snort sang Iptables ---------------------- 46

3.5 Hệ thống giám sát trạng thái hoạt động thiết bị và dịch vụ - Nagios --- 46

3.6 Hệ thống giám sát lưu lượng – Cacti --------------------------------------- 50

3.7 Hệ thống báo động qua SMS – Gnokii ------------------------------------- 53

3.8 Mô hình đề xuất kết hợp Snort, Fwsnort, Nagios, Cacti ----------------- 54

CHƯƠNG 4: PHÁT TRIỂN ỨNG DỤNG HỆ THỐNG GIÁM SÁT VÀ

PHÁT HIỆN XÂM NHẬP MẠNG DỰA TRÊN MÃ NGUỒN MỞ

4.1 Mô hình cài đặt thực nghiệm ------------------------------------------------ 57

4.2 Cài đặt thực nghiệm ---------------------------------------------------------- 57

iii

4.2.1 Cài đặt Gnokii ------------------------------------------------------------ 58

4.2.2 Cài đặt Snort -------------------------------------------------------------- 59

4.2.4 Cài đặt Nagios ------------------------------------------------------------ 63

4.2.5 Cài đặt Cacti -------------------------------------------------------------- 65

4.3 Kết quả đạt được từ thực nghiệm ------------------------------------------- 71

CHƯƠNG 5: KẾT LUẬN, KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT

TRIỂN CỦA ĐỀ TÀI

5.1 Kết luận ------------------------------------------------------------------------ 76

5.2 Kết quả đạt được -------------------------------------------------------------- 77

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

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

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

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

TÀI LIỆU THAM KHẢO

PHỤ LỤC

PHỤ LỤC A: Hướng dẫn cấu hình GSM Gateway trên Linux

PHỤ LỤC B: Hướng dẫn cài đặt Snort

PHỤ LỤC C: Hướng dẫn cài đặt và cấu hình Naigos

PHỤ LỤC D: Hướng dẫn cài đặt và cấu hình Cacti

1

PHẦN MỞ ĐẦU

1 Tính cấp thiết của đề tài

Vào các thập niên 1960, 1980 và đến thập niên 1990, thuật ngữ mạng diện rộng

được phổ biến rộng rãi khởi đầu từ Bộ quốc phòng Hoa Kỳ sau đó thuật ngữ

mạng diện rộng – còn được gọi là WAN được biết đến rộng rãi trên toàn thế

giới, WAN được định nghĩa đơn giản bao gồm sự kết nối của các máy tính đơn

lẻ trên toàn thế giới dựa trên một giao thức kết nối được gọi là TCP/IP.

Ngày nay, mạng máy tính phát triển với tốc độ rất lớn và phạm vi của nó không

chỉ dừng lại ở đó mà tới thời điểm hiện nay việc cạn kiệt nguồn tài nguyên địa

chỉ mạng phiên bản 4 – địa chỉ IP là một bằng chứng cho thấy tốc độ phát triển

của mạng máy tính nhanh chóng và trở thành một môi trường tốt phục vụ cho

các hoạt động phát triển của nhân loại, song song với điều đó là sự phát triển

mạnh mẽ của khoa học công nghệ và hệ thống các tri thức liên quan đến mạng

máy tính, các thiết bị thông minh đã và đang ngày càng góp thêm phần phát

triển mạnh mẽ và vượt trội của hệ thống mạng trên toàn thế giới. Do vậy hệ

thống mạng máy tính là một phần tất yếu và vô cùng quan trọng của một quốc

gia, một doanh nghiệp hay đơn giản chỉ là một hộ gia đình nhỏ, chúng góp phần

vào việc tạo nên những thành công đặc biệt đối với hệ thống mạng quốc gia và

hệ thống mạng của các doanh nghiệp vì phần lớn các công việc ngày nay từ giao

dịch đến trao đổi thông tin đều dựa trên hệ thống mạng máy tính.

Sự phát triển mạnh của hệ thống mạng máy tính cũng là một vùng đất có nhiều

thuận lợi cho việc theo dõi và đánh cắp thông tin của các nhóm tội phạm tin học,

việc xâm nhập bất hợp pháp và đánh cắp thông tin của các doanh nghiệp đang

đặt ra cho thế giới vấn đề làm thế nào để có thể bảo mật được thông tin của

doanh nghiệp mình. Bảo mật thông tin hay an toàn an ninh mạng là những yếu

tố được quan tâm hàng đầu trong các doanh nghiệp. Đã có

2

những doanh nghiệp thực hiện việc thuê một đối tác thứ 3 với việc chuyên bảo

mật hệ thống mạng và bảo mật thông tin cho đơn vị mình, cũng có những doanh

nghiệp đưa ra các kế hoạch tính toán chi phí cho việc mua sản phẩm phần mềm

để nhằm đáp ứng việc bảo mật của đơn vị mình. Tuy nhiên đối với những giải

pháp đó các doanh nghiệp đều phải thực hiện cân đối về chính sách tài chính

hằng năm với mục đích làm sao cho giải pháp an toàn thông tin là tối ưu và có

được chi phí rẻ nhất và đảm bảo thông tin trao đổi được an toàn, bảo vệ thông

tin của đơn vị mình trước những tấn công của tội phạm công nghệ từ bên ngoài

do vậy mà đề tài xây dựng hệ thống giám sát mạng dựa trên mã nguồn mở được

phát triển giúp được phần nào yêu cầu của các doanh nghiệp về an toàn thông tin

và bảo mật hệ thống mạng.

2 Mục tiêu của đề tài

Đề tài được thực hiện nhằm mục đích:

Khảo sát các lỗ hổng bảo mật thông tin, các nguy cơ có thể mất an toàn

thông tin và các nguy cơ hệ thống mạng bị xâm nhập, tấn công.

Đề xuất giải pháp để giám sát hệ thống mạng bao gồm: phát hiện xâm

nhập, theo dõi các hoạt động của các thiết bị mạng như Router, Switch, Server

… và một số dịch vụ mạng được sử dụng.

Phát triển hệ thống báo động của chương trình qua tin nhắn (SMS), Email,

Web

3 Đối tượng phần mềm nghiên cứu

Đối tượng nghiên cứu trong bài luận văn là các chương trình phần mềm mã

nguồn mở bao gồm:

+ Các chương trình phần mềm mở phát hiện xâm nhập.

+ Các chương trình phần mềm mở phòng chống xâm nhập.

+ Các chương trình phần mềm mở giám sát lưu lượng của hệ thống mạng.

3

+ Các chương trình phần mềm mở giám sát thiết bị mạng và các dịch vụ

mạng.

4 Nội dung nghiên cứu đề tài

Đề tài tập trung nghiên cứu các vấn đề liên quan đến phát hiện xâm nhập trái

phép và giám sát lưu lượng mạng bao gồm;

+ Nghiên cứu các khả năng tấn công mạng.

+ Nghiên cứu các khả năng phát hiện xâm nhập trái phép hệ thống mạng.

+ Nghiên cứu các khả năng phòng chống một số các phương thức tấn

công mạng.

+ Nghiên cứu các khả năng giám sát hoạt động các thiết bị mạng và dịch

vụ mạng trong toàn hệ thống mạng.

Từ những vấn đề nêu trên đề xuất mô hình giám sát các hoạt động của các thiết

bị mạng, phát hiện và phòng chống xâm nhập được tích hợp từ các chương trình

mã nguồn mở.

Tiến hành thực nghiệm việc cài đặt giải pháp giám sát hoạt động của các thiết bị

mạng, dịch vụ mạng và phát hiện, phòng chống xâm nhập trái phép dựa trên cơ

sở các chương trình mã nguồn mở, có cảnh báo đến quản trị bằng SMS, Email,

Web.

Trong phần nội dung của bài luận văn tốt nghiệp này, tác giả tập trung nghiên

cứu các chương trình phần mềm được cung cấp bằng mã nguồn mở để dựa vào

các phần mềm này tác giả xây dựng giải pháp tổng thể việc theo dõi giám sát hệ

thống mạng, các dịch vụ mạng và các dấu hiệu bất thường trong hệ thống mạng

nhằm cung cấp cho người quản trị hệ thống mạng có cái nhìn tổng quan về phát

hiện và phòng chống xâm nhập mạng trái phép. Cụ thể, tác giả đề xuất sử dụng

các chương trình mã nguồn mở được cung cấp rộng rãi

4

như: Nagios, Snort, Cacti, Gnokii và sử dụng GSM/GPRS modem hoặc dùng

điện thoại để thực nghiệm giải pháp. Tạo ra một hệ thống giám sát mạng có khả

năng phát hiện và cảnh báo những động thái xâm nhập mạng trái phép, phòng

chống tấn công mạng, giám sát hoạt động của các thiết bị mạng trong đó có lưu

lượng sử dụng trên thiết bị các thành phần phần cứng trong thiết bị, các dịch vụ

được sử dụng trong hệ thống mạng.

Dựa trên những giải pháp đó tác giả phát triển một hệ thống cảnh báo cho người

quản trị hệ thống mạng bằng nhiều phương thức như: Email, SMS, Web mục

đích hỗ trợ cho người quản trị một cách nhanh nhất có thể khắc phục và xử lý sự

cố liên quan đến hệ thống mạng đạt được hiệu quả cao.

5 Bố cục luận văn

Phần bố cục của luận văn được trình bày thành 5 chương.

Chương 1 : Tổng quan. Giới thiệu bao quát về vấn đề bảo mật mạng và

các vấn đề liên quan đến tấn công xâm nhập hệ thống mạng.

Chương 2: Hệ thống phát hiện và phòng chống xâm nhập mạng, ở chương

này tác giả trình bày tổng quan về khả năng, vai trò và đặc điểm của chương

trình phát hiện và phòng chống xâm nhập mạng, giám sát lưu lượng, giám sát

dịch vụ mạng.

Chương 3: Các công cụ hỗ trợ trong việc phát hiện và phòng chống xâm

nhập mạng. Trong chương này tác giả trình bày các đặc điểm của các phần mềm

mã nguồn mở sử dụng trong việc cài đặt thực nghiệm của luận văn. Khả năng

tích hợp chúng thành một hệ thống giám sát và phát hiện xâm nhập và cảnh báo

thông tin tức thời qua SMS hoặc Email, Web.

Chương 4: Trong chương này tác giả tập trung phát triển ứng dụng giám

sát hệ thống mạng bằng các chương trình mã nguồn mở, đề xuất mô hình mạng

và cài đặt thực nghiệm dùng các chương trình mã nguồn mở đã nêu trong đề tài.

5

Chương 5: Đánh giá những mặt đạt được, kết luận và hướng phát triển

thêm của đề tài.

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

- Báo cáo luận văn thạc sĩ kỹ thuật máy tính đề tài “Xây dựng hệ thống hỗ trợ

giám sát mạng” tác giả Nguyễn Đăng Bảo Phúc – Đại học Đà Nẵng tháng

3/2012. Nội dung của luận văn tác giả hướng dẫn cách cài đặt và cấu hình

chương trình mã nguồn mở Nagios để theo dõi giám sát một hệ thống mạng kết

hợp Gammu để gửi tin nhắn đến quản trị mạng.

- Báo cáo tốt nghiệp kỹ sư đề tài “Nghiên cứu hệ thống giám sát quản trị

mạng trên nền tảng mã nguồn mở Nagios” bài đăng trên website

http://www.hce.edu.vn/hsv/ năm 2008. Nội dung của bài khóa luận tác giả cũng

tập trung vào việc hướng dẫn cài đặt và cấu hình chương trình theo dõi giám sát

hệ thống mạng dựa trên Nagios.

- Báo cáo nghiên cứu khoa học đề tài “Xây dựng hệ thống giám sát mạng dựa

trên mã nguồn mở” tác giả nhóm sinh viên Khoa Công nghệ thông tin Đại học

Đà Lạt năm 2010. Nội dung báo cáo là những tìm hiểu ban đầu về cách thức

hoạt động của chương trình Nagios và hướng dẫn cài đặt.

- Báo cáo tốt nghiệp kỹ sư đề tài “ Nghiên cứu triển khai hệ thống giám sát

quản trị mạng trên nền tảng mã nguồn mở Nagios” tháng 5/2009 của tác giả

Phạm Hồng Khai, ngành Công nghệ thông tin Đại học Quốc gia Hà Nội. Nội

dung đề tài tác giả tập trung nghiên cứu mô hình giám sát mạng dựa trên Nagios,

khai thác các tính ưu việt của chương trình để cài đặt và đưa vào giám sát hệ

thống mạng và áp dụng Snort vào hệ thống.

Các công trình nghiên cứu có liên quan, các tác giả tập trung nghiên cứu chủ yếu

vào chương trình mã nguồn mở Nagios và Snort, sử dụng nền tảng mã nguồn

mở với mục đích xây dựng hệ thống giám sát mạng, chưa xây dựng một mô hình

tổng thể với việc phát hiện và cảnh báo bằng SMS, email một cách trực quan

giúp công tác quản lý điều hành của quản trị viên hiệu quả hơn.

CHƯƠNG 1: TỔNG QUAN

1.1 Đánh giá tổng quan về bảo mật mạng máy tính

Bảo mật mạng máy tính hiện nay được đánh giá là một trong những vấn đề quan

trọng bậc nhất của tất cả các quốc gia trong đó có Việt Nam, theo những thống

kê chưa đầy đủ của Tổng cục thống kê thì tính đến tháng 03/2012 số thuê bao sử

dụng Internet vào khoảng 4,2 triệu thuê bao tăng 17,5% và tổng số người sử

dụng Internet cũng tăng 15,3% tức vào khoảng 32,1 triệu người so với cùng thời

điểm năm 2011. Số liệu trên cho thấy tình hình phát triển công nghệ thông tin tại

Việt Nam trong những năm trở lại đây có tốc độ rất lớn và dự kiến sẽ có chiều

hướng tăng do sự phát triển của thiết bị thông minh và các thiết bị khác. Một số

doanh nghiệp Việt Nam chưa có kế hoạch hoặc có kế hoạch đầu tư nhỏ vào việc

bảo mật cho hệ thống mạng trong khi các doanh nghiệp bắt đầu phát triển các

ứng dụng công nghệ mạng để quảng cáo hoặc cung cấp thông tin của doanh

nghiệp mình trong thế giới số.

Theo báo cáo về an toàn thông tin được công bố trong ngày “An toàn thông tin

năm 2011” về vấn đền an toàn thông tin trong các tổ chức doanh nghiệp Việt

Nam năm 2011, có đến:

- 52% số tổ chức vẫn không hoặc chưa có quy trình thao tác chuẩn để ứng

phó với những cuộc tấn công máy tính

- Tỷ lệ sử dụng những công nghệ chuyên sâu hoặc hẹp hơn như mã hoá, hệ

thống phát hiện xâm nhập, chứng chỉ số, chữ ký số…chỉ chiếm 20% .

- Đặc biệt tỷ lệ sử dụng những giải pháp cấp cao trong bảo mật an ninh

mạng như quản lý định danh, hệ thống quản lý chống thất thoát dữ liệu,

sinh trắc học chỉ chiếm 5% trong tất cả các giải pháp chống tấn công của

tội phạm công nghệ cao.[1]

Nhận định về an toàn thông tin trong những năm qua, các chuyên gia bảo mật

hàng đầu tại Việt Nam đều có chung một nhận định có nhiều biến động lớn và

7

mức độ tấn công là ngày càng rất nguy hiểm và gây nhiều thiệt hại cho các

doanh nghiệp trong nước[2]. Để giải quyết vấn đề này các công ty bảo mật hàng

đầu trên thế giới và của Việt Nam vẫn tiếp tục nghiên cứu phát triển những gói

giải pháp bảo mật bao gồm thiết bị phần cứng và các chương trình phần mềm

phục vụ cho việc an toàn thông tin và bảo mật hệ thống mạng, các nhà cung cấp

dịch vụ giải pháp bảo mật như Juniper (với các sản phẩm phần cứng tường lửa

như NetScreen), Cisco với các thiết bị tường lửa như ASA, PIX hoặc như các

thiết bị tường lửa tiên tiến hơn như Checkpoint, IPS của nhà cung cấp IBM là

những thiết bị phần cứng liên quan đến bảo mật hệ thống mạng và an toàn thông

tin liên tục được đưa ra trên thị trường, bên cạnh những thiết bị phần cứng còn

phải kể đến những ứng dụng phần mềm được các nhà cung cấp giải pháp an toàn

thông tin đưa ra nhằm phục vụ cho việc bảo mật hệ thống thông tin. Có thể kể

đến một vài tên tuổi nổi tiếng như: Symantec (với giải pháp phần mềm Anti

Virut, Spam, Malware), Microsoft, Kaspersky, TrenPC, McAfee, SolarWin với

những gói phần mềm khá hoàn hảo (theo đánh giá của các nhà cung cấp) trong

việc bảo mật và an toàn thông tin.

Những sản phẩm thương mại của các nhà cung cấp giải pháp an toàn thông tin

được tung ra trên thị trường trong những năm gần đây được đánh giá cao về mức

độ bảo mật và hiệu năng hoạt động của nó, tuy nhiên vấn đề đầu tư các giải pháp

bảo mật an toàn thông tin cho doanh nghiệp mang tính đầy đủ đem đến cho các

doanh nghiệp vừa và nhỏ một chi phí đầu tư đáng kể so với hoạt động kinh

doanh của doanh nghiệp.

Theo các nghiên cứu hiện nay có tại Việt Nam cũng như trên thế giới về xây

dựng một hệ thống IDS phát hiện và phòng chống xâm nhập mạng trái phép dựa

trên mã nguồn mở cũng phát triển mạnh, tuy nhiên tại Việt Nam các nghiên cứu

này có mức độ triển khai vào thực tế là chưa cao và còn là những bài toán lớn

cho giải pháp bảo mật thông tin dựa trên phần mềm mã nguồn mở.

8

1.2 Phân loại các mối đe dọa trong bảo mật

Như đã nêu trên, việc bảo mật đối với các doanh nghiệp là một vấn đề lớn hiện

nay, việc một tội phạm tin học xâm nhập đã tạo ra rất nhiều cách khác nhau để

có thể thành công trong việc làm hư hỏng hoàn toàn một hệ thống mạng hoặc

một dịch vụ ứng dụng Web của một doanh nghiệp. Có nhiều phương pháp đã

được triển khai nhằm giảm thiểu khả năng tấn công như phát triển hạ tầng mạng

và truyền thông trên internet, dùng tường lửa, mã hóa, mạng riêng ảo… Sự phát

hiện xâm nhập cũng là một kỹ thuật gần giống với việc sử dụng tường lửa hay

đại loại như thế. Mục đích của một hệ thống phát hiện xâm nhập là thông báo

cho nhà quản trị khi có một hành vi xâm nhập hoặc một sự tấn công được phát

hiện. Có thể có nhiều cách khác nhau để tấn công và hệ thống phát hiện xâm

nhập cũng có nhiều cách để phát hiện. Để làm rõ vấn đề phát hiện xâm nhập

trước tiên cần hiểu rõ một số các mối đe dọa trong bảo mật một hệ thống mạng

hoạt động ra sao. Thông thường có 4 mối đe dọa cho việc bảo mật hệ thống

được mô tả như sau:

1.2.1 Mối đe dọa bên trong

Thuật ngữ mối đe dọa bên trong được sử dụng để mô ta một kiểu tấn công

được thực hiện từ một người hoặc một tổ chức có quyền truy cập vào hệ thống

mạng. Các cách tấn công từ bên trong được thực hiện từ một khu vực được coi

là vùng tin cậy trong hệ thống mạng. Mối đe dọa này có thể khó phòng chống

hơn vì các nhân viên hoặc những tổ chức có quyền hạn trong hệ thống mạng sẽ

truy cập vào mạng và dữ liệu bí mật của doanh nghiệp. Phần lớn các doanh

nghiệp hiện nay đều có tường lửa ở các đường biên mạng và họ tin tưởng hoàn

toàn vào các ACL (Access Control List) và quyền truy cập vào server để qui

định cho sự bảo mật bên trong. Quyền truy cập server thường bảo vệ tài nguyên

trên server nhưng không cung cấp bất kì sự bảo vệ nào cho mạng. Mối đe dọa ở

bên trong thường được thực hiện bởi các nhân viên, tổ chức bất bình, muốn

“quay mặt” lại với doanh nghiệp. Nhiều phương pháp bảo mật liên quan đến

vành đai của hệ thống mạng, bảo vệ mạng bên trong khỏi các kết nối bên ngoài,

như là truy cập Internet. Khi vành đai của hệ thống mạng được bảo mật, các

9

phần tin cậy bên trong có khuynh hướng bị bớt nghiêm ngặt hơn. Khi một kẻ

xâm nhập vượt qua vỏ bọc bảo mật cứng cáp đó của hệ thống mạng, mọi

chuyện còn lại thường là rất đơn giản. Các mạng không dây giới thiệu một lĩnh

vực mới về quản trị bảo mật. Không giống như mạng có dây, các mạng không

dây tạo ra một khu vực bao phủ có thể bị can thiệp và sử dụng bởi bất kì ai có

phần mềm đúng và một adapter của mạng không dây. Không chỉ tất cả các dữ

liệu mạng có thể bị xem và ghi lại mà các sự tấn công vào mạng có thể được

thực hiện từ bên trong, nơi mà cơ sở hạ tầng dễ bị nguy hiểm hơn nhiều. Vì vậy,

các phương pháp mã hóa mạnh luôn được sử dụng trong mạng không dây.

1.2.2 Mối đe dọa từ bên ngoài

Mối đe dọa ở bên ngoài là từ các tổ chức, chính phủ, hoặc cá nhân cố

gắng truy cập từ bên ngoài mạng của doanh nghiệp và bao gồm tất cả những

người không có quyền truy cập vào mạng bên trong. Thông thường, các kẻ tấn

công từ bên ngoài cố gắng từ các server quay số hoặc các kết nối Internet. Mối

đe dọa ở bên ngoài là những gì mà các doanh nghiệp thường phải bỏ nhiều hầu

hết thời gian và tiền bạc để ngăn ngừa.

1.2.3 Mối đe dọa không có cấu trúc

Mối đe dọa không có cấu trúc là mối đe dọa phổ biến nhất đối với hệ

thống của một doanh nghiệp. Các hacker mới vào nghề, thường được gọi là

script kiddies, sử dụng các phần mềm để thu thập thông tin, truy cập hoặc thực

hiện một kiểu tấn công DoS vào một hệ thống của một doanh nghiệp. Script

kiddies tin tưởng vào các phần mềm và kinh nghiệm của các hacker đi trước.

Khi script kiddies không có nhiều kiến thức và kinh nghiệm, họ có thể tiến hành

phá hoại lên các doanh nghiệp không được chuẩn bị. Trong khi đây chỉ là trò

chơi đối với các kiddie, các doanh nghiệp thường mất hàng triệu đô la cũng như

là sự tin tưởng của cộng đồng. Nếu một web server của một doanh nghiệp bị tấn

công, cộng đồng cho rằng hacker đã phá vỡ được sự bảo mật của doanh nghiệp

đó, trong khi thật ra các hacker chỉ tấn công được một chỗ yếu của server. Các

server Web, FTP, SMTP và một vài server khác chứa các dịch vụ có rất nhiều lổ

hổng để có thể bị tấn công, trong khi các server quan trọng được đặt sau rất

10

nhiều lớp bảo mật. Cộng đồng thường không hiểu rằng phá vỡ một trang web

của một doanh nghiệp thì dễ hơn rất nhiều so với việc phá vỡ cơ sở dữ liệu thẻ

tín dụng của doanh nghiệp đó. Cộng đồng phải tin tưởng rằng một doanh nghiệp

rất giỏi trong việc bảo mật các thông tin riêng tư của nó.

1.2.4 Mối đe dọa có cấu trúc

Mối đe dọa có cấu trúc là khó ngăn ngừa và phòng chống nhất vì nó xuất

phát từ các tổ chức hoặc cá nhân sử dụng một vài loại phương pháp luận thực

hiện tấn công. Các hacker với kiến thức, kinh nghiệm cao và thiết bị sẽ tạo ra

mối đe dọa này. Các hacker này biết các gói tin được tạo thành như thế nào và

có thể phát triển mã để khai thác các lỗ hổng trong cấu trúc của giao thức. Họ

cũng biết được các biện pháp được sử dụng để ngăn ngừa truy cập trái phép,

cũng như các hệ thống IDS và cách chúng phát hiện ra các hành vi xâm nhập.

Họ biết các phương pháp để tránh những cách bảo vệ này. Trong một vài trường

hợp, một cách tấn công có cấu trúc được thực hiện với sự trợ giúp từ một vài

người ở bên trong. Đây gọi là mối đe dọa có cấu trúc ở bên trong. Cấu trúc hoặc

không cấu trúc có thể là mối đe dọa bên ngoài cũng như bên trong.

1.3 Phân loại một số lỗ hổng trong bảo mật

1.3.1 Lỗ hổng bảo mật

Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo nên sự

ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép truy

cập bất hợp pháp vào hệ thống. Các lỗ hổng bảo mật có thể nằm ngay các dịch

vụ cung cấp như Web, Email, FTP, … Ngoài ra các chương trình ứng dụng hay

dùng cũng chứa các lỗ hổng bảo mật như Word, các hệ cơ sở dữ liệu như SQL…

1.3.2 Phân loại lỗ hổng bảo mật

Thực hiện phân loại và hiểu được những phương thức bảo mật thực sự

quan trọng trong việc xây dựng một hệ thống lọc và phân loại gói tin của tường

lửa với mục đích phát hiện được những lỗ hổng trong việc bảo mật. Hiện nay

việc phân loại lỗ hổng bảo mật cơ bản được phân thành 03 loại.

11

Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sự

ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các

truy nhập không hợp pháp vào hệ thống. Các lỗ hổng cũng có thể nằm ngay các

dịch vụ cung cấp như sendmail, Web, Ftp … Ngoài ra các lỗ hổng còn tồn tại

ngay chính tại hệ điều hành như trong Windows NT, Windows 95, UNIX; hoặc

trong các ứng dụng mà người sử dụng thương xuyên sử dụng như Word

processing, Các hệ databases…[6]

1.3.2.1 Loại C – Ít nguy hiểm

Các lỗ hổng bảo mật thuộc loại này thường cho phép thực hiện việc

tấn công DoS. DoS là một hình thức tấn công sử dụng các giao thức tầng ứng

dụng trong bộ giao thức TCP/IP để làm hệ thống ngưng trệ, tràn đệm dẫn đến

tình trạng từ chối tất cả các yêu cầu của người sử dụng hợp pháp truy cập hay sử

dụng hệ thống. Một số lượng lớn các gói tin được gửi tới server trong khoảng

thời gian liên tục làm cho hệ thống trở nên quá tải, kết quả là server đáp ứng

chậm hoặc không thể đáp ứng các yêu cầu từ client gửi tới. Các dịch vụ có chứa

đựng lỗ hổng cho phép thực hiện các cuộc tấn công DoS có thể được nâng cấp

hoặc sửa chữa bằng các phiên bản mới hơn của các nhà cung cấp dịch vụ. Hiện

nay, chưa có một giải pháp toàn diện nào để khắc phục các lỗ hổng loại này vì

bản thân việc thiết kế giao thức ở tầng Internet (IP) nói riêng và bộ giao thức

TCP/IP đã chứa đựng những nguy cơ tiềm tàng của các lỗ hổng này. Tuy nhiên,

mức độ nguy hiểm của các lỗ hổng loại này được xếp loại C; ít nguy hiểm vì

chúng chỉ làm gián đoạn cung cấp dịch vụ của hệ thống trong một thời gian mà

không làm nguy hại đến dữ liệu và người tấn công cũng không đạt được quyền

truy nhập bất hợp pháp vào hệ thống.

Một lỗ hổng loại C khác cũng thường thấy đó là các điểm yếu của

dịch vụ cho phép thực hiện tấn công làm ngưng trệ hệ thống của người sử dụng

cuối; Chủ yếu của hình thức tấn công này là sử dụng dịch vụ Web. Với một hình

thức tấn công đơn giản như cùng một lúc gửi nhiều yêu cầu truy cập, điều này

có thể làm treo hệ thống. Đây cùng là một hình thức tấn công kiểu DoS. Người

12

quản trị hệ thống Website trong trường hợp này chỉ có thể khởi động lại hệ

thống.[6]

Một lỗ hổng loại C khác cũng thường gặp đối với các hệ thống mail

là không xây dựng các cơ chế anti-relay (chống relay) cho phép thực hiện các

hành động spam mail. Như chúng ta đã biết, cơ chế hoạt động của dịch vụ thư

điện tử là lưu và chuyển tiếp; một số hệ thống mail không có các xác thực khi

người dùng gửi thư, dẫn đến tình trạng các đối tượng tấn công lợi dụng các máy

chủ mail này để thực hiện spam mail; Spam mail là hành động nhằm tê liệt dịch

vụ mail của hệ thống bằng cách gửi một số lượng lớn các messages tới một địa

chỉ không xác định, vì máy chủ mail luôn phải tốn năng lực đi tìm những địa chỉ

không có thực dẫn đến tình trạng ngưng trệ dịch vụ. Số lượng các messages có

thể sinh ra từ các chương trình làm bom thư rất phổ biến trên mạng Internet.

1.3.2.2 Loại B – Nguy hiểm

Các lỗ hổng loại này có mức độ nguy hiểm hơn lỗ hổng loại C, cho

phép người sử dụng nội bộ có thể chiếm được quyền cao hơn hoặc truy nhập

không hợp pháp. Những lỗ hổng loại này thường xuất hiện trong các dịch vụ

trên hệ thống. Người sử dụng local được hiểu là người đã có quyền truy nhập

vào hệ thống với một số quyền hạn nhất định.

Một dạng khác của lỗ hổng loại B xảy ra đối với các chương trình

có mã nguồn viết bằng ngôn ngữ lập trình C. Những chương trình viết bằng

ngôn ngữ lập trình C thường sử dụng một vùng đệm – là một vùng trong bộ nhớ

sử dụng để lưu dữ liệu trước khi xử lý. Những người lập trình thường sử dụng

vùng đệm trong bộ nhớ trước khi gán một khoảng không gian bộ nhớ cho từng

khối dữ liệu. Ví dụ, người sử dụng viết chương trình nhập trường tên người sử

dụng; qui định trường này dài 20 ký tự. Do đó họ sẽ khai báo: char first_name

[20];

13

Với khai báo này, cho phép người sử dụng nhập vào tối đa 20 ký

tự. Khi nhập dữ liệu, trước tiên dữ liệu được lưu ở vùng đệm; nếu người sử dụng

nhập vào 35 ký tự; sẽ xảy ra hiện tượng tràn vùng đệm và kết quả 15 ký tự dư

thừa sẽ nằm ở một vị trí không kiểm soát được trong bộ nhớ. Đối với những

người tấn công, có thể lợi dụng lỗ hổng này để nhập vào những ký tự đặc biệt,

để thực thi một số lệnh đặc biệt trên hệ thống. Thông thường, lỗ hổng này

thường được lợi dụng bởi những người sử dụng trên hệ thống để đạt được quyền

root không hợp lệ. Việc kiểm soát chặt chẽ cấu hình hệ thống và các chương

trình sẽ hạn chế được các lỗ hổng loại B.[6]

1.3.2.3 Loại A – Rất nguy hiểm

Các lỗ hổng loại A có mức độ rất nguy hiểm; đe dọa tính toàn vẹn

và bảo mật của hệ thống. Các lỗ hổng loại này thường xuất hiện ở những hệ

thống quản trị yếu kém hoặc không kiểm soát được cấu hình mạng.

Một ví dụ thường thấy là trên nhiều hệ thống sử dụng Web Server

là Apache, Đối với Web Server này thường cấu hình thư mục mặc định để chạy

các đoạn scripts là cgi-bin; trong đó tồn tại một đoạn scripts được viết sẵn để thử

hoạt động của apache là test-cgi. Đối với các phiên bản cũ của Apache (trước

version 1.1), có dòng sau trong file test-cgi:

echo QUERY_STRING = $QUERY_STRING

Biến môi trường QUERY_STRING do không được đặt trong có

dấu ” (quote) nên khi phía client thưc hiện một yêu cầu trong đó chuỗi ký tự gửi

đến gồm một số ký tự đặc biệt; ví dụ ký tự “*”, web server sẽ trả về nội dung

của toàn bộ thư mục hiện thời (là các thư mục chứa các scipts cgi). Người sử

dụng có thể nhìn thấy toàn bộ nội dung các file trong thư mục hiện thời trên hệ

thống server. Một ví dụ khác cũng xảy ra tương tự đối với các Web server chạy

trên hệ điều hành Novell; Các web server này có một scripts là convert.bas, chạy

scripts này cho phép đọc toàn bộ nội dung các files trên hệ thống.

14

Những lỗ hổng loại này hết sức nguy hiểm vì nó đã tồn tại sẵn có

trên phần mềm sử dụng; người quản trị nếu không hiểu sâu về dịch vụ và phần

mềm sử dụng sẽ có thể bỏ qua những điểm yếu này.

Đối với những hệ thống cũ, thường xuyên phải kiểm tra các thông

báo của các nhóm tin về bảo mật trên mạng để phát hiện những lỗ hổng loại này.

Một loạt các chương trình phiên bản cũ thường sử dụng có những lỗ hổng loại A

như: FTP, Gopher, Telnet, Sendmail, ARP, finger…[2]

Các loại bảo mật nêu trên có thể phân loại chung thành 03 mức độ

cơ bản của điểm yếu bảo mật như sau:

- Điểm yếu về kỹ thuật: bao gồm những kỹ thuật gồm có điểm yếu

trong các giao thức, hệ điều hành và các thiết bị phần cứng như

Server, Router, Switch

- Điểm yếu về cấu hình hệ thống: bao gồm lỗi do nhà quản trị tạo ra,

lỗi này do các thiếu sót trong việc cấu hình hệ thống như: không

đảm bảo thông tin mật tài khoản khách hàng, hệ thống tài khoản với

mật khẩu dễ dàng đoán biết, sử dụng các cấu hình mặc định trên

thiết bị.

- Điểm yếu trong chính sách bảo mật: chính sách bảo mật mô tả việc

làm thế nào và ở đâu chính sách bảo mật được thực hiện. Đây là

điều kiện quan trọng giúp việc bảo mật có hiệu quả tốt nhất.

1.4 Một số kiểu tấn công mạng

Có rất nhiều dạng tấn công mạng đang được biết đến hiện nay, dựa vào hành

động tấn công của tội phạm mạng có thể phân làm 02 loại là chủ động và bị

động.

- Tấn công chủ động (active attack): Kẻ tấn công thay đổi hoạt động của hệ

thống và hoạt động của mạng khi tấn công và làm ảnh hưởng đến tính

toàn vẹn, sẵn sàng và xác thực của dữ liệu.

15

- Tấn công bị động (passive attack): Kẻ tấn công cố gắng thu thập thông tin

từ hoạt động của hệ thống và hoạt động của mạng làm phá vỡ tính bí mật

của dữ liệu.

Dựa vào nguồn gốc của cuộc tấn công thì có thể phân loại tấn công thành 2 loại

hình tấn công bao gồm: tấn công từ bên trong và tấn công từ bên ngoài, tấn công

trực tiếp.

- Tấn công bên trong bao gồm những hành vi mang tính chất xâm nhập hệ

thống nhằm mục đích phá hoại. Kẻ tấn công bên trong thường là những người

nằm trong một hệ thống mạng nội bộ, lấy thông tin nhiều hơn quyền cho phép.

- Tấn công bên ngoài là những tấn công xuất phát từ bên ngoài hệ thống

như Internet hay các kết nối truy cập từ xa. Tấn công bên ngoài có thể là những

dạng tất công trực tiếp, các dạng tấn công này thông thường là sử dụng trong

giai đoạn đầu để chiếm quyền truy cập. Phổ biến nhất vẫn là cách dò tìm tên

người sử dụng và mật khẩu. Tội phạm mạng có thể sử dụng những thông tin liên

quan đến chủ tài khoản như ngày tháng năm sinh, tên vợ (chồng) hoặc con cái

hoặc số điện thoại để dò tìm thông tin tài khoản và mật khẩu với mục đích chiếm

quyền điều khiển của một tài khoản, thông thường đối với những tài khoản có

mật khẩu đơn giản thì tội phạm mạng chỉ dò tìm mật khẩu qua thông tin chủ tài

khoản, một cách tiếp cận việc chiếm quyền truy nhập bằng cách tìm tài khoản và

mật khẩu tài khoảng khác là dùng chương trình để dò tìm mật khẩu. Phương

pháp này trong một số khả năng hữu dụng thì có thể thành công đến 30%. Một

kiểu tấn công bên ngoài khác được đề cập đến nữa chính là hình thức nghe trộm,

việc nghe trộm thông tin trên mạng có thể đưa lại những thông tin có ích như

tên, mật khẩu của người sử dụng, các thông tin mật chuyển qua mạng. Việc nghe

trộm thường được tiến hành ngay sau khi kẻ tấn công đã chiếm được quyền truy

nhập hệ thống, thông qua các chương trình cho phép đưa card giao tiếp mạng

(Network Interface Card-NIC) vào chế độ nhận toàn bộ các thông tin lưu truyền

trên mạng. Những thông tin này cũng có thể dễ dàng lấy được trên Internet.

16

- Một số các lỗi khác liên quan đến con người, hệ thống cũng là những

kiểu tấn công trực tiếp từ bên ngoài nhưng có mức độ phức tạp và khó khăn hơn,

nguy hiểm nhất là yếu tố con người bởi nó là một trong nhiều điểm yếu nhất

trong bất kỳ hệ thống bảo mật nào[5] (trích website quantrimang.com)

- Khi một mạng máy tính bị tấn công, nó sẽ bị chiếm một lượng lớn tài

nguyên trên máy chủ, mức độ chiếm lượng tài nguyên này tùy thuộc vào khả

năng huy động tấn công của tội phạm mạng, đến một giới hạn nhất định khả

năng cung cấp tài nguyên của máy chủ sẽ hết và như vậy việc từ chối các yêu

cầu sử dụng dịch vụ của người dùng hợp pháp bị từ chối. Việc phát động tấn

công của tội phạm mạng còn tùy thuộc vào số lượng các máy tính ma mà tội

phạm mạng đó đang kiểm soát, nếu khả năng kiểm soát lớn thì thời gian để tấn

công và làm sập hoàn toàn một hệ thống mạng sẽ nhanh và cấp độ tấn công sẽ

tăng nhanh hơn, tội phạm mạng có thể một lúc tấn công nhiều hệ thống mạng

khác nhau tùy vào mức độ kiểm soát chi phối các máy tính ma như thế nào.

Các kiểu tấn công có nhiều hình thức khác nhau, nhưng thông thường đều thực

hiện qua các bước theo hướng mô tả sau:

+ Khảo sát thu thập thông tin về nơi chuẩn bị tấn công bằng các công cụ

để tìm hiểu đầy đủ về hệ thống mạng.

+ Sau khi đã thu thập đủ thông tin, tội phạm mạng sẽ dò tìm những thông

tin về lỗ hổng của bảo mật hệ thống dựa trên những thông tin đã tìm được, phân

tích điểm yếu của hệ thống mạng, sử dụng các bộ công cụ để dò quét tìm lỗi trên

hệ thống mạng đó.

+ Khi đã có trong tay những điểm yếu của hệ thống mạng, tội phạm mạng

sẽ tiến hành xâm nhập hệ thống mạng bằng các công cụ như làm tràn bộ đệm

hoặc tấn công từ chối dịch vụ.

+ Ở một số cuộc tấn công, người xâm nhập sau khi đã xâm nhập thành

công và khai thác được hệ thống mạng rồi sẽ thực hiện việc duy trì xâm nhập

17

với mục đích khai thác và xâm nhập trong tương lai gần. Tội phạm mạng có thể

sử dụng những thủ thuật như mở cửa sau (backdoor) hoặc cài đặt một trojan để

nhằm mục đích duy trì sự xâm nhập của mình. Việc duy trì và làm chủ một hệ

thống mạng tạo cho tội phạm mạng có đủ những điều kiện để khai thác, phục vụ

những nhu cầu về thông tin. Ngoài ra, hệ thống mạng này khi bị chiếm quyền

xâm nhập cũng sẽ trở thành nạn nhân của một hệ thống botnet được sử dụng

trong các cuộc tấn công khác mà cụ thể là tấn công từ chối dịch vụ đến một hệ

thống mạng khác.

+ Xóa dấu vết. Khi một kẻ tấn công đã xâm nhập thành công sẽ cố gắng

duy trì sự xâm nhập này. Bước tiếp theo là chúng phải làm sao xóa hết dấu vết

để không còn chứng cứ pháp lí xâm nhập. Kẻ tấn công phải xóa các tập tin log,

xóa các cảnh báo từ hệ thống phát hiện xâm nhập.

Ở các giai đoạn thu thập thông tin và dò tìm lỗ hổng trong bảo mật, kẻ tấn công

thường làm lưu lượng kết nối mạng thay đổi khác với lúc mạng bình thường rất

nhiều, đồng thời tài nguyên của hệ thống máy chủ sẽ bị ảnh hưởng đáng kể.

Những dấu hiệu này rất có ích cho người quản trị mạng có thể phân tích và đánh

giá tình hình hoạt động của hệ thống mạng. Hầu hết các cuộc tấn công đều tiến

hành tuần tự như các bước đã nêu trên. Làm sao để nhận biết hệ thống mạng

đang bị tấn công, xâm nhập ngay từ hai bước đầu tiên là hết sức quan trọng. Ở

giai đoạn xâm nhập, bước này không dễ dàng đối với kẻ tấn công. Do vậy, khi

không thể xâm nhập được vào hệ thống, để phá hoại có nhiều khả năng kẻ tấn

công sẽ sử dụng tấn công từ chối dịch vụ để ngăn cản không cho người dùng

hợp lệ truy xuất tài nguyên hệ thống.

1.5 Các giải pháp phát hiện và phòng chống tấn công mạng

1.5.1 Các biện pháp phát hiện hệ thống bị tấn công

Không có một hệ thống nào có thể đảm bảo an toàn tuyệt đối; bản thân

mỗi dịch vụ đều có những lỗ hổng bảo mật tiềm tàng. Đứng trên góc độ người

18

quản trị hệ thống, ngoài việc tìm hiểu phát hiện những lỗ hổng bảo mật còn luôn

phải thực hiện các biện pháp kiểm tra hệ thống xem có dấu hiệu tấn công hay

không. Các biện pháp đó là:

- Kiểm tra các dấu hiệu hệ thống bị tấn công: hệ thống thường bị treo

hoặc bị crash bằng những thông báo lỗi không rõ ràng, khó xác định nguyên

nhân hệ thống bị treo do thiếu thông tin liên quan. Trước tiên, xác định các

nguyên nhân về phần cứng hay không, nếu không phải phần cứng hãy nghĩ đến

khả năng máy bị tấn công

- Kiểm tra các tài khoản người dùng mới trên hệ thống: một số tài khoản

lạ, nhất là uid của tài khoản đó là zero

- Kiểm tra xuất hiện các tập tin lạ. Thường phát hiện thông qua cách đặt

tên các tập tin, mỗi người quản trị hệ thống nên có thói quen đặt tên tập tin theo

một mẫu nhất định để dễ dàng phát hiện tập tin lạ. Thực hiện các lệnh liệt kê

danh sách tập tin trong hệ thống để kiểm tra thuộc tính setuid và setgid đối với

những tập tin đáng chú ý (đặc biệt là các tập tin scripts).

- Kiểm tra thời gian thay đổi trên hệ thống, đặc biệt là các chương trình

login, sh hoặc các scripts khởi động trong /etc/init.d, /etc/rc.d …

- Kiểm tra hiệu năng của hệ thống. Sử dụng các tiện ích theo dõi tài

nguyên và các tiến trình đang hoạt động trên hệ thống như ps hoặc top …

- Kiểm tra hoạt động của các dịch vụ mà hệ thống cung cấp. Chúng ta đã

biết rằng một trong các mục đích tấn công là làm cho tê liệt hệ thống (Hình thức

tấn công DoS). Sử dụng các lệnh như ps, pstat, các tiện ích về mạng để phát hiện

nguyên nhân trên hệ thống.

- Kiểm tra truy nhập hệ thống bằng các account thông thường, đề phòng

trường hợp các account này bị truy nhập trái phép và thay đổi quyền hạn mà

người sử dụng hợp pháp không kiểm sóat được.

19

- Kiểm tra các file liên quan đến cấu hình mạng và dịch vụ như

/etc/inetd.conf; bỏ các dịch vụ không cần thiết; đối với những dịch vụ không cần

thiết chạy dưới quyền root thì không chạy bằng các quyền yếu hơn.

- Kiểm tra các phiên bản của sendmail, /bin/mail, ftp; tham gia các nhóm

tin về bảo mật để có thông tin về lỗ hổng của dịch vụ sử dụng

Các biện pháp này kết hợp với nhau tạo nên một chính sách về bảo mật

đối với hệ thống.

1.5.2 Giải pháp phát hiện và phòng chống xâm nhập

Phát hiện xâm nhập là một tập hợp các kỹ thuật và phương pháp dùng để

dò tìm những hoạt động đáng nghi ngờ trên mạng. Một hệ thống phát hiện xâm

nhập được định nghĩa là một tập hợp các công cụ, phương thức, và tài nguyên

giúp người quản trị xác định, đánh giá, và báo cáo hoạt động không được phép

trên mạng.

Phát hiện xâm nhập được xem là một tiến trình được quyết định khi một

người không xác thực đang cố gắng để xâm nhập hệ thống mạng trái phép. Hệ

thống phát hiện xâm nhập sẽ kiểm tra tất cả các gói tin đi qua hệ thống và quyết

định gói tin đó có vấn đề khả nghi hay không. Hệ thống phát hiện xâm nhập

đuợc trang bị hàng triệu tình huống để nhận dạng tấn công và đuợc cập nhật

thường xuyên. Chúng thực sự quan trọng và là lựa chọn hàng đầu để phòng thủ

trong việc phát hiện và phòng chống xâm nhập mạng.

Việc nghiên cứu xây dựng hệ thống phát hiện và phòng chống xâm nhập

(IDS/IPS) đang được phát triển mạnh và còn phát triển mạnh mẽ trong thời gian

tới. Các sản phẩm thương mại trên thị trường có chi phí rất lớn, vượt quá khả

năng đầu tư của nhiều doanh nghiệp. Bên cạnh đó, các nghiên cứu về mã nguồn

mở cũng đã được đầu tư nghiên cứu và triển khai. Có nhiều đề tài trong nước

nghiên cứu liên quan đến IDS/IPS bằng mã nguồn mở chủ yếu tập trung vào

Snort. Nhưng nhìn chung chưa được áp dụng rộng rãi, còn tồn tại nhiều hạn chế

20

như: do chương trình mã nguồn mở nên hầu hết không có giao diện thân thiện;

thành phần báo động không được tích hợp sẵn, hoặc nếu có cũng chỉ qua giao

diện console, hoặc qua giao diện Web chưa tạo được sự linh động và tiện dụng

cho người quản trị mạng; phần mềm mang tính đơn lẻ (chỉ tập trung nghiên cứu

về Snort) trong khi nhu cầu tích hợp nhiều tính năng giám sát khác để nâng cao

hiệu quả sử dụng chưa được chú trọng và phát triển. Hơn nữa, các dấu hiệu của

các kiểu tấn công ngày một tinh vi phức tạp đòi hỏi hệ thống phát hiện và phòng

chống xâm nhập (IDS/IPS) phải được thường xuyên cập nhật những dấu hiệu

mới. Người quản trị mạng còn có thể dựa vào những phân tích khác như những

dấu hiệu bất thường về lưu lượng ra vào hệ thống, hoạt động của CPU, RAM...

để có những phản ứng kịp thời. Bên cạnh đó, hệ thống báo động cũng cần triển

khai mang tính chất đa dạng nhiều hình thức, linh động, tiện dụng thực sự hỗ trợ

thiết thực cho người quản trị mạng.

Các nghiên cứu đã chứng minh rằng hầu hết các hệ thống có đặc điểm

chung là tính đa dạng và thay đổi. Việc nghiên cứu và triển khai một hệ thống

giám sát mạng, phát hiện và phòng chống xâm nhập với các yếu tố: chính xác,

nhanh chóng, trực quan, linh động và tiện lợi là vấn đề cấp thiết trong thực tế.

Phát triển hệ thống giám sát trực quan theo dõi các diễn biến trên mạng

như lưu lượng ra vào một Server, Switch, … hay hoạt động của CPU, bộ nhớ,

… giúp người quản trị mạng có những phân tích để đưa ra ứng phó kịp thời.

Hệ thống phát hiện xâm nhập dựa vào những mẫu dấu hiệu tấn công triển

khai để giúp phát hiện nhanh các cuộc tấn công mạng. Hệ thống phát hiện này

kết hợp với tường lửa sẽ chống lại các cuộc tấn công xâm nhập. Tuy nhiên, các

dấu hiệu của các kiểu tấn công ngày một tinh vi phức tạp thì hệ thống phát hiện

phải được thường xuyên cập nhật những dấu hiệu mới. Để có thể phát hiện

nhanh chóng các bất thường trên mạng, người quản trị mạng còn có thể dựa vào

những đồ thị trực quan về lưu lượng ra vào hệ thống để có những phản ứng kịp

thời.

21

Hệ thống báo động cũng cần triển khai để thông báo cho người quản trị

trong một số trường hợp: Server ngưng hoạt động, một dịch vụ mạng ngưng

hoạt động hay có tấn công mạng. Hệ thống báo động có thể được triển khai qua

nhiều hình thức để phát báo động như: bằng Web, E-mail hay qua tin nhắn SMS

đến người quản trị mạng.

CHƯƠNG 2: HỆ THỐNG PHÁT HIỆN VÀ PHÒNG

CHỐNG XÂM NHẬP

2.1 Vai trò, chức năng của hệ thống phát hiện và phòng chống xâm nhập

2.1.1 Lịch sử phát triển

Được ra đời từ các nghiên cứu về hệ thống phát hiện xâm nhập cách đây

25 năm nhưng trong khoảng thời gian từ năm 1983 đến năm 1988 các nghiên

cứu về hệ thống phát hiện xâm nhập IDS (Intrusion Detection System) mới

chính thức được công bố chính thức và đến 1996 đã có một số các hệ thống IDS

được ứng dụng chủ yếu trong các phòng thí nghiệm và các viện nghiên cứu

mạng. Đến năm 1997 hệ thống phát hiện xâm nhập IDS mới được biết đến rộng

rãi và đưa vào thực nghiệm đem lại nhiều lợi nhuận cho ISS - công ty đi đầu

trong việc nghiên cứu hệ thống phát hiện xâm nhập mạng.

IPS được hiểu là một hệ thống chống xâm nhập (Intrusion Prevention

System –IPS) được định nghĩa là một phần mềm hoặc một thiết bị chuyên dụng

có khả năng phát hiện xâm nhập và có thể ngăn chặn các nguy cơ gây mất an

ninh. IDS và IPS có rất nhiều điểm chung, do đó hệ thống IDS và IPS có thể

được gọi chung là IDP- Intrusion Detection and Prevention.

Trước những mặt hạn chế của IDS thì việc phát triển một hệ thống IPS là

cần thiết, nhất là sau khi xuất hiện các cuộc tấn công ồ ạt trên quy mô lớn như

Code Red, NIMDA, SQL Slammer, một vấn đề được đặt ra là làm sao có thể tự

động ngăn chặn được các tấn công chứ không chỉ đưa ra các cảnh báo mục đích

nhằm giảm thiểu công việc của người quản trị hệ thống. Hệ thống IPS được ra

đời vào năm 2003 và ngay sau đó, năm 2004 nó được phổ biến rộng rãi. Kết hợp

với việc nâng cấp các thành phần quản trị, hệ thống IPS xuất hiện đã dần thay

thế cho IDS bởi nó giảm bớt được các yêu cầu tác động của con người trong

việc đáp trả lại các nguy cơ phát hiện được, cũng như

23

giảm bớt được phần nào gánh nặng của việc vận hành. Hơn nữa trong một số

trường hợp đặc biệt, một IPS có thể hoạt động như một IDS bằng việc ngắt bỏ

tính năng ngăn chặn xâm nhập. Ngày nay các hệ thống mạng đều hướng tới sử

dụng các giải pháp IPS thay vì hệ thống IDS và còn phát triển mạnh trong công

nghệ an ninh mạng.

2.1.2 Vai trò, chức năng của hệ thống phát hiện và phòng chống xâm

nhập

Hệ thống phát hiện xâm nhập dùng để lắng nghe, dò tìm các gói tin qua hệ

thống mạng để phát hiện những dấu hiệu bất thường trong mạng. Thông thường

những dấu hiệu bất thường là những dấu hiệu của những cuộc tấn công xâm

nhập mạng. IDS sẽ phát những tín hiệu cảnh báo tới người quản trị mạng.

Hệ thống phòng chống xâm nhập (Intrusion Prevention System – IPS) là

một phần mềm hoặc một thiết bị chuyên dụng có khả năng phát hiện xâm nhập

và có thể ngăn chặn các nguy cơ mạng bị tấn công. IDS và IPS có rất nhiều điểm

chung, do đó hệ thống IDS và IPS có thể được gọi chung là hệ thống phát hiện

và phòng chống xâm nhập (IDS/IPS).

Hệ thống IPS là một kỹ thuật an ninh mới, kết hợp các ưu điểm của kỹ

thuật tường lửa (firewall) với hệ thống phát hiện xâm nhập, có khả năng phát

hiện sự xâm nhập, các cuộc tấn công và tự động ngăn chặn các cuộc tấn công

đó. Hệ thống IDS/IPS thường được đặt ở phần biên mạng để bảo vệ tất cả các

thiết bị trong mạng.

Một vài chức năng cơ bản của IDS/IPS:

+ Nhận diện các nguy cơ có thể xảy ra.

+ Ghi nhận thông tin, log để phục vụ cho việc kiểm soát nguy cơ.

+ Nhận diện các hoạt động thăm dò hệ thống.

24

+ Nhận diện các yếu khuyết của chính sách bảo mật.

+ Ngăn chặn vi phạm chính sách bảo mật.

+ Lưu giữ thông tin liên quan đến các đối tượng quan sát

+ Cảnh báo những sự kiện quan trọng liên quan đến đối tượng quan sát

+ Ngăn chặn các tấn công (IPS)

+ Xuất báo cáo

2.2 Đặc điểm, kiến trúc hệ thống của IDS/IPS

2.2.1 Cơ sở hạ tầng của hệ thống IDS/IPS

Nhiệm vụ chính của hệ thống IDS/IPS là phòng thủ máy tính bằng cách

phát hiện một cuộc tấn công và có thể đẩy lùi nó. Phát hiện vụ tấn công thù địch

phụ thuộc vào số lượng và loại hành động thích hợp.

Hình 2.1 Hoạt động của hệ thống IDS/IPS[13]

Công tác phòng chống xâm nhập đòi hỏi một sự kết hợp tốt được lựa chọn

25

của "mồi và bẫy" nhằm điều tra các mối đe dọa, nhiệm vụ chuyển hướng sự chú

ý của kẻ xâm nhập từ các hệ thống cần bảo vệ sang các hệ thống giả lập là

nhiệm vụ của 1 dạng IDS riêng biệt (Honeypot IDS), cả hai hệ thống thực và giả

lập được liên tục giám sát và dữ liệu thu được được kiểm tra cẩn thận (đây là

công việc chính của mỗi hệ IDS/IPS) để phát hiện các cuộc tấn công có thể (xâm

nhập).

Một khi xâm nhập đã được phát hiện, hệ thống IDS/IPS phát các cảnh báo

đến người quản trị về sự kiện này. Bước tiếp theo được thực hiện, hoặc bởi các

quản trị viên hoặc bởi chính hệ thống IDS/IPS , bằng cách áp dụng các biện

pháp đối phó (chấm dứt phiên làm việc, sao lưu hệ thống, định tuyến các kết nối

đến Honeypot IDS hoặc sử dụng các cơ sở hạ tầng pháp lý v.v) – tùy thuộc vào

chính sách an ninh của mỗi tổ chức.

Hệ thống IDS/IPS là một thành phần của chính sách bảo mật. Trong số

các nhiệm vụ IDS khác nhau, nhận dạng kẻ xâm nhập là một trong những nhiệm

vụ cơ bản. Nó có thể hữu ích trong các nghiên cứu giám định sự cố và tiến hành

cài đặt các bản patches thích hợp để cho phép phát hiện các cuộc tấn công trong

tương lai nhắm vào mục tiêu cụ thể.

Hình 2.2 Cơ sở hạ tầng hệ thống IDS/IPS[7]

2.2.2 Kiến trúc hệ thống phát hiện xâm nhập

26

2.2.2.1 Cấu trúc

Sensor / Agent: Giám sát và phân tích các hoạt động. “Sensor”

thường được dùng cho dạng Network-base IDS/IPS trong khi “Agent” thường

được dùng cho dạng Host-base IDS/IPS

Management Server: Là 1 thiết bị trung tâm dùng thu nhận các

thông tin từ Sensor / Agent và quản lý chúng. 1 số Management Server có thể

thực hiện việc phân tích các thông tin sự việc được cung cấp bởi Sensor / Agent

và có thể nhận dạng được các sự kiện này dù các Sensor / Agent đơn lẻ không

thể nhận diện được

Database server: Dùng lưu trữ các thông tin từ Sensor / Agent hay

Management Server

Console: Là 1 chương trình cung cấp giao diện cho IDS/IPS users

/ Admins. Có thể cài đặt trên một máy tính bình thường dùng để phục vụ cho tác

vụ quản trị, hoặc để giám sát, phân tích.

2.2.2.2 Kiến trúc của hệ thống IDS/IPS

Hình 2.3 Hệ thống mẫu phát hiện xâm nhập[7]

27

Trong hệ thống phát hiện xâm nhập, sensor được tích hợp với thành

phần sưu tập dữ liệu – một bộ tạo sự kiện. Cách sưu tập này được xác định bởi

chính sách tạo sự kiện để định nghĩa chế độ lọc thông tin sự kiện. Bộ tạo sự kiện

(hệ điều hành, mạng, ứng dụng) cung cấp một số chính sách thích hợp cho các

sự kiện, có thể là một bản ghi các sự kiện của hệ thống hoặc các gói mạng. Số

chính sách này cùng với thông tin chính sách có thể được lưu trong hệ thống

được bảo vệ hoặc bên ngoài. Trong trường hợp nào đó, ví dụ, khi luồng dữ liệu

sự kiện được truyền tải trực tiếp đến bộ phân tích mà không có sự lưu dữ liệu

nào được thực hiện. Điều này cũng liên quan một chút nào đó đến các gói mạng.

Kiến trúc của hệ thống IDS bao gồm các thành phần chính:

+ Thành phần thu thập thông tin (information collection).

+ Thành phần phân tích gói tin (Detection).

+ Thành phần phản hồi (response).

Hình 2.4 Thành phần của kiến trúc IDS[7]

Trong ba thành phần này thì thành phần phân tích gói tin là quan trọng

28

nhất và trong thành phần này sensor đóng vai trò quyết định. Sensor được tích

hợp với thành phần thu thập dữ liệu. Cách thu thập này được xác định bởi chính

sách tạo sự kiện để định nghĩa chế độ lọc thông tin sự kiện. Bộ tạo sự kiện cung

cấp một số chính sách thích hợp cho các sự kiện, có thể là một bản ghi các sự

kiện của hệ thống. Số chính sách này cùng với thông tin chính sách có thể được

lưu trong hệ thống được bảo vệ hoặc bên ngoài.

Vai trò của sensor là dùng để lọc thông tin và loại bỏ dữ liệu không tương

thích đạt được từ các sự kiện liên quan với hệ thống bảo vệ, vì vậy có thể phát

hiện được các hành động nghi ngờ. Bộ phân tích sử dụng cơ sở dữ liệu chính

sách phát hiện cho mục này. Ngoài ra còn có các thành phần: dấu hiệu tấn công,

profile hành vi thông thường, các tham số cần thiết (ví dụ: các ngưỡng). Thêm

vào đó, cơ sở dữ liệu giữ các tham số cấu hình, gồm có các chế độ truyền thông

với module đáp trả. Bộ cảm biến cũng có cơ sở dữ liệu của riêng nó, gồm dữ

liệu lưu về các xâm phạm phức tạp tiềm ẩn (tạo ra từ nhiều hành động khác

nhau).

IDS có thể được sắp đặt tập trung hoặc phân tán. Một IDS phân tán gồm

nhiều IDS khác nhau trên một mạng lớn, tất cả chúng truyền thông với nhau

được gọi là cấu trúc đa tác nhân. Nhiều hệ thống tinh vi đi theo nguyên lý cấu

trúc một tác nhân, nơi các module nhỏ được tổ chức trên một host trong mạng

được bảo vệ. Vai trò của tác nhân là để kiểm tra và lọc tất cả các hành động bên

trong vùng được bảo vệ và phụ thuộc vào phương pháp được đưa. Mạng các tác

nhân hợp tác báo cáo đến máy chủ phân tích trung tâm là một trong những thành

phần quan trọng của IDS. IDS có thể sử dụng nhiều công cụ phân tích tinh vi

hơn, đặc biệt được trang bị sự phát hiện các tấn công phân tán. Các vai trò khác

của tác nhân liên quan đến khả năng lưu động và tính roaming của nó trong các

vị trí vật lý. Thêm vào đó, các tác nhân có thể đặc biệt dành cho việc phát hiện

dấu hiệu tấn công đã biết nào đó. Đây là một hệ số quyết định khi nói đến nghĩa

bảo vệ liên quan đến các kiểu tấn công mới. Các giải pháp dựa trên tác nhân IDS

cũng sử dụng các cơ chế ít phức tạp hơn cho việc nâng cấp chính sách đáp trả.

29

Giải pháp kiến trúc đa tác nhân được đưa ra năm 1994. Giải pháp này sử

dụng các tác nhân để kiểm tra một khía cạnh nào đó về các hành vi hệ thống ở

một thời điểm nào đó. Ví dụ như một tác nhân có thể cho biết một số thông tin

không bình thường của các phiên Telnet bên trong hệ thống nó kiểm tra.

Tác nhân có khả năng đưa ra một cảnh báo khi phát hiện một sự kiện khả

nghi. Các tác nhân có thể được sao chép và thay đổi bên trong các hệ thống khác

(tính năng tự trị). Một phần trong các tác nhân, hệ thống có thể có các bộ phận

thu phát để kiểm tra tất cả các hành động được kiểm soát bởi các tác nhân ở một

host cụ thể nào đó. Các bộ thu nhận luôn luôn gửi các kết quả hoạt động của

chúng đến bộ kiểm tra duy nhất. Các bộ kiểm tra nhận thông tin từ các mạng

(không chỉ từ một host), điều đó có nghĩa là chúng có thể tương quan với thông

tin phân tán. Thêm vào đó, một số bộ lọc có thể được đưa ra để chọn lọc và thu

thập dữ liệu.

Hình 2.5 Các tác nhân tự trị cho việc phát hiện xâm nhập[7]

2.3 Phân loại IDS/IPS

Có hai phương pháp khác nhau trong việc phân tích các sự kiện để phát hiện các

vụ tấn công: phát hiện dựa trên các dấu hiệu và phát hiện sự bất thường. Các sản

phẩm IDS có thể sử dụng một trong hai cách hoặc sử dụng kết hợp cả hai.

30

+ Phát hiện dựa trên dấu hiệu: Phương pháp này nhận dạng các sự kiện

hoặc tập hợp các sự kiện phù hợp với một mẫu các sự kiện đã được định nghĩa là

tấn công.

+ Phát hiện sự bất thường: công cụ này thiết lập một hiện trạng các hoạt

động bình thường và sau đó duy trì một hiện trạng hiện hành cho một hệ thống.

Khi hai yếu tố này xuất hiện sự khác biệt, nghĩa là đã có sự xâm nhập.

Các hệ thống IDS khác nhau đều dựa vào phát hiện các xâm nhập trái phép và

những hành động dị thường. Quá trình phát hiện có thể được mô tả bởi 3 yếu tố

cơ bản nền tảng sau:

- Thu thập thông tin (information collection): Kiểm tra tất cả các gói tin

trên mạng.

- Sự phân tích (Analysis): Phân tích tất cả các gói tin đã thu thập để cho

biết hành động nào là tấn công.

- Cảnh báo (response): hành động cảnh báo cho sự tấn công được phân

tích ở trên.

Hình 2.6 Phân loại IDS/IPS[10]

31

2.3.1 Host-based IDS/IPS (HIDS)

Bằng cách cài đặt một phần mềm trên tất cả các máy tính chủ, IPS dựa

trên máy chủ quan sát tất cả những hoạt động hệ thống, như các file log và

những lưu lượng mạng thu thập được. Hệ thống dựa trên máy chủ cũng theo dõi

OS, những cuộc gọi hệ thống, lịch sử sổ sách (audit log) và những thông điệp

báo lỗi trên hệ thống máy chủ. Trong khi những đầu dò của mạng có thể phát

hiện một cuộc tấn công, thì chỉ có hệ thống dựa trên máy chủ mới có thể xác

định xem cuộc tấn công có thành công hay không. Thêm nữa là, hệ thống dựa

trên máy chủ có thể ghi nhận những việc mà người tấn công đã làm trên máy

chủ bị tấn công (compromised host).

Không phải tất cả các cuộc tấn công được thực hiện qua mạng. Bằng cách

giành quyền truy cập ở mức vật lý (physical access) vào một hệ thống máy tính,

kẻ xâm nhập có thể tấn công một hệ thống hay dữ liệu mà không cần phải tạo ra

bất cứ lưu lượng mạng (network traffic) nào cả. Hệ thống dựa trên máy chủ có

thể phát hiện các cuộc tấn công mà không đi qua đường công cộng hay mạng

được theo dõi, hay thực hiện từ cổng điều khiển (console), nhưng với một kẻ

xâm nhập có hiểu biết, có kiến thức về hệ IDS thì hắn có thể nhanh chóng tắt tất

cả các phần mềm phát hiện khi đã có quyền truy cập vật lý.

Một ưu điểm khác của IDS dựa trên máy chủ là nó có thể ngăn chặn các

kiểu tấn công dùng sự phân mảnh hoặc TTL. Vì một host phải nhận và tái hợp

các phân mảnh khi xử lí lưu lượng nên IDS dựa trên host có thể giám sát chuyện

này.

HIDS thường được cài đặt trên một máy tính nhất định. Thay vì giám sát

hoạt động của một network segment, HIDS chỉ giám sát các hoạt động trên một

máy tính. HIDS thường được đặt trên các host xung yếu của tổ chức, và các

server trong vùng DMZ - thường là mục tiêu bị tấn công đầu tiên. Nhiêm vụ

chính của HIDS là giám sát các thay đổi trên hệ thống, bao gồm (không phải là

tất cả):

- Các tiến trình.

32

- Các entry của Registry.

- Mức độ sử dụng CPU.

- Kiểm tra tính toàn vẹn và truy cập trên hệ thống file.

- Một vài thông số khác.

Các thông số này khi vượt qua một ngưỡng định trước hoặc những thay

đổi khả nghi trên hệ thống file sẽ gây ra báo động.

Hình 2.7 Mô hình vị trí của HIDS/IPS trong hệ thống mạng

2.3.2 Network Base IDS/IPS (NIDS/IPS)

Hệ thống IDS dựa trên mạng sử dụng bộ dò và sensor cài đặt trên toàn

mạng. Những bộ dò này theo dõi trên mạng nhằm tìm kiếm những lưu lượng

trùng với những mô tả sơ lược được định nghĩa hay là những dấu hiệu. Những

sensor thu nhận và phân tích lưu lượng trong thời gian thực. Khi ghi nhận được

một mẫu lưu lượng hay dấu hiệu, bộ cảm biến gửi tín hiệu cảnh báo đến trạm

33

quản trị và có thể được cấu hình nhằm tìm ra biện pháp ngăn chặn những xâm

nhập xa hơn. NIPS là tập nhiều sensor được đặt ở toàn mạng để theo dõi những

gói tin trong mạng so sánh với với mẫu đã được định nghĩa để phát hiện đó là

tấn công hay không. Được đặt giữa kết nối hệ thống mạng bên trong và mạng

bên ngoài để giám sát toàn bộ lưu lượng vào ra. Có thể là một thiết bị phần cứng

riêng biệt được thiết lập sẵn hay phần mềm cài đặt trên máy tính. Chủ yếu dùng

để đo lưu lượng mạng được sử dụng. Tuy nhiên có thể xảy ra hiện tượng nghẽn

cổ chai khi lưu lượng mạng hoạt động ở mức cao

Hình 2.8 Mô hình vị trí NIDS/IPS trong một hệ thống mạng

Một cách mà các hacker cố gắng nhằm che đậy cho hoạt động của họ khi

gặp hệ thống IDS dựa trên mạng là phân mảnh những gói thông tin của họ. Mỗi

giao thức có một kích cỡ gói dữ liệu giới hạn, nếu dữ liệu truyền qua mạng lớn

hơn kích cỡ này thì gói dữ liệu đó sẽ được phân mảnh. Phân mảnh đơn giản chỉ

là quá trình chia nhỏ dữ liệu ra những mẫu nhỏ. Thứ tự của việc sắp xếp lại

không thành vấn đề miễn là không xuất hiện hiện tượng chồng chéo. Nếu có

hiện tượng phân mảnh chồng chéo, bộ cảm biến phải biết quá trình tái hợp lại

cho đúng. Nhiều hacker cố gắng ngăn chặn phát hiện bằng cách gởi nhiều gói dữ

34

liệu phân mảnh chồng chéo. Một bộ cảm biến sẽ không phát hiện các hoạt động

xâm nhập nếu bộ cảm biến không thể sắp xếp lại những gói thông tin một cách

chính xác.

2.3.3 Triển khai hệ thống IDS/IPS

Thông thường có nhiều cách để triển khai một hệ thống IDS/IPS, tuy

nhiên thường được dùng nhiều để triển khai trong một hệ thống mạng là 02 cách

thức triển khai như sau:

+ In-line (thẳng hàng)

Hình 2.9 Mô hình triển khai theo kiểu thẳng hàng

Người ta đặt một sensor thẳng hàng sao cho nó có thể giám sát được các

lưu lượng mạng đi qua nó như trong trường hợp của firewall. Thực tế là 1 số

Sensor thẳng hàng được sử dụng như 1 loại lai giữa firewall và NIDS/IPS, một

số khác là NIDS thuần túy. Động cơ chính của việc triển khai Sensor kiểu thẳng

hàng là nó có thể dừng các tấn công bằng việc chặn lưu lượng mạng ( blocking

network traffic ). Sensor thẳng hàng thường được triển khai tại vị trí tương tự

với firewall và các thiết bị bảo mật khác: ranh giới giữa các mạng. Sensor thẳng

35

hàng có thể được triển khai ở những vùng mạng kém bảo mật hơn hoặc phía

trước các thiết bị bảo mật, firewall mục đích để giảm tải cho các thiết bị này.

Tuy nhiên vị trí này sẽ làm cho tốc độ luồng thông tin qua ra vào mạng

chậm hơn, với mục tiêu ngăn chặn các cuộc tấn công, hệ thống IDS/IPS phải

hoạt động theo thời gian thực. Tốc độ hoạt động của hệ thống là một yếu tố rất

quan trọng. Quá trình phát hiện xâm nhập phải đủ nhanh để có thể ngăn chặn

các cuộc tấn công ngay lập tức.

+ Passive (Thụ động)

Sensor kiểu thụ động được triển khai sao cho nó có thể giám sát 01 bản

sao của các lưu lượng trên mạng. Thường được triển khai giám sát các vị trí

quan trọng trong mạng như ranh giới giữa các mạng, các đoạn mạng quan trọng

ví dụ như Server farm hoặc DMZ. Sensor thụ động có thể giám sát lưu lượng

mạng qua nhiều cách như Spanning port (hoặc Mirror port), Network tap hoặc

IDS loadbalancer.

Hình 2.10 Mô hình triển khai kiểu thụ động

36

Khả năng thu thập thông tin bao gồm nhận dạng các host, hệ điều hành,

các ứng dụng, đặc điểm mạng. Khả năng ghi log file. Khả năng nhận diện những

hoạt động thăm dò, vi phạm chính sách hoặc các dịch vụ ứng dụng không mong

đợi. Khả năng ngăn chặn của kiểu thụ động là ngắt phiên TCP hiện tại

Cần lưu ý khi triển khai hệ thống IDS/IPS là phải triển khai các Sensor ở

dạng ẩn (Stealth mode). Trong dạng này, các giao diện của Sensor không được

gán địa chỉ IP (trừ giao diện quản lý) để tránh việc khởi tạo kết nối từ các host

khác nhằm ẩn Sensor khỏi sự phát hiện của kẻ tấn công.

Điểm yếu của hệ thống NIDS/IPS chính là việc nó rất dễ bị ảnh hưởng bởi

nhiều loại tấn công liên quan đến khối lượng lưu lượng mạng lớn ( large volume

of network traffic ) và kiến trúc Single-point of Failure khi triển khai Sensor

kiểu thẳng hàng.

2.3.4 Khả năng phát hiện và phòng chống xâm nhập của IDS/IPS

Hệ thống IDS/IPS hoạt động theo kiểu nhận dạng mẫu gói tin (packet).

Nó sẽ so sánh những gói tin trùng với gói tin mẫu tấn công mà nó có, nếu trùng

khớp thì kết luận đây là loại gói tin tấn công và hệ thống sẽ phát cảnh báo hoặc

gởi tín hiệu tới tường lửa để ngăn cản gói tin đi vào mạng bên trong. Hiện nay

đa số IDS/IPS hoạt động theo kiểu này. Tuy nhiên nếu kiểu tấn công mới thì

IDS/IPS không nhận biết được, nên phải cập nhật các luật (dấu hiệu tấn công)

thường xuyên giống như cập nhật virus. Nếu hoạt động theo kiểu thông minh thì

IDS theo dõi mạng xem có hiện tượng bất thường hay không và phản ứng lại.

Lợi điểm là có thể nhận biết các kiểu tấn công mới, nhưng nhiều trường hợp bị

báo động nhầm có nghĩa là không phải trường hợp tấn công mà vẫn gây báo

động.

Như vậy, sau khi hệ thống IDS đã phát hiện ra tấn công, xâm nhập thì có

thể thực hiện các hành động sau:

+ Gửi tín hiệu đến tường lửa để ngăn chặn tấn công. Trường hợp này gọi

là hệ thống phát hiện và phòng chống xâm nhập (IDS/IPS)

37

+ Chỉ đưa ra cảnh báo cho người quản trị mạng: hệ thống phát hiện xâm

nhập trái phép (IDS).

Để phòng chống tấn công xâm nhập, có thể kết hợp hệ thống phát hiện

với hệ thống tường lửa để ngăn cản những gói tin tấn công đi vào mạng bên

trong. Một trong những hệ thống tường lửa được sử dụng phổ biến trong các

phần mềm nguồn mở là Iptables. Có nhiều công cụ nguồn mở cho phép chuyển

đổi các luật trong Snort thành các luật trong Iptables như Snort-inline,

SnortSam, Fwsnort, … Trong luận văn này sẽ sử dụng Fwsnort để cài đặt thực

nghiệm.

2.4 Hệ thống giám sát lưu lượng mạng

Ngoài việc theo dõi những gói tin để phát hiện việc xâm nhập và phòng chống

việc xâm nhập trái phép, việc theo dõi giám sát lưu lượng mạng, các dịch vụ

mạng và thiết bị tham gia hoạt động trong hệ thống mạng cũng không kém phần

quan trọng, việc giám sát bao gồm các lưu lượng mạng, hoạt động của CPU,

RAM hay các trạng thái hoạt động của các máy chủ cung cấp các dịch vụ mạng.

Theo dõi hoạt động của các thiết bị mạng như Router, Switch cũng là những nhu

cầu đang được quan tâm hiện nay nhằm mục đích nâng cao hoạt động của hệ

thống mạng, đảm bảo ổn định và đem lại hiệu quả cao. Việc giám sát lưu lượng

mạng, các dịch vụ và thiết bị giúp cho quản trị viên nhanh chóng biết được vấn

đề cũng như tình hình hoạt động của hệ thống mạng mình đang quản lý, nhanh

chóng đưa ra những phương án cụ thể nhằm tối ưu hóa hệ thống hay những

chính sách nhằm khắc phục sự cố và tăng cường an ninh bảo mật cho hệ thống

mạng.

Hệ thống IDS/IPS đã nêu ở trên hoàn toàn có thể phát hiện được những hành vi

xâm nhập mạng và có khả năng phòng chống việc những hành vi xâm nhập trái

phép đó dựa vào các dấu hiệu nhận biết tấn công được lưu trữ và cập nhật

thường xuyên. Tuy nhiên hầu như các hệ thống phát hiện xâm nhập và phòng

chống xâm nhập đều không hoàn toàn an toàn, ngành bảo mật luôn phải tìm ra

giải pháp sau những cuộc xâm nhập trái phép trước đó và hệ thống phát hiện và

38

phòng chống xâm nhập cũng sẽ dễ dàng bị loại bỏ nếu có những dấu hiệu tấn

công mới nhưng chưa được hệ thống cập nhật đầy đủ hoặc chưa biết tới, các tập

luật của hệ thống phát hiện chưa cập nhật đầy đủ sẽ dễ dàng bị qua mặt bởi

những dấu hiệu tấn công mới đó.

Cùng sự kết hợp với hệ thống giám sát lưu lượng mạng, những hoạt động của

thiết bị mạng, dịch vụ mạng trong hệ thống sẽ được theo dõi theo thời gian thực

trên hệ thống, giúp mô tả trực quan sự hoạt động của toàn hệ thống, các biểu đồ,

đồ thị hiển thị các trạng thái của hệ thống mạng giúp quản trị viên dễ tổng hợp,

phân tích những việc đang diễn ra nhằm đề xuất giải pháp cho những sự cố

mang tính nguy hại cho hệ thống có thể xảy ra.

Ngoài ra, người quản trị có thể thiết lập những ngưỡng cảnh báo để kết hợp với

hệ thống báo động để giúp người quản trị nhanh chóng có được những thông tin

về những cuộc tấn công hay phát hiện những bất thường trong hệ thống. Nhưng

bất thường ở đây như là một dịch vụ mạng ngưng hoạt động, máy chủ ngưng

hoạt động, hay CPU hoạt động quá tải (đặt ngưỡng cảnh báo).

Trong phạm vi luận văn này, tác giả đề xuất sử dụng chức năng giám sát lưu

lượng mạng, dịch vụ mạng và thiết bị hoạt động trong mạng dựa trên 02 chương

trình mã nguồn mở là Nagios và Cacti. Hai chương trình mã nguồn mở này sẽ có

sự kết hợp với hệ thống IDS/IPS để tạo nên một hệ thống giám sát đầy đủ, cụ

thể giúp quản trị viên hoạt động tốt hơn trong việc theo dõi giám sát và quản trị

hiệu quả hơn hệ thống mạng do mình quản trị.

2.5 Hệ thống báo động

Một trong những thành phần quan trọng trong việc theo dõi tình trạng hoạt động

của hệ thống đối với người quản trị mạng là có thể phát hiện các sự cố hệ thống

một cách nhanh chóng. Đây cũng là một yêu cầu lớn đặt ra cho hệ thống phát

hiện và phòng chống xâm nhập.

Như đã đề cập ở phần trên, hệ thống báo động là một thành phần quan trọng

trong hệ thống giám sát mạng, nó kết hợp với hệ thống dò tìm xâm nhập và hệ

39

thống giám sát trạng thái hoạt động của các thiết bị (host) và dịch vụ (service)

phát ra những tín hiệu cảnh báo đến người quản trị khi hệ thống có sự cố xâm

nhập hay sự cố bất thường khác xảy ra… Những thông tin từ hệ thống phát hiện

xâm nhập hay hệ thống phát hiện những dấu hiệu bất thường được chuyển tới hệ

thống báo động để phát cảnh báo tới người quản trị.

Hệ thống báo động trong luận văn này sẽ được trình bày và cài đặt trong mô

hình thực nghiệm bao gồm: hệ thống báo động trên giao diện Web, qua e-mail

và gửi tin nhắn SMS qua điện thoại di động.

Đặc biệt trong luận văn này, phần báo động SMS sử dụng giải pháp GSM/GPRS

gateway. Nó có khả năng báo động thẳng đến điện thoại di động mà không

thông qua bước trung gian nào. Có nghĩa là trong trường hợp kết nối Internet bị

ngắt thì hệ thống vẫn làm việc bình thường. Thành phần kết nối với thiết bị SMS

Gateway sẽ sử dụng là phần mềm nguồn mở Gnokii SMS kết hợp với thiết bị

phần cứng GSM/GPRS modem hoặc Mobile phone để thực nghiệm.

Hình 2.11 Thiết bị dùng trong hệ thống báo động

Hoạt động của hệ thống báo động được mô tả như sau: Hệ thống giám sát mạng

sẽ theo dõi tình trạng hoạt động của toàn hệ thống, ngay khi phát hiện ra những

dấu hiệu bất thường. Các dấu hiệu bất thường sẽ được ngay lập tức gởi đến

GSM/GPRS modem và phát cảnh báo SMS tới người quản trị mạng.

2.6 SNMP và hệ thống giám sát mạng

SNMP (Simple Network Management Protocol) là một giao thức được sử dụng

trong hệ thống mạng nhằm mục đích theo dõi trạng thái của các thiết bị. SNMP

40

làm nhiệm vụ thu thập thông tin từ các thiết bị mạng (Router, Switch, Server…)

cần giám sát và gửi về cho chương trình giám sát để phân tích và sử dụng để

hiển thị ra giao diện quản trị các thông tin cần thiết theo mục đích của chương

trình giám sát. Trong SNMP có 3 vấn đề cần quan tâm: Manager, Agent và MIB

(Management Information Base).

- MIB: là cơ sở dữ liệu dùng phục vụ cho Manager và Agent.

- Manager: nằm trên máy chủ giám sát hệ thống mạng

-Thành phần Agent: là một chương trình nằm trên các thiết bị cần giám

sát, quản lý. Agent có thể là một chương trình riêng biệt (ví dụ như daemon trên

Unix) hay được tích hợp vào Hệ điều hành, ví dụ như trong IOS của các thiết bị

Cisco. Nhiệm vụ của các Agent là thông báo các thông tin đến cho thành phần

điều khiển được cấu hình nằm trên máy chủ giám sát. SNMP sử dụng UDP

(User Datagram Protocol) như là giao thức truyền tải thông tin giữa các

Manager và Agent. Việc sử dụng UDP, thay vì TCP, bởi vì UDP là phương thức

truyền mà trong đó hai đầu thông tin không cần thiết lập kết nối trứơc khi dữ

liệu được trao đổi (connectionless), thuộc tính này phù hợp trong điều kiện

mạng gặp trục trặc, hư hỏng.

CHƯƠNG 3: CÁC CÔNG CỤ MÃ NGUỒN MỞ HỖ TRỢ

GIÁM SÁT, PHÁT HIỆN VÀ PHÒNG CHỐNG XÂM

NHẬP MẠNG Trong chương này, tác giả sẽ trình bày một số công cụ nguồn mở hỗ trợ trong

việc xây dựng mô hình đề xuất theo dõi tình hình hoạt động của hệ thống (thiết

bị và dịch vụ), phát hiện và phòng chống xâm nhập: bao gồm các công cụ chính

là Snort, Fwsnort, Cacti, Nagios và Gnokii. Với những công cụ nguồn mở này

được tích hợp vào chung một hệ thống, đồng thời kết hợp với việc phát triển hệ

thống báo động đa dạng, linh hoạt bằng giao diện Web, Email và SMS tạo ra

một công cụ tích hợp làm nhiệm vụ giám sát hệ thống giúp phát hiện và cảnh

báo những biến cố cho hệ thống mạng một cách trực quan, thời gian thực, nhanh

chóng và tiện lợi phục vụ hiệu quả cho công việc quản trị hệ thống mạng.

3.1 Giới thiệu

Có rất nhiều công cụ cho phép người quản trị mạng dò tìm những lổ hổng trong

hệ thống mạng của mình. Điển hình có các phần mềm: Nmap, Metaexploit,

SolarWinds, Blue Ports Scan, Super Scan, … Những công cụ này rất cần thiết để

kiểm tra xem trong hệ thống mạng chúng ta có những lỗ hổng bảo mật nào hay

không để kịp thời khắc phục.

Ở cấp độ cao hơn là tiến hành xây dựng một giải pháp toàn diện có tính khả thi

cao nhằm giúp nhanh chóng cho các nhà quản trị mạng phát hiện ra những cuộc

tấn công xâm nhập mạng, những sự cố trong quá trình hoạt động của hệ thống

như một dịch vụ mạng ngưng hoạt động hay một thiết bị mạng (Router, Switch,

Server,…) ngưng hoạt động, hay theo dõi luồng lưu lượng qua các kết nối giữa

các thiết bị, hoạt động của CPU, RAM, …trên một số thiết bị cần giám sát.

42

Trong đề tài này, tác giả đề xuất phát triển một hệ thống giám sát mạng có tính

trực quan và tiện lợi, giúp người quản trị mạng nắm bắt hoạt động của hệ thống

mọi lúc, mọi nơi, … Mô hình kết hợp mà tác giả đề xuất là kết hợp của các phần

mềm nguồn mở: Snort, Fwsnort, Cacti, Nagios và hệ thống báo động qua SMS -

Gnokii.

+ Snort: phát hiện các xâm nhập mạng dựa vào tập luật được cập nhật

thường xuyên.

+ Fwsnort: chuyển đổi các luật trong Snort thành các luật trong Iptables

để phòng chống tấn công mạng

+ Cacti: giám sát lưu lượng (traffic) trong từng thiết bị và giữa các thiết bị

trong hệ thống mạng thể hiện qua các đồ thị: theo dõi các lưu lượng ra vào các

cổng giao tiếp, hoạt động của CPU, bộ nhớ,… của các thiết bị mạng quan trọng

như Core Switch, Router, Firewall, Server…Điều này giúp các nhà quản trị

mạng có những phân tích để phát hiện những bất thường trong hệ thống.

+ Nagios: giám sát thiết bị trạng thái hoạt động của các thiết bị và các

dịch vụ mạng trong hệ thống.

+ Gnokii: hỗ trợ trong việc giao tiếp GSM/GPRS modem và hệ thống

giám sát từ Snort, Cacti, Nagios để gửi cảnh báo bằng tin nhắn SMS đến điện

thoại di động của người quản trị mạng.

Phần tiếp theo sẽ trình bày một số đặc điểm của Snort, Fwsnort, Cacti, Nagios

và Gnokii trong việc giám sát mạng.

3.2 Đặc điểm của Snort

Snort là một phần mềm thuộc dạng IDS/IPS mã nguồn mở cho phép giám sát,

phát hiện những dấu hiện tấn công, xâm nhập mạng. Snort được nhiều tổ chức

phát triển và biến thành sản phẩm thương mại như Sourcefire, Astaro.

Snort bao gồm các thành phần chính :[10]

+ Bộ phận giải mã gói - Packet Decoder

43

+ Bộ tiền xử lý – Preprocessor

+ Bộ phận phát hiện - Detection Engine

+ Hệ thống ghi log và cảnh báo - Logging và Alerting System

+ Module xuất kết quả - Output Modules.

Thu thập các gói tin từ các cổng giao tiếp (interface) và chuẩn bị cho việc gói tin

được xử lý trước hoặc gửi cho bộ phận phát hiện.

Hình 3.1 Các thành phần của một Snort[10]

+ Bộ tiền xử lý - Preprocessor

Được sử dụng để sắp xếp hoặc chỉnh sửa gói dữ liệu trước khi bộ phận

phát hiện làm một vài xử lý để tìm ra gói tin có được sử dụng bởi kẻ xâm nhập

hay không. Bộ tiền xử lý cũng thực thi việc phát hiện bằng cách tìm các dấu

hiệu bất thường trong các header của gói tin và tạo ra các cảnh báo. Bộ phận tiền

xử lý là rất quan trọng trong bất kỳ hệ thống phát hiện nào, chúng chuẩn bị cho

các gói dữ liệu được phân tích dựa trên các luật trong bộ phận phát hiện. Bộ

phận tiền xử lý cũng được dùng để khử phân đoạn. Khi một mẫu tin lớn được

44

truyền đến một host, gói thường được chia nhỏ ra. Hệ thống nhận có khả năng

ráp lại từ các gói nhỏ. Trên hệ thống phát hiện xâm nhập, trước khi đối chiếu

luật hoặc tìm dấu hiệu các gói tin cần được nối lại. Bộ phận tiền xử lý trong

Snort có thể tái hợp các gói tin, giải mã HTTP ráp lại các dòng TCP,…Những

chức năng này rất quan trọng trong hệ thống phát hiện xâm nhập.

+ Bộ phận phát hiện - Detection Engine

Đây là phần quan trọng nhất trong Snort. Trách nhiệm của nó là phát hiện

có sự xâm nhập tồn tại trong gói tin hay không. Bộ phận phát hiện sử dụng các

luật của Snort cho mục đích này. Nếu một gói tin giống với bất kỳ một luật nào,

một hành động tương ứng sẽ được thực hiện, cuộc tấn công được ghi lại hoặc

tạo ra cảnh báo. Đây là bộ phận then chốt về thời gian thực thi của Snort. Lưu

lượng trên bộ phận phát hiện phụ thuộc vào các yếu tố sau:

- Số lượng các luật.

- Sức mạnh của máy mà Snort đang chạy.

- Tốc độ của bus được sử dụng.

- Lưu lượng trên mạng.

+ Hệ thống ghi log và cảnh báo - Logging và Alerting System.

Phụ thuộc cái mà bộ phận phát hiện tìm thấy trong gói tin, gói tin có thể

được sử dụng để ghi lại các hành vi hoặc tạo ra các cảnh báo. Các thông tin ghi

lại được giữ trong các tập tin text đơn giản hoặc các dạng khác như trong cơ sở

dữ liệu MySQL,...

+ Module xuất kết quả - Output Modules

Module xuất kết quả có thể hoạt động theo nhiều cách phụ thuộc vào việc

chúng ta muốn lưu các output được tạo ra bằng hệ thống ghi và tạo cảnh báo như

thế nào. Phụ thuộc vào việc cấu hình, output module có thể thực hiện những

hành động sau:

- Ghi dữ liệu vào file log.

45

- Gởi SNMP traps.

- Gởi các thông báo đến Syslog.

- Ghi log vào CSDL như MySQL hoặc Oracle.

Một số công cụ có thể được phát triển để gởi cảnh báo từ output của Snort như

E-mail, SMS hoặc xem cảnh báo qua giao diện Web.

3.3 Vấn đề của Snort và khả năng triển khai

3.3.1 Lợi ích của Snort

Snort mang lại nhiều lợi ích phù hợp cho nhiều công ty vì nhiều lý do:

+ Giá cả.

Là một phần mềm mã nguồn mở nên không phải tốn chi phí về bản

quyền.

+ Ổn định, nhanh, mạnh mẽ.

Snort nhỏ gọn, nhanh, không chiếm dụng nhiều băng thông đường truyền.

+ Tính năng tiền xử lý.

Dùng để xử lý trước các thông điệp (message) trong mạng ở thời gian

thực, làm tăng khả năng nhận dạng các gói tin khả nghi, tăng khả năng nhận

diện kẻ tấn công dùng các kĩ thuật tấn công nhằm đánh lạc hướng IDS.

+ Tính uyển chuyển.

Có thể dễ dàng thiết lập những luật (rules) cho Snort phù hợp với thực

trạng của công ty. Có thể dùng các công cụ để quản lý tập trung như ACID,

BASE hay SnortCenter. Nhiều Scripts có thể được tích hợp để mở rộng chức

năng Snort có thể tạo những danh sách điều khiển truy cập (Access Control List)

tự động. Trong phạm vi luận văn này, tác giả đi sâu về sự kết hợp Snort với

BASE sau đó tích hợp vào giao diện quản lý chung của Cacti và phát báo động

qua giao diện BASE, Email và SMS. Ngoài ra còn kết hợp Snort với phần mềm

nguồn mở Fwsnort để chống lại các cuộc tấn công xâm nhập. Các luật trong

46

Snort được Fwsnort chuyển thành các luật trong Iptables để ngăn chặn một số

dạng tấn công.

+ Được hỗ trợ bởi cộng đồng mã nguồn mở.

Snort là sản phẩm nguồn mở nên được hỗ trợ rất nhiều bởi cộng đồng

người sử dụng mã nguồn mở.

3.3.2 Đánh giá tập luật của Snort

Tập luật trên Snort được cập nhật thường xuyên nên khả năng phát hiện

các dấu hiệu tấn công là khá tốt. Người quản trị mạng cũng có thể tự bổ sung

những luật mới vào tập luật đã có sẵn. Vì vậy, tập luật của Snort có tính mở. Do

đó Snort rất phù hợp cho việc nghiên cứu và phát triển. Có rất nhiều sản phẩm

thương mại trên thị trường phát triển từ Snort: Sourcefire, O2Security, Astaro

3.4 Fwsnort chuyển đổi tập luật từ Snort sang Iptables

Fwsnort hay cũng được gọi là Firewall Snort là phần mềm nguồn mở có chức

năng chuyển các luật trong Snort thành các luật trong Iptables. Sự kết hợp này

giúp cho những xâm nhập được Snort phát hiện sẽ được ngăn chặn bởi Iptables

tạo thành Hệ thống phát hiện và phòng chống xâm nhập (IDS/IPS)

3.5 Hệ thống giám sát trạng thái hoạt động thiết bị và dịch vụ - Nagios

Nagios là một phần mềm mã nguồn mở hỗ trợ trong việc giám sát hoạt động của

các thiết bị và các dịch vụ trong mạng. Nagios giúp giám sát hoạt động một số

thiết bị trung tâm trong mạng như Server, Switch, Router,... Đồng thời kết hợp

với bộ phận phát cảnh báo qua SMS, phát cảnh báo trong trường hợp một thiết

bị ngưng hoạt động hoặc một dịch vụ mạng ngưng hoạt động. Nagios giám sát

các thiết bị mạng thông qua các giao thức ICMP, SNMP, … để theo dõi trạng

thái hoạt động của các thiết bị. Đồng thời, Nagios còn cho phép thiết lập cơ chế

giám sát hoạt động của các dịch vụ mạng. Các dịch vụ phổ biến được giám sát

như: HTTP FTP, SMTP, POP3, …

47

Hình 3.2 Mô hình dịch vụ Nagios giám sát[8]

Để giám sát các host Windows, chúng ta có thể sử dụng trực tiếp thông qua giao

thức SNMP hoặc sử dụng phần mềm NSClient++ (tích hợp SNMP) để thu thập

thông tin hơn từ máy Windows.

Hình 3.3 Mô hình theo dõi các dịch vụ trên Windows qua NSClient[13]

Cũng tương tự như vậy, chúng ta có thể sử dụng SNMP để giám sát các máy

Linux qua việc cài đặt gói NRPE (tích hợp SNMP) để giám sát host và các dịch

vụ trên máy Linux.

Hình 3.4 Mô hình Nagios giám sát dịch vụ trên máy Linux qua NRPE[13]

48

Bên cạnh việc giám sát các máy chủ hệ điều hành Windows và Linux, Nagios

còn giám sát việc hoạt động của các thiết bị mạng khác như Router, Switch,

Printer

Hình 3.5 Nagios giám sát máy in[13]

Giám sát Router, Switch

Hình 3.6 Nagios giám sát Router và Switch[13]

Các dịch vụ mạng phổ biến như: HTTP, FTP, SMTP, POP3 ..v…v… cũng sẽ bị

giám sát bởi Nagios.

49

Hình 3.7 Nagios giám sát dịch vụ mạng và thiết bị mạng.

Ngoài ra Nagios còn vẽ sơ đồ hiển thị trạng thái hoạt động của các host đang

tham gia trong hệ thống mạng.

Hình 3.8 Sơ đồ trạng thái các host hoạt động trên mạng.

Ngoài khả năng giám sát các thiết bị, dịch vụ mạng. Khi được tích hợp cùng với

phần mềm Cacti, Nagios sẽ có thêm một vài tính năng trong đó đáng kể nhất vẫn

là gửi cảnh báo bằng email, SMS cảnh báo các thay đổi trong hệ thống thông

qua một gateway SMS.

50

Hình 3.9 Nagios gửi cảnh báo qua email hoặc SMS

Tham số trạng thái hệ thống được sử dụng làm đối số trong việc gửi cảnh báo

bao gồm:

- Tham số dịch vụ: $SEVERVICESTATE$, $SERVICESTATETYPE$,

SERVICCEATTEMMPT$

- Tham số cho host: $HOSTSTATE$, $HOSTSTATETYPE$,

$HOSTSTATEATTEMP$.

3.6 Hệ thống giám sát lưu lượng – Cacti

Cacti là một phần mểm nguồn mở hỗ trợ trong việc giám sát các lưu lượng

mạng. Cacti trong hệ thống được dùng để giám sát lưu lượng qua các Switch

trung tâm, Router và các Server và lưu lượng kết nối giữa các thiết bị trong hệ

thống mạng. Hoạt động của Cacti được thể hiện như sau:

Hình 3.10 Mô hình hoạt động của Cacti

Thu thập dữ liệu: Cacti thu thập dữ liệu thông qua poller. Poller là một ứng dụng

hoạt động theo những khoảng thời gian xác định. Trong Unix/Linux thì Poller

được thiết lập từ chương trình lập lịch crontab. Cacti thể hiện lưu lượng qua các

đồ thị trực quan, thời gian thực. Điều này giúp cho người quản trị theo dõi được

tình trạng hoạt động của các thiết bị và dịch vụ trong hệ thống và phát hiện

những bất thường xảy ra. Những bất thường này có thể là những dấu hiệu của

tấn công xâm nhập hoặc sự quá tải của một số thiết bị mạng trong hệ thống.

51

Cacti sử dụng giao thức SNMP để thu thập thông tin từ các thiết bị, lưu trữ

thông tin và vẽ hình trên các đồ thị.

Hình 3.11 Trao đổi thông tin SNMP giữa Cacti và thiết bị[9]

Lưu trữ dữ liệu: để có thể tạo ra những đồ thị về trạng thái hoạt động của các

thiết bị cần giám sát, Cacti phải cần thu thập và lưu trữ dữ liệu. Nếu là một hệ

thống mạng lớn thì yêu cầu phải có phương pháp quản lý dữ liệu cho việc theo

dõi trạng thái hoạt động của thiết bị. Trong mô hình thực nghiệm của luận văn

này, dữ liệu thu thập được từ SNMP được lưu trữ vào cơ sở dữ liệu của MySQL.

Hình 3.12 Dữ liệu Cacti thu thập được qua SNMP[9]

Trình bày dữ liệu: Sử dụng công cụ RRDTool đề trình bày dữ liệu dưới dạng các

đồ thị với cơ sở dữ liệu thu thập được từ SNMP và được lưu trữ trong database.

52

Cacti có khả năng giám sát lưu lượng vào/ra các cổng của thiết bị cần theo dõi;

giám sát mức độ hoạt động của CPU và bộ nhớ; cho phép đưa sơ đồ mạng trực

quan vào hệ thống và tương tác với mô hình này. Ngoài ra, Cacti phát báo động

khi có sự cố, các sự cố này được chỉ ra cho hệ thống như: có một thiết bị đang

giám sát ngưng hoạt động, lưu lượng vượt quá một ngưỡng được thiết lập

trước…

Hình 3.13 Cacti mô tả lưu lượng bằng đồ thị thời gian thực[9]

Mặc định Cacti có ít tính năng, trong cấu hình mặc định Cacti chỉ hổ trợ 2 mục

là Console và Graph. Trong đó, phần Console cho phép điều chỉnh các thông số

như chọn thiết bị cần giám sát lưu lượng và hiển thị đồ thị lưu lượng trong phần

Graph. Một đặc điểm quan trọng của Cacti là cho phép tích hợp nhiều thành

phần khác, cũng như nhiều phần mềm khác vào nó. Đây là một đặc điểm quan

trọng cho việc thực hiện ý tưởng thực hiện trong luận văn này là tạo nên một hệ

thống tích hợp hỗ trợ trong việc giám sát mạng. Trong luận văn này, tích hợp

thêm một số thành phần sau vào Cacti:

- Realtime: hỗ trợ Cacti lấy thông tin theo thời gian thực – lập lịch cho

chương trình lấy thông tin từ các thiết bị mạng cần giám sát.

- Update: hỗ trợ cập nhật các phiên bản mới từ Internet.

53

- Settings: Tích hợp thêm một số công cụ cấu hình các tính năng nâng cao.

- Manage: Giám sát tình trạng các thiết bị mạng. Phát báo động bằng âm

thanh khi một host ngưng hoạt động.

- Weathermap: cho phép vẽ sơ đồ mạng và giám sát lưu lượng giữa các

thiết bị mạng trong hệ thống.

- BASE: Giám sát Snort bằng giao diện Web.

- Nagios: Giám sát cho tiết các host và các dịch vụ mạng.

- SSL: sử dụng port 443 (https) khi truy xuất vào Cacti.

Hình 3.14 Cấu hình trong ../var/www/cacti/include/global.php

3.7 Hệ thống báo động qua SMS – Gnokii

Gnokii là một phần mềm mã nguồn mở cho phép giao tiếp với thiết bị

GMS/GPRS để phục vụ cho việc nhắn tin SMS.

Tùy vào loại GSM/GPRS được dùng chúng ta có cách can thiệp vào cấu hình

Gnokii khác nhau. Trong mô hình thực nghiệm của đề tài sử dụng GSM/GPRS

kết nối với máy Linux qua cổng COM. Thiết bị được tiếp nhận qua /dev/ttyS0.

54

Cú pháp sử dụng cho việc nhắn tin qua SMS là:

printf <message> | gnokii --sendsms <số điện thoại>

Cú pháp này được đưa vào chương trình Nagios để hệ thống gửi tự động tin

nhắn SMS khi có sự cố (được thiết lập trước) xảy ra. Thiết lập cảnh báo SMS

cho Snort trong file SnortNotify.conf

Hình 3.15 Thiết lập cảnh báo SMS cho Snort trong file SnortNotify.conf

Các thông số dùng đề cảnh báo và lệnh phát cảnh báo từ Snort (phát cảnh báo

xâm nhập), Nagios (phát cảnh báo tình trạng hoạt động của các host và dịch vụ).

3.8 Mô hình đề xuất kết hợp Snort, Fwsnort, Nagios, Cacti

Trong mô hình đề xuất này tạo ra một sự kết hợp các tính năng và quản lý với

một giao diện chung trên Cacti. Các thành phần được tích hợp (plugin) và giao

diện quản lý của Cacti.

Hệ thống chia thành ba khối chức năng:

+ Bộ phận phát hiện và phòng chống xâm nhập mạng

+ Bộ phận giám sát trực quan hệ thống: giám sát lưu lượng qua các cổng

của Router, Switch, Server, hoạt động của CPU, Bộ nhớ,… ;giám sát các một số

55

dịch vụ mạng: HTTP, FTP,… và giám sát trạng thái hoạt động của các thiết bị

mạng.

+ Bộ phận báo động: báo động bằng Web, E-mail và SMS.

CHƯƠNG 4: PHÁT TRIỂN ỨNG DỤNG HỆ THỐNG

GIÁM SÁT VÀ PHÁT HIỆN XÂM NHẬP MẠNG DỰA

TRÊN MÃ NGUỒN MỞ Trong chương này, trình bày mô hình đề xuất kết hợp giữa Snort, Fwsnort,

Nagios và Cacti tạo ra một hệ thống giám sát mạng một cách trực quan và tiện

lợi.

Một số chức năng chính của hệ thống giám sát này là:

- Phát hiện các xâm nhập mạng dựa vào Snort

- Phòng chống xâm nhập dựa vào Fwsnort

- Theo dõi hoạt động của các thiết bị mạng như Router, Switch, Server và

hoạt động của một số dịch vụ mạng thông qua các đồ thị dựa vào Cacti và

Nagios

- Phát cảnh báo trong trường hợp có xâm nhập, thiết bị mạng ngưng hoạt

động hoặc dịch vụ mạng ngưng hoạt động cho người quản trị mạng qua

các hình thức: báo động bằng, web, E-mail và tin nhắn SMS qua điện

thoạt di động.

57

4.1 Mô hình cài đặt thực nghiệm

Hình 4.1 Mô hình cài đặt thực nghiệm

Chức năng của Hệ thống giám sát:

- Cảnh báo qua Web, Email và SMS khi thực hiện tấn công vào hệ thống

Web server

- Báo động 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ưu lượng

giữa các thiết bị kết nối với nhau một cách trực quan.

4.2 Cài đặt thực nghiệm

Các chương trình phần mềm chính được sử dụng trong hệ thống giám sát:

- Snort.

- Fwsnort.

58

- Cacti.

- Nagios.

- SMS Gateway.

- Sendmail.

Quá trình cài đặt thực nghiệm được thực hiện theo qui trình tuần tự sau:

4.2.1 Cài đặt Gnokii

Sử dụng phần mềm nguồn mở Gnokii để kết nối đến GSM/GPRS modem.

Trong chương trình thực nghiệm này, GSM/GPRS modem kết nối nối máy Cacti

server qua cổng COM1 (/dev/ttyS0).[4]

# ./configure

# gmake

# gmake install

Sau khi cài đặt xong Gnokii, thiết lập file cấu hình với các thông số sau:

-Sử dụng tập lệnh AT: Model AT

-Kiểm tra kết nối đến GSM modem:

#gnokii –identify

// Kiểm tra gửi tin nhắn SMS qua dòng lệnh:

#print <message> | gnokii –sendsms <số điện thoại>

Hoặc

#echo <message> | gnokii –sendsms <số điện thoại>

Chi tiết cài đặt và cấu hình Gnokii được trình bày cụ thể trong phụ lục A

bài báo cáo này.

59

4.2.2 Cài đặt Snort

Để cài đặt Snort yêu cầu cần phải cài đặt các gói môi trường như sau:

# install mysql, mysql-bench, mysql-server, mysql-devel, mysqlclient10, php-

mysql, httpd, gcc, pcre-devel, gd, php-gd, mod_ssl, glib2-devel, gcc-c++,

libpcap-devel, php-pear[12]

Các bước cài đặt:

httpd: cài đặt quản lý bằng giao diện web

mysql: tạo CSDL snort để lưu trữ thông tin về những dấu hiệu tấn công

mạng.

+ Cài đặt, cấu hình Snort, cập nhật các rules: thiết lập các thông số về địa

chỉ mạng cần giám sát (trong trường hợp này là 192.168.7.0/24), thiết lập đường

dẫn đến CSDL snort, gán quyền truy xuất cho user snort.

+ Cài đặt, cấu hình adodb và BASE để giám sát Snort qua giao diện Web.

+ Cài đặt báo động cho Snort khi có tấn công:

Các thông tin thu thập từ Snort và các sự kiện theo dõi được hoạt động

theo thời gian thực và được ghi lại trong MySQL. Hệ thống báo động thường

xuyên cập nhật các thông tin từ database. Các thông tin cảnh báo được trích ra từ

database và đặt vào biến $emailmessage. Thông điệp này được chuyển tới người

quản trị mạng qua SMS và E-mail.

+ Gửi thông điệp từ $emailmessage qua SMS

Open (MAIL, “|sendsms –sendsms 0983929445\n”);

Printf MAIL “$emailmessage”;

Close(MAIL);

Gửi thông điệp từ $emailmessage qua Email (sữ dụng Sendmail).

60

open(MAIL, “|$sendmail –t –oi”)

printf MAIL, “From: $sender\n”;

printf MAIL “Return-Path: $return\n”;

printf MAIL “To: $to\n”;

printf MAIL “Subject: $subject\n”;

print MAIL “$emailmessage”;

+ Dùng crontab lập lịch cho chương trình lấy thông tin cảnh báo từ Snort

chạy 1 phút 1 lần:

+ Nội dung file lập lịch chỉ tới file SnortNotify.pl:

*/1 * * * * /var/snortnotify-v2.1/SnortNotify.pl

+ Khởi động Snort:

#snort –c /etc/snort/etc/snort.conf -i eth0

Chi tiết các bước cài đặt Snort được thể hiện trong phụ lục B. Hướng dẫn

cài đặt và cấu hình Snort.

4.2.3 Cài đặt Fwsnort

Trước khi tiến hành cài đặt Fwsnort ta phải cài đặt iptablet lên hệ thống

trước, mục đích của Iptablet là sẽ xử lý các cảnh báo của snort và cũng như

snort, iptablet của có những tập rule để hoạt động.

[iptablesfw]# tar xfj fwsnort-1.1.tar.bz2

[iptablesfw]# cd /usr/local/src/fwsnort-1.1

[iptablesfw]# ./install.pl

[+] mkdir /etc/fwsnort

[+] mkdir /etc/fwsnort/snort_rules

[+] Installing the Net::IPv4Addr Perl module

61

[+] Installing the IPTables::Parse Perl module

[+] Would you like to download the latest Snort rules from

http://www.bleedingsnort.com?

([y]/n)? y

--22:01:11-- http://www.bleedingsnort.com/bleeding-all.rules

=> `bleeding-all.rules'

Resolving www.bleedingsnort.com... 69.44.153.29

Connecting to www.bleedingsnort.com[69.44.153.29]:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 292,192 [text/plain]

100%[======================================>]

292,192 109.94K/s

22:01:17 (109.77 KB/s) - `bleeding-all.rules' saved

[292,192/292,192]

[+] Copying all rules files to /etc/fwsnort/snort_rules

[+] Installing snmp.rules

[+] Installing finger.rules

[+] Installing info.rules

[+] Installing ddos.rules

[+] Installing virus.rules

[+] Installing icmp.rules

[+] Installing dns.rules

[+] Installing rpc.rules

[+] Installing backdoor.rules

[+] Installing scan.rules

[+] Installing shellcode.rules

[+] Installing web-client.rules

[+] Installing web-cgi.rules

62

[+] Installing exploit.rules

[+] Installing attack-responses.rules

[+] Installing web-attacks.rules

[+] Installing fwsnort.8 man page as /usr/share/man/man8/fwsnort.8

[+] Compressing manpage /usr/share/man/man8/fwsnort.8

[+] Copying fwsnort.conf -> /etc/fwsnort/fwsnort.conf

[+] Copying fwsnort -> /usr/sbin/fwsnort

[+] fwsnort will generate an iptables script located at:

/etc/fwsnort/fwsnort.sh when executed.

[+] fwsnort has been successfully installed!

Thực hiện đổi các tập luật (rule) trong snort thành những tập luật trong

iptable để hoạt động.

Hình 4.2 Chuyển đổi tập luật trong snort thành iptablet

63

Ví dụ: đối với công cụ tấn công Ddos Trin00 có rule_ID trong snort là

237

alert udp $EXTERNAL_NET any -> $HOME_NET 27444 (msg:"DDOS Trin00

Master to Daemon default password attempt"; content:"l44adsl";

reference:arachnids,197; classtype:attempted-dos; sid:237; rev:2;)

Sử dụng Fwsnort chuyển sang Iptablet

[iptablesfw]# fwsnort --snort-sid 237

[+] Parsing Snort rules files...

[+] Found sid: 237 in ddos.rules

Successful translation.

Kết quả sau khi chuyển sang iptable

#IPTABLES -A FWSNORT_FORWARD -d 192.168.10.0/24 -p udp --

dport

27444 -m string --string "l44adsl" --algo bm -m comment --comment

"sid:237; msg: DDOS Trin00 Master to Daemon default password

attempt; classtype: attempted-dos; reference: arachnids,197; rev:

2; FWS:1.0;" -j LOG --log-ip-options --log-prefix "[1] SID237 "

4.2.4 Cài đặt Nagios

Định nghĩa lệnh báo động qua SMS

Mặc định thì không có lệnh cho phép gửi qua SMS mà chỉ có lệnh gửi qua

e-mail. Để chương trình có thể gửi tin nhắn qua SMS thì định nghĩa thêm lệnh

cho hệ thống.

Việc định nghĩa thêm lệnh sẽ đưa vào file commands.cfg

Lệnh sử dụng cho gửi SMS được chọn là:

- notify-host-by-sms: lệnh này dùng để gửi SMS khi một host gặp sự cố

(Ví dụ như host ngưng hoạt động)

64

- notify-service-by-sms: lệnh này được sử dụng để gửi SMS khi một

service trên host gặp sự cố (Ví dụ như service đó ngưng hoạt động).

Những sự cố này được xác định theo ý đồ của người quản trị thông qua

các biến lấy sự kiện từ hệ thống).

+ Giám sát các thiết bị (host) và dịch vụ (service)

Để giám sát các thiết bị, phải định nghĩa theo cú pháp sau trong file cấu

hình

Hình 4.3 Cấu hình trong Nagios

Đề cài đặt Nagios cần có các gói tin bắt buộc [13]

# yum install httpd gcc glibc glibc-common gd gd-devel php

Tạo nhóm và người sử dụng Nagios

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

Tiến hành cài đặt Nagios từ website của phần mềm.

# ./configure –with-command-group=nagcmd

65

# make all

# make install

# make install-init

# make install-config

# make install-commandmode

Hướng dẫn cài đặt chi tiết và cấu hình Nagios được trình bày cụ thể tại

phụ lục C bài báo cáo này.

4.2.5 Cài đặt Cacti

Trong phần này trình bày các cài đặt và cấu hình Cacti và tích hợp Snort,

Nagios vào Cacti.[3]

Yêu cầu các gói cài đặt trước:

– RRDTool

– NET-SNMP.

– MySQL

– PHP

– Apache

Cài đặt Cacti

+ Tạo account: username: cactiuser, password: cactiuser

+ Tạo CSDL: cacti

Cài đặt các tham số cho file cấu hình Cacti

+ Cài đặt spine: cho phép hệ thống hoạt động theo chu kỳ để lấy thông tin

từ các host.

+ Tích hợp (plugin) các gói sau vào Cacti

-Architecture: là phần nền tảng được cài đặt trước cho phép Cacti tích hợp

các thành phần khác vào.

-Settings: cho phép Cacti cấu hình các tham số cho các thành phần tích

hợp

66

-Realtime: Hỗ trợ một số thành phần tích hợp hoạt động theo thời gian

thực

-Manage: Hỗ trợ trong việc giám sát các thiết bị mạng và phát cảnh báo

bằng âm thanh.

-Update: Hỗ trợ các thành phần trong Cacti cập nhật phiên bản mới quan

Internet.

-Nagios: Thành phần giám sát, theo dõi các host và dịch vụ mạng.

-BASE (Snort): Theo dõi các cảnh báo từ Snort.

-SSL: bảo mật cho cacti, sử dụng port 443 (HTTPS).

Chi tiết cài đặt và cấu hình Cacti được trình bày cụ thể tại phụ lục D của

bài báo cáo này.

Trên thực tế việc tích hợp các chương trình mã nguồn mở gặp nhiều khó

khăn do mỗi chương trình đều có cơ sở dữ liệu riêng của bản thân các chương

trình, ngoài ra còn theo dõi vận hành của các thiết bị mạng cụ thể như các thiết

bị là Router, Switch

Cấu hình một Router

Building configuration...

Current configuration : 872 bytes

!

version 12.4

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname Saigon

!

boot-start-marker

boot-end-marker

67

!

no aaa new-model

ip cef

!

interface FastEthernet0/0

ip address 192.168.7.111 255.255.255.0

duplex auto

speed auto

!

interface FastEthernet0/1

ip address 192.168.4.1 255.255.255.0

duplex auto

speed auto

!

!

no ip http server

no ip http secure-server

!

snmp-server host 192.168.7.123 public

!

control-plane

!

line con 0

line aux 0

line vty 0 4

68

login

!

scheduler allocate 20000 1000

end

Cấu hình thiết bị Switch

sh run

Building configuration...

Current configuration : 1634 bytes

!

version 12.2

no service pad

service timestamps debug uptime

service timestamps log uptime

no service password-encryption

!

hostname CoreSwitch

!

no aaa new-model

system mtu routing 1500

interface Vlan1

ip address 192.168.1.112 255.255.255.0

no ip route-cache

ip http server

snmp-server host 192.168.7.123 public

!

69

control-plane

!

line con 0

line vty 5 15

!

end

Muốn giám sát một thiết bị nào cần khai báo các thông số trên Cacti để có

dữ liệu theo dõi và giám sát

Hình 4.4 Thiết lập thông số cho một thiết bị cần giám sát[9]

70

Hình 4.5 Hiển thị lưu lượng thu thập được qua SNMP

Thiết lập cảnh báo qua SMS khi dịch vụ cần giám sát phát sinh sự cố.

+Cú pháp lệnh báo động được đặt trong

/usr/local/nagios/etc/object/command.cfg

Hình 4.6 Cú pháp lệnh cài đặt báo động bằng sms

71

4.3 Kết quả đạt được từ thực nghiệm

Hình 4.7 Màn hình Cacti được tích hợp các tính năng theo dõi

Hình 4.8 Theo dõi hoạt động của Switch Cisco bằng giao diện

72

Hình 4.9 Theo dõi trạng thái các thiết bị

Hình 4.10 Đồ thị của các thiết bị[9]

Hình 4.11 Tổng quan các cảnh báo từ Snort qua giao diện Web

73

Hình 4.12 Cảnh báo chi tiết trên Snort giao diện Web[10]

Hình 4.13 Một số dịch vụ chạy trên 1 host[10]

74

Hình 4.14 Theo dõi trực quan lưu lượng mạng

Hình 4.15 Đồ thị lưu lượng kết nối mạng

Kiểm tra hoạt động của hệ thống giám sát mạng: Sử dụng các công cụ để

scan port và tấn công trên máy chủ Web:

- Blue Port Scanner

75

- SolarWinds

- DoSHTTP

Hình 4.16 Một số cảnh báo dịch vụ HTTP trên máy chủ web.

CHƯƠNG 5: KẾT LUẬN, KẾT QUẢ ĐẠT ĐƯỢC VÀ

HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

5.1 Kết luận

Sự tiện lợi, nhanh chóng và hiệu quả trong việc giám sát các hoạt động trên

mạng là một nhu cầu rất lớn đối với những người làm quản trị hệ thống mạng.

Nhất là đối với những hệ thống mạng lớn thì nhu cầu này càng trở nên một công

cụ không thể thiếu.

Với mô hình đề xuất trong luận văn này, đã kết hợp một số công cụ nguồn mở

tạo ra một hệ thống giám sát mạng trực quan, nhanh chóng và tiện lợi đáp ứng

được các yêu cầu giám sát trong thực tế.

Snort là một hệ thống phát hiện các xâm nhập mạng dựa vào các tập luật. Các

luật này được cập nhật thường xuyên bởi cộng đồng mã nguồn mở. Đồng thời,

Các luật này là một hệ thống mở cho phép người quản trị mạng có quyền chỉnh

sửa, thêm mới cho phù hợp với hệ thống mạng của mình để chống đỡ các dạng

tấn công mới. Cacti là một công cụ mạnh trong việc theo dõi chi tiết tình trạng

hoạt đông của hệ thống, đặt biệt là theo dõi các lưu lượng mạng vận chuyển qua

các thiết bị Switch, Router, Server. Cho phép người quản trị theo dõi tình trạng

hoạt động của các thiết bị của hệ thống một cách trực quan thông quan rất nhiều

dạng thể hiện khác nhau.

Nagios là một công cụ chuyên về giám sát các server và các dịch vụ mạng trên

các server này. Theo dõi tình trạng một dịch vụ mạng, theo dõi tình trạng hoạt

động của CPU, bộ nhớ, …

Hệ thống báo động được trình bày trong luận văn này rất linh hoạt, có thể phát

cảnh báo qua email và SMS. Tạo ra sự tiện lợi cho người quản trị, giúp người

quản trị có thể nắm bắt sự cố một cách nhanh chóng và hiệu quả. Sự kết hợp

giữa Snort, Nagios, Cacti và hệ thống báo động qua SMS tạo nên một

77

giải pháp hữu hiệu giúp cho người quản trị mạng giám sát hệ thống một cách tốt

hơn trong việc phát hiện nhanh chóng sự bất thường trong hệ thống mạng.

5.2 Kết quả đạt được

Bảo mật hệ thống mạng cho một tổ chức, doanh nghiệp đang là một nhu cầu rất

lớn nhằm bảo vệ hệ thống dữ liệu, bảo vệ việc trao đổi thông tin qua hệ thống

mạng máy tính được an toàn, không bị rò rỉ thông tin.

Nghiên cứu về hệ thống phát hiện và phòng chống xâm nhập một hệ thống mạng

giúp cho các nhà quản trị mạng thuận tiện trong việc quản trị và phát hiện sớm

các dấu hiệu tấn công hệ thống mạng từ bên ngoài đồng thời có những biện phát

khắc phục làm cho hệ thống mạng được an toàn hơn.

Các công cụ mã nguồn mở hỗ trợ trong việc giám sát hệ thống mạng cho phép

tạo chúng ta có thể có những tùy biến riêng và có thể sử dụng rộng rãi trong các

hệ thống mạng doanh nghiệp với mức chi phí thấp.

Luận văn này đã giới thiệu một giải pháp hiệu quả trong việc giám sát hệ thống

mạng không những giúp phát hiện các cuộc tấn công, xâm nhập mạng mà còn

giúp giám sát hoạt động của hệ thống một cách trực quan, nhanh chóng, tiện lợi.

Hệ thống báo động qua email, báo động qua SMS tạo nên sự linh hoạt cho phép

người quản trị mạng ở mọi lúc, mọi nơi. Giúp nhanh chóng phát hiện những sự

cố đễ có những giải pháp kịp thời.

Những vấn đề đạt được:

+ Hiểu được cơ chế hoạt động hệ thống phát hiện và phòng chống xâm

nhập mạng.

+ Hiểu cơ chế hoạt động của hệ thống phát hiện xâm nhập Snort.

+ Nắm được cơ chế hoạt động của hệ thống phòng chống xâm nhập

FwSnort.

+ Nắm được cơ chế hoạt động của hệ thống giám sát các thiết bị và dịch

vụ Nagios

78

+ Nắm được cơ chế hoạt động của hệ thống giám sát lưu lượng Cacti

+ Cài đặt và cấu hình một hệ thống giám sát mạng dựa vào các phần mềm

mã nguồn mở Snort, Nagios, Cacti.

+ Cài đặt hệ thống báo động qua Web, Email và SMS

Đây là luận văn có khả năng triển khai, áp dụng vào thực tế rất cao.

5.3 Ý nghĩ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.

+Thực hiện giám sát hệ thống qua môi trường WAN

79

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

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

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

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

Bước 5: Kiểm tra thiết bị kết nối vào computer

- 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

#printf "Test SMS" | gnokii --sendsms <so dien thoai>.

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

#/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

# 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;

>Query OK, 0 rows affected (0.02 sec)

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/

#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

# 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

# touch /var/www/html/index.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

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

//Cài đặt CACTI

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:

#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:

#vi /etc/crontab

// 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.

//Nguồn:http://www.asterisk.vn/forum/viewtopic.php?f=18&t=174&start=0