Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 100 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
100
Dung lượng
2,92 MB
Nội dung
ĐỒ ÁN TỐT NGHIỆP Chương I Giới thiệu chung Đặt vấn đề Mục tiêu giới hạn Hướng giải Tóm tắt kết Nội dung đồ án .9 Chương II Tổng quan DDoS .10 Giới thiệu chung DDoS 11 Phân loại kiểu công DDoS 11 2.1 Tấn công làm cạn kiệt băng thông 12 2.2 Tấn công làm cạn kiệt tài nguyên .15 Sơ đồ mạng Botnet .18 3.1 Sơ đồ Handler-Agent 18 3.2 Sơ đồ IRC Base 19 Các phương pháp xây dựng tài nguyên công 20 4.1 Cách thức cài đặt DDoS Agent 21 4.2 Giao tiếp mạng Botnet 22 Một số kiểu công DDoS công cụ công DDoS .23 5.1 Một số kiểu công DDoS 23 5.2 Một số công cụ công DDoS 23 Phòng chống DDoS 28 6.1 Phòng chống DDoS .28 6.2 Những vấn đề có liên quan 32 Chương III Tổng quan Iptables 35 Snort inline 35 Tổng quan Iptables .36 1.1 Giới thiệu chung Iptables 36 1.2 Cấu trúc Iptables 36 1.3 Targets 39 1.4 Các tùy chọn quan trọng Iptables 41 Tổng quan Snort inline 43 2.1 Giới thiệu chung Snort Snort inline 43 2.2 Tổng quan Snort 44 Chương IV Xây dựng giải pháp phòng chống DDoS cho máy chủ web 66 Mô hình triển khai thực tế 66 Mô hình mạng triển khai hệ thống phòng chống : 68 Giải pháp 68 Mô hình thử nghiệm 71 Triển khai hệ thống 71 4.1 Tối ưu hóa server tầng TCP/IP 71 4.2 Cài đặt module connlimit cho Iptables 73 4.3 Cài đặt Snort inline 75 4.4 Thử nghiệm, đánh giá 84 Kết luận: 97 Danh sách hình vẽ Danh sách bảng LỜI CẢM ƠN Sau tháng nỗ lực thực hiện, đồ án nghiên cứu “Xây dựng giải pháp phòng chống DDoS cho máy chủ web ” phần hoàn thành.Ngoài nỗ lực thân, em nhận khích lệ nhiều từ phía nhà trường, thầy cô, gia đình bạn bè khoa.Chính điều mang lại cho em động viên lớn để em hoàn thành tốt đồ án Trước hết xin cảm ơn bố mẹ, ông bà người thân yêu động viên, ủng hộ, chăm sóc tạo điều kiện tốt để hoàn thành nhiệm vụ Em xin cảm ơn nhà trường nói chung Khoa Công Nghệ Thông Tin nói riêng đem lại cho em nguồn kiến thức vô quý giá để em có đủ kiến thức hoàn thành đồ án làm hành trang bước vào đời Em xin cảm ơn thầy cô thuộc môn Mạng Máy Tính, đặc biệt thầy Ngô Hồng Sơn- giáo viên hướng dẫn em tận tình hướng dẫn giúp đỡ chúng em chúng em có khó khăn trình học tập trình làm đồ án tốt nghiệp Xin cảm ơn tất bạn bè thân yêu động viên, giúp đỡ em suốt trình học tập làm đề tài Hà Nội, 05/2008 Sinh viên thực Nguyễn Huy Lợi Chương I Giới thiệu chung Đặt vấn đề Mục tiêu Tóm tắt kết Nội dung đồ án Đặt vấn đề “ Ngày 7/3/2000, yahoo.com phải ngưng phục vụ hàng trăm triệu user toàn giới nhiều liền Vài sau, Yahoo tìm nguyên nhân gây nên tình trạng này, họ phải gánh chịu đợt công DDoS với quy mô vài ngàn máy tính liên tục gửi hàng triệu request đến server dịch vụ làm server phục vụ user thông thường khác Vài ngày sau, kiện tương tự diễn có phần “ồn ào” nạn nhân hãng tin CNN, amazon.com, buy.com, Zdnet.com, Etrade.com, Ebay.com Tất nạn nhân gã khổng lồ Internet thuộc nhiều lĩnh vực khác Theo Yankke Group, tổng thiệt hại công lên đến 1.2 triệu USD, không đáng kể mát lòng tin khách hàng, uy tín công ty tính Làm đảo lộn dự tính, thủ phạm cậu bé 15 tuổi người Canada, với nickname “mafiaboy” Lại thiên tài bẩm sinh Kevin Mitnick xuất hiện? Không Mafiaboy tìm tòi download số chương trình công cụ hacker Cậu dùng công cụ DDoS có tên TrinOO để gây nên công kiểu DDoS khủng khiếp Một điểm đáng lưu ý khác Mafiaboy bị bắt tự khoe khoang chatroom công cộng, không truy tìm dấu vết cậu bé Còn nhiều gã khổng lồ khác gục ngã công kiểu DDoS sau đó, có Microsoft Tuy nhiên công điển hình DDoS, nói lên đặc điểm chết người DDoS: Rất dễ thực hiện, tránh, hậu nặng nề.” Đây phần mở đầu số nhiều báo viết DDoS, ngắn gọn nêu bật đặc điểm bật DDoS : “Rất dễ thực hiện, tránh, hậu nặng nề ” Một điều mà chuyên gia thừa nhận, DDoS thực hacker có trình độ, việc chống đỡ Rất may mắn, cách năm, giới hacker quy giới khai trừ kĩ thuật công này, chấm dứt hoạt động nghiên cứu, trình diễn hay phát triển công cụ thân họ nhìn thấy mức độ nguy hiểm không công kiểu công Tuy không mẻ, DDoS tiếp tục gây nhiều thiệt hại cho cộng đồng mạng nói chung cho doanh nghiệp nói riêng Gần nhất, trang web Bkis bị DDoS làm gián đoạn nhiều liền sau phối hợp với bên liên quan, điều tra thủ phạm học sinh trung học Quảng Nam Không phục vụ cho nhu cầu thân mà giúp nâng cao ý thức người dùng mạng Internet, để tránh giảm thiệt hại bị DDoS , em lựa chọn đề tài : “Xây dựng biện pháp phòng chống DDoS cho máy chủ web” Nhận thấy vừa đề tài tốt nghiệp, vừa có vai trò ứng dụng thực tế với giúp đỡ tận tình thầy Ngô Hồng Sơn, em cố gắng để thực tốt đề tài Mục tiêu giới hạn Đồ án có mục tiêu : - Nghiên cứu tìm hiểu DDoS, phân loại DDoS, giới thiệu số công cụ công DDoS giải pháp phòng chống nói chung - Xây dựng giải pháp phòng chống DDoS cho web server, sử dụng module connlimit Iptables Snort inline Do tính chất đa dạng DDoS nên giải pháp phòng chống DDoS tối ưu cho trường hợp Giải pháp mà đồ án đề cập đến dành cho mô hình mạng có server kết nối với Internet liên kết Hướng giải Hiện nay, giới có nhiều cách phòng chống DDoS nói chung phòng chống DDoS cho máy chủ web nói riêng sử dụng firewall, triển khai IPS (Intrusion Prevention System- Hệ thống chống xâm nhập), load balancing (cân tải) Có thể đơn cử vài ví dụ cụ thể : - Firewall mềm: + Skyeagle anti-DDoS firewall http://www.netbot.com.cn + FortGuard Anti-DDoS Firewall Standard http://www.fortguard.com/ - IPS : + Lokkit + Snort + Untangle Trong đồ án này, em lựa chọn giải pháp sử dụng IPS gồm Snort inline Iptables để xây dựng giải pháp phòng chống DDoS cho máy chủ web Lý lựa chọn xây dựng mô hình IPS gồm Snort inline Iptables là: - Đối với Snort inline : Snort biết đến với ưu điểm dễ cấu hình, miễn phí, sử dụng rộng rãi, chạy nhiều tảng (Windows, Unix, Linux), liên tục cập nhật Snort inline “module” snort, thay lắng nghe cổng định theo dõi tất traffic qua cổng đấy, Snort inline theo dõi traffic đặc biệt định trước, làm tăng khả hiệu suất Snort - Cũng tương tự Snort inline, Iptables mà tảng Netfilter có ưu điểm dễ cấu hình, tốc độ sử lý nhanh, tích hợp sẵn Kernel Linux 2.6 trở lên - Việc sử dụng kết hợp Iptables với Snort inline tạo hệ thống IPS hoạt động ổn định, dễ cấu hình, dễ dàng tinh chỉnh cần thiết Tóm tắt kết Theo yêu cầu đặt ban đầu “Xây dựng hệ thống phòng chống DDoS ”, thời điểm tại, đồ án làm nội dung sau : - Về lý thuyết : + Tìm hiểu kiểu công DDoS + Tìm hiểu mô hình mạng Botnet (mô hình, cách cài đặt, giao tiếp) + Một số công cụ công DDoS + Cách phòng chống DDoS + Những vấn đề có liên quan đến DDoS - Triển khai hệ thống phòng chống DDoS bao gồm + Tối ưu hóa server + Cài đặt cấu hình module connlimit cho Iptables + Cài đặt cấu hình Snort inline + Kiểm tra đánh giá hiệu Nội dung đồ án Đồ án bao gồm chương : - Chương I Giới thiệu chung : Giới thiệu khái quát đồ án, lý lựa chọn đồ án, mục tiêu giới hạn, kết đạt trình làm đồ án - Chương II Tổng quan DDoS: Giới thiệu chung DDoS, phân loại kiểu công DDoS, cách thức xây dựng mạng Botnet, giới thiệu số công cụ công DDoS cách phòng chống DDoS - Chương III Tổng quan Iptables Snort inline: Trình bày lý thuyết số cấu hình quan trọng Iptables Snort inline - Chương IV Xây dựng giải pháp phòng chống DDoS cho máy chủ web : Trình bày mô hình thực tế, giải pháp, mô hình thực nghiệm trình kiểm tra đánh giá, nhận xét hệ thống phòng chống xâm nhập Chương II Tổng quan DDoS Giới thiệu chung DDoS Phân loại kiểu công DDoS Cấu trúc mạng Botnet Các phương pháp xây dựng tài nguyên công Một số kiểu công công cụ công DDoS Phòng chống DDoS 10 Hình 22: Tạo Thread Group Trong đó, Number of Threads số user (concurrent connections) đến máy chủ web Ramp-Up Period thời gian để chạy hết số Threads khai báo trên.Ví dụ: Có 10 thread Ramp-Up period 100 giây jmeter chạy tất 10 thread 10 giây Mỗi thread khởi động sau 10 giây sau thread trước khởi động Loop Count số lần lặp lại Tạo HTTP Request Default sau: right-click vào Thread Group chọn Add-> Config Element chọn HTTP Request Default Nhập IP máy chủ web hình (IP máy chủ web 192.168.1.130) Hình 23: Tạo HTTP Default Request Để xác định thời gian đáp ứng cho trang chủ ta làm sau: Right-click vào Thread Group chọn Add->Sampler chọn HTTP Request Trong mục HTTP Request sửa tên thành home gõ index.php Patch hình 86 Hình 24: Tạo Home Request Tương tự tạo HTTP Request đến trang phòng chống Hình 25: Tạo HTTP Request Cuối thêm vào thông báo right-click vào Thread Group chọn Add -> Listener chọn Graph Results, Summary Report Aggregate Để bắt đầu kiểm tra ta chọn Run -> Start Công cụ để DDoS sử dụng DOSHTTP 2.0, sau bước triển khai để thực kiểm tra, đánh giá 87 • Bước 1: Kiểm tra server chạy bình thường chưa có hệ thống phòng thủ chưa bị DDoS - Đo thời gian đáp ứng server sử dụng công cụ jmeter - Kiểm tra tài nguyên server dùng • Bước 2: Kiểm tra server cài đặt hệ thống phòng chống chưa bị DDoS - Đo thời gian đáp ứng server sử dụng công cụ jmeter - Kiểm tra tài nguyên server dùng • Bước 3: Kiểm tra server chưa cài hệ thống phòng chống bị DDoS - Đo thời gian đáp ứng server sử dụng công cụ jmeter - Kiểm tra tài nguyên server dùng • Bước 4:Kiểm tra server cài hệ thống phòng chống bị DDoS - Đo thời gian đáp ứng server sử dụng công cụ jmeter - Kiểm tra tài nguyên server dùng Thực : Bước 1: - Sử dụng công cụ jmeter với ta đồ thị thời gian đáp ứng trung bình: Hình 26: Đồ thị thời gian đáp ứng trung bình thông lượng (bước 1) 88 Thông qua đồ thị ta thấy : điều kiện bình thường, thời gian đáp ứng trung bình 165 ms, thông lượng 359,865 request/phút - Tài nguyên hệ thống : Hình 27: Tài nguyên hệ thống ( bước 1) Tải trung bình giá trị CPU load 1, 15 phút Như hình giá trị CPU load phút trước 0.59, phút trước 0.53 15 phút trước 1,26 Có nghĩa phút hay năm phút trước tiến trình phải chờ để CPU xử lý, 15 phút trước có tiến trình xử lý 0.26 tiến trình phải chờ Bước 2: - Sử dụng công cụ jmeter với ta đồ thị thời gian đáp ứng trung bình: Hình 28: Đồ thị thời gian đáp ứng trung bình thông lượng ( bước 2) - Tài nguyên hệ thống : 89 Hình 29: Tài nguyên hệ thống ( bước 2) So sánh kết bước bước ta thấy chênh lệch nhiều thời gian đáp ứng trung bình (164 ms 167 ms ), CPU load (0,59 0,64), RAM sử dụng (~ 250 Mb), SWAP (55Mb 63 MB).Như kết luận sau cài đặt hệ thống phòng chống DDoS web server bị ảnh hưởng không đáng kể Bước 3: - Tài nguyên hệ thống lúc bị DDoS Hình 30: Tài nguyên hệ thống bị DDoS (bước 3) - Bắt đầu bị DDoS, packet đến card mạng tăng vọt 90 Hình 31: Đồ thị traffic mạng bị DDoS (bước 3) - Sau tài nguyên hệ thống sau hai phút bị DDoS 91 Hình 32: Tài nguyên hệ thống sau hai phút bị DDoS (bước 3) - Tài nguyên hệ thống sau năm phút Hình 33: Tài nguyên hệ thống sau năm phút bị DDoS (bước 3) Và thời điểm truy cập vào trang web Demo DDoS 92 Hình 34: Hình ảnh Web site Demo DDoS - Sử dụng công cụ jmeter với ta đồ thị thời gian đáp ứng trung bình: Hình 35: Đồ thị thời gian đáp ứng trung bình thông lượng ( bước 3) Nhận xét : - Ngay bắt đầu bị DDoS, số lượng packet đến card mạng web server tăng vọt (khoảng 1300 packet/giây so với trước bị DDoS có khoảng 50 packet/ giây) 93 - Sau phút, thấy apache phải tạo nhiều child process để xử lý request đến Khiến cho server load trung bình phút vừa qua lên đến 25.46 , RAM dư 11Mb - Sau phút, server load lên đến 44.18, lượng RAM dư khoảng 13Mb Như apache đạt đến giới hạn phục vụ (RAM không đổi tức apache tạo thêm child process để phục vụ request nữa) người dùng hợp pháp gần truy cập vào web site Demo DDoS - Trên đồ thị thời gian đáp ứng, ta nhận thấy thời gian đáp ứng trung bình tăng lên tới 32640 ms tức 32 giây gấp gần 200 lần thời gian đáp ứng server hoạt động bình thường (bước 1) Bước 4: - Thêm rule cho iptable: iptables -A INPUT -m conntrack ctstate INVALID -j DROP iptables -A INPUT -p tcp -m tcp dport 80 -m connlimit \ connlimit-above 20 -j DROP - Thêm rule chặn DOSHTTP 2.0 cho snort drop tcp any any -> any 80 (classtype:attempted-user;sid:5;msg:"Detect\ DoSHTTP";content:"|2e 4e 45 54 20 43 4c\ 52|";offset:54;resp:rst_rcv;) - Tài nguyên hệ thống trước bị DDoS Hình 36: Tài nguyên hệ thống trước bị DDoS (bước 4) i - Bắt đầu bị DDoS 94 Hình 37: Đồ thị traffic mạng bị DDoS (bước 4) - Sau phút bị DDoS ta nhận được: Hình 38: Tài nguyên hệ thống sau hai phút bị DDoS (bước 4) - Sau phút bị DDoS: 95 Hình 39: Tài nguyên hệ thống sau năm phút bị DDoS (bước 4) - Sử dụng công cụ jmeter với ta đồ thị thời gian đáp ứng trung bình: Hình 40: Đồ thị thời gian đáp ứng trung bình thông lượng ( bước 4) Nhận xét: - Sau phút phút bị DDoS, giá trị server load (0,24)và đáp ứng time trung bình (182) có chênh lệch không đáng kể so với giá trị server load đáp ứng time bước bước RAM sử dụng tăng lên 380 MB so với bước bước 250 MB RAM tăng lên server phải kiểm tra số lượng connection từ IP kiểm tra packet đến apache (Snort inline) Để server phục vụ cho người dùng hợp pháp bị DDoS theo em mức độ sử dụng tài nguyên chấp nhận - Rule iptables sử dụng connlimit cho phép 20 connection từ địa IP đến port 80 (http), nhiều DROP Còn Snort inline kiểm tra connection qua firewall có chuỗi mà match với chuỗi rule sẽ bị DROP Chính mà số packet đến apache xử lý toàn packet hợp lệ nên server load nhỏ Một vài nhận xét sau thực kiểm tra đánh giá: - Hệ thống đáp ứng mục tiêu đưa ra-kéo dài thời gian “phục vụ” server bị DDoS 96 - Việc lựa chọn giá trị để giới hạn số connection từ IP cần phải xem xét cẩn thận để không làm ảnh hưởng đến người dùng hợp pháp - Do việc triển khai test mạng LAN có số lượng máy tham gia nên chưa sát với thực tế Kết luận: Sau khoảng tháng làm đồ án, nhiều em tìm hiểu tương đối thành công DDoS xây dựng thành công phương pháp phòng chống DDoS theo cách hiểu Qua tìm hiểu được, em cảm thấy nhiều điều phải làm để hoàn thiện đồ án cần có hướng dẫn nhiều thầy cô bạn bè Những kết đạt được: Theo yêu cầu đặt ban đầu “Tìm hiểu DDoS xây dựng biện pháp phòng chống DDoS cho máy chủ web”, thời điểm đồ án đạt nội dung sau: - Phần yêu cầu: + Tìm hiểu lý thuyết DDoS bao gồm lý thuyết chung, phân loại kiểu DDoS, nắm cách xây dựng mạng Botnet, biết số công cụ công DDoS đặc biệt cách phòng chống DDoS + Triển khai thành công hệ thống phòng chống DDoS cho máy chủ web bao gồm tìm hiểu lý thuyết cài đặt cấu hình thành công Snort inline module connlimit cho Iptables, nắm số cấu hình tối ưu hóa TCP/IP cho hệ điều hành Centos 5.2 - Phần mở rộng : Bên cạnh đó, trình nghiên cứu hoàn thành đồ án, em tiếp thu thêm số kết sau: + Tìm hiểu lý thuyết, cài đặt bước đầu tối ưu hóa apache + Xây dựng trang web joomla + Tìm hiểu sử dụng công cụ jmeter để kiểm tra máy chủ web 97 + Tìm hiểu sử dụng công cụ wireshark để bắt gói tin phục vụ cho việc viết rule cho Snort inline + Tìm hiểu sử dụng công cụ Colasoft Capsa để theo dõi traffic mạng Hướng phát triển: Trong trình nghiên cứu tìm hiểu đề tài, em nhận thấy DDoS ngày có nhiều biến thể tinh vi hơn, mức độ phá hoại cao DRDDoS (Distributed Reflexive Denial of Services), làm cho việc phòng chống DDoS ngày khó khăn hơn.Dưới số hướng phát triển để nâng cao hiệu hệ thống phòng chống DDoS cho máy chủ web nâng cao khả phòng chống DDoS cho máy chủ web - Nghiên cứu áp dụng module security apache - Nghiên cứu triển khai hệ thống nhiều mô hình mạng khác - Triển khai load balancing cho máy chủ web - Nghiên cứu triển khai hệ thống HONEYNET để phát sớm công DDoS từ có biện pháp phòng chống 98 Tài liệu tham khảo - Trang web: • http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_74/dos_attacks.html • http://www.jmu.edu/computing/security/info/archived/DDoS.shtml • http://www10.org/cdrom/papers/409/ • http://staff.washington.edu/dittrich/misc/DDoS/ • http://www.ufsdump.org/papers/uuasc-november-DDoS.pdf • http://www.securityfocus.com/infocus/1729 • http://snort.org • http://www.netfilter.org - Danh sách tài liệu, sách giáo trình tham khảo : • Network Security – Defense Against DoS/DDoS Attacks Tác giả HangChau • A Defense Framework for Flooding-based DDoS Attacks (2007) Tác giả Yonghua You • Internet Denial of Service: Attack and Defense Mechanisms (2004) Tác giả Jelena Mirkovic, Sven Dietrich, David Dittrich, Peter Reiher • Snort manual 2.8.3 (12/2008) Snort Project phát hành • Iptables manual 99 100