Dự án mang tên Honeypots được tạo ra với mục đích giả lập các hệ thống mạng Linux bình thường để câu nhử các cuộc tấn công nhằm nghiên cứu độ an toàn của các hệ thống máy chủ Linux.. Hon
Trang 1Chương I: Tổng quan
Trong những năm gần đây, các cuộc xâm nhập mạng gia tăng đáng kể, do sự phổ dụng của các công cụ tấn công được tự động hoặc được lập kịch bản Điều này đã thúc đẩy sự quan tâm đến các hệ thống Honeypots, hệ thống này có thể được dùng để
“bẫy” và giải mã các phương pháp tấn công
Các chuyên gia bảo mật cho biết: các kẻ tấn công hiện đều đang rất ngán ngẩm khi phải tấn công vào một hệ thống Linux dạng trung bình Chi phí cho một cuộc đột nhập thành công vào một hệ thống sử dụng Linux cao hơn nhiều so với chi phí bỏ ra
để đột nhập vào hệ thống sử dụng Windows
Dự án mang tên Honeypots được tạo ra với mục đích giả lập các hệ thống mạng Linux bình thường để câu nhử các cuộc tấn công nhằm nghiên cứu độ an toàn của các hệ thống máy chủ Linux Các kết quả nghiên cứu do Honeypots đưa ra cho biết: khoảng thời gian tồn tại an toàn của các hệ thống máy chủ chạy Linux đã gia tăng đột ngột trong 2 năm gần đây
Honeypots đã chỉ ra rằng: Trong giai đoạn hiện nay, một hệ thống máy chủ Linux chưa được cài đầy đủ các bản sửa lỗi vẫn có thể “chịu đựng” an toàn trung bình là 3 tháng trước các cuộc tấn công, khi so sánh với giai đoạn 2001-2002 chỉ là 72 giờ Một số hệ thống máy chủ của dự án đã an toàn trong suốt 9 tháng trời trước mọi cuộc tấn công
Dự án Honeypots được thiết kế để nhằm mục đích nghiên cứu, dò tìm và thu hút mọi cuộc tấn công bất kỳ của Internet vào các hệ thống máy chủ Linux, Windows Từ xưa đến nay mọi cuộc tấn công trên Internet dường như chưa bao giờ giảm Các nhà nghiên cứu của dự án đã chỉ ra rằng: hầu hết mọi cuộc tấn công trên đời đều nhằm vào các hệ thống sử dụng Windows, đơn giản chỉ vì mức độ phổ biến quá mức của hệ điều hành này và độ bảo mật “ngon ăn” đến mức mà mọi kẻ tấn công đều không thể cưỡng lại được
Lance Spitzner, chủ tịch của dự án Honeynet, cho biết: “Tấn công vào một người dùng bất kỳ tỏ ra dễ dàng hơn nhiều so với tấn công vào một hệ thống máy tính của ngân hàng Ngân hàng được bảo vệ rất tốt nhưng người dùng thì không Chừng nào không còn đủ người dùng để tấn công thì hãy tấn công ngân hàng”
Trang 2Dự án này không đưa ra các nghiên cứu so sánh với Windows, nhưng Spitzner đã chỉ ra rằng các cơ quan chuyên về bảo mật như Symantec hoặc Internet Storm Center (ISC) đã công nhận rằng có rất nhiều cuộc tấn công vào các hệ thống Honeynet Windows Một dự án khác của ISC đã đo lường thời gian tồn tại của các hệ thống Windows trước các cuộc tấn công và cho ra nhiều kết quả khá thú vị như sau:
Thời gian tồn tại trung bình trước các cuộc tấn công của một số hệ thống chạy Windows trong các thử nghiệm của ISC đã giảm nhanh từ 55 phút trong giai đoạn mùa thu 2003 xuống chỉ còn 20 phút vào dịp cuối năm 2004 Thảm hại nhất là vào giai đoạn mùa xuân 2004, một hệ thống Windows chỉ “kịp sống” có 15 phút trước khi bị hạ gục Microsoft vớt vát rằng thời gian tồn tại ngắn như thế - ở ngay cả trong Windows XP Service Pack 2 - là do có quá nhiều người sử dụng
Dự án Honeynet đã cân nhắc kỹ trước khi phân bố các hệ thống khắp mọi nơi trên thế giới để thu hút các cuộc tấn công Các máy tính chuyên câu nhử của Honeynet được phân bố đều trong các mạng gia đình đến các doanh nghiệp vừa và nhỏ
Dự án đã triển khai 12 trạm honeynet ở 8 quốc gia là Mỹ, Ấn Độ, Anh, Pakistan, Hy Lạp, Bồ Đào Nha, Brazil và Đức Bao gồm 24 hệ thống Unix và giả lập Unix, 19 hệ thống Linux hầu hết là Red Hat bao gồm: 1 hệ thống Red Hat 7.2, 5 hệ thống Red Hat 7.3, 1 Red Hat 8.0, 8 Red Hat 9.0 và 1 hệ thống Fedora Core Các hệ thống khác nữa bao gồm: 1 chạy Suse 7.2, 1 Suse 6.3, 2 Solaris Sparc 8, 2 Solaris Sparc 9 và 1 hệ thống chạy Free-BSD 4.4
Dự án Honeynet là một cuộc nghiên cứu phi lợi nhuận do các công ty bảo mật thành lập nên, bao gồm các công ty tầm cỡ như: Foundstone, Counterpane, Security Focus và SourceFire
I.1 Honeypots
Honeypots là một hệ thống tài nguyên thông tin được xây dựng với mục đích giả lập đánh lừa những kẻ sử dụng và xâm nhập không hợp pháp, thu hút sự chú ý của chúng, ngăn không cho chúng tiếp xúc với hệ thống thật
- Trong lĩnh vực an toàn mạng, một Honeypots là một hệ thống máy tính được thiết kế đặc biệt để “bắt” tất cả hoạt động và các file được khởi tạo bởi một thủ phạm có ý định giành quyền truy cập trái phép tới hệ thống Các Honeypots có thể mô phỏng giả lập
Trang 3- Honeypots như một mức bảo vệ firewall hơn là bảo vệ hệ thống mạng Ví dụ, nếu một firewall bảo vệ một mạng, thì Honeypots thường được đặt bên ngoài firewall Điều này cho phép các thủ phạm trên Internet nhận được quyền truy cập đầy đủ tới bất
kỳ dịch vụ vào của Honeypots Lưu ý rằng, ý tưởng là ghi lại những hoạt động của thủ phạm, chứ không phải ngăn chặn chúng khỏi việc giành quyền truy cập tới Honeypots
- Một Honeypots là một hình nộm được thiết kế để quan sát những cuộc tấn công của hacker Một honeynet là một mạng được thiết lập xung quanh những hình nộm để lure (nhử) và ghi lại những bước tấn công của hacker Bằng việc nghiên cứu các cuộc tấn công thật, những người nghiên cứu hy vọng có thể có được những bước tiến mới trong việc phát triển kế hoạch phòng ngự Mỗi khi Honeypots có sự tấn công thì người nghiên cứu có thể học được những kỹ thuật tấn công mới và có thể dùng Honeypots để tìm ra những rootkit (ẩn nấp và tránh không bị phát hiện, được sử dụng hỗ trợ giấu các đoạn mã độc), lỗi và các backdoor (cổng sau, được hacker cài vào máy bị tấn công để sau này quay lại máy đó dễ dàng hơn) trước khi chúng đi vào hệ thống
Cần phải xây dựng hệ thống phòng ngự và phải có khả năng giấu và dodge (lẩn tránh) những cuộc tấn công mà hệ thống không thể đáp trả lại Đây là một vấn đề rất quan trọng để nghiên cứu một cách an toàn về những máy tính ở những khoảng cách
xa Thay thế vào việc đi tìm chúng thì chúng sẽ tự tìm đến
Một hệ thống Honeypots bị tấn công khác chỉ ra rằng hành động đầu tiên của kẻ tấn công đó là thay đổi password root, password admin của hệ thống (điều này làm cho người quản trị hệ thống hoặc chủ hệ thống không thể đăng nhập vào) Không một kẻ tấn công nào quan tâm đến việc kiểm tra sự hiện diện của Tripwire (một hệ thống kiểm tra tính toàn vẹn của hệ thống), đây là hệ thống được mặc định trong Red Hat Linux và được sử dụng như là một Honeypots Một khi Tripwire chạy, tất cả những "hidden"
Trang 4Honeypots có sự khác biệt, giữa Honeypots nghiên cứu và Honeypots sản phẩm Những Honeypots nghiên cứu dựa trên những thông tin tình báo đạt được về kẻ tấn công cũng như phương pháp, kỹ thuật của hacker Trong khi đó, những sản phẩm Honeypots có mục đích là làm giảm những nguy hiểm cho nguồn lực IT của công ty
và cung cấp những cảnh báo phát hiện cho các cuộc tấn công trên cơ sở hạ tầng mạng, đồng thời đoán được và làm chệch hướng các cuộc tấn công khỏi hệ thống sản phẩm trong môi trường giám sát của Honeypots
Chúng được miêu tả như những mạng các hệ thống sản phẩm được kết nối tới Internet (có thể không qua firewall) Hệ thống này là một hệ thống sản phẩm chuẩn với những ứng dụng thực tế được sử dụng bởi các công ty trên mạng Trong thực tế, nó hoàn toàn có khả năng là một bản sao (clone) của hệ thống sản phẩm và được triển khai thành Honeypots, những thông tin confidential (bí mật) được gỡ bỏ hoặc thay thế bởi những thông tin tương tự nhưng không mang giá trị thực Cũng có thể chạy một Honeypots hoặc một honeynet tại nhà hoặc tại những công ty nhỏ Trong thực tế, có thể triển khai một phần mềm đơn giản như là Linux honey, như Niels Provos, là những phần mềm có thể bắt chước những phản hồi của rất nhiều những dịch vụ đã biết Trong trường hợp này, có thể thu thập dữ liệu từ những cuộc tấn công bằng những worm tự động và initial những bước tiếp theo của một cuộc tấn công bởi con người Tuy nhiên, illusion (ảo) là giới hạn và không phải bao giờ cũng đạt được một mức độ cao sau khi những dữ liệu xuyên qua Để có thể tiếp cận với những hành động xảy ra trong bóng tối, cần phải có một honeynet: một thiết bị trực tiếp kết nối tới mạng, cái mà có thể bị probe (dò tìm), bị tấn công Chỉ cần vài máy tính, một kết nối tới mạng (thậm chí với một
IP động) và một số kiến thức về an toàn thông tin là sở hữu mạng để admit (nhận, nạp) những hacker từ tất cả mọi nơi trên thế giới
I.2 Nhiệm vụ của đồ án
Mỗi sinh viên cần làm một đồ án cuối khóa trước khi ra trường để củng cố thêm kinh nghiệm nghiên cứu cũng như tổng hợp các kiến thức đã được học Và đồ án của
em là nghiên cứu tìm hiểu về Honeypots Các bước để nghiên cứu và thực hiện :
Trang 5+ Hiện thực hệ thống mạng ảo Honeypots
+ Chứng minh hệ thống mạng đó tồn tại
+ Scan port và các dịch vụ giả lập trên mạng đó
+ Theo dõi và phát hiện ra xâm nhập
Đó cũng chính là nhiệm vụ cần hoàn thành của đồ án này
I.3 Cấu trúc đồ án
Tóm tắt đồ án được chia làm 5 chương:
Chương I: Tổng quan
- Giới thiệu về Honeypots
- Nhiệm vụ và cấu trúc của đề tài
Chương II: Honeypots
- Các loại hình Honeypots
- Honeynet
- Vị trí đặt hệ thống Honeypots
Chương III: Giả lập mạng với Honeyd
- Cấu hình thiết lập Honeypots
Chương IV: Hệ thống phát hiện xâm nhập
- Giới thiệu
- Cấu hình cài đặt
- Sử dụng
Chương V: Mô phỏng hệ thống Honeypots
- Chi tiết file mô phỏng giả lập hệ thống Honeypots
- Kết quả thực hiện
Trang 6Chương II: Honeypots
II.1 Các loại hình Honeypots
Gồm hai loại chính: Tương tác thấp và tương tác cao
+ Tương tác thấp (Low Interaction): Mô phỏng giả lập các dịch vụ, ứng dụng, và hệ
điều hành Mức độ rủi ro thấp, dễ triển khai và bảo dưỡng nhưng bị giới hạn về dịch vụ
+ Tương tác cao (High Interaction): Là các dịch vụ, ứng dụng và hệ điều hành thực
Mức độ thông tin thu thập được cao Nhưng rủi ro cao và tốn thời gian để vận hành và bảo dưỡng
+ BackOfficer Friendly + Specter
+ Honeyd + Honeynet
Low Interaction
High Interaction
Hình 2.1: Loại hình Honeypots
II.1.1 BackOfficer Friendly (BOF)
Một loại hình Honeypots tương tác thấp rất dễ vận hành và cấu hình và có thể hoạt động trên bất kỳ phiên bản nào của Windows và Unix nhưng chỉ tương tác được với một số dịch vụ đơn giản như FTP, Telnet, SMTP…
II.1.2 Specter
Cũng là loại hình Honeypots tương tác thấp nhưng khả năng tương tác tốt hơn BOF, giả lập trên 14 cổng, có thể cảnh báo và quản lý từ xa Tuy nhiên giống BOF thì specter bị giới hạn số dịch vụ và cũng không linh hoạt
II.1.3 Honeyd
+ Honeyd lắng nghe trên tất cả các cổng TCP và UDP, những dịch vụ mô phỏng được thiết kế với mục đích ngăn chặn và ghi lại những cuộc tấn công, tương tác với kẻ tấn công với vai trò một hệ thống nạn nhân
Trang 7+ Hiện nay, Honeyd có nhiều phiên bản và có thể mô phỏng được khoảng 473 hệ điều hành
+ Honeyd là loại hình Honeypots tương tác thấp có nhiều ưu điểm tuy nhiên Honeyd
có nhược điểm là không thể cung cấp một hệ điều hành thật để tương tác với tin tặc và không có cơ chế cảnh báo khi phát hiện hệ thống bị xâm nhập hay gặp nguy hiểm
II.1.4 Honeynet
Hình 2.2: Mô hình honeynet (GenII)
Trang 8- Honeynet là hình thức Honeypots tương tác cao Khác với các Honeypots, Honeynet
là một hệ thống thật, hoàn toàn giống một mạng làm việc bình thường Honeynet cung cấp các hệ thống, ứng dụng, các dịch vụ thật
- Quan trọng nhất khi xây dựng một honeynet chính là honeywall Honeywall là gateway ở giữa Honeypots và mạng bên ngoài Nó hoạt động ở tầng 2 như là Bridged Các luồng dữ liệu khi vào và ra từ Honeypots đều phải đi qua honeywall
Các chức năng của Honeynet
Bất kỳ một hệ thống Honeynet nào cũng phải thực hiện được ba điều kiện: Kiểm soát
dữ liệu, bắt dữ liệu và phân tích chúng
- Kiểm soát dữ liệu
Có thể hiểu là mở cánh cửa cho hacker đi vào, cho phép xâm nhập honeynet nhưng lại đóng cửa ra, ngăn không cho hacker phát tán những đoạn mã độc hại ra mạng làm việc bên ngoài và Internet
Hình 2.3: Kiểm soát dữ liệuHoneynet GenIII sử dụng ba cách kiểm soát dữ liệu
+ Đếm số kết nối từ honeynet ra ngoài: nếu lớn hơn mức cho phép thì sẽ cấm kết nối + Sử dụng Snort-inline: đây là một phần mềm mã nguồn mở phát triển lên từ Snort làm việc như một hệ thống ngăn chặn xâm nhập (IPS) dựa trên cơ sở dữ liệu về các hình thức tấn công thu thập được từ trước để ra quyết định
+ Kiểm soát băng thông
Trang 9Đây là mục đích chính của tất cả các loại hình Honeynet - thu thập nhiều nhất thông tin về kẻ tấn công theo nhiều mức: các hoạt động của mạng, các hoạt động ứng dụng, các hoạt động của hệ thống
Honeynet GenIII sử dụng Sebek để bắt dữ liệu Đây là một kernel ẩn đặt tại các máy Honeypots và server là honeywall gateway
Hình 2.4: Hoạt động của SebekKhi mà kẻ tấn công xâm nhập vào hệ thống và tương tác với một Honeypots Tất cả các hoạt động của hacker này đều được bí mật chuyển về sebek server thu thập và xử lý
- Phân tích dữ liệu
Phân tích dựa trên giao diện walleye của Honeywall hoặc bằng Ethereal
II.2 Kế hoạch triển khai Honeypots
Để triển khai một Honeypots cần có một quá trình xử lý kỹ thuật tốt cùng với việc thực hiện đúng kế hoạch sẽ giúp triển khai thành công hệ thống
Danh sách dưới đây đưa ra các bước để thực hiện:
+ Xác nhận Honeypots là được cho phép tạo dựng trong môi trường hệ thống đó + Xác định mục tiêu Honeypots Tại sao lại muốn chạy một Honeypots
+ Dùng nó để nghiên cứu hay là bảo vệ hệ thống tổ chức máy tính
+ Xác định vai trò con người trong việc tạo ra và duy trì một Honeypots Có chuyên môn kỹ thuật để triển khai một cách chính xác và duy trì một Honeypots không? Có
Trang 10phần mềm và phần cứng để triển khai chưa? thời gian hàng ngày sẽ mất để duy trì và phân tích dữ liệu như thế nào? Tiếp tục thảo luận, nghiên cứu để theo kịp những Honeypots mới và khai thác một cách hiệu quả
+ Các loại Honeypots sẽ triển khai là nghiên cứu hoặc sản phẩm, thực hay ảo
+ Xác định cài đặt cấu hình thiết bị mạng cần thiết để tạo ra Honeypots Kế hoạch và cấu hình một số thành phần hỗ trợ Honeypots và tool (cảnh báo, đăng nhập, giám sát, quản lý…)
+ Thu thập các thiết lập của việc giám sát, đăng nhập và các tool phân tích hợp pháp + Triển khai kế hoạch phục hồi lại Làm thế nào để phục hồi hệ thống Honeypots nguyên bản sau khi nó được khai thác sử dụng dẫn tới việc bị hư hại
+ Triển khai Honeypots và các thành phần hỗ trợ nó, kiểm tra việc triển khai, đánh giá các công cụ phát hiện xâm nhập, thử nghiệm xem hệ thống Honeypots hoạt động tốt không
+ Phân tích các kết quả và tìm ra những thiếu sót Tinh chỉnh các hệ thống Honeypots dựa trên các bài đã được học và nghiên cứu Lặp lại các bước cần thiết
II.2.1 Lôi kéo người tấn công
Nếu để lộ ra Honeypots theo cách mà những địa chỉ IP và các port được truy xuất tới từ Internet, thì nó sẽ được truy cập một cách nhanh chóng Trung bình hàng ngày các địa chỉ IP công khai trên Internet được thăm dò hàng chục lần Theo số liệu thống kê từ nhiều dự án của Honeypots cho thấy rằng có nhiều hơn một trăm lần thăm
dò một ngày, và hầu hết các máy chủ lưu trữ đều xảy ra tấn công trong vòng một tuần Các worm từ Internet sẽ quét nhiều lần trong ngày Nhiều quản trị của Honeypots đã ghi lại thành công những tổn hại xảy ra chưa đến 20 phút
Chính vì những nguyên nhân đó một số quản trị viên của Honeypots đã nhanh chóng và tích cực đăng vùng Honeypots của họ tới danh sách mail và website của hacker Những quản trị viên đăng các vị trí Honeypots của họ để khám phá một số tội phạm nghiêm trọng Thu thập các thông tin chứng cứ về những hành vi xâm nhập trái phép Việc tạo ra Honeypots không bao giờ nên quảng bá sự hiện diện hay mời gọi các hacker vì nó sẽ đánh bại các mục đích chính của Honeypots
II.2.2 Xác định mục tiêu
Trang 11Để thiết kế hệ thống Honeypots cần xác định các mục tiêu, muốn chọn nơi nào để đặt Honeypots Có rất nhiều câu hỏi cần được trả lời trước khi bắt đầu, bao gồm cả những điều sau đây:
- Lý do chính muốn tạo ra hệ thống Honeypots?
- Môi trường OS là gì để giả lập Honeypots?
- Giả lập những lọai Server hoặc Service gì?
- Muốn theo dõi các mối đe dọa từ bên trong, bên ngoài hay cả 2?
Để có câu trả lời cho những câu hỏi này về cơ bản cần xác định là sẽ nghiên cứu hay tạo ra các sản phẩm Honeypots, và làm như thế nào? cấu hình nó ra sao?
Sản phẩm Honeypotss nên mô phỏng theo các ứng dụng, dịch vụ, và máy chủ đã tồn tại Nếu làm đúng với tương tác cao, nó sẽ gây khó khăn cho tin tặc trong việc nhận biết và tương tác với Honeypots
Hình 2.5: Ví dụ về một sản phẩm Honeynet
Ví dụ, giả sử hệ thống mạng bao gồm máy chủ chạy HĐH Windows Server 2003 chạy IIS 6.0, Windows 2000 Server chạy Microsoft SQL Server 2000, Windows NT 4.0 Server, và một Windows 2000 Server chạy IIS 6.0 Sản phẩm honeypots sẽ cố gắng để
mô phỏng giống như những cái máy chủ và các dịch vụ ở trên
II.3 Vị trí đặt hệ thống Honeypots
Có 3 vùng chính để đặt hệ thống Honeypots:
Trang 12- External Placement (đặt ở vùng ngoài)
- Internal Placement (đặt ở vùng trong)
II.3.2 Đặt ở vùng trong
Vị trí Honeypots nằm bên trong mạng và bức tường lửa ở giữa ngăn cách nó với thế giới Internet Vị trí này là cách tốt nhất để tạo ra một hệ thống cảnh báo sớm cho biết bất kỳ sự khai thác từ bên ngoài vào và bảo vệ mạng nội bộ, bắt các đe dọa xảy ra cùng một lúc Một ví dụ cho thấy khi mà worm Blaster tấn công, nhiều công ty
đã triển khai firewall và cấu hình khóa port 135 ngăn chặn an toàn từ các worm nhưng worm có thể lén đi qua firewall trên đường links và từ những máy tính laptop, thiết bị
di động Sau khi đã qua bức tường lửa các worm có thể gây nhiễm các máy tính nội bộ chưa được vá lỗi hệ điều hành và lỗi bảo mật
So sánh giữa các vị trí đặt Honeypots
Trang 13Vị trí Ưu điểm Nhược điểm
Vùng ngoài Dễ xây dựng, triển khai
Số lượng thiết bị cần thiết ít
Điều khiển dữ liệu kém Rủi ro cao nhất cho các sản phẩm mạng Honeypots
Vùng trong
Tốt cho việc giám sát nhân viên bên trong
Hệ thống cảnh báo sớm để bảo vệ backup
Cài đặt phức tạp hơn nhiều
Cần phải quyết định cho phép các port/ chuyển hướng trực tiếp
DMZ Có thể điều khiển dữ liệu tốt
Cài đặt phức tạp
Hệ thống cảnh báo không được mạnh Cần phải quyết định cho phép các port/ chuyển hướng trực tiếp
Trang 14Chương 3: Giả lập mạng với Honeyd
Được phát triển và duy trì bởi Niels Provos, Honeyd là một chương trình nền nhỏ nhưng có rất nhiều tính năng nổi trội Honeyd giả lập các máy ảo trong một mạng máy tính Nó có thể giả lập một hệ điều hành bất kỳ, cho phép mô phỏng các dịch vụ TCP/IP khác nhau như HTTP, SMTP, SSH Honeyd được sử dụng trong việc xây dựng Honeynet, thiết lập các Honeypots để dụ hacker đột nhập vào hệ thống
Một tính năng hữu ích của Honeyd là có khả năng giả lập một topology mạng với đầy đủ các thông số như các bước mạng, tỉ lệ thất thoát, độ trễ khi truyền và băng thông chỉ với duy nhất một máy chủ nằm trong mạng Khả năng này cho phép giả lập các mạng máy tính phức tạp để thí nghiệm, nó cũng đóng giả một mạng máy tính đối với hacker bên ngoài mạng, bẫy hacker vào mạng Honeypots
Một số tính năng Honeyd cung cấp để thiết lập mạng Honeypots:
+ Đường hầm GRE để thiết lập các mạng phân tán
Phần này sẽ hướng dẫn cách tạo các topology mạng, sử dụng Honeyd và các cấu hình mẫu Cung cấp cú pháp cấu hình lệnh và cách dùng các tập tin cấu hình Tập trung vào từng bước để xây dựng một mạng máy tính và xem xét kỹ các tập tin cấu hình
Khung chương trình Honeyd thiết lập Honeypots:
CREATE <template name>
#ANNOTATE "<personality name>"
SET <template name> ETHERNET "<Ethernet name>"
SET <template name> PERSONALITY “<personality name>”
SET DEFAULT <template name> TCP ACTION <action>
SET DEFAULT <template name> UDP ACTION <action>
SET DEFAULT <template name> ICMP ACTION <action>
Trang 15ADD <template name> <protocol> PORT <number> <action>
ADD <template name> <protocol> PORT <number> "<script engine to call> <script file>" SET <template name> UPTIME <seconds>
SET <template name> DROPRATE IN <%>
SET <template name> UID <number> GID <number>
BIND <IP address(es)> <template name>
Giải thích cho đoạn chương trình trên:
Create: Tạo ra template
#annotate: chú thích tên hệ điều hành
Chỉ ra Ethernet đặt cho template phục vụ việc kết nối ra bên ngoài
Gán hệ điều hành cho template đã tạo ở trên
Cài đặt các action cho protocol TCP, UDP, ICMP trong đó action có 3 loại:
Open – Mở toàn bộ số cổng có trên một protocol
Block – Tất cả các packets của protocol được chỉ định là dropped, khi được chỉ định honeypots sẽ không respond packet cho protocol, port
Reset – Cho biết tất cả các port là đóng Nếu 1 TCP port là đóng thì honeypot
ảo respond với 1 TCP RST tới 1 packet SYN cho port này Nếu là UDP port đóng thì honeypot ảo replies với 1 một thông báo ICMP port-unreachable
Thêm port kèm theo protocol cùng với action
Thêm script chạy các dịch vụ trên các port
Thiết lập các biến system:
UPTIME thời gian hệ thống chạy bao lâu tính bằng giây
DROPRATE IN tỷ lệ (%) rớt được chỉ định của packets gửi từ Honeyd để mô phỏng một mạng bận rộn
UID and GID định danh duy nhất và định danh trên toàn cầu của các máy tính ảo (number)
Sau đây sẽ xây dựng một mạng vật lý bao gồm 4 máy tính để bàn cộng với một
hệ thống được dùng làm máy chủ Honeyd Mạng ảo mà giả lập sẽ được đặt trên máy chủ Honeyd Honeyd làm việc trên nền Unix, rồi được chuyển sang Windows bởi Michael Davis Trong ví dụ này, sẽ dùng một máy Windows Server 2003 để làm máy
Trang 16chủ Honeyd Mạng vật lý sử dụng dải địa chỉ 10.0.0.0/24, và máy chủ Honeyd được gán cho địa chỉ IP 10.0.0.1 như hình 3.1
Hình 3.1: Honeyd host
III.1 Các bước thiết lập 2 Honeypots
Đầu tiên xem qua cách thức thiết lập 2 mạng Honeypots trên máy chủ Honeyd Xây dựng 2 Honeypots sử dụng hệ điều hành Windows trên địa chỉ IP 10.0.0.51 và 10.0.0.52 Đường sọc màu xanh trong hình 2 chứa các Honeypots mà máy chủ Honeyd tạo ra
Trước khi cấu hình và chạy Honeyd, cần phải chắc rằng máy chủ Honeyd trả lời các gói tin yêu cầu ARP (Address resolution packet - gói tin phân giải địa chỉ) cho các
IP của các Honeypots làm chủ
Trước khi khởi động Honeyd, cần cung cấp cho Honeyd một tập tin cấu hình (trong trường hợp này là tập tin lab1.config) chứa các thông tin giả lập 2 máy có hệ điều hành Windows Tập tin cấu hình sẽ có nội dung tương đối dễ hiểu như sau:
Trang 17#Windows computers
#annotate "Microsoft Windows 2003 Server SP1"
create window
set window ethernet "vmware"
set window personality "Microsoft Windows 2003 Server SP1"
set window default icmp action reset
set window default tcp action block
set window default udp action reset
add window tcp port 80 "perl scripts\iisemulator-0.95\iisemul8.pl"
add window tcp port 139 open
add window udp port 138 open
add window udp port 137 open
add window udp port 135 open
C:\winhoneyd\WinHoneyd_1.5c.exe -d -i 2 -f C:\winhoneyd\lab1.config 10.0.0.51 10.0.0.52
Tùy chọn –d là biến lựa chọn tốt nhất cho việc thực thi Honeyd tùy chọn này hoạt động kín đáo trong nền sau, -i <interface> là tùy chọn chỉ ra interface mà
Trang 18honeyd lắng nghe và kết nối với mạng, -f <filename> thực thi file cấu hình Để biết được tất cả network interfaces dùng tùy chọn –N
Từ thời điểm này, Honeyd bắt đầu lắng nghe và trả lời các gói tin đối với 2 hệ thống ảo mà nó tạo ra tại địa chỉ 10.0.0.51 và 10.0.0.52 Máy chủ Honeyd vẫn có thể được truy cập từ bên ngoài, nên cần phải bảo vệ địa chỉ IP của máy chủ Honeyd bằng tường lửa cụ thể là phần mềm "Kerio WinRoute Firewall”
Trang 19Hình 3.2: Thiết lập 2 Honeypots
III.2 Thiết lập một router trong mạng
Hình 3.3: Router trong mạng Honeypots
Trang 20Giả lập một mạng đơn giản với Honeyd sử dụng không gian địa chỉ 10.0.1.0/24 chứa 2 Honeypots được tách khỏi mạng LAN bởi một router Cisco (R1)
như hình 3.3
Để giả lập mạng này, đầu tiên là tạo một router Cisco ở địa chỉ 10.0.0.100:
#Cisco router
create router
set router ethernet "vmware"
set router personality "Cisco 7200 router running IOS 12.1(14)E6"
set router default icmp action reset
set router default tcp action reset
set router default udp action reset
add router tcp port 23 "perl scripts\router-telnet.pl"
Cú pháp "route entry" được dùng để chỉ định cổng vào mạng ảo từ mạng LAN, ở đây
là Router R1:
route entry 10.0.0.100 network 10.0.0.0/24
cấu hình trên thông báo cho Honeyd biết rằng 10.0.0.100 là cổng vào mạng ảo 10.0.0.0/24 và cũng là địa chỉ của router Như vậy là có thể có nhiều router đầu vào, mỗi router phục vụ cho một phạm vi mạng khác nhau
Mạng 10.0.1.0/24 có thể được truy cập thông qua router R1 Để chỉ định mạng nào có
thể được kết nối trực tiếp và không cần các bước mạng từ xa, cách dùng lệnh "route link" như sau:
route 10.0.0.100 link 10.0.1.0/24
Địa chỉ IP đầu tiên được chỉ định ra ở trên là IP của router Địa chỉ mạng được chỉ định sau từ khoá "link" cho biết mạng nào có thể được truy cập trực tiếp Nhiều lệnh link có thể được dùng để gắn nhiều subnet trực tiếp đến một router Router sẽ sử dụng mẫu route mà đã thiết lập bằng lệnh
bind 10.0.0.100 route
Hai Honeypots sử dụng mẫu winxp thiết lập ở trên sẽ được gắn với các địa chỉ IP 10.0.1.51 và 10.0.1.52:
Trang 21create winxp
set winxp ethernet "vmware"
set winxp personality "Microsoft Windows XP"
set winxp default icmp action reset
set winxp default tcp action block
set winxp default udp action open
add winxp tcp port 23 open
add winxp tcp port 80 open
bind 10.0.1.51 winxp
bind 10.0.1.52 winxp
Đến đây, việc cấu hình mạng đơn giản đã hoàn tất Chạy lệnh trên máy Honeyd
và cung cấp cho nó tập tin cấu hình để mạng giả lập hoạt động
III.3 Thiết lập một mạng với 2 router
Hình 3.4: Honeypots với 2 router
Trang 22Bây giờ hãy xem xét một trường hợp phức tạp hơn Trong hình 3.4, thêm vào một mạng khác ngăn cách với mạng ban đầu bởi router R2 với địa chỉ IP 10.0.1.100 Mạng mới có địa chỉ trong dải 10.1.0.0/24 và chứa 2 Honeypots ở địa chỉ 10.1.0.51 và 10.1.0.52
Đầu tiên thêm vào một cổng nối (R2) trong tập tin cấu hình Bằng cấu hình
"route add net", có thể thêm vào mạng ảo một cổng nối Áp dụng trong trường hợp này
có dạng sau:
route 10.0.0.100 add net 10.1.0.0/24 10.0.1.100
Cấu hình trên cho thấy Honeyd biết rằng 10.0.0.100 là IP của Router R1, được chỉ định để kết nối tới mạng 10.1.0.0/24 thông qua cổng nối 10.0.1.100 (router R2) Địa chỉ IP đầu tiên trên cấu hình lệnh là của R1, địa chỉ cuối là của cổng nối mới, và dải địa chỉ được chỉ định là của mạng được truy cập thông qua cổng nối mới
Sau khi thêm vào router R2, phải chỉ định địa chỉ IP nào có thể được kết nối trực tiếp từ R2 Một lần nữa lại dùng lệnh "route link" để làm việc này Trong mạng của mình, mạng con 10.1.0.0/24 được truy cập trực tiếp từ R2, nên câu lệnh có dạng sau:
Bây giờ, sẽ mở rộng mạng thêm một mức nữa để nghiên cứu thêm các đặc tính nổi trội khác của Honeyd
III.4 Thiết lập độ trễ, thất thoát và băng thông
Trang 23Thêm vào một mạng thứ 3, bao gồm 2 Honeypots nằm cách R2 một hop như hình 3.5
Hình 3.5: Thiết lập độ trễ, thất thoát và băng thông Thêm mạng này vào trong tập tin cấu hình:
route 10.0.1.100 add net 10.1.1.0/24 10.1.0.100 latency 50ms loss 0.1 bandwidth 1Mbps
Trang 24trong thực tế cũng không giống như trong trường hợp lý tưởng khi truyền gói tin - một
số gói tin có thể bị thất thoát Từ khóa loss được dùng để minh họa hành vi của các liên kết trong mạng bằng cách chỉ ra tỉ lệ phần trăm (%) thất thoát Honeyd cũng đưa gói tin vào hàng đợi nếu một liên kết bị chiếm bởi một gói tin trước đó Tùy thuộc vào băng thông phục vụ cho liên kết, giá trị trễ có thể thay đổi Băng thông của một liên kết được chỉ định bằng Kpbs, Mbps hoặc Gbps với từ khoá bandwidth
III.5 Tích hợp các máy vật lý vào topology mạng
Honeyd cũng hỗ trợ việc tích hợp các topology mạng ảo với các máy chủ vật lý trên mạng Giả sử muốn tích hợp vào mạng ảo một máy chủ nằm tại địa chỉ 10.1.1.53 Máy chủ này được đặt trong mạng LAN chứa máy chủ Honeyd và các máy bàn khác, nhưng muốn đặt một cách logic sau vài bước nhảy bên trong mạng ảo Hình 3.6 mô tả cấu trúc của mạng:
Dùng lệnh "bind" để gắn một máy chủ vật lý bên ngoài vào trong mạng Cấu hình sẽ như sau:
bind 10.1.1.53 to eth0
Cấu hình trên báo cho Honeyd biết rằng 10.1.1.53 có thể được kết nối thông qua giao diện eth0; vì 10.1.1.53 nằm trong phần mạng sau router R3 (một cách logic), một gói tin tới địa chỉ IP sẽ chạy qua R1, R2 và R3 trước khi đến 10.1.1.53 Để thấy điều này, hãy lần theo đường định tuyến đến 10.1.1.53 từ máy bàn trên mạng LAN:
C:\>tracert 10.1.1.53
Tracing route to 10.1.1.53 over a maximum of 30 hops
1 * * * Request timed out
2 <10 ms 10 ms 10 ms 10.0.1.100
3 10 ms 20 ms 20 ms 10.1.0.100
4 10 ms 20 ms 20 ms 10.1.1.53
Trace complete
Trang 25Hình 3.6: Tích hợp các máy vật lý vào topology mạng Máy 10.1.1.53 được kết nối thông qua 3 trạm trung gian ảo, mặc dù nó nằm trên cùng mạng vật lý với các máy khác
III.6 Thiết lập nhiều router đầu vào
route entry 10.0.0.200 network 10.2.0.0/24
Trang 26Honeyd cũng cho phép thiết lập nhiều đường vào mạng ảo Ví dụ: hình 3.7 thêm vào một mạng mới được kết nối thông qua router R4 ở 10.0.0.200 Tạo một đầu vào mới khá đơn giản: dùng lệnh "rounte entry" một lần nữa để định nghĩa router mới Phần còn lại của mạng có thể được xây dựng thông qua việc kết hợp "route add net" với "route link" Đối với mạng này, có một cấu hình cho điểm vào thứ 2 và mạng đằng sau nó:
Hình 3.7: Thiết lập nhiều router đầu vào
Trang 27Cấu hình "route entry" thêm vào một router mới R4 tại IP 10.0.0.200 phục vụ cho mạng 10.2.0.0/24, route link chỉ định mạng 10.2.0.0/24 có thể được kết nối trực tiếp thông qua router R4 Route add net sau đó thêm một cổng vào tại 10.2.0.100 phục
vụ cho mạng 10.2.1.0/24 Tiếp đó, route link chỉ thị rằng mạng 10.2.1.0/24 có thể được kết nối trực tiếp từ router mới này Gắn địa chỉ IP của router mới với mẫu router, và 4 địa chỉ honeyd với mẫu window
III.7 Đường hầm GRE để thiết lập mạng phân tán
Hình 3.8: Đường hầm GRE để thiết lập mạng phân tán Một tính năng nổi trội khác của Honeyd là khả năng truyền dữ liệu thông qua đường hầm từ một mạng ảo trong máy chủ Honeyd tới các mạng khác từ xa để thiết lập một mạng phân tán Tính năng này được sử dụng để giả lập một mạng phân tán thông qua máy chủ Honeyd hoặc dùng một máy chủ Honeyd để phục vụ nhiều mạng phân tán Trong phần sau, sẽ thiết lập máy chủ Honeyd đóng vai trò như một tập hợp các Honeypots tương tác, một dạng site tập trung Các thành phần tham gia có thể
Trang 28kiểm soát một phần của không gian địa chỉ IP bằng cách định tuyến tới không gian địa chỉ đó thông qua một đường hầm tới máy chủ Honeyd Hình 3.8 mô tả hệ thống mạng này:
Để hiểu cách cấu hình đường hầm GRE (Generic Route Encapsulation), sẽ xem xét một phiên bản đơn giản của mạng đã phát triển Trong hình 3.8, mạng 10.3.1.0/24 được đặt xuyên qua WAN, có thể là xuyên qua mạng lưới quốc gia Dùng tính năng đường hầm GRE của Honeyd, có thể truyền dữ liệu từ router R7 tới router ảo R6 như thể 2 router được kết nối trực tiếp với nhau Đối với người dùng trên mạng xuyên quốc gia, điều này có vẻ như mạng giả lập bên trong máy chủ Honeyd chỉ cách một trạm truyền, khi lưu thông được thực hiện thông qua đường hầm qua liên kết ảo được thiết lập giữa 2 router Máy chủ Honeyd của ta có thể nhờ đó được sử dụng để phục vụ một mạng ở xa
Để cấu hình máy chủ Honeyd thiết lập đường hầm GRE như hình 3.8, phải thêm R6 - router có giao diện bên ngoài là 172.20.254.1 như một router ảo có thể triển khai đường hầm R6 là một router vào mới cho phép lưu thông tới mạng 10.3.2.0/24 Khi nó không cần thiết phải triển khai router cho việc truyền dữ liệu thông qua đường hầm, sẽ dễ hiểu cấu hình cho router ảo:
route entry 172.20.254.1 network 10.3.2.0/24
Sau đó mô tả mạng 10.3.2.0/24 được kết nối trực tiếp từ router trên với lệnh "route link"
route 172.20.254.1 link 10.3.2.0/24
Để thiết lập đường hầm, dùng cấu trúc "route add net tunnel" Đầu cuối thứ
nhất của đường hầm là địa chỉ IP bên ngoài của Router R6, vd 172.20.254.1 Địa chỉ
IP vật lý của router ở xa 172.30.254.1 sẽ là đầu cuối thứ 2 của đường hầm Trong tập tin cấu hình, sẽ chỉ định router ảo và mạng ở xa mà sẽ dùng đường hầm để kết nối, như sau:
route 172.20.254.1 add net 10.3.1.0/24 tunnel 172.20.254.1 172.30.254.1
Chú ý là router R7 xuyên qua WAN phải được cấu hình để làm đầu cuối cho đường hầm GRE từ router ảo và định tuyến các gói tin đến đích
Đến đây, mọi lưu thông từ mạng 10.3.1.0/24 tới các Honeypots cung cấp bởi Honeyd sẽ được thực hiện thông qua đường hầm GRE giữa router R6 và R7 Với chức
Trang 29năng này, có thể có một mạng phân tán và tạo một topology mạng ảo xuyên qua chúng
để che dấu đi mạng vật lý khỏi các cuộc tấn công từ bên ngoài
Một số Operating System:
Cisco 1601 router running IOS 12.0(8)
Cisco 1601R router running IOS 12.1(5)
Cisco 2611 router running IOS 12.2(7a)
Cisco 2620 running IOS 12.2(19a)
Cisco 3600 router running IOS 12.2(6c)
Cisco 4000 Series running IOS 12.0(10.3)
Cisco 5200 router running IOS v12.0(15)
Cisco 7200 router running IOS 12.1(14)E6
Cisco 7204 router running IOS 12.1(19)
Cisco 7206 router running IOS Version 12.2(13)T8
Cisco 837 router running IOS 12.3(11)T
Cisco IOS 12.0(21) (On a 2514 router)
Cisco IOS 12.0(3.3)S (perhaps a 7200 router)
Cisco IOS 12.0(5)WC3 - 12.0(16a)
Cisco IOS 12.0(7)T (on a 1700 router)
Cisco IOS 12.1(4) on a 2600 router
Cisco IOS 12.2(8)T5 on a 7507 router
Microsoft Windows Server 2003
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 or XP SP2
Microsoft Windows Server 2003 Standard Edition
Microsoft Windows XP Home Edition
Microsoft Windows XP Home Edition (German) SP1
Microsoft Windows XP Home SP1
Microsoft Windows XP Pro
Microsoft Windows XP Pro (German)
Microsoft Windows XP Pro (German) SP1
Trang 30Chương IV: Hệ thống phát hiện xâm nhập
IV.1 Giới thiệu
Intrusion Detection là thiết bị bảo mật vô cùng quan trọng Intrusion Detection Systems (IDS) là giải pháp bảo mật được bổ sung cho Firewalls (hình dưới đây thể hiện điều đó) Một IDS có khả năng phát hiện ra các đoạn mã độc hại hoạt động trong hệ thống mạng và có khả năng vượt qua được Firewall
Có hai dạng chính của IDS đó là: Network Based và Host Based
Hình 4.1: Network Based và Host Based Network Based
Một Network-Based IDS sẽ kiểm tra các giao tiếp trên mạng với thời gian thực (real-time) Nó kiểm tra các giao tiếp, quét header của các gói tin, và có thể kiểm tra nội dung của các gói đó để phát hiện ra các đoạn mã nguy hiểm hay các dạng tấn công khác nhau Một Network-Based IDS hoạt động tin cậy trong việc kiểm tra, phát hiện các dạng tấn công trên mạng, ví dụ như dựa vào băng thông (bandwidth-based) của tấn công Denied of Service (DoS)
Trang 31Host Based
Một Host-Based IDS chỉ làm nhiệm vụ giám sát và ghi lại log cho một máy chủ (host-system) Đây là dạng IDS với giới hạn chỉ giám sát và ghi lại toàn bộ những khả năng của host-system (nó bao gồm cả hệ điều hành và các ứng dụng cũng như toàn bộ service của máy chủ đó) Host-Based IDS có khả năng phát hiện các vấn đề nếu các thông tin về máy chủ đó được giám sát và ghi lại Là thiết bị bảo mật cho phát hiện các tấn công trực tiếp tới một máy chủ
Active Detection and Passive Detection
IDS là một hệ thống tự động giám sát trong thời gian thực (Network-Based IDS) hay xem sét lại các thiết lập giám sát (audit log) nhằm phát hiện ra các lỗi bảo mật và các tấn công trực tiếp tới hệ thống mạng hay tới một máy chủ Có hai phương thức cơ bản để IDS phát hiện ra các tấn công hay các nguy cơ bảo mật là: Signature Detection và Anomaly Detection Signature Detection sẽ so sánh các tình huống thực tế với các dạng tấn công (signatures) được lưu trữ trong dữ liệu của IDS Anomaly Detection sẽ hoạt động tùy thuộc vào môi trường và có thể phát hiện ra những biến cố bất thường Anomaly-detection dựa vào những hoạt động bình thường của hệ thống để tự động phát hiện ra những điều không bình thường và phân tích xem đó là dạng tấn công nào
Một IDS active detection: phát hiện và trả lời được thiết kế để có hành động nhanh nhất nhằm giảm thiểu các nguy hiểm có thể xảy ra với hệ thống Việc trả lời có thể như tắt máy chủ hay tắt các dịch vụ, ngắt các kết nối
Một IDS với passive detection sẽ trả lời nhưng không có các hành động trực tiếp chống lại các tấn công Nó có thể ghi lại log của toàn bộ hệ thống và cảnh báo cho người quản trị hệ thống IDS là thiết bị phát hiện tấn công DoS rất tốt; phát hiện các bugs (lỗi hệ thống), flaws (lỗ hổng, khiếm khuyết) hoặc các tính năng ẩn, và quét ports Nhưng nó không có khả năng phát hiện các tấn công dựa trên các email chứa các đoạn mã nguy hiểm
Trang 32Các thành phần của IDS hoạt động để giám sát mạng
Hình 4.2: Các thành phần của IDS hoạt động để giám sát mạng Hình dưới đây IDS yêu cầu Firewall chặn port 80 trong 60 giây để chống lại các tấn công vào máy chủ Web cài IIS
Trang 33Hình 4.3: IDS yêu cầu Firewall chặn port 80
Có hai yêu cầu chính khi triển khai một IDS đó là chi phí cùng với khả năng đáp ứng linh họat của nó trước sự phát triển nhanh chóng của công nghệ thông tin và SNORT có thể đáp ứng rất tốt cả hai yêu cầu này Đó là một phần mềm mà có thể tải
về và sử dụng miễn phí, cho nên yếu tố về chi phí hoàn toàn có thể yên tâm Ngoài ra SNORT còn là một sản phẩm mã nguồn mở và có một cộng đồng phát triển đông đảo được quản lí chặt chẽ cho nên khi có những dạng xâm nhập mới được phát hiện thì ngay lập tức được các nhà phát triển cảnh báo và cập nhật Snort Rules một cách nhanh chóng và các doanh nghiệp có thể thay đổi mã nguồn cho phù hợp với yêu cầu của mình Vì vậy SNORT là phần mềm IDS mạnh mẽ và được yêu thích nhất hiện nay trên thế giới trong vấn đề phát hiện xâm nhập
Trang 34Snort có 4 chế độ hoạt dộng khác nhau đó là:
Sniffer mode: đọc các gói tin trên mạng sau đó sẽ trình bày kết quả trên giao diện hiển
thị, ở chế độ này snort sẽ lắng nghe
Packet Logger mode : lưu trữ các gói tin trong các tập tin log
Network instruction detect system (NIDS) : đây là chế độ họat động mạnh mẽ và được áp
dụng nhiều nhất, khi họat động ở NIDS mode Snort sẽ phân tích các gói tin luân chuyển trên mạng và so sánh với cá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ị mạng khi xảy ra tình huống quét lỗi do các hacker/attacker tiến hành hay cảnh báo virus
Inline mode: khi triển khai snort trên linux thì có thể cấu hình snort để phân tích các gói
tin từ iptables (trong iptables chia ra thành các bảng (tables); trong mỗi bảng sẽ chia ra thành nhiều chuỗi (chains) để xử lý packet tùy theo tình huống (hướng đi của packets); trong mỗi chain sẽ có các luật (rules) mà mình sẽ cấu hình để xử lý các packets tương ứng với mỗi chain) thay vì libpcap do đó iptable có thể drop hoặc pass các gói tin theo snort rule
IV.2 Cài đặt Snort trên Windowns
IV.2.1 Cài đặt Snort
Có thể đặt Snort trước hoặc sau một hệ thống firewall tùy yêu cầu bảo mật của tổ chức Và nếu hệ thống mạng có nhiều phân đọan mạng thì mỗi subnet (lớp mạng con) phải có một máy chủ Snort được cài đặt, không như các sản phẩm thương mại khác ngoài tính năng chi phí bản quyền cao thì thường đòi hỏi cấu hình phần cứng mạng, với Snort thì có thể cài đặt và cấu hình trên x386 computer, tuy nhiên cần có đĩa cứng có đủ không gian trống để lưu trữ các packet được bắt giữ, và với công nghệ lưu trữ hiện nay thì điều nầy không phải là một vấn đề
Snort hoạt động như một network sniffer lắng nghe và lưu giữ các packet trên mạng sau đó so sánh các nội dung hoặc header của chúng với một tập các qui tắc đã được định nghĩa gọi là các Snort rule và khi một sự trùng khớp giữa rule và các packet thì những hành động của rule sẽ được tiến hành tùy theo định nghĩa Một điểm thuận lợi là các rule này luôn được cập nhật nhanh chóng bởi cộng đồng phát triển cho nên khả năng đáp ứng của Snort trước các dạng tấn công hiện đại rất cao
Trang 35Snort sử dụng ba thành phần sau để tiến hành công việc của mình:
Packet decoder : phân tích gói tin, kể cả IP Header và Data Payload
Detect engineer : dò tìm các dấu hiệu khả nghi theo tập hợp các quy tắc
Logging và alert system : lưu giữ và cảnh báo
Ba thành phần này dùng libcap để lưu giữ gói tin khi cài Snort trên hệ điều hành linux Còn nếu cài trên hệ thống windows thì phải thay libcap bằng winpcap
Tải winpcap từ www.iltiloi.com và Snort www.snort.org và chọn bản cài trên Windows
Sau đó click vào tập tin chương trình Snort_Installer.exe để bắt đầu tiến trình cài đặt
Trên màn hình Installation Options có các cơ chế lưu trữ log file theo cơ sở dữ liệu
SQL hay Oracle, trong phần này chỉ lưu trữ log nên sẽ chọn tùy chọn đầu tiên là “I do not plan to log to a database, or I am planing to log to one of the databse listed above”
Hình 4.4: Cài đặt Snort
Trang 36Sau khi đã cài đặt Snort tiếp theo cần phải thiết lập các tham số quan trọng như
HOME_NET và PATH_RULE để sử dụng Snort và thực hiện các công việc tiếp theo Đây là bước mà thường làm cho quá trình cài đặt và sử dụng Snort bị lỗi do khai báo sai File C:\Snort\etc\snort.conf là file chứa nhiều cài đặt và một phiên bản mới có thể
thay đổi dễ gây ra nhầm lẫn File snort.conf điều khiển mọi thứ về việc Snort sẽ giám sát cái gì, chúng tự bảo vệ như thế nào, các luật gì chúng sử dụng để tìm thấy lưu lượng nguy hiểm, và thậm chí là cách chúng giám sát các lưu lượng nguy hiểm tiềm tàng mà không được định nghĩa bằng các dấu hiệu như thế nào
File này được tổ chức thành nhiều phần và chứa nhiều các lời chú thích và hướng dẫn để
sử dụng một vài tùy chọn có thể đối với các mục cấu hình khác nhau):
Theo mặc định, các biến được khai báo với giá trị bất kì Nó đúng với bất kì địa chỉ IP nào Khi giá trị này được sử dụng, nó có thể tạo ra một số lượng lớn các cảnh báo nhầm
Để xác định một địa chỉ đơn, chỉ cần đánh vào địa chỉ IP đó: