Tìm hiểu về IDS, IPS và thực nghiệm trên mã nguồn mở SNORT, SNORTSAM
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Trang 2
Thành phố Hồ Chí Minh, tháng… năm 201…
Giáo viên hướng dẫn
Cô Nguyễn Thị Thanh Vân
Trang 3
Thành phố Hồ Chí Minh, tháng… năm 201…
Giáo viên phản biện
Trang 4Trước tiên, chúng em xin chân thành cảm ơn cô Nguyễn Thị Thanh Vân, cô là người đã trực tiếp hướng dẫn, giúp đỡ chúng em trong quá trình nghiên cứu và hoàn thành đề tài này.
Chúng em cũng xin cảm ơn tất cả thầy cô khoa Công nghệ thông tin, những người đã dạy dỗ, truyền đạt kiến thức cho chúng em trong những năm qua.
Do thời gian và kiến thức có hạn, bài làm này chắc chắn sẽ còn nhiều sai sót, chúng em kính mong quý thầy cô và các bạn đóng góp ý kiến để chúng em có thể hoàn thiện đề tài.
Thành phố Hồ Chí Minh, tháng … năm 20…
Nhóm SVTH:
Trang 5Nhận Xét Của Giáo Viên Hướng Dẫn 2
Nhận Xét Của Giáo Viên Phản Biện 3
LỜI CẢM ƠN 4
PHẦN 1: MỞ ĐẦU 7
1.1 Tính cấp thiết của đề tài: 8
1.2 Mục tiêu nghiên cứu của đề tài: 8
1.3 Phạm vi nghiên cứu: 9
PHẦN 2: NỘI DUNG ĐỀ TÀI 10
CHƯƠNG 1: TỔNG QUAN VỀ IDS, IPS 11
1.1 Tổng quan về IDS: 11
1.1.1 Giới thiệu về IDS: 11
1.1.2 Thành phần của IDS: 11
1.1.3 Hoạt động của IDS: 15
1.1.4 Phân loại IDS: 20
1.2 Tổng quan về IPS: 23
1.2.1 Các khái niệm về IPS: 23
1.2.2 Kiến trúc chung của hệ thống IPS: 23
1.2.3 Các kiểu hệ thống IPS: 25
CHƯƠNG 2: GIỚI THIỆU VỀ SNORT, SNORTSAM 29
2.1 Cài đặt và cấu hình hệ thống IDS bằng Snort: 29
2.1.1 Giới thiệu Snort và các thành phần: 29
2.1.2 Cấu hình Snort rule: 30
2.1.2.1 Rule header: 30
2.1.2.1.1 Rule Action: 30
2.1.2.1.2 Protocol: 30
2.1.2.1.3 IP Address: 30
2.1.2.1.4 Port: 30
2.1.2.2 Rule Options: 31
2.1.2.2.1 General: 31
2.1.2.2.2 Payload: 32
2.1.2.2.3 Non-Payload: 32
2.1.2.2.4 Post-detection: 33
Trang 62.1.3.2 Cài đặt snort : 34
2.1.3.3 Cấu hình snort: 35
2.1.3.4 Tạo CSDL snort với MySQL 36
2.1.3.5 Cài đặt BASE để quản lí Snort bằng giao diện: 37
2.1.4 Sử dụng Snort: 38
2.2 Cài đặt và cấu hình hệ thống IPS bằng Snortsam: 40
2.2.1 Giới thiệu Snortsam: 40
2.2.2 Các options của Snortsam: 40
2.2.3 Iptables plugin: 45
2.2.4 Cấu hình Snortsam: 45
CHƯƠNG 3: THỰC NGHIỆM 49
3.1 Mô hình thực nghiệm: 49
3.2 Các kịch bản demo: 50
3.2.1 Tấn công DDOS, phát hiện và ngăn chặn bằng Snort, Snortsam: 50
3.2.2 Tấn công Brute Force, phát hiện và ngăn chặn bằng Snort, Snortsam: 55
3.2.3 Tấn công XSS, phát hiện và ngăn chặn bằng Snort, Snortsam: 59
3.2.4 Tấn công SQL Injection, phát hiện và ngăn chặn bằng Snort, Snortsam: 63
PHẦN 3: 70
TỔNG KẾT 70
3.1 Những vấn đề đạt được: 71
3.2 Những hạn chế: 71
3.3 Hướng phát triển trong tương lai: 71
TÀI LIỆU THAM KHẢO 72
Trang 7MỞ ĐẦU
Trang 8đang chuyển dần từ trạng thái giao dịch offline sang online Ví dụ như: giao dịch ATM, mua hàng trực tuyến, giao dịch bằng thẻ VISA, …
- Cùng với sự phát triển đó, các cuộc tấn công mạng diễn ra ngày càng nhiều cùng với nhiều hình thức ngày càng phức tạp hơn, các cuộc tấn công nhằm mục đích đánh cắp thông tin người dùng, dữ liệu quan trọng, …
- Để phòng chống các cuộc tấn công mạng đó, ta phải sử dụng đến hệ thống IDS
(Instrusion Detection System, có nghĩa là hệ thống phát hiện xâm nhập) và IPS
(Intrusion Prevention System, nghĩa là hệ thống ngăn chặn xâm nhập)
1.2 Mục tiêu nghiên cứu của đề tài:
Các nội dung cơ bản của đề tài:
- Tìm hiểu về IDS, IPS
- Triển khai thành công mô hình bảo mật hệ thống dùng Snort làm IDS và Snortsam làm IPS
- Giả lập các cuộc tấn công, kiểm tra khả năng phản ứng của Snort và Snortsam
1.3 Phạm vi nghiên cứu:
- Triển khai trên mã nguồn mở Linux
- Thực nghiệm trên mô hình mạng nhỏ, có mô hình như sau:
Trang 10NỘI DUNG ĐỀ TÀI
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ IDS, IPS
1.1 Tổng quan về IDS:
1.1.1 Giới thiệu về IDS:
IDS (intrusion detection system) hay còn được gọi là hệ thống phát hiệnxâm nhập là một hệ thống phòng chống nhằm phát hiện các cuộc tấn côngthông qua mạng Mục đích của nó là phát hiện các hoạt động phá hoại đốivới vấn đề bảo mật hệ thống, hoặc những hoạt động trong tiến trình tấn côngnhư thu thập thông tin hay quét cổng (scanning) Một chức năng chính của
hệ thống này là cung cấp thông tin nhận biết về các hoạt động không bìnhthường và đưa ra các cảnh báo cho quản trị viên mạng để tiến hành xử lí đốivới các cuộc tấn công Ngoài ra,hệ thống IDS cũng có thể phân biệt các cuộctấn công từ bên trong mạng hay từ bên ngoài mạng
IDS có thể là 1 phần mềm, 1 phần cứng hoặc kết hợp giữa phần mềm vàphần cứng
1.1.2 Thành phần của IDS:
1.1.2.1 Cảm biến (Sensor):
Bộ phận làm nhiệm vụ phát hiện các sự kiện có khả năng đe dọa anninh của hệ thống mạng, Sensor có chức năng quét nội dung của các gói tintrên mạng, so sánh nội dung với các mẫu và phát hiện ra các dấu hiệu tấncông
Khi hệ thống mạng dùng các hub, ta có thể đặt các bộ cảm biến trênbất kì port nào của hub vì mọi luồng traffic được gửi ra tất cả các port trênhub, và có thể phát hiện ra các luồng traffic bất thường Nhưng khi hệ thốngcần sử dụng các switch, các switch chỉ gửi gói tin đến chính xác địa chỉ cầngửi trên từng port Để giải quyết vấn đề này, một kỹ thuật thông dụng là sử
Trang 12dụng những con switch có port mở rộng (expansion port) Port này được gọi
là Switched Port Analyzer (SPAN) port
Hình 1.1
Có hai vị trí đặt Sensor là : Trước firewall và sau firewall
Sensor nằm ở trước firewall có các đặc điểm sau:
Nhìn thấy tất cả các traffic được gửi đến mạng nội bộ
Không phát hiện được các tấn công bên trong
Có khả năng cao sẽ đưa ra cảnh báo giả (false possitive).Sensor nằm ở sau firewall có các đặc điểm sau:
Chỉ nhìn thấy những traffic đã được cho phép bởi firewall
Vì thế các Sensor được firewall bảo vệ khỏi những vi phạm
mà firewall đã lọc
Các cảnh báo yêu cầu các đáp ứng ngay lập tức
Có khả năng thấp sẽ đưa ra cảnh báo giả (false possitive)
1.1.2.2 Trung tâm điều khiển (Connsole):
Trang 13Thành phần phát hiện là bộ phận làm có nhiệm vụ giám sát các sựkiện, các cảnh báo được phát hiện và sinh ra từ Sensor và điều khiển hoạtđộng của các bộ Sensor.
1.1.2.4 Bộ phận phân tích gói tin (Network Trap):
Bộ phận phân tích gói tin là một thiết bị phần cứng được kết nối trênmạng, không có địa chỉ IP, kiểm soát các luồng dữ liệu trên mạng và gửicảnh báo khi phát hiện hành động xâm nhập
Trang 141.1.2.5 Thành phần cảnh báo (Alert Notification):
Thành phần cảnh báo có chức năng gữi những cảnh báo tới ngườiquản trị Trong các hệ thống IDS hiện đại, lời cảnh báo có thể xuất hiện ởnhiều dạng như: cửa sổ pop-up, tiếng chuông, email, …
1.1.2.6 Vị trí đặt IDS:
Tùy vào quy mô doanh nghiệp và mục đích mà ta có thể thiết kế vị trícũng như kiến trúc của IDS khác nhau Ta có thể đặt IDS ở trước hoặc sautường lửa tùy theo lựa chọn
Hình 1.3
Trang 151.1.3 Hoạt động của IDS:
1.1.3.1 Cơ chế:
Hệ thống IDS hoạt động theo cơ chế “phát hiện và cảnh báo” CácSensor là bộ phận được bố trí trên hệ thống tại những điểm cần kiểm soát,Sensor bắt các gói tin trên mạng, phân tích gói tin để tìm các dấu hiệu tấncông, nếu gói tin có dấu hiệu tấn công, Densor lập tức đánh dấu gói tin đó vàgửi báo cáo kết quả về cho Engine, Engine sẽ ghi lại tất cả báo cáo củaSensor, lưu vào cơ sở dữ liệu và quyết định đưa ra mức cảnh báo đối với sựkiện nhân được Console làm nhiệm vụ giám sát các sự kiện và cảnh báođồng thời điều khiển hoạt động các Sensor
Các tín hiệu để nhận biết các cuộc tấn công được tổng kết và tập hợpthành một bộ gọi là mẫu hay signatures Thông thường các mẫu nàyđược hình thành dựa trên kinh nghiệm phòng chống các cuộc tấncông, các mẫu này được các trung tâm chuyên nghiên cứu về IDS đưa
ra để cung cấp cho hệ thống IDS trên toàn cầu
Trang 16 Kiểu phát hiện tấn công này có ưu điểm là phát hiện các cuộc tấncông nhanh và chính xác, không đưa ra các cảnh báo sai và giúpngười quản trị tìm ra các lỗ hổng bảo mật trong hệ thống Tuy nhiên,phương pháp này có nhược điểm là không phát hiện được các cuộctấn công có trong mẫu, các kiểu tấn công mới, do vậy hệ thống luônphải cập nhật các mẫu tấn công mới.
Để minh họa cho ưu nhược điểm của phương pháp này ta xét ví dụsau: Một gói tin có chứa mã độc có chuỗi ký tự là “GET”, và IDScũng có mẫu của loại mã độc này vì thế IDS sẽ nhận dạng được loại
mã độc này Nhưng nếu cùng gói tin đó với cùng mã độc đó nhưngchuỗi ký tự bị đổi thành “TEG” vậy thì IDS sẽ không nhận dạng đượcloại mã độc đó
Anomaly Detection:
Đây là kỹ thuật dò thông minh, nhận dạng ra các hành động khôngbình thường của mạng Quan niệm của phương pháp này là các cuộctấn công sẽ có hoạt động khác với hoạt động thông thường Ban đầu,IDS 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ìnhthường và phương pháp dò này có thể nhận dạng Có một số kỹ thuậtgiúp thực hiện dò sữ bất thướng cửa các cuộc tấn công như dưới đây:
Threshold Detection: kỹ thuật này nhấn mạnh thuật ngữ đếm “count”.Các mức ngững (theshhold) về các hoạt động bình thường được đặt
ra, nếu có sự bất thường nào đó như login sai mật khẩu quá số lần lầnquy định, số lượng các tiến trình hoạt động trên CPU, số lượng mộtloại gói tin được gửi vượt quá mức (chẳng hạn như tấn công DDOS),
…
Trang 17 Seft-learning Detection: kỹ thuật dò này bao gồm hai bước, khi thiếtlập hệ thống phát hiện tấn công, nó sẽ chạy ở chế độ tự học thiết lậpmột pro file về cách cư sử mạng với các hoạt động bình thường Sauthời gian khởi tạo, hệ thống sẽ chạy ở chế độ sensor theo dõi cáchhoạt động bất thường của mạng so với profile đã thiết lập Chế độ tựhọc có thể chạy song song với chế độ sensor để cập nhật bản profilecủa mình nhưng nếu dò ra có tín hiệu tấn công thì chế độ tự học phảidừng lại tới khi cuộc tấn công kết thúc.
Anomaly protocol detection:kỹ thuật dò này căn cứ vào hoạt động củacác giao thức, các dịch vụ của hệ thống để tìm ra các gói tin khônghợp lệ, các hoạt động bất thường là dấu hiệu của sự xâm nhập, tấncông Kỹ thuật này rất hiệu quả trong việc ngăn chặn các hình thứcquét mạng, quét cổng để thu thập thông tin các hacker
Phương pháp dò sự bất thường rất hữu ích trong việc phát hiện cáccuộc tấn công kiểu DDOS
Ư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ôngmới, cung cấp các thông tin hữu ích bổ sung cho phương pháp dòtheo signature Tuy nhiên chúng có nhược điểm là thường tạo ra cáccảnh báo sai làm giảm hiệu suất hoạt động của mạng
1.1.3.3 Quy trình hoạt động của IDS:
Một host A nằm trên internet (ngoài firewall) tạo ra một gói tin, sau đógửi nó đến một host B nằm trong mạng nội bộ có hệ thống IDS
Các cảm biến đọc gói tin được gửi từ host A trong thời gian trước khigói tin đó được gửi đến host B (Cảm biến này cần phải có khả năng đọc tất
cả các gói tin)
Trang 18Chương trình phát hiện nằm trong bộ cảm biến kiểm tra xem có gói tinnào có dấu hiệu vi phạm hay không Khi có dấu hiệu vi phạm thì một cảnhbáo sẽ được tạo ra và gửi đến trung tâm điều khiển.
Khi trung tâm điều khiển nhận được cảnh báo nó sẽ gửi thông báo chomột người hoặc một nhóm người đã được chỉ định từ trước ( thông qua pop-
up window, email, web,…)
Phản hồi được khởi tạo theo quy định ứng với dấu hiệu xâm nhập này.Các cảnh báo được lưu lại để tham khảo
Một báo cáo tóm tắt về chi tiết của sự cố được tạo ra
Trang 19Hình 1.4
Trang 201.1.4 Phân loại IDS:
IDS thường được phân loại dựa vào nguồn dữ liệu thu thập được Trongtrường hợp này, các hệ thống IDS được chia thành các loại sau:
Host-based IDS (HIDS): Sử dụng dữ liệu kiểm tra từ một máy trạm đểphát hiện xâm nhập
Network-based IDS (NIDS): Sử dụng dữ liệu trên toàn bộ lưu thôngmạng, cùng với dữ liệu kiểm tra từ một hoặc nhiều máy trạm để pháthiện xâm nhập
1.1.4.1 HIDS (Host-based Intrusion Detection System):
Trong hệ thống HIDS, các Sensor thường là một phần mềm trên máytrạm (Software agent), nó giám sát tất cả các hoạt động của máy trạm mà nónằm trên đó
Hình 1.5 : Hình ảnh một HIDS
Trang 21Hệ thống HIDS bao gồm thành phần (Agent) cài đặt trên các máy trạm,
nó xác định các truy cập trái phép vào hệ thống bằng cách phân tích các traođổi của hệ thống, các bản ghi của các ứng dụng, sự sửa đổi các tệp tin hệthống, các hoạt động và trạng thái của hệ thống để từ đó phát hiện ra các truycập trai phep1vao2 hệ thống Khi phát hiện ra các truy cập trái phép Agentlập tức sinh ra một sự kiện và gửi báo cào về Engine, Engine tiến hành lưucác báo cáo của Agent vào cơ sở dữ liệu và tiến hành phân tích thông tin đểđưa ra các cảnh báo cho người quản trị hệ thống
1.1.4.2 NIDS (Network-based Itrusion Detection System):
NIDS là một giải pháp để xác định các truy cập trái phép bằng cáchkiểm tra các luồng thông tin trên mạng và giám sát nhiều máy trạm.NIDS quan sát luồng thông tin trên mạng bằng cách kết nối vào cácHub, Switch được cấu hình port mirroring hoặc Network tap để bắtcác gói tin, phân tích nội dung gói tin và từ đó sinh ra các cảnh báo
Hình 1.6: Hình ảnh một hệ thống NIDS
Trang 22Port mirroning được sử dụng trong một switch mạng để gửi một bảnsao của tất cả các gói tin trên mạng khin ó đi qua cổng Switch tới mộtthiết bị giám sát mạng trên cổng khác của Switch đó Nó thường được
sử dụng để các thiết bị mạng cần giám sát luồng trên mạng, ví dụ hệthống IDS Port mirroring trên Switch của Cisco System thường đượcgọi là Switch Port Analyzed (SPAN) hoặc của 3Com là RovingAnalysis Port (RAP)
Network tap là một thiết bị phần cứng cung cấp phương tiện để truycập vào luồng dữ liệu đi ngang qua một máy tính mạng Các máy tínhmạng bao gồm cà Internet là một tập hợp các thiết bị như máy tính,router, Switch và nối với các hệ thống khác Các kết nối có thể bằngnhiều công nghệ khác nhau như là Ethernet, 802.11, FDDI và ATM.Trong nhiều trường hợp nó được xem là một thành phần thứ 3 đểgiám sát luồng dữ liệu được trao đổi giữa hai điểm mạng : Điểm A vàđiểm B Nếu mạng giữa điểm A và điểm B chứa một kết nối vật lý,một Network tap là giải pháp tốt nhất cho việc giám sát Network tap
có ít nhất 3 cổng kết nối, một cổng A , một cổng B và một cổng giámsát Để đặt Network tap cho qua tất cả các dữ liệu giữa A và B vì thếgiữa hai diểm A và B vẫn diễn ra bình thường, tuy nhiên dữ liêu traođổi đã bị Network tap cao chép và đưa vào thiết bị giám sát thông quacổng giám sát
Trong hệ thống NIDS, các Sensor được đặt ở các điểm cần kiểm tratrong mạng, thường là trước miền DMZ hoặc ở vùng biên của mạng,các Sensor bắt tất cả các gói tin lưu thông trên mạng và phân tích nộidung bên trong của từng gói tin để phát hiện các dấu hiệu tấn côngtrong mạng
Theo chức năng sử dụng, hệ thống NIDS còn được phân thành hai hệthống nhỏ đó là Protocol-based Intrusion Detection System (PIDS) và
Trang 23Application Protocol-based Intrusion Detection System(APIDS).PIDS và APIDS được sử dụng để giám sát các ggiao thức không hợp
lệ hoặc không mong muốn trên luồng dữ liệu hoặc hạn chế các ngônngữ giao tiếp
Hệ thống PIDS chứa một hệ thống hoặc một thành phần (Agent)thường được đặt ngay trước một máy chủ, giám sát và phân tích cácgiao thức trao đổi giữa các thiết bị được nối mạng (Một máy trạmhoặc một hệ thống)
Một hệ thống APIDS bao gồm một hệ thống hoặc một thành phầnthường nằm giữa một nhóm các máy chủ, giám sát và phân tích vàphân tích các trao đổi ở lớp ứng dụng cửa một giao thức định sẵn Vídụ: trên một máy chủ web với một cơ sở dữ liệu thì nó giám sát giaothức SQL để ngăn chặn các truy cập vào ứng dụng khi trao đổi với cơ
sở dữ liệu
1.2 Tổng quan về IPS:
1.2.1 Các khái niệm về IPS:
IPS là viết tắt của Intrusion Prevention System hay còn được gọi là hệthống ngăn chặn truy cập trái phép
IPS là hệ thống kết hợp giữa các ưu điểm giữa IDS và firewall
1.2.2 Kiến trúc chung của hệ thống IPS:
Một hệ thống IPS gồm 3 modul chính:
1.2.2.1 Module phân tích luồng dữ liệu:
Modul này có nhiệm vụ lấy tất cả các gói tin lưu thông qua mạng để phântích Thông thường các gói tin có địa chỉ không phải của một card mạng thì
sẽ bị card mạng đó sẽ hủy gói tin nhưng card mạng của IPS được đặt ở chế
Trang 24độ thu nhận tất cả 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 phân tích đọc thông tin từngtrường trong gói tin, xác định chúng thuộc kiểu gói tin nào, dịch vụ nào…Các thông tin này được chuyển đến modul phát hiện tấn công.
1.2.2.2 Modul phát hiện tấn công:
Đây là Modul quan trọng nhất trong hệ thống có nhiệm vụ phát hiện cáccuộc tấn công Có hai phương pháp để phát hiện các cuộc tấn công, xâmnhập là dò sự lạm dụng và dò sự bất thường
1.2.2.3 Modul phản ứng:
Khi có dấu hiệu của sự tấn công hoặc xâm nhập, modul phát hiện tấncông sẽ gửi tín hiệu báo hiệu có tấn công hoặc xâm nhập đến modul phảnứng Lúc đó modul phản ứng sẽ kích hoạt tường lửa thực hiện chức năngngăn chặn cuộc tấn công hoặc cảnh báo cho người quản trị Tại modul 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 Modul phản ứng này tùytheo hệ thống mà có các chức năng và phương pháp ngăn chặn khác nhau.Dưới đây là một số kỹ thuật ngăn chặn:
Kết thúc tiến trình: cơ chế của kỹ thuật này là hệ thống IPS gửi cácgói tin nhằm phá hủy tiến trình bị nghi ngờ Tuy nhiên phương phápnày có một số nhược điểm Thời gian gửi gói tin can thiệp chậm hơn
so với thời điểm tin tặc tấn công, dẫn đến tình trạng tấn công xong rồimới bắt đầu can thiệp Phương pháp này không hiệu quả với các giaothức hoạt động trên UDP như DNS, ngoài ra các gói tin can thiệp phải
có trường thứ tự đúng như các gói tin trong phiên làm việc của tiến
Trang 25trình tấn công Nếu tiến trình tấn công xảy ra nhanh thì rất khó thựchiện được phương pháp này.
Hủy bỏ tấn công: kỹ thuật này dùng tường lửa để hủy bỏ gói tin hoặcchặn đường một gói tin đơn, một phiên làm việc hoặc một luồngthông tin tấn công Kiểu phản ứng này là an toàn nhất nhưng lại cónhược điểm là dễ nhầm với các gói tin hợp lệ
Thay đổi các chính sách của tường lửa: kỹ thuật này cho phép ngườiquản trị cấu hình lại chính sách bào mật khi cuộc tấn công mới 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ậpbởi người dùng đặc biệt trong khi cảnh báo tới người quản trị
Cảnh báo thời gian thực: gửi các cảnh báo thời gian thực đến ngườiquản trị để họ nắ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
Ghi lại vào tập tin: các dữ liệu cửa cá gói tin sẽ được lưu trữ trong hệthống các tệp tin log Mục đích để các người quản trị có thể theo dõicác luồng thông tin và là nguồn thông tin giúp cho modul phát hiệntấn công hoạt động
1.2.3 Các kiểu hệ thống IPS:
Có hai kiểu kiến trúc IPS chính là IPS ngoài luồng và IPS trong luồng
1.2.3.1 IPS ngoài luồng (Out-of-band IPS):
Hệ thống IPS ngoài luồng không can thiệp trực tiếp vào luồng dữ liệu.Luồng dữ liệu vào hệ thống mạng sẽ cùng đi qua tường lửa 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, IPS có thể quản lý tường lửa, chỉ dẫn nóchặn lại các hành động nghi ngờ mà không làm ảnh hưởng đến tốc độ lưuthông mạng
Trang 261.2.3.2 IPS trong luồng (In-line IPS):
Vị trí IPS nằm trước tường lửa, luồng dữ liệu phải đi qua IPS trước khitới tường lửa Điểm khác chính so với IPS ngoài luồng là có thêm chức năngchặn lưu thông nguy hiểm nhanh hơn so với IPS ngoài luồng Tuy nhiên, vịtrí này sẽ làm cho tốc độ luồng thông tin ra vào mạng chậm hơn
1.2.4 Phân loại:
1.2.4.1 Hệ thống ngăn ngừa xâm nhập mạng (NIPS – Network- based
IPS):
Có hai cách triển khai : trước firewall hoặc sau firewall
Khi triển khai IPS trước firewall thì hệ thống NIPS có thể bảo vệ toàn
bộ hệ thống bên trong kể cả firewall, vùng DMZ Có thể giảm thiểu nguy cơ
bị tấn công từ chối dịch vụ với firewall
Hình 1.7
Trang 27Khi triển khai IPS sau fire wall có thể phòng tránh được một số kiểutấn công thông qua khai thác điểm yếu trên các thiết bị di động sử dụng VPN
để kết nối vào bên trong
Hình 1.8
1.2.4.2 Hệ thống ngăn ngừa xâm nhập host (HIPS – Host-based IPS):
Hệ thống HIPS thường được triển khai với mục đích phát hiện vàngăn chặn kịp thời các hoạt động xâm nhập trên các host
Để có thể ngăn chặn ngay các tấn công, HIPS sử dụng công nghệtương tự như các giải pháp antivirus
Ngoài khả năng phát hiện ngăn ngừa các hoạt động xâm nhập, HIPScòn có khả năng phát hiện các thay đổi tập tin cấu hình
Trang 28Hình 1.9
Trang 29CHƯƠNG 2: GIỚI THIỆU VỀ SNORT, SNORTSAM
2.1 Cài đặt và cấu hình hệ thống IDS bằng Snort:
2.1.1 Giới thiệu Snort và các thành phần:
Snort là một phần mềm IDS mã nguồn mở mạnh mẽ và được tin dùngtrên khắp nơi trên thế giới
Snort có 4 chế độ hoạt động khác nhau là :
Sniffer mode : ở chế độ này Snort sẽ lắng nghe và đọc các gói tin trênmạng, sau đó sẽ trình bày kết quả hiển thị trên giao diện
Packet loger mode: Lưu trữ các gói tin trong các tập tin log
Network intruction detect system (NIDS): đây là chế độ hoạt độngmạnh mẽ và được sử dụng nhiều nhất, khi hoạt động ở chế độ NIDS,Snort sẽ phân tích các gói tin luân chuyển trên mạng và so sánh vớicác thông tin được định nghĩa của người dùng để từ đó có những hànhđộng tương ứng như thông báo cho quản trị viên khi xảy ra tình huốngtấn công hay cảnh báo mã độc
Inline mode: khi triển khai Snort trên linux thì chúng ta có thể cấuhình Snort để phân tích các gói tin từ iptables thay vì libcap do đóiptables có thể drop hay pass các gói tin theo snort rule
Snort dùng một card mạng ở chế độ promocous mode để lưu trữ các góitin trước khi phân tích chúng Vì thế máy tính chạy snort nên đặt ở cáccollision domain hay trên các máy chủ tập trung các truyền thông trên mạngnhư router hay gateway hoặc kết nối vào các cổng SPAN của Switch, chúng
ta có thể đặt Snort trước hoặc sau hệ thống firewall tùy theo yêu cầu bảo mật.Snort sử dụng ba thành phần để tiến hành công việc của mình:
Trang 30 Packet decoder: Phân tích gói tin, kể cả Ipheader và Data Payload.
Detect enginer: dò tìm các dấu hiệu khả nghi theo tập hợp các quy tắt
Logging và Alert system: Lưu trữ các log file và cảnh báo
2.1.2 Cấu hình Snort rule:
Snort rule bao gồm 2 phần : Rule header và Rule option
o Log: ghi lại log
o Pass : cho qua
Địa chỉ IP của nơi đi và nơi đến của 1 gói tin
Ví dụ: 192.168.1.1, 192.168.2.1 địa chỉ nguồn là 192.168.1.1 và địa chỉ đích là 192.168.2.1
2.1.2.1.4 Port:
Port mà snort sẽ phân tích Ví dụ : 80 của http, 22 của ssh
2.1.2.2 Rule Options:
Trang 31 Rule option là trung tâm của việc phát hiện xâm nhập Nội dung chứa các dấu hiệu để xác định một cuộc xâm nhập Vị trí nằm ngay sau Rule header và được bao bọc bởi dấu ngoặc đơn “()” Tất cả rule option được ngăn cách nhau bởi dấu chấm phẩy “;”, phần đối số sẽ được phân cách nhau bởi dấu hau chấm “:”.
Có 4 loại rule option chính bao gồm:
General: gồm các tùy chọn cung cấp thông tin về luật đó
nhưng không có bất cứ ảnh hưởng nào trong quá trình phát hiện
Payload: gồm các tùy chọn liên quan đến phần tải của gói tin.
Non-payload: gồm các tùy chọn không liên quan đến phần tải
của gói tin
Post-detection: gồm các tùy chọn sẽ gây ra những quy tắc cụ
thể sau khi một luật được kích hoạt
2.1.2.2.1 General:
Msg: gán thêm một chuỗi văn bản log và cảnh báo Chuỗi đó được đặt
trong dấu ngoặc kép “” Ví dụ : msg: “Hello World”
Reference: dùng khi muốn tham chiếu thông tin từ 1 hệ thống khác
trên internet
Sid: được dùng để xác định duy nhất một luật trong snort.
Rev: được sử dụng để định danh các sửa đổi trong luật của snort
Thường dùng để phân biệt các phiên bản luật khác nhau
Classtype: được dùng để phân loại các hình thức tấn công kèm theo
độ ưu tiên của loại tấn công đó và được định nghĩa trong tập tin classification.config
Priority: được sử dụng để gán đô nghiêm trọng của 1 quy tắc.
2.1.2.2.2 Payload:
Trang 32 Content: cho phép tìm kiếm các chuỗi cụ thể trong phần tải của gói
tin ( payload) và kích hoạt các cảnh báo dựa trên các dữ liệu đó Nội dung có thể ở dạng nhị phân hoặc ASCII Ví dụ : content: “GET”
Nocase: kết hợp với từ khóa Content để tìm kiếm chuỗi mà không
phân biệt hoa thường
Rawbyte: cho phép các luật xem các gói dữ liệu thô chưa được giải
mã
Depth: dùng để xác định khoảng cách bao xa mà luật đó sẽ tìm tới tối
thiểu là 1 và tối đa là 65535 Được dùng với từ khóa content để giới hạn nội dung tìm kiếm
Offset: dùng để xác định điểm bắt đầu tìm kiếm.Cho phép giá trị từ
-65535 đến -65535
Distance: được sử dụng trong trường hợp muốn bỏ qua bao nhiêu
byte từ nội dung tìm kiếm trước đó
Within: được dùng để đảm bảo rằng có nhiều nhất N byte giữa các
mẫu nội dung tìm kiếm
Uricontent: tương tự như content nhưng để tìm kiếm chuỗi trong
URI
2.1.2.2.3 Non-Payload:
Ttl: dùng để kiểm tra giá trị time-to-live trong IP Header Được sử
dụng để phát hiên hành dộng tracertouter mạng Cấu trúc:
Ttl:[ <,>,=,<=,>=]<number; ví dụ : ttl:<3
Ttl [ <number>]-[<number>]; ví dụ : ttl:2-3
Tos: kiểm tra trường ToS( type of service) trong IP Header.
Id: được sử dụng để kiểm tra các giá trị cụ thể trong trường ID của IP
header
Ipopts: được sử dụng để kiểm tra trường IP option trong IP Header.
Trang 33 Fragbits: được sử dụng để kiểm tra sự phân mảng và bit reserved
trong trường 3 bit Flags của Ip Header
Dsize: dùng để kiểm tra kích thước của phần dữ liệu trong gói tin.
Flag: sử dụng để kiểm tra các bit trong trường TCP Flag của TCP
Header Các bit này gồm:
Flow: áp dụng vào luật có gói tin di chuyển theo một hướng cụ thể
Các tùy chọn bao gồm: to_client, to_server, …
Sed: dùng để kiểm tra sequence number của TCP Header.
Ack: dùng để kiểm tra giá trị acknowledge number của TCP Header.
Window: dùng để kiểm tra kích cỡ cửa sổ trong TCP Header.
Icmp_id: dùng để kiểm tra giá trị ID của ICMP Header.
Icmp_seq: dùng để kiểm tra giá trị sequence của ICMP Header.
Rpc: dùng để phát hiện các yêu cầu dựa trên RPC.
Sameip: dùng để kiểm tra địa chỉ nguồn và địa chỉ đích có giống nhau
không
2.1.2.2.4 Post-detection:
Logto: dùng để ghi log vào các tập tin đặc biệt ví dụ: logto:logto_log.
Session: dùng để trích xuất người dùng từ một phiên TCP.
Resp: cho phép chủ động tạo ra những phản hồi tiêu diệt các vi phạm.
React: cho phép tạo ra các phản hồi bao gồm gửi 1 website hoặc mội
nội dung nào đó tới client và sau đó đóng kết nối lại
Trang 34 Tag:cho phép các luật ghi nhiều hơn 1 gói tin khi luật đó được kích
hoạt
Detection_filter: định nghĩa 1 mức được thực thi bởi địa chỉ nguồn
hoặc địa chỉ đích trước khi một luật phát sinh một sự kiện
Threshold: sử dụng để quy định 1 giới hạn nào đó mà các luật sửa
snort đưa ra cảnh báo
2.1.3 Cài đặt Snort:
2.1.3.1 Các gói cần thiết :
- mysql - mysql-bench - mysql-server
- mysql-devel - yum-utils - php-mysql
Trang 35 Giải nén file tar bằng lệnh: tar –zxvf snort-2.8.4.1.tar.gz(2.8.4.1 là số phiên bản của phần mềm, ở đây sử dụng phiênbản 2.8.4.1)
Vào thư mục vừa giải nén và viết lệnh: /configure mysql enable-dynamicplugin (Nếu thiếu gói cần thiết thì sẽ
with-có thông báo hiện ra, với linux 64bit thì phải thêm option with-mysql-libraries=/usr/lib64) để biên dịch snort.
Để cài đặt gõ lệnh: make; make install
useradd –g snort snort –s /sbin/nologin
Set quyền sở hữu và cho phép snort ghi log vào thư mục chứa log
chown snort:snort /var/log/snort
Sửa file cấu hình snort /etc/snort/snort.conf
Sửa dòng 46 thành : var HOME_NET 10.10.10.0/24 ( ở đây là
mạng LAN ảo)
Sửa dòng 49 thành : var EXTERNAL_NET !$HOME_NET
Sửa dòng 110 thành : var RULE_PATH /etc/snort/rules (nơi
Trang 36 Tạo liên kết mềm của snort binary đến /usr/sbin/snort : ln –s /usr/local/bin/snort /usr/sbin/snort
Copy các file scrip để khởi động snort trong file tar.gz đã giảinén :
o cp /snort/snort-x.x.x.x/rpm/snortd /etc/init.d/
o cp /snort/snort-x.x.x.x/rpm/snort.sysconfig /etc/sysconfig/snort
Đặt quyền lại cho file snortd :
o chmod 755 /etc/init.d/snortd
o chkconfig snortd on
Khởi động Snort:
o service snortd start
2.1.3.4 Tạo CSDL snort với MySQL
Khởi động mysql với câu lệnh
service mysqld start
Trước tiên ta cần set password cho root trong MySQL
mysqladmin -u root password 123456 mysql –p
Tạo password cho tài khoản snort
mysql> use mysql;
mysql> CREATE USER 'snort'@'localhost' IDENTIFIED
BY '123456';
Tạo CSDL cho snort
mysql> create database snort;
mysql> GRANT CREATE, INSERT, SELECT, DELETE, UPDATE ON snort.* to snort@localhost;
mysql> flush privileges;
Trang 37mysql> exit
Tạo các table từ /snort/snort-2.8.4.1/schemas/create_mysql cho
database snort (thư mục gải nén snort)
mysql -u root -p < /snort/snort-2.8.4.1/schemas/create_mysql snort
mysql -p show databases;
use snort;
show tables;
Quan sát các tables
2.1.3.5 Cài đặt BASE để quản lí Snort bằng giao diện:
Web server và PHP đã cài đặt sẵn ta cần cài thêm vài gói pear cho PHP
cd snort/snort-2.8.4.1 pear install Image_Graph-alpha Image_Canvas-alpha Image_Color Numbers_Roman ; (máy phải online)