Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN FTP File Tranfer Protocol Giao thức truyền tập tin HTTP Hyper Text Tranfer Protoco
Trang 1Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Lê Mỹ Trường
Thái Nguyên, 2015
Trang 2Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
LỜI CAM ĐOAN
Học viên xin cam đoan luận văn “
là công trình nghiên cứu của chính bản thân học viên Các nghiên cứu trong luận văn này dựa trên những tổng hợp kiến thức lý thuyết đã được học, và sự hiểu biết thực tế dưới sự hướng dẫn khoa học của Thầy giáo TS Hồ Văn Hương
Các tài liệu tham khảo được trích dẫn đầy đủ nguồn gốc Học viên xin chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Thái Nguyên, ngày 20 tháng 8 năm 2015
Học viên thực hiện
Lê Mỹ Trường
Trang 3Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
LỜI CẢM ƠN
Trước hết học viên cũng xin gửi lời cảm ơn tới các thầy cô giáo trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên nơi các thầy cô đã tận tình truyền đạt các kiến thức quý báu cho học viên trong suốt quá trình học tập Xin cảm ơn các cán bộ nhà trường đã tạo điều kiện tốt nhất cho học viên học tập và hoàn thành luận văn này
Đặc biệt, học viên xin được gửi lời cám ơn đến thầy giáo hướng dẫn học viên
TS Hồ Văn Hương - Ban cơ yếu Chính phủ, thầy đã tận tình chỉ bảo giúp đỡ học viên trong suốt quá trình nghiên cứu để hoàn thành luận văn
Cuối cùng cho phép tôi xin cảm ơn Lãnh đạo, đồng nghiệp, bạn bè, gia đình
đã giúp đỡ, động viên ủng hộ tôi rất nhiều trong toàn bộ quá trình học tập cũng như nghiên cứu để hoàn thành luận văn này
Thái Nguyên, ngày 20 tháng 8 năm 2015
Học viên thực hiện
Trang 4Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN
DANH MỤC CÁC HÌNH ẢNH
DANH MỤC CÁC BẢNG BIỂU
Trang
MỞ ĐẦU 1
1 Đặt vấn đề 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Ý nghĩa khoa học của đề tài 2
6 Bố cục của luận văn 2
CHƯƠNG 1 TỔNG QUAN AN NINH MẠNG 3
1.1 Tình hình an ninh mạng hiện nay 3
1.2 Các yếu tố đảm bảo an toàn thông tin 3
1.3 Các mối đe dọa đến an toàn thông tin 3
1.4 Các lỗ hổng hệ thống 4
1.4.1 Các lỗ hổng loại C 4
1.4.2 Các lỗ hổng loại B 4
1.4.3 Các lỗ hổng loại A 5
1.5 Các nguy cơ mất an toàn thông tin 5
1.5.1 Kiểu tấn công thăm dò 5
1.5.2 Kiểu tấn công truy cập 5
1.5.3 Kiểu tấn công từ chối dịch vụ 6
1.6 Giải pháp an ninh mạng 7
7
1.6.2 Hai phương thức giám sát Poll và Alert 7
- 7
Trang 5Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
1.6.2.2 Phương thức Alert - 7
1.6.2.3 So sánh phương thức Poll và Alert - 8
1.6.3 Giao thức quản lý giám sát mạng SNMP 9
- 9
- 10
- 10
1.6.4 Kiến trúc giao thức SNMP 11
- 11
1.6.4.2 ObjectID - 11
1.6.4.3 Object access - 13
1.6.4.4 Cơ sở thông tin quản trị MIB - 14
1.6.5 Các phương thức của SNMP 15
1.6.5.1 GetRequest - 15
1.6.5.2 SetRequest - 16
1.6.5.3 GetResponse - 16
1.6.5.4 Trap - 16
1.6.6 Các cơ chế bảo mật cho SNMP 17
1.6.6.1 Community string - 17
1.6.6.2 View - 17
1.6.6.3 SNMP access control list - 17
1.6.6.4 RMON - 18
1.6.7 Cấu trúc bản tin SNMP 18
1.6.8 Hệ thống phát hiện và ngăn chặn xâm nhập mạng (IDS/IPS) 18
1.6.8.1 Giới thiệu về IDS/IPS - 18
1.6.8.2 Các thành phần và chức năng của IDS/IPS - 19
1.6.8.3 Phân loại IDS - 20
1.6.8.4 Cơ chế hoạt động của hệ thống IDS/IPS - 23
CHƯƠNG 2 NGHIÊN CỨU BỘ CÔNG CỤ GIÁM SÁT, CHỐNG TẤN CÔNG MẠNG 26
2.1 Giới thiệu chung 26
2.2 Bộ công cụ giám sát mạng – Cacti 26
2.2.1 Kiến trúc của Cacti 26
Trang 6Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
2.2.2 Nguyên tắc hoạt động 28
2.2.3 Các tính năng chính 29
2.2.4 Lưu trữ và xử lý dữ liệu trong hệ thống giám sát mạng Cacti 32
2.3 Bộ công cụ chống tấn công mạng - Snort 34
2.3.1 Kiến trúc của Snort 34
2.3.1.1 Module giải mã gói tin - 35
2.3.1.2 Module tiền xử lý - 36
2.3.1.3 Module phát hiện - 38
2.3.1.4 Module log và cảnh báo - 39
2.3.1.5 Module kết xuất thông tin - 39
2.3.2 Bộ luật của Snort 40
2.3.2.1 Phần tiêu đề - 40
2.3.2.2 Các tùy chọn - 43
2.3.3 Chế độ ngăn chặn của Snort: Snort – Inline 46
2.3.3.1 Các chế độ thực thi của Snort - 46
2.3.3.2 Nguyên lý hoạt động của inline mode - 47
CHƯƠNG 3 NGHIÊN CỨU ỨNG DỤNG MÃ NGUỒN MỞ CACTI VÀ SNORT 49
3.1 Giới thiệu về hệ thống giám sát, chống tấn công mạng 49
3.2 Xây dựng mô hình giả lập để thử nghiệm giám sát, chống tấn công mạng 49
3.2.1 Mô hình mạng trường 49
3.2.2 Đề xuất mô hình 50
3.2.3 Mô hình mạng thử nghiệm 51
3.2.4 Triển khai thử nghiệm giám sát mạng 51
3.2.5 Triển khai thử nghiệm chống tấn công mạng 60
3.2.5.1 Cấu hình Snort - 60
3.2.5.2 Chương trình Snort - 64
3.3 Đánh giá kết quả thực nghiệm 70
3.4 Kết quả thử nghiệm đạt được 71
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73
TÀI LIỆU THAM KHẢO 74
Trang 7Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN
FTP File Tranfer Protocol Giao thức truyền tập tin
HTTP Hyper Text Tranfer Protocol Giao thức truyền tải siêu văn bản
MIB Management Information Base Cơ sở thông tin quản lý
SNMP Simple Network Managerment
Protocol
Giao thức quản lý mạng đơn giản
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập
IPS Intrusion Prevention System Hệ thống ngăn chặn xâm nhập H-IDS Host Based Intrusion Detection
CPU Central Processing Unit Đơn vị xử lý trung tâm
DDOS Distributed Denial of Service Phân phối từ chối dịch vụ
TCP Transmission Control Protocol Giao thức kiểm soát
UDP User Datagram Protocol Giao thức sử dụng dữ liệu
ICMP Internet Control Message Protocol Giao thức điều khiển thông điệp
Internet MAC Media Access Controllers Bộ điều khiển truy cập truyền thông
Trang 8Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC HÌNH ẢNH
Trang Hình 1.1 Minh họa cơ chế Poll 7
Hình 1.2 Minh họa cơ chế Alert 8
Hình 1.3 Trạm quản lý mạng 11
Hình 1.4 Minh họa quá trình lấy sysName.0 13
Hình 1.5 Minh họa MIB tree 14
Hình 1.6 Minh họa các phương thức của SNMPv1……… ……… 17
Hình 1.7 Cấu trúc bản tin SNMP 18
Hình 1.8 Các vị trí đặt IDS trong mạng 19
Hình 1.9 Mô hình NIDS 21
Hình 1.10 Hệ thống kết hợp 2 mô hình phát hiện 25
Hinh 2.1 Kiến trúc của Cacti 26
Hình 2.2 Các thành phần của hệ quản trị Cacti 28
Hình 2.3 Hoạt động của hệ quản trị Cacti 28
Hình 2.4 Biểu đồ trong Cacti 30
Hình 2.5 Weather map trong cacti 31
Hình 2.6 Giám sát trạng thái thiết bị trong Cacti 31
Hình 2.7 Nguyên lý của cơ sở dữ liệu RRD (RRA) 33
Hình 2.8 Biểu diễn đồ thị trong RRD 33
Hinh 2.9 Mô hình kiến trúc hệ thống Snort 34
Hinh 2.10 Quy trình xử lý một gói tin Ethernet 35
Hình 2.11 Cấu trúc luật của Snort 40
Hình 2.12 Header luật của Snort 40
Hình 3.1 Mô hình mạng hiện tại 49
Hình 3.2 Đề xuất mô hình 50
Hình 3.3 Mô hình thử nghiệm 51
Hình 3.4 Màn hình giao diện Cacti khởi động cài đặt 52
Hình 3.5 Màn hình giao diện Cacti kiểm tra các công cụ 53
Trang 9Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 3.6 Màn hình đăng nhập hệ thống 53
Hình 3.7 File SNMP services 54
Hình 3.8 Đặt cấu hình SNMP services 54
Hinh 3.9 Thêm thiết bị máy client vào cacti 55
Hình 3.10 Thêm thiết bị máy 2 vào Cacti 55
Hình 3.11 Danh sách các nội dung cần giám sát 56
Hình 3.12 Lựa chọn thiết bị muốn tạo đồ thị 57
Hình 3.13 Đồ thị của máy 2 57
Hình 3.14 Danh sách các máy có trong cây đồ thị 58
Hình 3.15 Tình trạng thiết bị trên cây đồ thị (máy 2) 59
Hình 3.16 Tình trạng thiết bị trên cây đồ thị (máy 7) 59
Hình 3.17 Giao diện hệ điều hành CentOS 5.4 60
Hình 3.18 Giao diện Base 63
Hình 3.19 Phát hiện có máy đang ping 64
Hình 3.20 Phát hiện truy cập web 65
Hình 3.21 Phát hiện truy cập trang web với IP 66
Hình 3.22 Tiến hành DDOS vào máy ảo Centos 67
Hình 3.23 Phát hiện tấn công DDOS 68
Hình 3.24 Phát hiện tấn công PORTSCAN 69
Trang 10Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 So sánh hai phương thức Poll và Alert
Bảng 1.2 Các phương thức hoạt động của SNMP
Bảng 2.1 Các module tiền xử lý
Bảng 2.2 Các cờ sử dụng với từ khoá flags
Trang 11Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Các chuyên gia an ninh mạng đã đoán trước rằng trong kỷ nguyên Internet di động, vấn đề khủng khiếp nhất sẽ là an ninh, dự đoán này bây giờ đang trở thành thực tế Trong những năm gần đây, các website trên Internet, cũng như các dữ liệu của các doanh nghiệp, tổ chức, chính phủ,… đã bị nhiều đợt tấn công của các tội phạm mạng Đã có nhiều website, hệ thống mạng bị ngưng hoạt động trong nhiều giờ, nhiều dữ liệu quan trọng đã bị đánh cắp Những vụ tấn công đã gây ra thiệt hại nghiêm trọng và tác động tiêu cực, ảnh hưởng trực tiếp đến nhiều cá nhân, công việc kinh doanh của các doanh nghiệp, ảnh hưởng đến nền an ninh quốc phòng của nhiều quốc gia
Các vụ tấn công mạng ngày càng gia tăng, với nhiều loại hình tấn công và mức
độ ngày càng nghiêm trọng Những kẻ tấn công cũng có nhiều mục đích khác nhau như: chính trị, tài chính, tôn giáo, gián điệp, khủng bố… nhằm đánh cắp dữ liệu, phá hủy dữ liệu, làm cho hệ thống bị ngưng hoạt động, hoạt động chậm…
Tấn công mạng và chiến tranh không gian mạng ngày càng trở nên nghiêm
dụng trong phòng thủ mạng để đảm bảo mạng hoạt động ổn định, bảo đảm an toàn thông tin trên mạng là việc làm rất cần thiết Giải quyết vấn đề an ninh mạng là việc làm của cả xã hội và là vấn đề cấp bách
Với như trên, em xin mạnh dạn nghiên cứu và triển khai
2 Mục tiêu nghiên cứu
+ Nghiên cứu triển khai các ứng dụng mã nguồn mở giám sát, chống tấn công mạng (Cacti, Snort)
Trang 12Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
3 Đối tượng và phạm vi nghiên cứu
- Đối tượng của đề tài:
+ Một số phương thức giám sát, chống tấn công mạng: Poll, Alert, SNMP, IDS/IPS
+ Bộ công cụ mã nguồn mở: Cacti, Snort
- Phạm vi nghiên cứu:
+ Tìm hiểu về công nghệ, mô hình, giao thức giám sát mạng
+ Kiến trúc giám sát mạng mã nguồn mở
+ Chức năng, phân loại, cơ chế hoạt động của hệ thống chống tấn công mạng
4 Phương pháp nghiên cứu
, thực nghiệm để chứng minh những nghiên cứu
về lý thuyết của đề tài
5 Ý nghĩa khoa học của đề tài
6 Bố cục của luận văn
Dựa trên đối tượng và phạm vi nghiên cứu, luận văn sẽ được phân làm 3 chương chính với các nội dung cụ thể như sau:
Chương 1 Tổng quan an ninh mạng
Chương 3 Nghiên cứu ứng dụng mã nguồn mở cacti và Snort
Trang 13Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
CHƯƠNG 1 TỔNG QUAN AN NINH MẠNG 1.1 Tình hình an ninh mạng hiện nay
Các nguy cơ từ mã độc, tấn công từ chối dịch vụ, xu hướng “Internet of Things” (khái niệm chỉ các thiết bị kết nối được với nhau và kết nối với Internet) là
“mồi ngon” của tin tặc… sẽ đe dọa tình hình an ninh mạng tại Việt Nam
1.2 Các yếu tố đảm bảo an toàn thông tin
- Tính bí mật: Thông tin phải đảm bảo tính bí mật và được sử dụng đúng đối tượng
- Tính toàn vẹn: Thông tin phải đảm bảo đầy đủ, nguyên vẹn về cấu trúc
- Tính sẵn sàng: Thông tin phải luôn sẵn sàng để tiếp cận, để phục vụ theo đúng mục đích và đúng cách
- Tính chính xác: Thông tin phải chính xác, tin cậy
- Tính không khước từ (chống chối bỏ): Thông tin có thể kiểm chứng được nguồn gốc hoặc người đưa tin
1.3 Các mối đe dọa đến an toàn thông tin
Các mối đe dọa đến an toàn hệ thống là các hành động hoặc các sự kiện/hành
vi có khả năng xâm hại đến độ an toàn của một hệ thống thông tin
- Mục tiêu đe dọa tấn công: Chủ yếu là các dịch vụ an ninh
Khả năng bảo mật thông tin: Sẽ bị đe dọa nếu thông tin không được bảo mật
Tính toàn vẹn của thông tin: Đe dọa thay đổi cấu trúc thông tin
Tính chính xác của thông tin: Đe dọa thay đổi nội dung thông tin
Khả năng cung cấp dịch vụ của hệ thống: Làm cho hệ thống không thể cung cấp được dịch vụ (tính sẵn sàng)
Khả năng thống kê tài nguyên hệ thống
- Đối tượng đe dọa tấn công: Là chủ thể gây hại đến hệ thống
Khả năng đe dọa tấn công của đối tượng: Khả năng truy cập để khai thác các lỗ hổng hệ thống tạo ra mối đe dọa trực tiếp
Sự hiểu biết của đối tượng về mục tiêu đe dọa tấn công: user ID, file mật khẩu, vị trí file, địa chỉ mạng,…
Động cơ tấn công của đối tượng: Chinh phục, lợi ích cá nhân, cố tình
- Hành vi đe dọa tấn công:
Trang 14Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Lợi dụng quyền truy nhập thông tin hệ thống
Cố tình hoặc vô tình thay đổi thông tin hệ thống
Truy cập thông tin bất hợp pháp
Cố tình hoặc vô tình phá hủy thông tin hoặc hệ thống
Nghe lén thông tin
dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp
1.4.2 Các lỗ hổng loại B
Các lỗ hổng cho phép người sử dụng có thêm các quyền trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ Đối với dạng lỗ hổng này, mức độ nguy hiểm ở mức độ trung bình Những lỗ hổng này thường có trong các ứng dụng trên
hệ thống, có thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật
Các lỗ hổng loại B 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 Người sử dụng cục bộ đượ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
Trang 15Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
1.4.3 Các lỗ hổng loại A
Các lỗ hổng này cho phép người sử dụng ở ngoài có thể truy nhập vào hệ thống bất hợp pháp Lỗ hổng này rất nguy hiểm, có thể làm phá hủy toàn bộ hệ thống 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
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
1.5 Các nguy cơ mất an toàn thông tin
Cùng với sự phổ cập Internet ngày càng rộng rãi, vấn đề bảo đảm an toàn, an ninh thông tin trên môi trường mạng cũng ngày càng trở nên cấp thiết Các nguy cơ mất an toàn thông tin đang gia tăng cả về số lượng và mức độ nghiêm trọng Trước các hiểm họa tinh vi và gánh nặng tuân thủ các quy định bảo mật mới, các phương thức và hệ thống bảo mật truyền thống đã không còn hiệu quả để đảm bảo an toàn thông tin và dữ liệu cho các tổ chức, cần có những công cụ và kỹ thuật tiên tiến hơn
để bảo vệ lợi ích của tổ chức, đảm bảo an toàn, duy trì kiểm soát các ứng dụng và
dữ liệu
1.5.1 Kiểu tấn công thăm dò
Thăm dò là việc thu thập dữ liệu trái phép về tài nguyên, các lỗ hổng hoặc dịch
vụ của hệ thống Các cách tấn công truy cập hay DoS thường được tiến hành bởi kiểu tấn công thăm dò Hiển nhiên, các hacker phải biết có thể tấn công cái gì trước khi xâm nhập Thăm dò giống như một kẻ trộm nhà băng muốn biết có bao nhiêu bảo vệ đang làm nhiệm vụ, bao nhiêu camera, vị trí của chúng và đường thoát hiểm Thăm dò là một kiểu tấn công, nó cũng là một giai đoạn tấn công
1.5.2 Kiểu tấn công truy cập
Truy cập là một thuật ngữ rộng miêu tả bất kỳ kiểu tấn công nào đòi hỏi người xâm nhập lấy được quyền truy cập trái phép của một hệ thống bảo mật với mục đích thao túng dữ liệu, nâng cao đặc quyền, hay đơn giản chỉ là truy cập vào hệ thống:
+ Tấn công truy cập hệ thống: Hacker thường tìm kiếm quyền truy cập đến
một thiết bị bằng cách chạy một đoạn mã hay bằng những công cụ hack (hacking
Trang 16Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
tool) hay là khai thác một yếu điểm của ứng dụng hoặc một dịch vụ đang chạy trên máy chủ
+ Tấn công truy cập thao túng dữ liệu: Thao túng dữ liệu xuất hiện khi kẻ
xâm nhập đọc, viết, xóa, sao chép hay thay đổi dữ liệu Nó có thể đơn giản như việc tìm phần mềm chia sẻ trên máy tính, hay khó hơn như việc cố gắng xâm nhập một
hệ thống tín dụng của cục thông tin
+ Tấn công truy cập nâng cao đặc quyền: Nâng cao đặc quyền là một dạng
tấn công phổ biến Bằng cách nâng cao đặc quyền, kẻ xâm nhập có thể truy cập vào các files hay folder dữ liệu mà tài khoản người sử dụng ban đầu không được cho phép truy cập Mục đích chung của hacker là chiếm được quyền truy cập ở mức độ quản trị Khi đã đạt được mục đích đó, họ có toàn quyền điều khiển hệ thống mạng
1.5.3 Kiểu tấn công từ chối dịch vụ
Kiểu tấn công DdoS được thực hiện nhằm làm vô hiệu hóa, làm hư hỏng, hay gây tổn hại đến tài nguyên mạng với mục đích cản trở việc sử dụng những hệ thống này của người dùng Tấn công DdoS gồm các giai đoạn sau:
+ Giai đoạn đầu tiên – Mục tiêu: Là giai đoạn định nghĩa đối tượng Điều
đầu tiên cần làm rõ trong mọi hoạt động cũng như việc hacking là xác định được mục tiêu Kết quả của việc xác lập mục tiêu của kiểu tấn công dẫn đến việc hình thành, chọn lựa những công cụ và phương pháp phù hợp Nếu kẻ xâm nhập có động
cơ trả thù thì kiểu tấn công DdoS phù hợp với nhu cầu đó Nếu kẻ tấn công là một đối thủ thì, xâm nhập hệ thống và thao túng dữ liệu mới là mục tiêu Khi kẻ xâm nhập tiến hành những bước của một kiểu tấn công, thì mục tiêu có thể và thường
thay đổi
+ Giai đoạn hai thăm dò: Giai đoạn thăm dò, như chính tựa đề của nó, là giai
đoạn mà hacker sử dụng nhiều nguồn tài nguyên để thu thập thông tin về hệ thống
đối tượng
+ Giai đoạn thứ ba tấn công: Giai đoạn cuối cùng là giai đoạn tấn công
Trong giai đoạn tấn công kẻ xâm nhập bắt đầu cố gắng xâm nhập mạng và tài nguyên hệ thống trên mạng Bằng cách sử dụng các thông tin đã thu thập được, một vài hacker có thể thực hiện việc tấn công nhiều lần cho đến khi phát hiện được lỗi
bảo mật để có thể khai thác
Trang 17Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
1.6 Giải pháp an ninh mạng
1.6.
: Máy tính cá nhân, máy trạm, server, máy vi tính cỡ nhỏ, máy vi tính cỡ lớn, các thiết bị đầu cuối, modem, các gateway, router và switch, tất cả mới chỉ là một phần của
1.6.2 Hai phương thức giám sát Poll và Alert
Hai phương thức giám sát “Poll” và “Alert”, đây là 2 phương thức cơ bản của các kỹ thuật giám sát hệ thống, nhiều phần mềm và giao thức được xây dựng dựa trên 2 phương thức này, trong đó có SNMP
1.6
Nguyên tắc hoạt động: Máy chủ giám sát sẽ thường xuyên hỏi thông tin của
thiết bị cần giám sát Nếu máy giám sát không hỏi thì thiết bị không trả lời, nếu máy giám sát hỏi thì thiết bị phải trả lời Bằng cách hỏi thường xuyên, máy giám sát sẽ luôn cập nhật được thông tin mới nhất từ thiết bị
Hình 1.1 Minh họa cơ chế Poll
1.6.2.2 Phương thức Alert
Nguyên tắc hoạt động: Mỗi khi trong thiết bị xảy ra một sự kiện (event) nào đó
thì thiết bị sẽ tự động gửi thông báo cho máy giám sát, gọi là Alert Máy giám sát không hỏi thông tin định kỳ từ thiết bị
Thiết bị chỉ gửi những thông báo mang tính sự kiện chứ không gửi những thông tin thường xuyên thay đổi, nó cũng sẽ không gửi Alert nếu chẳng có sự kiện
gì xảy ra Chẳng hạn khi một port down/up thì thiết bị sẽ gửi cảnh báo, còn tổng số byte truyền qua port đó sẽ không được thiết bị gửi đi vì đó là thông tin thường
Yêu cầu #1
Phản hồi #1 Yêu cầu #2
Phản hồi #2
Trang 18Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
xuyên thay đổi Muốn lấy những thông tin thường xuyên thay đổi thì máy giám sát phải chủ động đi hỏi thiết bị, tức là phải thực hiện phương thức Poll
Hình 1.2 Minh họa cơ chế Alert
1.6.2.3 So sánh phương thức Poll và Alert
Hai phương thức Poll và Alert là hoàn toàn khác nhau về cơ chế Một ứng dụng giám sát có thể sử dụng Poll hoặc Alert, hoặc cả hai, tùy vào yêu cầu cụ thể trong thực tế
Bảng sau so sánh những điểm khác biệt của 2 phương thức :
Có thể chủ động lấy những thông tin
cần thiết từ các đối tượng mình quan
tâm, không cần lấy những thông tin
không cần thiết từ những nguồn không
quan tâm
Tất cả những event xảy ra đều được gửi về Manager, Manager phải có cơ chế lọc những even cần thiết, hoặc Device phải thiết lập được cơ chế chỉ gửi những event cần thiết lập
Có thể lập bảng trạng thái tất cả các
thông tin của Device sau khi poll qua
một lượt các thông tin đó Ví dụ Device
có một port down và Manager được
khởi động sau đó, thì Manager sẽ biết
được port đang down sau khi poll qua
một lượt tất cả các port
Nếu không có event gi xảy ra thì Manager không biết được trạng thái của Device Ví dụ Device có một port down và Manager được khởi động sau
đó, thì Manager sẽ không thể biết được port đang down
Trong trường hợp đường truyền giữa
Manager và Device xảy ra gián đoạn và
Device có sự thay đổi, thì Manager sẽ
Khi đường truyền gián đoạn và Device có sự thay đổi thì nó vẫn gửi alert cho Manager, nhưng alert này sẽ
Thông báo #1 Thông báo #2
Thông báo #3
Sự kiện #1
Sự kiện #2
Sự kiện #3 (No có sự kiện)
Trang 19Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
không thể cập nhật Tuy nhiên khi
đường truyền thông suốt trở lại thì
Manager sẽ cập nhật được thông tin mới
nhất do nó luôn luôn poll định kỳ
không thể đến được Manager Sau đó mặc dù đường truyền có thông suốt trở lại thì Manager vẫn không thể biết được những gì đã xảy ra
để trỏ về Manager mới
Nếu tần suất poll thấp, thời gian chờ
giữa hai chu kỳ poll dài sẽ làm Manager
chậm cập nhật các thay đổi của Device
Nghĩa là nếu thông tin Device đã thay
đổi nhưng vẫn chưa đến lượt poll kế tiếp
thì Manager vẫn giữ thông tin cũ
Ngay khi có sự kiện xảy ra thì Device
sẽ gửi alert đến Manager, do đó Manager luôn luôn có thông tin mới nhất tức thời
Có thể bỏ sót các sự kiện: Khi Device
có thay đổi, sau đó thay đổi trở lại như
ban đầu trước khi đến poll kế tiếp thì
Manager sẽ không phát hiện được
Manager sẽ được thông báo mỗi khi
có sự kiện xảy ra ở Device, do đó Manager không bỏ sót bất kỳ sự kiện nào
Nếu chu kỳ Poll ngắn sẽ gây tốn băng
thông, nếu chu kỳ dài thì thông tin giám
sát sẽ không chính xác
Không có chu kỳ gửi tin nên không tốn nhiều băng thông như cơ chế Poll
Bảng 1.1 So sánh hai phương thức Poll và Alert
1.6.3 Giao thức quản lý giám sát mạng SNMP
1.6.
SNMP là “giao thức quản lý mạng đơn giản Giao thức là một tập hợp các thủ tục mà các bên tham gia cần tuân theo để có thể giao tiếp được với nhau Trong lĩnh vực thông tin, một giao thức quy định cấu trúc, định dạng (format) của dòng dữ liệu trao đổi với nhau và quy định trình tự, thủ tục để trao đổi dòng dữ liệu đó Nếu một bên tham gia gửi dữ liệu không đúng định dạng hoặc không theo trình tự thì các bên khác sẽ không hiểu hoặc từ chối trao đổi thông tin SNMP là một giao thức, do đó
nó có những quy định riêng mà các thành phần trong mạng phải tuân theo
Trang 20Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Một thiết bị hiểu được và hoạt động tuân theo giao thức SNMP được gọi là “có
hỗ trợ SNMP” (SNMP supported) hoặc “tương thích SNMP” (SNMP compartible) SNMP dùng để quản lý, nghĩa là có thể theo dõi, có thể lấy thông tin, có thể được thông báo, và có thể tác động để hệ thống hoạt động như ý muốn
Ví dụ một số khả năng của giao thức SNMP:
Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã truyền/nhận
Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trống bao nhiêu
Tự động nhận cảnh báo khi switch có một port bị down
Điều khiển tắt (shutdown) các port trên switch
SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nền TCP/IP và quản lý các thiết bị có nối mạng TCP/IP Các thiết bị mạng không nhất thiết phải là máy tính mà có thể là switch, router, firewall, adsl gateway, và cả một
số phần mềm cho phép quản trị bằng SNMP
1.6.3.2
SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phần trong mạng Nhờ đó các phần mềm SNMP có thể được phát triển nhanh và tốn ít chi phí SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát Không có giới hạn rằng SNMP có thể quản lý được cái gì Khi có một thiết bị mới với các thuộc tính, tính năng mới thì người ta có thể thiết kế “custom” SNMP để phục vụ cho riêng mình
SNMP được thiết kế để có thể hoạt động độc lập với các kiến trúc và cơ chế của các thiết bị hỗ trợ SNMP Các thiết bị khác nhau có hoạt động khác nhau nhưng đáp ứng SNMP là giống nhau
1.6.3.
SNMP có 4 phiên bản: SNMPv1, SNMPv2c, SNMPv2u và SNMPv3 Các phiên bản này khác nhau một chút ở định dạng bản tin và phương thức hoạt động Hiện tại SNMPv1 là phổ biến nhất do có nhiều thiết bị tương thích nhất và có nhiều phần mềm hỗ trợ nhất Trong khi đó chỉ có một số thiết bị và phần mềm hỗ trợ
SNMPv3
Trang 21Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Một trạm quản lý có thể quản lý nhiều phần tử mạng, một phần tử mạng cũng
có thể được quản lý bởi nhiều trạm Vậy nếu một phần tử được quản lý bởi 2 trạm thì điều gì sẽ xảy ra? Nếu trạm lấy thông tin từ phần tử mạng thì cả 2 trạm sẽ có thông tin giống nhau Nếu 2 t r ạ m tác động đến cùng một phần tử thì phần tử sẽ đáp ứng cả 2 tác động theo thứ tự cái nào đến trước
Ngoài ra còn có khái niệm SNMP agent SNMP agent là một tiến trình
(process) chạy trên phần tử mạng, có nhiệm vụ cung cấp thông tin của phần tử cho trạm, nhờ đó trạm có thể quản lý được phần tử Chính xác hơn là ứng dụng chạy trên trạm và agent chạy trên phần tử mới là 2 tiến trình SNMP trực tiếp liên
hệ với nhau [1]
1.6.4.2 ObjectID
Một thiết bị hỗ trợ SNMP có thể cung cấp nhiều thông tin khác nhau, mỗi
thông tin đó gọi là một object Ví dụ:
Máy tính có thể cung cấp các thông tin: Tổng số ổ cứng, tổng số port nối
Phần tử mạng
Trạm quản lý mạng
Giao thức SNMP
Trang 22Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
mạng, tổng số byte đã truyền/nhận, tên máy tính, tên các process đang chạy Router có thể cung cấp các thông tin: Tổng số card, tổng số port, tổng số byte đã truyền/nhận, tên router, tình trạng các port của router, … Mỗi object
có một tên gọi và một mã số để nhận dạng object đó, mã số gọi là Object ID
(OID) Ví dụ :
Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5
Tổng số port giao tiếp (interface) được gọi là ifNumber, OID là 1.3.6.1.2.1.2.1
Địa chỉ Mac Address của một port được gọi là ifPhysAddress, OID là 1.3.6.1.2.1.2.2.1.6
Số byte đã nhận trên một port được gọi là ifInOctets, OID là 1.3.6.1.2.1.2.2.1.10
Ý nghĩa của từng chữ số trong OID sẽ được giải thích trong phần sau Một object chỉ có một OID, chẳng hạn tên của thiết bị là một object Tuy nhiên nếu một thiết bị lại có nhiều tên thì làm thế nào để phân biệt? Lúc này người ta dùng thêm 1 chỉ số gọi là “scalar instance index” (cũng có thể gọi là “sub-id”) đặt ngay sau OID Ví dụ:
Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5; nếu thiết bị có 2 tên thì chúng sẽ được gọi là sysName.0 & sysName.1 và có OID lần lượt là 1.3.6.1.2.1.1.5.0 & 1.3.6.1.2.1.1.5.1
Địa chỉ Mac address được gọi là ifPhysAddress, OID là 1.3.6.1.2.1.2.2.1.6; nếu thiết bị có 2 Mac address thì chúng sẽ được gọi là ifPhysAddress.0 & ifPhysAddress.1 và có OID lần lượt là 1.3.6.1.2.1.2.2.1.6.0 & 1.3.6.1.2.1.2.2.1.6.1 Tổng số port được gọi là ifNumber, giá trị này chỉ có 1 nên OID của nó không có phân cấp con và vẫn là 1.3.6.1.2.1.2.1
Ở hầu hết các thiết bị, các object có thể có nhiều giá trị thì thường được viết dưới dạng có sub-id Ví dụ: Một thiết bị dù chỉ có 1 tên thì nó vẫn phải có OID là sysName.0 hay 1.3.6.1.2.1.1.5.0 Cần nhớ quy tắc này để ứng dụng trong lập trình phần mềm SNMP manager
Sub-id không nhất thiết phải liên tục hay bắt đầu từ 0 VD một thiết bị có 2 mac address thì có thể chúng được gọi là ifPhysAddress.23 và
ifPhysAddress.125645
Trang 23Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
OID của các object phổ biến có thể đƣợc chuẩn hóa, OID của các object do bạn tạo ra thì bạn phải tự mô tả chúng Để lấy một thông tin có OID đã chuẩn hóa thì SNMP application phải gửi một bản tin SNMP có chứa OID của object đó cho SNMP agent, SNMP agent khi nhận đƣợc thì nó phải trả lời bằng thông tin ứng với OID đó
VD: Muốn lấy tên của một PC chạy Windows, tên của một PC chạy Linux hoặc tên của một router thì SNMP application chỉ cần gửi bản tin có chứa OID là 1.3.6.1.2.1.1.5.0 Khi SNMP agent chạy trên PC Windows, PC Linux hay router nhận đƣợc bản tin có chứa OID 1.3.6.1.2.1.1.5.0, agent lập tức hiểu rằng đây là bản tin hỏi sysName.0, và agent sẽ trả lời bằng tên của hệ thống Nếu SNMP agent nhận đƣợc một OID mà nó không hiểu (không hỗ trợ) thì nó sẽ không trả lời
Hình 1.4 Minh họa quá trình lấy sysName.0 [1]
Một trong các ƣu điểm của SNMP là có đƣợc thiết kế để chạy độc lập với các thiết bị khác nhau Chính nhờ việc chuẩn hóa OID mà ta có thể dùng một SNMP application để lấy thông tin các loại device của các hãng khác nhau.[1]
Trang 24Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
1.6.4.4 Cơ sở thông tin quản trị MIB
MIB là một cấu trúc dữ liệu gồm các đối tƣợng đƣợc quản trị, đƣợc dùng cho việc quản lý các thiết bị chạy trên nền TCP/IP MIB là kiến trúc chung mà các giao thức quản lý trên TCP/IP nên tuân theo, trong đó có SNMP, MIB đƣợc thể hiện thành một tệp tin (MIB file), và có thể biểu diễn thành 1 cây (MIB tree) MIB có thể đƣợc chuẩn hóa hoặc tự tạo
Hình 1.5 Minh họa MIB tree [1]
Một node trong cây là một object, có thể đƣợc gọi bằng tên hoặc id
Các objectID trong MIB đƣợc sắp xếp thứ tự nhƣng không phải là liên tục, khi biết một OID thì không chắc chắn có thể xác định đƣợc OID tiếp theo trong
MIB VD trong chuẩn mib-2 thì object ifSpecific và object atIfIndex nằm kề nhau
Trang 25Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
GetNextRequest
Manager gửi GetNextRequest có chứa một ObjectID cho agent để yêu cầu cung cấp thông tin nằm kế tiếp ObjectID đó trong MIB
SetRequest Manager gửi SetRequest cho agent để đặt giá trị
cho đối tượng của agent dựa vào ObjectID
GetResponse Agent gửi GetResponse cho Manager để trả lời
khi nhận được GetRequest/GetNextRequest
Trap Agent tự động gửi Trap cho Manager khi có một
sự kiện xảy ra đối với một object nào đó trong agent Bảng 1.2 Các phương thức hoạt động của SNMP
Mỗi bản tin đều có chứa OID để cho biết object mang trong nó là gì OID trong GetRequest cho biết nó muốn lấy thông tin của object nào OID trong GetResponse cho biết nó mang giá trị của object nào OID trong SetRequest chỉ ra
nó muốn thiết lập giá trị cho object nào OID trong Trap chỉ ra nó thông báo sự kiện xảy ra đối với object nào.[2]
1.6.5.1 GetRequest
Bản tin GetRequest được manager gửi đến agent để lấy một thông tin nào đó Trong GetRequest có chứa OID của object muốn lấy VD: Muốn lấy thông tin tên của Device1 thì manager gửi bản tin GetRequest OID=1.3.6.1.2.1.1.5 đến Device1, tiến trình SNMP agent trên Device1 sẽ nhận được bản tin và tạo bản tin trả lời Trong một bản tin GetRequest có thể chứa nhiều OID, nghĩa là dùng một GetRequest có thể lấy về cùng lúc nhiều thông tin [2]
Trang 26Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Có thể shutdown một port trên switch bằng phần mềm SNMP manager, bằng cách gửi bản tin có OID là 1.3.6.1.2.1.2.2.1.7 (ifAdminStatus) và có giá trị là 2 (ifAdminStatus có thể mang ba giá trị là UP (1), DOWN (2), và TESTING (3)) Chỉ những object có quyền READ_WRITE mới có thể thay đổi được giá trị [2]
1.6.5.3 GetResponse
Mỗi khi SNMP agent nhận được các bản tin GetRequest, GetNextRequest hay SetRequest thì nó sẽ gửi lại bản tin GetResponse để trả lời Trong bản tin GetResponse có chứa OID của object được request và giá trị của object đó.[2]
1.6.5.4 Trap
Bản tin Trap được agent tự động gửi cho manager mỗi khi có sự kiện xảy ra bên trong agent, các sự kiện này không phải là các hoạt động thường xuyên của agent mà là các sự kiện mang tính biến cố Ví dụ: Khi có một port down, khi có một người dùng login không thành công, hoặc khi thiết bị khởi động lại, agent sẽ gửi trap cho manager
Phương thức trap là độc lập với các phương thức request/response SNMP request/response dùng để quản lý còn SNMP trap dùng để cảnh báo Nguồn gửi
trap gọi là Trap Sender và nơi nhận trap gọi là Trap Receiver Một trap sender có
thể được cấu hình để gửi trap đến nhiều trap receiver cùng lúc
Theo SNMPv1, generic trap có 7 loại sau: coldStart(0), warmStart(1),
linkDown(2), linkUp(3), authenticationFailure(4), egpNeighborloss(5),
enterpriseSpecific(6)
Người dùng có thể tự định nghĩa thêm các loại trap để làm phong phú thêm khả năng cảnh báo của thiết bị như: boardFailed, configChanged, powerLoss, cpuTooHigh, …
Trang 27Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Người dùng tự quy định ý nghĩa và giá trị của các specific trap này, và dĩ nhiên chỉ những trap receiver và trap sender hỗ trợ cùng một MIB mới có thể hiểu ý nghĩa của specific trap Do đó nếu bạn dùng một phần mềm trap receiver bất kỳ để nhận trap của các trap sender bất kỳ, bạn có thể đọc và hiểu các generic trap khi chúng xảy ra; nhưng bạn sẽ không hiểu ý nghĩa các specific trap khi chúng hiện lên màn hình vì bản tin trap chỉ chứa những con số
Hình 1.6 Minh họa các phương thức của SNMPv1 Đối với các phương thức Get/Set/Response thì SNMP Agent lắng nghe ở port UDP 161, còn phương thức trap thì SNMP Trap Receiver lắng nghe ở port UDP
1.6.6.2 View
Khi manager có read-community thì nó có thể đọc toàn bộ OID của agent Tuy nhiên agent có thể quy định chỉ cho phép đọc một số OID có liên quan nhau, tức là chỉ đọc được một phần của MIB Tập con của MIB này gọi là view Trên agent có thể định nghĩa nhiều view Một view phải gắn liền với một community string Tùy vào community string nhận được là gì mà agent xử lý trên view tương ứng
1.6.6.3 SNMP access control list
SNMP ACL là một danh sách các địa chỉ IP được phép quản lý/giám sát agent,
nó chỉ áp dụng riêng cho giao thức SNMP và được cài trên agent Nếu một manager
Trang 28Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
có IP không được phép trong ACL gửi request thì agent sẽ không xử lý, dù request
có community string là đúng
1.6.6.4 RMON
Mục đích: Quản lý, giám sát tập trung toàn mạng từ xa giúp mạng có thể tự
hoạt động và các thiết bị riêng lẻ có thể hoạt động đồng bộ trong mạng không chỉ dùng cho việc giám sát lưu lượng trong LAN mà còn cho cả các giao diện WAN RMON bổ sung MIB-RMON cho MIB-II và cung cấp thông tin quan trọng
Phần Data trong bản tin SNMP gọi là PDU (Protocol Data Unit)
SNMPv1 có 5 phương thức hoạt động tương ứng 5 loại PDU Tuy nhiên chỉ có
2 loại định dạng bản tin là PDU và Trap-PDU, trong đó các bản tin Get, GetNext, Set, GetResponse có cùng định dạng là PDU, còn bản tin Trap có định dạng là Trap-PDU [1]
1.6.8 Hệ thống phát hiện và ngăn chặn xâm nhập mạng (IDS/IPS)
1.6.8.1 Giới thiệu về IDS/IPS
* IDS: Hệ thống phát hiện xâm nhập là hệ thống có nhiệm vụ theo dõi, phát
hiện và (có thể) ngăn cản sự xâm nhập, cũng như các hành vi khai thác trái phép tài nguyên của hệ thống được bảo vệ mà có thể dẫn đến việc làm tổn hại đến tính bảo
mật, tính toàn vẹn và tính sẵn sàng của hệ thống
Hệ thống IDS sẽ thu thập thông tin từ rất nhiều nguồn trong hệ thống được bảo
vệ sau đó tiến hành phân tích những thông tin đó theo các cách khác nhau để phát hiện những xâm nhập trái phép
Hình sau minh hoạ các vị trí thường cài đặt IDS trong mạng :
Trang 29Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 1.8 Các vị trí đặt IDS trong mạng [4]
* IPS: Hệ thống chống xâm nhập đượ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 và 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
1.6.8.2 Các thành phần và chức năng của IDS/IPS
* Các thành phần
- Thành phần thu thập thông tin gói tin: Thành phần này có nhiệm vụ lấy tất cả các gói tin đi đến mạng Tất cả các gói tin qua chúng đều được sao chụp, xử lí, phân tích đến từng trường thông tin Bộ phận thu thập gói tin sẽ đọc thông tin từng trường trong gói tin, xác định chúng thuộc kiểu gói tin nào, dịch vụ gì… Các thông tin này được chuyển đến thành phần phát hiện tấn công
- Thành phần phát hiện gói tin: Ở thành phần này, các bộ cảm biến đóng vai trò quyết định Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ những thông tin dữ liệu không tương thích đạt được từ các sự kiện liên quan tới hệ thống bảo vệ vì vậy có thể phát hiện được các hành động nghi ngờ
- Thành phần phản hồi: Khi có dấu hiệu của sự tấn công hoặc thâm nhập, thành phần phát hiện tấn công sẽ gửi tín hiệu báo hiệu có sự tấn công hoặc thâm nhập đến thành phần phản ứng Lúc đó thành phần phản ứng sẽ kích hoạt tường lửa thực hiện chức năng ngăn chặn cuộc tấn công hay cảnh báo tới người quản trị Dưới đây là một số kỹ thuật ngăn chặn:
Trang 30Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
+ Cảnh báo thời gian thực: Gửi các cảnh báo thời gian thực đến người quản trị
để họ nắm được chi tiết cuộc tấn công, các đặc điểm và thông tin về chúng + Ghi lại vào tập tin: Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống các tập tin log
+ Ngăn chặn, thay đổi gói tin: Khi một gói tin khớp với dấu hiệu tấn công thì IDS sẽ phản hồi bằng cách xóa bỏ, từ chối hay thay đổi nội dung của gói tin, làm cho gói tin trở nên không bình thường
- Bảo vệ: Dùng những thiết lập mặc định và sự cấu hình từ nhà quản trị mà có những hành động thiết thực chống lại kẻ xâm nhập và phá hoại
1.6.8.3 Phân loại IDS
* Network based IDS (NIDS)
NIDS thường bao gồm có hai thành phần logic :
• Bộ cảm biến – Sensor: Đặt tại một đoạn mạng, kiểm soát các cuộc lưu thông nghi ngờ trên đoạn mạng đó
• Trạm quản lý: Nhận các tín hiệu cảnh báo từ bộ cảm biến và thông báo cho một điều hành viên
Trang 31Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
• Phát hiện được các cuộc tấn công mà HIDS bỏ qua
• Khó xoá bỏ dấu vết (evidence): NIDS sử dụng lưu thông hiện hành trên mạng để phát hiện xâm nhập Vì thế, kẻ đột nhập không thể xoá bỏ được các dấu vết tấn công
• Phát hiện và đối phó kịp thời
• Có tính độc lập cao
* Nhược điểm:
• Bị hạn chế với Switch: Nhiều lợi điểm của NIDS không phát huy được trong các mạng chuyển mạch hiện đại Thiết bị switch chia mạng thành nhiều phần độc lập vì thế NIDS khó thu thập được thông tin trong toàn mạng Do chỉ kiểm tra mạng trên đoạn mà nó trực tiếp kết nối tới, nó không thể phát hiện một cuộc tấn công xảy ra trên các đoạn mạng khác Vấn đề này dẫn tới yêu cầu tổ chức cần phải mua một lượng lớn các bộ cảm biến để có thể bao phủ hết toàn mạng gây tốn kém về chi phí cài đặt
• Hạn chế về hiệu năng: NIDS sẽ gặp khó khăn khi phải xử lý tất cả các gói tin trên mạng rộng hoặc có mật độ lưu thông cao, dẫn đến không thể phát hiện các cuộc tấn công thực hiện vào lúc "cao điểm" Một số nhà sản xuất đã khắc phục bằng cách cứng hoá hoàn toàn IDS nhằm tăng cường tốc độ cho nó
Trang 32Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Tuy nhiên, do phải đảm bảo về mặt tốc độ nên một số gói tin được bỏ qua có thể gây lỗ hổng cho tấn công xâm nhập
• Tăng thông lượng mạng
• Một hệ thống NIDS thường gặp khó khăn trong việc xử lý các cuộc tấn công trong một phiên được mã hoá Lỗi này càng trở nên trầm trọng khi nhiều công ty và tổ chức đang áp dụng mạng riêng ảo VPN
• Một số hệ thống NIDS cũng gặp khó khăn khi phát hiện các cuộc tấn công mạng từ các gói tin phân mảnh Các gói tin định dạng sai này có thể làm cho NIDS hoạt động sai và đổ vỡ
* Host based IDS (HIDS)
Host-based IDS tìm kiếm dấu hiệu của xâm nhập vào một host cục bộ; thường
sử dụng các cơ chế kiểm tra và phân tích các thông tin được logging Nó tìm kiếm các hoạt động bất thường như login, truy nhập file không thích hợp, bước leo thang các đặc quyền không được chấp nhận
Kiến trúc IDS này thường dựa trên các luật (rule-based) để phân tích các hoạt động Ví dụ đặc quyền của người sử dụng cấp cao chỉ có thể đạt đvược thông qua lệnh su-select user, như vậy những cố gắng liên tục để login vào account root có thể được coi là một cuộc tấn công
* Ưu điểm:
• Xác định được kết quả của cuộc tấn công: Do HIDS sử dụng dữ liệu log lưu các sự kiện xảy ra, nó có thể biết được cuộc tấn công là thành công hay thất bại với độ chính xác cao hơn NIDS Vì thế, HIDS có thể bổ sung thông tin tiếp theo khi cuộc tấn công được sớm phát hiện với NIDS
• Giám sát được các hoạt động cụ thể của hệ thống: HIDS có thể giám sát các hoạt động mà NIDS không thể như: truy nhập file, thay đổi quyền, các hành động thực thi, truy nhập dịch vụ được phân quyền Đồng thời nó cũng giám sát các hoạt động chỉ được thực hiện bởi người quản trị
• Phát hiện các xâm nhập mà NIDS bỏ qua
• Thích nghi tốt với môi trường chuyển mạch, mã hoá
• Không yêu cầu thêm phần cứng: Được cài đặt trực tiếp lên hạ tầng mạng có sẵn (FTP Server, WebServer) nên HIDS không yêu cầu phải cài đặt thêm các phần cứng khác
Trang 33Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
• Hệ thống host-based tương đối đắt: Nhiều tổ chức không có đủ nguồn tài chính để bảo vệ toàn bộ các đoạn mạng của mình sử dụng các hệ thống host-based Những tổ chức đó phải rất thận trọng trong việc chọn các hệ thống nào
để bảo vệ Nó có thể để lại các lỗ hổng lớn trong mức độ bao phủ phát hiện xâm nhập Ví dụ như một kẻ tấn công trên một hệ thống láng giềng không được bảo vệ có thể đánh hơi thấy các thông tin xác thực hoặc các tài liệu dễ bị xâm phạm khác trên mạng
• Chiếm tài nguyên hệ thống: Do cài đặt trên các máy cần bảo vệ nên HIDS phải sử dụng các tài nguyên của hệ thống để hoạt động như: bộ vi xử lí, RAM,
bộ nhớ ngoài
1.6.8.4 Cơ chế hoạt động của hệ thống IDS/IPS
IDS có các chức năng là phát hiện các cuộc tấn công và cảnh báo các cuộc tấn công đó Có các 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 IDS hoạt động dựa trên 3 phương pháp phát hiện xâm nhập:
* Mô hình phát hiện sự lạm dụng:
Phát hiện sự lạm dụng là phát hiện những kẻ xâm nhập đang cố gắng đột nhập vào hệ thống mà sử dụng một số kỹ thuật đã biết Nó liên quan đến việc mô tả đặc điểm các cách thức xâm nhập vào hệ thống đã được biết đến, mỗi cách thức này được mô tả như một mẫu
Các kỹ thuật để phát hiện sự lạm dụng khác nhau ở cách thức mà chúng mô hình hoá các hành vi chỉ định một sự xâm nhập Các hệ thống phát hiện sự lạm dụng
sử dụng các luật (rules) để mô tả những gì mà các nhà quản trị an ninh tìm kiếm trong hệ thống Một lượng lớn tập luật được tích luỹ dẫn đến khó có thể hiểu và sửa
Trang 34Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
đổi bởi vì chúng không được tạo thành từng nhóm một cách hợp lý trong một kịch bản xâm nhập
Để giải quyết khó khăn này, các hệ thống đưa ra các biểu diễn kịch bản xen kẽ, bao gồm các tổ chức luật dựa trên mô hình và các biểu diễn về phép biến đổi trạng thái Điều này sẽ mang tính hiệu quả hơn đối với người dùng hệ thống cần đến sự biểu diễn và hiểu rõ ràng về các kịch bản Hệ thống phải thường xuyên duy trì và cập nhật để đương đầu với những kịch bản xâm nhập mới được phát hiện
* Mô hình phát hiện các dấu hiệu bất thường
Mô hình phát hiện các dấu hiệu bất thường (Abnormaly-base Detection) so sánh định nghĩa của những hoạt động bình thường và đối tượng quan sát nhằm xác định các độ lệch Một hệ IDS sử dụng phương pháp Anormaly-base Detection có các profiles đặc trưng cho các hành vi được coi là bình thường, được phát triển bằng cách giám sát các đặc điểm của hoạt động tiêu biểu trong một khoảng thời gian Sau khi đã xây dựng được tập các profile này, hệ IDS sử dụng phương pháp thống kê để
so sánh các đặc điểm của các hoạt động hiện tại với các ngưỡng định bởi profile tương ứng để phát hiện ra những bất thường
Quá trình phát hiện được mô tả bởi 3 yếu tố cơ bản nền tảng sau:
- Thu thập thông tin (information source): Kiểm tra các gói tin trên mạng
- Phân tích (Analysis): Phân tích các gói tin đã thu thập để nhận 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
* Kiểm tra tính toàn vẹn
Kiểm tra tính toàn vẹn là một phương pháp đơn giản nhưng đem lại hiệu quả cao trong việc giám sát, phát hiện xâm nhập Nó hoạt động bằng cách tạo ra một checksum cho mỗi tập tin trên một hệ thống, và sau đó định kỳ so sánh checksum đó với tập tin gốc để đảm bảo tập tin không bị thay đổi Nếu một sự thay đổi tập tin trái phép xảy ra, một cảnh báo sẽ được được tạo ra Nhược điểm của kiểm tra tính toàn vẹn là nó đòi hỏi quyền truy cập vào các file nhạy cảm trên máy chủ
Để có được một hệ thống chống tấn công mạng tốt nhất ta tiến hành kết hợp hai mô hình phát hiện trên trong cùng một hệ thống Hệ thống kết hợp này sẽ cung cấp khả năng phát hiện nhiều loại tấn công hơn và hiệu quả hơn
Trang 35Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
lý hệ thống biết đƣợc hệ thống đang quản lý đƣợc giám sát nhƣ thế nào
Trang 36Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
CHƯƠNG 2 NGHIÊN CỨU BỘ CÔNG CỤ GIÁM SÁT, CHỐNG TẤN
CÔNG MẠNG 2.1 Giới thiệu chung
Công cụ giám sát, phát hiện và chống xâm nhập mạng là những ứng dụng được phát triển để theo dõi tình trạng của hệ thống, hiện nay trên thế giới có nhiều
bộ công cụ chia làm nhiều nhóm có những chức năng riêng
Tuy nhiên, những công cụ giám sát hệ thống phải được toàn diện, tình trạng của hệ thống phải được cập nhật thường xuyên 24/7 Phải hỗ trợ nhiều giao thức trong đó có giao thức SNMP, dễ dàng phát triển, dễ sử dụng, cài đặt đơn giản Hiện nay, có nhiều giải pháp phần mềm mã nguồn mở tự do cho phép triển khai giám sát, phát hiện và chống xâm nhập mạng rất hiệu quả như Nagios, Cacti, Snort, Zabbix, Zenoss, … Trong đó Cacti và Snort là hai giải pháp mã nguồn mở với nhiều chức năng mạnh mẽ cho phép quản lý băng thông kết nối, tình trạng hoạt động của các thiết bị, trạng thái của dịch vụ trong hệ thống mạng Nhiều tính năng trên Cacti và Snort còn được đánh giá cao hơn các sản phẩm thương mai [6]
Dựa vào các tiêu chí đó, luận văn nghiên cứu, phân tích, đánh giá bộ công cụ điển hình là Catti và Snort
2.2 Bộ công cụ giám sát mạng – Cacti
Cacti là một công cụ mã nguồn mở và kiến trúc frontend hoàn toàn trên nền web Cacti lưu toàn bộ thông tin cần thiết trong cơ sở dữ liệu MySQL và tạo ra đồ thị đo lường trực quan, tất cả các tham số đều có thể cấu hình qua giao diện web Cacti sử dụng 3 phiên bản SNMP để thu thập thông tin thông qua phương thức Poll
2.2.1 Kiến trúc của Cacti
Hinh 2.1 Kiến trúc của Cacti [6]
Cacti sử dụng phương thức Poll để thu thập dữ liệu từ nhiều nguồn khác nhau Các tệp tin Round Robin Database (RRD) dùng để lưu trữ dữ liệu Poll Cơ sở dữ
cacti
Router PBX Server
Application
MySQL rrd
Poller Cacti
Trang 37Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
liệu MySQL dùng để chứa các thông số cấu hình hệ thống Giao diện người dùng chính là ứng dụng web PHP, cho phép dễ dàng quản trị mọi khía cạnh của hệ thống, cũng như tự động hiển thị các thông số trực quan trên nền đồ họa [6]
Người dùng (người quản trị mạng) làm việc với Cacti thông qua trình duyệt web (Browser) Với trình duyệt web, người quản trị có thể khai báo các loại thiết bị trong hệ thống mạng, thiết lập các thông số về tất cả các thiết bị cần giám sát, quản lý Các dữ liệu quản trị sẽ được lưu trữ trong các bảng dữ liệu MySQL, kết quả các dữ liệu được minh họa hiển thị dưới dạng các sơ đồ
Những thông tin mà Cacti thu thập được của người dùng thông qua các truy vấn được lưu trữ lại trong cơ sở dữ liệu MySQL để duy trì hoạt động cho những lần sau
Từ yêu cầu của người dùng, Cacti sẽ xử lý các dữ liệu thông qua các truy vấn từ Poller Poller liên tục lấy dữ liệu từ các thiết bị cần được giám sát như: Server, router, HDD, Ram … Các dữ liệu thu thập được sẽ được lưu trữ bằng cơ
sở dữ liệu xoay vòng RRD Cacti sẽ sử dụng những dữ liệu RRD để tổ hợp và biểu diễn dữ liệu dưới dạng đồ thị
Các thành phần cài đặt chính để Cacti hoạt động là các gói phần mềm: RRDtool, MySQL, Webserver, PHP, Net-snmp
RRDtool: Là một cơ sở dữ liệu xoay vòng dùng để lưu lại dữ liệu thu thập
được từ các truy vấn hỗ trợ cho việc xuất dữ liệu đồ họa
MySQL: Gói này được cài đặt giống như cơ sở dữ liệu riêng của Cacti để
Cacti tùy ý sử dụng Là cơ sở dữ liệu lưu lại dữ liệu về người dùng, mật khẩu…vào kho MySQL
Webserver: Cacti được xây dựng trên nền web nên bất kỳ web server hỗ
trợ PHP cũng phải cài đặt để Cacti giao tiếp như Httpd của Apache hay của Microsoft được khuyên dùng vì tính năng ổn định và phổ biến
PHP: Cacti được lập trình dựa trên ngôn ngữ PHP, do vậy muốn để Cacti
hoạt động được trên hệ thống bắt buộc phải cài đặt gói PHP
Net- snmp: Gói phần mềm hỗ trợ việc sử dụng giao thức SNMP có thể
được hoạt động trên Ipv4, Ipv6
Các modul của hệ quản trị mạng Cacti
Trang 38Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 2.2 Các thành phần của hệ quản trị Cacti Cacti là hệ quản trị mạng mã nguồn mở dựa trên nền Web, cung cấp các tính năng phong phú nhƣ biểu đồ nhúng, mẫu thiết bị, tích hợp và phát triển trên các phần mềm cơ bản (mysql, php, rrdtool, net-snmp) dễ cài đặt và dễ dàng sử dụng các menu trong Cacti
Nhiệm vụ đầu tiên là để lấy dữ liệu Cacti sẽ thực hiện bằng cách sử dụng
bộ quét thiết bị Tần số quét có thể đƣợc thực hiện từ lịch của hệ điều hành Trong hệ thống mạng hiện tại, làm việc với rất nhiều thiết bị các loại khác nhau,
ví dụ nhƣ máy chủ, thiết bị mạng…Để lấy dữ liệu từ mục tiêu ở xa, Cacti sẽ chủ yếu sử dụng SNMP Do đó, tất cả các thiết bị có khả năng sử dụng giao thức SNMP đều có thể đƣợc quản trị và theo dõi bởi phần mềm Cacti
Trang 39Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Database Tool) để lưu trữ dữ liệu RRDTool là một hệ thống lưu trữ dữ liệu và hiển thị dữ liệu theo chuỗi thời gian Nó lưu trữ các dữ liệu một cách rất nhỏ gọn
mà độ lớn của tệp sẽ không thay đổi theo thời gian, dựa trên dữ liệu của RRDTool, RDDTool hỗ trợ trong hệ thống đồ họa, tạo ra các sơ đồ thể hiện dữ liệu mà nó thu thập được
+ Trình bày dữ liệu:
Một trong những tính năng được đánh giá cao nhất của RRDTool là tích hợp chức năng đồ họa Điều này càng hữu ích khi kết hợp với máy chủ web Như vậy, dữ liệu được thể hiện qua các thông số của hệ thống và khoảng thời gian dữ liệu được thu thập Hình ảnh của các dữ liệu này thường được minh họa thể hiện theo những cách rất khác nhau trên cơ sở đó người quản trị có thể đánh giá được ngưỡng của thiết bị
RRDTool là một công cụ mạnh đóng vai trò rất quan trọng trong hệ thống quản trị mạng Cacti
Trong cấu hình mặc định Cacti chỉ hỗ trợ 2 menu tính năng chính 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 mà Cacti là cho phép tích hợp nhiều thành phần khác vào nó Cacti có khả năng tích hợp thêm các chức năng của người sử dụng (Plugin) Plugin là một dạng phần mềm có thể thêm các tính năng vào một ứng dụng có sẵn Đây là một đặc điềm quan trọng cho việc thực hiện ý tưởng 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, chống tấn công hệ thống mạng
2.2.3 Các tính năng chính
Biểu đồ: Hầu như tất cả mọi thứ trong cacti đều liên quan đến biểu đồ Kể từ khi Cacti cung cấp một giao diện người dùng thân thiện với RRD mà không yêu cầu người dùng phải hiểu RRD làm việc ra sao Với cơ chế này, mỗi biểu đồ trong Cacti đều được cài đặt và có ít nhất một công cụ biểu đồ liên kết với nó Vì vậy, các công
cụ xác định dữ liệu để hiển thị và xác định những gì sẽ được hiển thị trên chú giải của biểu đồ
Trang 40Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 2.4 Biểu đồ trong Cacti Trong hình 2.4 là biểu đồ thể hiện băng thông của cổng ethernet 1 trên switch
và được đo bằng bit/s Trục tung thể hiện lượng dữ liệu, trục hoành chỉ thời gian theo dõi Màu xanh lá thể hiện dữ liệu đi vào cổng (download), màu xanh ra trời chỉ
dữ liệu đi ra (upload)
Cacti hỗ trợ nhiều kiểu biểu đồ cũng như nhiều dạng dữ liệu, có thể theo dõi lưu lượng theo phút, giờ, ngày, tháng Hoặc theo dõi lưu lượng trong một khoảng thời gian cũng như hiệu năng CPU hoặc các thông số hệ thống khác
Thu thập dữ liệu: Cacti có chức năng “data input” cho phép người dùng định nghĩa các đoạn mã sử dụng để thu thập dữ liệu Mỗi đoạn mã chứa các tham số phải được nhập vào (ví dụ như địa chỉ IP) để có thể thu thập dữ liệu Hỗ trợ các phiên bản của giao thức SNMP, sử dụng SNMP hoặc các đoạn mã viết sẵn để thu thập dữ liệu Việc sử dụng SNMP giúp Cacti có thể thu thập dữ liệu từ bất cứ thiết bị nào hỗ trợ SNMP
Giám sát băng thông của các liên kết trên topo mạng tổng thể Cacti có chức năng thiết lập một topo mạng tổng thể, dựa vào đó, người quản lý có thể theo dõi tình trạng băng thông giữa các thiết bị, phát hiện những lưu lượng bất thường như tấn công Ddos từ bên ngoài hoặc những mối nguy từ bên trong và xử lý kịp thời nhờ vào chức năng thu thập dư liệu
Trong hình 2.5 là bản đồ trạng thái của một hệ thống, các liên kết giữa các thiết bị được thể hiện bằng màu sắc cụ thể, các màu sắc được qui định cụ thể lưu lượng theo % trong biểu đồ Ví dụ: màu vàng là lưu lượng đạt 55-70% như vậy nếu liên kết có thay đổi màu sắc đậm hơn, cụ thể nếu chuyển sang màu đỏ một cách đột