Xây dựng hệ thống Snort IDS- IPS trên CentOS. HỆ thống IDS-IPS là hệ thống phát hiện và phòng chống xâm nhập vào máy chủ. Đây là giải pháp mã nguồn mở, tiết kiệm chi phí cho doanh nghiệp.
Trang 1ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC SÀI GÒN
NGÔ VĂN CHƠN
LÊ THỊ MỘNG VÂN
XÂY DỰNG HỆ THỐNG SNORT
IDS – IPS TRÊN CENTOS
KHÓA LUẬN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN TRÌNH ĐỘ ĐÀO TẠO: ĐẠI HỌC
NGƯỜI HƯỚNG DẪN: PGS.TS TRẦN CÔNG HÙNG
TP.HỒ CHÍ MINH, THÁNG 10 NĂM 2013
Trang 2ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ
MINH
TRƯỜNG ĐẠI HỌC SÀI GÒN
NGÔ VĂN CHƠN
LÊ THỊ MỘNG VÂN
XÂY DỰNG HỆ THỐNG SNORT
IDS – IPS TRÊN CENTOS
KHÓA LUẬN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN TRÌNH ĐỘ ĐÀO TẠO: ĐẠI HỌC
NGƯỜI HƯỚNG DẪN: PGS.TS TRẦN CÔNG HÙNG
NGƯỜI PHẢN BIỆN: ThS NGUYỄN MINH THI
TP.HỒ CHÍ MINH, THÁNG 10 NĂM 2013
Trang 3Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số liệu và kết quả nghiên cứu nêu trong luận văn là trung thực, được các đồng tác giả cho phép sử dụng và chưa từng được công bố trong bất kì một công trình nào khác
Tác giả luận văn
Ngô Văn Chơn Lê Thị Mộng Vân
Trang 4Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
LỜI CẢM ƠN
Trong suốt thời gian học tập tại Đại Học Sài Gòn, chúng em đã nhận được rất
nhiều sự quan tâm và tận tình chỉ bảo của các thầy cô Nhờ đó mà chúng em đã tiếp
thu được không ít các kiến thức cùng kinh nghiệm quý báu trong lĩnh vực Công nghệ
thông tin Các kiến thức và kinh nghiệm này là một hành trang vững chắc cho chúng
em trong học tập cũng như trong công việc sau này
Chúng em xin gửi lời cảm ơn chân thành đến thầy PGS.TS Trần Công Hùng, mặc
dù hết sức bận rộn nhưng thầy vẫn dành thời gian để truyền đạt cho chúng em những
kiến thức bổ ích, chia sẻ những kinh nghiệm quý báu cũng như tận tình hướng dẫn
chúng em trong quá trình thực hiện Luận văn tốt nghiệp để giúp chúng em hoàn thành
bài Luận văn này
Chúng em xin chân thành gửi đến quý Thầy Cô lời cảm ơn sâu sắc nhất Kính
chúc quý thầy cô dồi dào sức khỏe và đạt nhiều thành công trong công việc và cuộc
sống
Trong quá trình thực hiện Luận văn này, dù đã cố hết sức nhưng không tránh khỏi
thiếu sót Vì thế, chúng em rất mong nhận được các ý kiến góp ý cũng như những chỉ
bảo để chúng em có thể hoàn thiện và phát triển đề tài này hơn nữa
TP.Hồ Chí Minh, ngày 10 tháng 10 năm 2013
Nhóm sinh viên thực hiện
Ngô Văn Chơn
Lê Thị Mộng Vân
Trang 5Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
MỤC LỤC
TRANG PHỤ BÌA .……… i
LỜI CAM ĐOAN ii
LỜI CẢM ƠN iii
DANH MỤC CÁC CỤM TỪ VIẾT TẮT 5
DANH MỤC CÁC BẢNG 7
DANH MỤC CÁC HÌNH VẼ 7
MỞ ĐẦU 8
CHƯƠNG I TỔNG QUAN VỀ IDS 9
Giới thiệu về IDS .9
Chức năng của IDS .9
Các thành phần cơ bản của IDS .10
Kiến trúc IDS .10
Thành phần thu thập thông tin: 11
Thành phần phát hiện .11
Thành phần phản ứng .12
Phân loại IDS .12
Network-Based IDS .12
Host-Based IDS .13
Distributed IDS .14
Các loại IDS khác .16
CHƯƠNG II TỔNG QUAN VỀ IPS 17
Giới thiệu về IPS .17
Kiến trúc IPS .17
Module phân tích gói 17
Module phát hiện tấn công 17
Module phản ứng 19
Phân loại IPS 20
Trang 6Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Phân loại triển khai IPS 20
Promiscuous Mode IPS 20
In-line IPS .21
Công nghệ ngăn chặn xâm nhập IPS .22
Signature - Based IPS .22
Anomaly-Based IPS .22
Policy-Based IPS .23
Protocol Analysis-Based IPS .24
So sánh IDS và IPS 24
CHƯƠNG III FIREWALL 26
Các loại Firewall .26
Firewall cứng 26
Firewall mềm 26
Chức năng của Firewall .27
Nguyên lý hoạt động 27
Ưu điểm của Firewall 27
Nhược điểm của Firewall .28
Sự khác nhau của Firewall và IDS .28
CHƯƠNG IV TÌM HIỂU VỀ SNORT 30
Giới thiệu về hệ thống Snort .30
Kiến trúc của Snort: 31
Packet Decoder 32
Preprocessors 32
Detection Engine 34
Logging and Alerting System .35
Output Modules .35
Các chế độ hoạt động của Snort .36
Sniffer mode .36
Packet Logger mode .38
Trang 7Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Network Intrusion Detection System (NIDS) mode .38
Inline mode .40
Snort Rules .41
Giới thiệu .41
Cấu trúc luật của Snort .41
CHƯƠNG V CÀI ĐẶT VÀ CẤU HÌNH SNORT 63
Cài đặt Snort .63
5.1.1 Cài đặt các thư viện cần thiết cho việc cài đặt Snort: 63
Cài đặt libdnet: 64
Cài đặt DAQ: 64
Cài đặt Snort: 65
Cài đặt barnyard2: 68
Cấu hình mysql: 68
Cài đặt adodb5: 69
Cài đặt BASE: 69
Tùy chỉnh cấu hình Snort: 70
Cấu hình Snort và các phần bổ sung: 71
Các biến trong Snort: 71
Cấu hình Preprocessor: 73
Cấu hình Output Modules .80
Cài đặt và cấu hình Swatch 82
CHƯƠNG VI XÂY DỰNG HỆ THỐNG, KIỂM TRA HOẠT ĐỘNG CỦA SNORT IDS/IPS Thiết kế hệ thống .84
Kiểm tra hoạt động của Snort IDS/IPS .84
Sử dụng BASE quản lý cảnh báo bằng giao diện .84
Sử dụng Snort phát hiện tấn công ARP Spoofing .85
Sử dụng Snort phát hiện scan port vào hệ thống .86
Sử dụng Snort phát hiện và ngăn chặn các cuộc tấn công từ chối dịch vụ
Trang 8Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Snort hiển thị cảnh báo bằng email 90
KẾT LUẬN 91
Kết quả đạt được 91
Hạn chế và hướng phát triển 91
TÀI LIỆU THAM KHẢO 93
PHỤ LỤC 94
CÁC KỸ THUẬT XỬ LÝ TRONG IDS .94
1 Hệ thống Expert (Expert systems) .94
2 Phát hiện xâm nhập dựa trên luật (Rule-Based Intrusion Detection) 94
3 Phân biệt ý định người dùng (User intention Identification) .94
4 Phân tích trạng thái phiên (State-Transition Analysis) .95
5 Phương pháp phân tích thống kê (Statistical Analysis Approach) 95
Trang 9Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
DANH MỤC CÁC CỤM TỪ VIẾT TẮT
ASCII : American Standard Code for Information Interchange
DDoS : Distributed Denial of Service
FDDI : Fiber Distributed Data Interface
Trang 10Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
NetBIOS : Network Basic Input/Output System
PPP : Point-to-Point Protocol
SLIP : Serial Line Internet Protocol
Trang 11Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
DANH MỤC CÁC BẢNG
Trang 12Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
MỞ ĐẦU
Trong bối cảnh hiện nay, khi Internet phủ khắp toàn cầu và trực tiếp tác động đến
sự phát triển toàn diện của hầu hết các lĩnh vực trong đời sống như: Kinh tế, chính trị, văn hóa, xã hội, an ninh quốc phòng thì an ninh mạng và bảo mật dữ liệu trở thành một vấn đề mang tính chất “sống còn” của các quốc gia, tổ chức và doanh nghiệp Bên cạnh đó, các cuộc tấn công mạng ngày càng gia tăng, với mức độ tinh vi cũng như sức tàn phá mạnh hơn bao giờ hết Chính vì thế đòi hỏi các quốc gia, tổ chức, doanh nghiệp trên toàn thế giới cần phải đầu tư vào các chính sách an ninh và bảo mật mạng nhiều hơn nữa
Triển khai một hệ thống mạng và xây dựng được cơ chế bảo mật chặt chẽ, an toàn là biện pháp duy nhất duy trì tính bền vững cho hệ thống của quốc gia, tổ chức, doanh nghiệp đó
Như đã đề cập đến, các cuộc tấn công mạng ngày càng tăng, tinh vi hơn, tàn phá nghiêm trọng hơn và gây tổn thất nặng nề hơn Vì thế, cần phải am hiểu các cách thức tấn công và phát hiện một cách kịp thời để có thể tìm ra các biện pháp phòng chống cũng như ngăn chặn, để làm giảm các tổn thất gây ra ở mức thấp nhất Đó là lý do để nhóm chúng em thực hiện bài luận văn về “Xây dựng hệ thống Snort IDS-IPS trên CentOS” này
Trang 13Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
CHƯƠNG I TỔNG QUAN VỀ IDS Giới thiệu về IDS
IDS (Intrusion Detection System: Hệ thống phát hiện xâm nhập) là hệ thống an ninh (có thể là phần mềm, phần cứng hoặc kết hợp cả hai) Nó giám sát, phân tích lưu thông mạng và dữ liệu để nhận biết, cung cấp thông tin và đưa ra cảnh báo khi có những hành động khả nghi, xâm nhập trái phép cũng như khai thác tài nguyên bất hợp pháp trên hệ thống mạng cho nhà quản trị bằng việc hiển thị cảnh báo, ghi logfile và phản ứng lại bằng các hành động đã được thiết lập trước Ngoài ra, IDS còn có thể xác định được nguồn gốc của các nguy cơ trên là từ bên ngoài hay là từ
bên trong hệ thống
Trong một số trường hợp, do không hiểu rõ về bản chất cũng như cách thức hoạt động của IDS nên nó thường bị nhầm lẫn với hệ thống kiểm tra lưu lượng mạng (được
sử dụng để phát hiện các cuộc tấn công DoS), các bộ quét bảo mật (nhằm tìm ra các
lỗ hổng trong mạng), các phần mềm chống virus (phát hiện các mã độc), tường lửa
Hoạt động của IDS nhìn chung rất đa dạng, nhưng mục đích cuối cùng của nó là phát hiện, ngăn chặn kịp thời các hoạt động của kẻ tấn công trước khi chúng gây tổn
hại đến hệ thống
Chức năng của IDS
IDS có 3 chức năng quan trọng nhất là: giám sát, cảnh báo và bảo vệ
- Giám sát: IDS giám sát lưu lượng mạng, hoạt động của hệ thống và hành vi của người dùng Nhờ vào đó mà nó có thể phát hiện ra hành động khả nghi
- Cảnh báo: Khi phát hiện ra những dấu hiệu bất thường, IDS sẽ đưa ra các cảnh báo cho hệ thống hay người quản trị
Trang 14Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
- Bảo vệ: IDSdùng những thiết lập mặc định và những 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
Ngoài ra IDS còn có những chức năng mở rộng như:
- Phân biệt cuộc tấn công vào hệ thống là từ bên trong hay bên ngoài
- Phát hiện dựa vào sự so sánh lưu lượng mạng hiện tại với các thông số chuẩn của hệ thống và những dấu hiệu đã biết, IDS có thể phát hiện ra những dấu hiệu bất thường và đưa ra các cảnh báo và bảo vệ ban đầu cho hệ thống
Các thành phần cơ bản của IDS
IDS có các thành phần cơ bản sau:
- Sensor/ Agent: là các bộ cảm biến được đặt trong hệ thống nhằm phát hiện
những xâm nhập hoặc dấu hiệu bất thường trên toàn mạng Nhiệm vụ chính của nó là giám sát và phân tích các hoạt động “Sensor” thường được dùng cho dạng Network-Based IDS (NIDS) trong khi “Agent” thường được dùng cho dạng Host-Based IDS (HIDS)
- Management Server: là một 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
- Database Server: dùng lưu trữ thông tin từ Sensor/ Agent hay Management
Server
- Console: là chương trình cung cấp giao diện cho IDS 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
Kiến trúc IDS
Kiến trúc của 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át hiện (Detection)
Trang 15Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
- Thành phần phản ứng (Response)
Hình 1.1 Kiến trúc của hệ thống IDS
Thành phần thu thập thông tin:
Thành phần bao gồm 3 bộ phận: Chính sách thu thập thông tin (Infomation Collection Policy), Thông tin sự kiện (Event Generator) và Thiết lập sự kiện (Set of Event: bao gồm Syslogs, System Status, Network Packets) Nhiệm vụ của nó là lấy tất cả các gói tin đi đến mạng Mỗi gói tin đi đến mạng đều được sao chụp, xử lý, phân tích từng trường thông tin Sau khi phân tích xong, các thông tin này sẽ được chuyển đến thành phần phát hiện
Thành phần phát hiện
Thành phần này cũng bao gồm 3 bộ phận: Hệ thống phân tích (Analyzer: bao gồm các Sensor), Hệ thống thông tin (System Information) và Chính sách phát hiện (Detection Policy) Đây là thành phần quan trọng nhất, trong đó các Sensor đóng vai trò quyết định Nó có trách nhiệm lọc và loại bỏ các dữ liệu không tương thích có được từ các sự kiện không liên quan đến hệ thống bảo vệ, do vậy nó có thể phát hiện
ra những hành động đáng ngờ Khi phát hiện ra dấu hiệu của tấn công hay xâm nhập, thành phần phát hiện sẽ gửi tín hiệu cảnh báo đến thành phần phản ứng
Trang 16Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Thành phần phản ứng
Thành phần này bao gồm: Hệ thống đáp trả (Reponse Module) và Chính sách đáp trả (Respone Policy) Khi nhận được tín hiệu cảnh báo của thành phần phát hiện, thành phần phản ứng sẽ cảnh báo đến người quản trị hệ thống hoặc có những hành động cụ thể chống lại hành vi tấn công hay xâm nhập (dùng những thiết lập mặc định
và cấu hình từ người quản trị)
Phân loại IDS
Có nhiều cách phân loại hệ thống IDS, dựa vào phạm vi giám sát có 3 loại chính:
- Network-Based IDS (NIDS)
- Host-Based IDS (HIDS)
- Distributed IDS (DIDS)
Network-Based IDS
NIDS là một loại IDS phổ biến, nó giám sát lưu lượng mạng ở tất cả các tầng của
mô hình OSI NIDS sử dụng các Sensor đặt ở các phân đoạn mạng cần quản lý, giám sát mọi luồng thông tin, dữ liệu ra vào trên phân đoạn mạng đó Khi có dấu hiệu nghi ngờ, Sensor sẽ phát ra cảnh báo gửi về trạm quản lý, trạm quản lý sẽ phân tích gói tin
và thực hiện theo các kịch bản đã được thiết lập sẵn
Ưu điểm:
- Chi phí thấp
- Khả năng phát hiện các nguy cơ cao hơn HIDS
- Khó xóa bỏ dấu vết tấn công trong NIDS
- Phát hiện và đối phó kịp thời khi bị tấn công
- Có tính độc lập cao
Trang 17Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Hình 1.2 Network-Based IDS
Nhược điểm:
- Hạn chế trên từng phân đoạn mạng
- Hiệu năng không cao
- Không hiệu quả với các phiên làm việc được mã hóa
Host-Based IDS
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 được thông qua lệnh su-superuser, như vậy những cố gắng liên tục để login vào tài khoản root có thể được coi là một cuộc tấn công
Trang 18Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Hình 1.3 Host-based IDS
Ưu điểm:
- Xác định được kết quả của cuộc tấn công
- Giám sát được các hoạt động trên hệ thống
- Có thể phân tích các dữ liệu đã được mã hóa
- Không yêu cầu thêm phần cứng
Trang 19Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Hình 1.4 Distributed IDS
Mạng liên lạc giữa các Sensor và trạm quản lý có thể là mạng riêng hoặc đường truyền mạng có sẵn Khi thông tin truyền đi trên mạng chung sẽ được mã hóa hoặc
sử dụng mạng riêng ảo (Virtual Private Network) để đảm bảo vấn đề an ninh
Ưu điểm:
- Có thể giám sát toàn hệ thống, thậm chí với những hệ thống lớn
- Có khả năng giám sát từ xa đối với các mạng lớn
Trang 20Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Các loại IDS khác
Ngoài ra còn có một số dạng khác của IDS:
- Wireless IDS (WIDS)
- Network Behavior Analysis System (NBAS)
- Honeypot IDS
Trang 21Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
CHƯƠNG II TỔNG QUAN VỀ IPS Giới thiệu về IPS
Một hệ thố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 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 Phần lớn hệ thống IPS được đặt ở vành đai mạng, đủ khả năng bảo vệ tất cả các thiết bị trong mạng
Kiến trúc IPS
Kiến trúc của IPS gồm 3 module chính:
Module phân tích gói
Module này có nhiệm vụ phân tích cấu trúc thông tin trong các gói tin Thông thường card mạng sẽ hủy bỏ gói tin không phải địa chỉ của card mạng đó, nhưng card mạng của IPS được đặt ở chế độ thu nhận tất cả các gói tin qua chúng đều được sao chép lại và chuyển lên lớp trên Bộ phân tích gói đọc thông tin từng trường trong gói tin, xác định kiểu gói tin, xác định gói tin thuộc dịch vụ nào Sau đó các thông tin này được chuyển tới Module phát hiện tấn công
Module phát hiện tấn công
Đây là Module quan trọng nhất trong hệ thống, có khả năng phát hiện các cuộc tấn công Có hai phương pháp để phát hiện các cuộc tấn công, xâm nhập là dò tìm sự lạm dụng (Signature-Based) và sự không bình thường (Anomaly-Based)
Phương pháp dò sự lạm dụng
Phân tích các hoạt động của hệ thống, tìm kiếm các sự kiện giống với các mẫu tấn công đã biết trước Các mẫu tấn công đã biết này gọi là các dấu hiệu tấn công Do vậy phương pháp này còn gọi là phương pháp dò dấu hiệu
Trang 22Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Ưu điểm của phương pháp này là giúp phát hiện các cuộc tấn công nhanh và chính xác, không đưa ra các cảnh báo sai làm giảm khả năng hoạt động của mạng, giúp người quản trị xác định các lỗ hổng bảo mật trong hệ thống Tuy nhiên lại không thể phát hiện được các cuộc tấn công mới, không có trong cơ sở dữ liệu, vì vậy phải luôn cập nhật các kiểu tấn công mới
Phương pháp dò sự không bình thường
Đây là kỹ thuật dò thông minh, nhận dạng ra các hành động không bình thường của mạng Quan niệm của phương pháp này về các cuộc tấn công là khác so với các hoạt động thông thường Ban đầu, chúng lưu trữ các mô tả sơ lược về các hoạt động bình thường của hệ thống Các cuộc tấn công sẽ có những hành động khác so với bình thường và phương pháp dò này có thể nhận dạng Một số kỹ thuật giúp thực hiện dò
sự không bình thường của các cuộc tấn công như dưới đây:
- Phát hiện mức ngưỡng: Kỹ thuật này nhấn mạnh việc đo đếm các hoạt động
bình thường trên mạng Các mức ngưỡng về các hoạt động bình thường được đặt ra Nếu có sự bất thường nào đó như đăng nhập với số lần quá quy định,
số lượng các tiến trình hoạt động trên CPU, số lượng một loại gói tin được gửi vượt quá mức thì hệ thống có dấu hiệu bị tấn công
- Phát hiện nhờ quá trình tự học: Kỹ thuật này bao gồm hai bước Khi bắt đầu
thiết lập, hệ thống phát hiện tấn công sẽ chạy ở chế độ tự học và tạo ra một hồ
sơ về cách cư xử của mạng với các hoạt động bình thường Sau thời gian khởi tạo, hệ thống sẽ chạy ở chế độ làm việc, tiến hành theo dõi, phát hiện các hoạt động bất thường của mạng bằng cách so sánh với hồ sơ đã thiết lập Chế độ tự học có thể chạy song song với chế độ làm việc để cập nhật hồ sơ của mình nhưng nếu dò ra có tín hiệu tấn công thì chế độ tự học phải dừng lại cho tới khi cuộc tấn công kết thúc
- Phát hiện sự không bình thường của các giao thức: Kỹ thuật này căn cứ
vào hoạt động của các giao thức, các dịch vụ của hệ thống để tìm ra các gói tin không hợp lệ, các hoạt động bất thường vốn là dấu hiệu của sự xâm nhập,
Trang 23Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
tấn công Kỹ thuật này rất hiệu quả trong việc ngăn chặn các hình thức quét mạng, quét cổng để thu thập thông tin của các tin tặc
Phương pháp dò sự không bình thường của hệ thống rất hữu hiệu trong việc phát hiện các cuộc tấn công kiểu từ chối dịch vụ Ưu điểm của phương pháp này là có thể phát hiện ra các kiểu tấn công mới, cung cấp các thông tin hữu ích bổ sung cho phương pháp dò sự lạm dụng, tuy nhiên chúng có nhược điểm thường tạo ra một số lượng các cảnh báo sai làm giảm hiệu suất hoạt động của mạng Phương pháp này sẽ
là hướng được nghiên cứu nhiều hơn, khắc phục các nhược điểm còn gặp, giảm số lần cảnh báo sai để hệ thống chạy chuẩn xác hơn
Module phản ứng
Khi có dấu hiệu của sự tấn công hoặc xâm nhập, module 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 xâm nhập đến module phản ứng Lúc đó module phản ứng sẽ kích hoạt firewall thực hiện chức năng ngăn chặn cuộc tấn công Tại module này, nếu chỉ đưa ra các cảnh báo tới các người quản trị và dừng lại ở đó thì hệ thống này được gọi là hệ thống phòng thủ bị động Module phản ứng này tùy theo hệ thống mà có các chức năng khác nhau Dưới đây là một số kỹ thuật ngăn chặn:
- Terminate session: Cơ chế của kỹ thuật này là hệ thống IPS gửi gói tin reset,
thiết lập lại cuộc giao tiếp tới cả client và server Kết quả cuộc giao tiếp sẽ được bắt đầu lại, các mục đích của hacker không đạt được, cuộc tấn công bị ngừng lại
- Drop attack: Kỹ thuật này dùng firewall để hủy bỏ gói tin hoặc chặn đường một
gói tin đơn, một phiên làm việc hoặc một luồng thông tin giữa hacker và nạn nhân
- Modify firewall polices: Kỹ thuật này cho phép người quản trị cấu hình lại chính
sách bảo mật khi cuộc tấn công xảy ra Sự cấu hình lại là tạm thời thay đổi các chính sách điều khiển truy cập bởi người dùng đặc biệt trong khi cảnh báo tới người quản trị
Trang 24Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
- Real-time Alerting: Gửi các cảnh báo thời gian thực đến người quản trị để họ
lắm được chi tiết các cuộc tấn công, các đặc điểm và thông tin về chúng
- Log packet: Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống các file
log Mục đích để các người quản trị có thể theo dõi các luồng thông tin và là nguồn thông tin giúp cho module phát hiện tấn công hoạt động Ba module trên họat động theo tuần tự tạo nên hệ thống IPS hoàn chỉnh Một hệ thống IPS được xem là thành công nếu chúng hội tụ được các yếu tố: thực hiện nhanh, chính xác, đưa ra các thông báo hợp lý, phân tích được toàn bộ thông lượng, cảm biến tối
đa, ngăn chặn thành công và chính sách quản lý mềm dẻo
Phân loại IPS
- NIPS (Network-Based IPS): thiết bị cảm biến được kết nối với các phân đoạn
mạng để giám sát nhiều máy
- HIPS (Host-Based IPS): các phần mềm quản lý trung tâm được cài đặt trên
mỗi máy chủ lưu trữ Các máy chủ được bảo vệ và báo cáo với trung tâm quản
lý giao diện điều khiển HIPS cung cấp máy chủ lưu trữ cá nhân phát hiện và bảo vệ HIPS không đòi hỏi phần cứng đặc biệt
Phân loại triển khai IPS
Promiscuous Mode IPS
Hệ thống IPS đứng trên firewall Như vậy luồng dữ liệu vào hệ thống mạng sẽ cùng đi qua firewall và IPS IPS có thể kiểm soát luồng dữ liệu vào, phân tích và phát hiện các dấu hiệu của sự xâm nhập, tấn công
Với vị trí này, Promiscuous Mode IPS có thể quản lý firewall, chỉ dẫn nó chặn lại các hành động nghi ngờ
Trang 25Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Hình 2.1 Hệ thống Promiscuous mode IPS
In-line IPS
Hình 2.2 Hệ thống In-line IPS
Vị trí IPS nằm trước Firewall, luồng dữ liệu phải đi qua chúng trước khi tới firewall Điểm khác chính so với Promiscuous Mode IPS là có thêm chức năng traffic-blocking Điều đó làm cho IPS có thể ngăn chặn luồng giao thông nguy hiểm nhanh hơn so với Promiscuous Mode IPS 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
Trang 26Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Với mục tiêu ngăn chặn các cuộc tấn công, hệ thống 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 Nếu không đáp ứng được điều này thì các cuộc tấn công đã được thực hiện xong và
hệ thống IPS là vô nghĩa
Công nghệ ngăn chặn xâm nhập IPS
Signature - Based IPS
Hình 2.3 Hệ thống Signature-based IPS
Signature-Based IPS tạo ra một luật gắn liền với những hoạt động xâm nhập tiêu biểu Một Signature-Based IPS giám sát tất cả các traffic và so sánh với dữ liệu hiện
có Nếu không có sẽ đưa ra những cảnh báo cho người quản trị để cho biết đó là một cuộc tấn công Việc tạo ra các Signature-Based yêu cầu người quản trị phải có những
kỹ năng hiểu biết thật rõ về attacks, những mối nguy hại và phải biết phát triển những Signature đề dò tìm (detect) những cuộc tấn công và mối nguy hại với hệ thống mạng
Anomaly-Based IPS
Trang 27Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Hình 2.4 Hệ thống Anomaly-based IPS
Anomaly-Based IPS phát hiện dựa trên sự bất thường hay mô tả sơ lược phân tích những hoạt động của mạng và lưu lượng mạng nhằm tìm kiếm sự bất thường Khi tìm thấy sự bất thường, một tín hiệu cảnh báo sẽ được khởi phát Sự bất thường
là bất cứ sự chệch hướng hay đi khỏi những thứ tự, dạng, nguyên tắc thông thường
Chính vì dạng phát hiện này tìm kiếm những bất thường nên nhà quản trị bảo mật phải định nghĩa đâu là những hoạt động, lưu lượng bất thường Nhà quản trị bảo mật
có thể định nghĩa những hoạt động bình thường bằng cách tạo ra những bản mô tả sơ lược nhóm người dùng (user group profiles)
Policy-Based IPS
Hình 2.5 Hệ thống Policy – based IPS
Policy-Based IPS sẽ phản ứng hoặc có những hành động nếu có sự vi phạm của một cấu hình policy xảy ra
Trang 28Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Bởi vậy, một Policy-Based IPS cung cấp một hoặc nhiều phương thức được ưa chuộng để ngăn chặn
Protocol Analysis-Based IPS
Giải pháp phân tích giao thức (Protocol Analysis-Based IPS) về việc chống xâm nhập thì cũng tương tự như Signature-Based IPS, nhưng nó sẽ đi sâu hơn về việc phân tích các giao thức trong gói tin (packets).Ví dụ: Một hacker bắt đầu chạy một chương trình tấn công tới một Server Trước tiên hacker phải gửi một gói tin IP cùng với kiểu giao thức, theo một RFC, có thể không chứa data trong payload
Một Protocol Analysis-Based sẽ detect kiểu tấn công cơ bản trên một số giao thức:
- Kiểm tra khả năng của giao thức để xác định gói tin đó có hợp pháp hay không
- Kiểm tra nội dung trong Payload (pattern matching)
- Thực hiện những cảnh cáo không bình thường
So sánh IDS và IPS
Hệ thống IDS hoạt động thụ động, theo dõi dữ liệu truyền qua mạng, so sánh các traffic này với các rules được thiết lập khi phát hiện bất kì dấu hiệu bất thường nào,
hệ thống sẽ ghi lại và gởi cảnh báo tới người quản trị Một hệ thống IDS có thể phát hiện hầu hết các loại traffic độc hại bị tường lửa bỏ qua bao gồm các cuộc tấn công
từ chối dịch vụ, tấn công dữ liệu trên các ứng dụng, đăng nhập trái phép máy chủ và các phần mềm độc hại như virus, trojan và worms
Hầu hết các hệ thống IDS thường dựa trên các dấu hiệu xâm nhập và phân tích trạng thái của giao thức để phát hiện các đe dọa Ưu điểm của IDS là không làm chậm mạng như IPS vì không phải là hệ thống nội tuyến Tuy nhiên vấn đề chính của IDS
là thường đưa ra báo động giả
Trang 29Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Hệ thống IPS phát hiện và ngăn chặn các cuộc tấn công, là giải pháp hoàn chỉnh ngăn chặn tấn công IPS có thể ngắt kết nối của kẻ tấn công vào hệ thống bằng cách chặn tài khoản người dùng, địa chỉ IP, hoặc các thuộc tính liên kết đến kẻ tấn công hoặc chặn tất cả các truy cập vào máy chủ, dịch vụ, ứng dụng
Tuy nhiên có nhiều lí do để các công ty chọn hệ thống IDS thay vì IPS, mặc dù
họ chắc chắn muốn có một hệ thống phát hiện và ngăn chặn các cuộc tấn công chứ không đơn thuần là ghi lại và cảnh báo Trong đó hai lí do chính là: Hệ thống IPS nếu đưa ra các báo động sai đối với lưu lượng hợp pháp trên mạng chúng sẽ ngăn chặn các luồng thông tin này, trong khi hệ thống IDS chỉ cảnh báo và ghi lại các cuộc tấn công giả này Thứ hai là một số quản trị viên hay nhà quản lí không muốn có một hệ thống tiếp nhận và thực hiện các quyết định thay cho họ, họ muốn nhận được cảnh báo, nhìn nhận vấn đề và đưa ra quyết định
Trang 30Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
CHƯƠNG III FIREWALL
Firewall là một kỹ thuật được tích hợp vào hệ thống để chống lại các truy cập trái phép, nhằm bảo vệ các nguồn thông tin nội bộ và hạn chế sự xâm nhập không mong muốn vào hệ thống
Thông thường firewall được đặt giữa mạng bên trong (Intranet) của một công ty,
tổ chức, ngành hay một quốc gia và internet Vai trò chính là bảo mật thông tin, ngăn chặn sự truy nhập không mong muốn từ bên ngoài (Internet) và cấm truy nhập từ bên trong (Intranet) tới một số địa chỉ nhất định trên internet
Các loại Firewall
Firewall cứng
Là những firewall được tích hợp trên router Đặc điểm của firewall cứng:
- Không được linh hoạt như firewall mềm: (Không thể thêm chức năng, thêm quy tắc như firewall mềm)
- Firewall cứng hoạt động ở tầng thấp hơn firewall mềm (Tầng Network và tầng Transport)
- Firewall cứng không thể kiểm tra được nột dung của gói tin
Firewall mềm
Là những firewall được cài đặt trên server Đặc điểm của firewall mềm:
- Tính linh hoạt cao: Có thể thêm, bớt các quy tắc, các chức năng
- Firewall mềm hoạt động ở tầng cao hơn firewall cứng (tầng ứng dụng)
- Firewal mềm có thể kiểm tra được nội dung của gói tin (thông qua các từ khóa)
Trang 31Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Chức năng của Firewall
Chức năng chính của firewall là kiểm soát luồng thông tin từ giữa intranet và internet
- Cho phép hoặc cấm những dịch vụ truy cập ra ngoài
- Cho phép hoặc cấm những dịch vụ từ ngoài truy cập vào trong
- Theo dõi luồng dữ liệu mạng giữa internet và intranet
- Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập
- Kiểm soát người sử dụng và việc truy cập của người sử dụng
Nguyên lý hoạt động
- Firewall hoạt động chặt chẽ với giao thức TCP/IP, vì giao thức này làm việc theo thuật toán chia nhỏ các dữ liệu nhận được từ các ứng dụng trên mạng Vì vây, firewall cũng liên quan rất nhiều đến các packet và những con số địa chỉ của chúng
- Bộ lọc packet cho phép hay từ chối mỗi packet mà nó nhận được
- Các luật lệ lọc packet này là dựa trên các thông tin ở đầu mỗi packet (header), dùng để cho phép truyền các packet đó ở trên mạng
- Nếu packet thỏa các luật lệ đã được thiết lập trước của firewall thì packet đó được chuyển qua, nếu không thỏa thì sẽ bị loại bỏ
Chú ý: Việc kiểm tra dựa trên header của các packet nên bộ lọc không kiểm soát được nội dụng thông tin của packet Cho nên, các packet chuyển qua vẫn có thể mang theo những hành động với ý đồ ăn cắp thông tin hay phá hoại của kẻ xấu
Ưu điểm của Firewall
- Giới hạn được số lượng kết nối, giúp cho ta chống được các cơ chế tấn công
- Đa số các hệ thống Firewall đều sử dụng bộ lọc packet nên ưu điểm của nó là :
Trang 32Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Chi phí thấp vì cơ chế lọc packet đã được bao gồm trong mỗi phần mềm router
Cài đặt dễ và đơn giản
Có thể cảnh báo trước các cuộc tấn công (vd : phát hiện quét cổng)
Nhược điểm của Firewall
- Đòi hỏi người quản trị mạng cần có hiểu biết chi tiết về các dịch vụ internet, các dạng packet header
- Khi lọc càng lớn, các luật về lọc càng trở nên dài và phức tạp, rất khó để quản lý
và điều khiển
- Firewall không thể làm nhiệm vụ rà quét virus trên các dữ liệu được chuyển qua
nó, sự xuất hiện liên tục của các virus mới và do có rất nhiều cách để mã hóa dữ liệu, thoát khỏi khả năng kiểm soát của firewall
- Firewall chỉ có thể ngăn chặn sự xâm nhập của những nguồn thông tin không mong muốn nhưng phải xác định rõ các thông số địa chỉ
- Firewall không thể ngăn chặn một cuộc tấn công nếu cuộc tấn công này không
“đi qua” nó
Sự khác nhau của Firewall và IDS
Firewall và IDS có một số tính năng chồng chéo, nhưng cả hai cũng có một số tính năng bảo quan trọng riêng Nếu firewall và IDS được sử dụng độc lập ta sẽ không thể chống lại tất cả các cuộc tấn công, vì thế nên sử dụng kết hợp cả hai để tăng cường phòng thủ theo chiều sâu hoặc theo cách tiếp cận lớp Cả hai đảm nhận những chức năng khác nhau trong an ninh mạng Sự khác biệt cơ bản giữa chúng là firewall chủ động chống lại các cuộc tấn công, trong khi IDS làm nhiệm vụ báo động khi phát hiện một cuộc tấn công
Sự khác nhau của Firewall và IDS được trình bày chi tiết ở bảng sau:
Trang 33Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Là một thiết bị hoạt động, nó ngăn
chặn các nội dung độc hại và những
kẻ thâm nhập vào mạng, cung cấp
Kiểm tra các gói tin của các luồng
vào và ra dựa vào port, trạng thái,
địa chỉ IP và mức ứng dụng của
thông tin
Phát hiện ra các hoạt động độc hại bằng cách xác định các dấu hiệu tấn công hay mẫu và tạo ra các báo động
Kiểm tra sâu gói tin (mức ứng
dụng)
Kiểm tra tính toàn vẹn của cơ sở hạ tầng mạng, hệ thống và file
Ngăn chặn các truy cập trái phép
vào nguồn tài nguyên (mạng nội bộ)
bằng việc thực thi các danh sách
kiểm soát truy cập
Phát hiện các hành vi sai lệch với tiêu chuẩn của hệ thống mạng bằng cách triển khai các giao thức và phát hiện các bất thường trong lưu lượng truy cập
Thực hiện xác thực và ủy quyền
trước khi thiết lập các kết nối
Không thực hiện xác thực và ủy quyền trước khi thiết lập các kết nối
Ngăn chặn các cuộc tấn công giả
mạo IP, DoS,
Phát hiện các cuộc tấn công giả mạo IP, DoS
Bảng 3.1 Sự khác nhau giữa Firewall và IDS
Trang 34Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
CHƯƠNG IV TÌM HIỂU VỀ SNORT Giới thiệu về hệ thống Snort
Snort là một phần mềm IDS mã nguồn mở, được phát triển từ năm 1998 bởi Martin Roesch, người sáng lập của Sourcefire Với tốc độ ấn tượng, sức mạnh cũng như hiệu năng mà Snort đã đạt được đà phát triển nhanh chóng Bên cạnh đó, kiến trúc của Snort được thiết kế ở dạng module nên người dùng có thể tăng cường tính năng cho hệ thống Snort của mình bằng việc cài đặt hay viết thêm các module mới Tính đến nay, với hơn 4 triệu lượt tải về và gần 400 ngàn người dùng đăng ký, Snort
đã trở thành công nghệ phát hiện và phòng chống xâm nhập được sử dụng rộng rãi nhất trên thế giới
Các đặc điểm của Snort:
- Có thể chạy trên nhiều platform như: Linux, Windows, OpenBSD, FreeBSD, NetBSD, Solaris
- Chạy được trên nhiều giao thức mạng: Ethernet, 802.11, Token, Ring, FDDI
- Có khả năng phát hiện ra nhiều kiểu thăm dò và tấn công: buffer, overflow, DoS, portscan, ICMP
- Phát hiện nhanh các nguy cơ theo thời gian thực
- Cung cấp cho nhà quản trị các thông tin cần thiết để có thể kịp thời xử lý các
sự cố
Snort có thể hoạt động ở một số cơ chế:
- Sniffer mode: là chế độ cho phép bạn có thể theo dõi và đọc các luồng dữ liệu
ra vào hệ thống mạng được hiển thị trên màn hình điều khiển
- Packet Logger mode: cho phép ghi các logs dữ liệu vào đĩa lưu trữ
Trang 35Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
- Network Intrusion Detection System (NIDS) mode: là cơ chế được cấu hình
phức tạp nhất, cho phép Snort phân tích các luồng dữ liệu, trong đó kiểm soát cho (hay không) cho phép các dữ liệu ra vào hệ thống mạng dựa vào các bộ qui tắc được định nghĩa bởi người quản trị, đồng thời thực hiện một vài hành động dựa vào những gì mà Snort nhìn thấy
- Inline mode: các gói tin thu từ iptables thay vì libpcap, sau đó iptables thực
hiện hành động hủy hay cho phép các gói tin đi qua dựa trên những qui tắc được qui định và sử dụng bởi Snort
Kiến trúc của Snort:
Snort được chia thành nhiều module, mỗi module đảm nhận một chức năng riêng Xét về mặt luận lý, kiến trúc của Snort được chia thành 5 module chính: Packet Decoder ( Module Giải mã gói tin ), Preprocessors ( Module Tiền xử lý ), Detection Engine ( Module Phát hiện ), Logging and Alerting System ( Module Nhật ký và Cảnh báo ), Output Modules ( Module Kết xuất thông tin )
Hình 4.1 Kiến trúc Snort
Trang 36Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Packet Decoder
Snort bắt các gói thông tin lưu thông trên mạng, Module Giải mã sẽ tiến hành giải mã các gói tin (lấy từ các giao diện mạng khác nhau: Ethernet, SLIP, PPP ) Hình dưới đây mô tả quá trình giải mã gói tin Ethernet:
Hình 4.2 Quá trình giải mã gói tin Ethernet
Module này cũng có thể tạo ra các cảnh báo riêng dựa trên: tiêu đề giao thức bị thay đổi, gói tin quá dài, tùy chọn trong tiêu đề TCP bất thường hoặc không chính xác
Gói tin sau khi giải mã sẽ được gửi đến Module Tiền xử lý
Trang 37Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Kết hợp lại các gói tin
Khi một lượng dữ liệu lớn được gửi đi, thông tin sẽ không đóng gói toàn bộ vào một gói tin mà phải thực hiện việc phân mảnh, chia gói tin ban đầu thành nhiều gói tin rồi mới gửi đi Khi Snort nhận được các gói tin này nó phải thực hiện việc ghép nối lại để có được dữ liệu nguyên dạng ban đầu, từ đó mới thực hiện được các công việc xử lý tiếp
Như ta đã biết khi một phiên làm việc của hệ thống diễn ra, sẽ có rất nhiều gói tin được trao đổi trong phiên đó Một gói tin riêng lẻ sẽ không có trạng thái và nếu công việc phát hiện xâm nhập chỉ dựa hoàn toàn vào gói tin đó sẽ không đem lại hiệu quả cao Module Tiền xử lý giúp Snort có thể hiểu được các phiên làm việc khác nhau (nói cách khác đem lại tính có trạng thái cho các gói tin) từ đó giúp đạt được hiệu quả cao hơn trong việc phát hiện xâm nhập
Giải mã và chuẩn hóa giao thức
Công việc phát hiện xâm nhập dựa trên dấu hiệu nhận dạng nhiều khi bị thất bại khi kiểm tra các giao thức có dữ liệu có thể được thể hiện dưới nhiều dạng khác nhau Ví dụ: một web server có thể chấp nhận nhiều dạng URL như URL được viết dưới dạng mã hexa/Unicode, URL chấp nhận cả dấu \ hay / hoặc nhiều ký tự này liên tiếp cùng lúc Chẳng hạn ta có dấu hiệu nhận dạng “scripts/iisadmin”, kẻ tấn công có thể vượt qua được bằng cách tùy biến các yêu cấu gửi đến web server như sau:
Trang 38Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
vụ giải mã và chỉnh sửa, sắp xếp lại các thông tin đầu vào này để thông tin khi đưa đến Module Phát hiện có thể phát hiện được mà không bỏ sót Hiện nay Snort đã hỗ trợ việc giải mã và chuẩn hóa cho các giao thức: TELNET, HTTP, RPC, ARP
Phát hiện các xâm nhập bất thường
Các Module Tiền xử lý dạng này thường dùng để đối phó với các xâm nhập không thể hoặc rất khó phát hiện được bằng các luật thông thường hoặc các dấu hiệu bất thường trong giao thức
Detection Engine
Đây là module quan trọng nhất của Snort Nó chịu trách nhiệm phát hiện các dấu hiệu xâm nhập Module Phát hiện sử dụng các luật được định nghĩa trước để so sánh với dữ liệu thu thập được từ đó xác định xem có xâm nhập xảy ra hay không Rồi tiếp theo mới có thể thực hiện một số công việc như ghi log, tạo thông báo và kết xuất thông tin
Một vấn đề rất quan trọng trong Module Phát hiện là thời gian thực thi, xử lý các gói tin Tùy thuộc vào hệ thống của bạn mạnh như thế nào mà sẽ tốn những khoảng thời gian khác nhau để xử lý, vì một IDS thường nhận được rất nhiều gói tin, tương ứng với việc cũng có rất nhiều các luật được thực thi Nếu lưu lượng cần xử lý trên mạng là quá lớn khi Snort đang hoạt động trong chế độ NIDS, bạn có thể mất một vài gói tin hoặc thời gian đáp ứng không chính xác Khả năng xử lý của Module 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 hệ thống máy mà Snort đang chạy
- Tốc độ của bus hệ thống
- Lưu lượng trên mạng
Trang 39Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
Một Module Phát hiện cũng có khả năng tách các phần của gói tin ra và áp dụng các luật lên từng phần nào của gói tin đó Các phần đó có thể là:
- IP header
- Header ở tầng giao vận: TCP, UDP
- Header ở tầng ứng dụng: DNS header, HTTP header, FTP header,…
- Payload của gói tin
Một vấn đề nữa trong Module Phát hiện đó là việc xử lý thế nào khi một gói tin
bị phát hiện bởi nhiều luật Do các luật trong Snort cũng được đánh thứ tự ưu tiên, nên một gói tin khi bị phát hiện bởi nhiều luật khác nhau, cảnh báo được đưa ra sẽ là cảnh báo ứng với luật có mức ưu tiên lớn nhất
Logging and Alerting System
Tùy thuộc việc Module Phát hiện có nhận dạng được xâm nhập hay không mà một gói tin có thể được ghi log hay đưa ra một cảnh báo Các file log được lưu dưới các định dạng đơn giản như tcpdump hoặc một vài dạng khác, tất cả được lưu trữ trong folder mặc định /var/log/snort Bạn có thể sử dụng tùy chọn –l trong command line để thay đổi vị trí tạo ra các logfile và cảnh báo
Cảnh báo có thể gửi thông qua pop-up, ghi vào logfile, SNMP traps, SMS, hoặc lưu trữ dưới dạng cơ sở dữ liệu SQL (chẳng hạn như MySQL)
Output Modules
Module này có thể thực hiện các thao tác khác nhau tùy theo việc bạn muốn lưu kết quả xuất ra như thế nào Tùy theo việc cấu hình hệ thống mà nó có thể thực hiện các công việc như là:
- Ghi logfile
- Ghi syslog: syslog và một chuẩn lưu trữ các file log được sử dụng rất nhiều
Trang 40Đề tài: Xây dựng hệ thống Snort IDS-IPS trên CentOS GVHD: PGS.TS Trần Công Hùng
trên các hệ thống Unix, Linux
- Ghi cảnh báo vào cơ sở dữ liệu
- Tạo file log dạng XML: việc ghi logfile dạng XML rất thuận tiện cho việc trao đổi và chia sẻ dữ liệu
- Cấu hình lại router, firewall
- Gửi các cảnh báo được gói trong gói tin sử dụng giao thức SNMP Các gói tin dạng SNMP này sẽ được gửi tới một SNMP server từ đó giúp cho việc quản
lý các cảnh báo và hệ thống IDS một cách tập trung và thuận tiện hơn
- Gửi các thông điệp SMB (Server Message Block) tới các máy tính Windows
Nếu không hài lòng với các cách xuất thông tin như trên, ta có thể viết các Module Kết xuất thông tin riêng tuỳ theo mục đích sử dụng
Các chế độ hoạt động của Snort
Sniffer mode
Đây là một tính năng cơ bản dễ dàng sử dụng nhưng rất hiệu quả trong việc giám sát các luồng dữ liệu đang lưu thông trên hệ thống Nó có khả năng tạo ra một bảng tóm tắt về các traffic trên mạng sau khi capture các gói tin, từ đó giúp người quản trị
có cái nhìn tổng quan về hệ thống
Bảng sau mô tả một vài từ khóa trong chế độ Sniffer mode
Bảng 4.1 Các tùy chọn trong chế độ Sniffer