Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
2,33 MB
Nội dung
LỜI CAM ĐOAN Tôi xin cam đoan tìm hiểu nghiên cứu riêng Các số liệu nêu luận văn trung thực có sở lý thuyết tham khảo Kết đạt luận văn chưa nơi công bố Tác giả Nguyễn Huy Lợi MỤC LỤC Chương Giới thiệu chung 1.1 Đặt vấn đề 1.2 Mục tiêu 1.3 Phạm vi đề tài 1.4 Tóm tắt kết 1.5 Cấu trúc luận văn Chương Tổng quan DDoS 2.1 Giới thiệu chung DDoS 2.2 Phân loại kiểu công DDoS 2.2.1 Tấn công làm cạn kiệt băng thông 2.2.2 Tấn công làm cạn kiệt tài nguyên 14 2.3 Sơ đồ mạng Botnet 17 2.3.1 Sơ đồ Handler-Agent 17 2.3.2 Sơ đồ IRC Base 18 2.4 Các phương pháp xây dựng tài nguyên công 20 2.4.1 Cách thức cài đặt DDoS Agent 20 2.4.2 Giao tiếp mạng Botnet 22 2.5 Một số kiểu công DDoS công cụ công DDoS 22 2.5.1 Một số kiểu công DDoS 22 2.5.2 Một số công cụ công DDoS 23 Chương Phòng thủ DDoS 29 3.1 Tại DDoS khó giải 29 3.2 Những thách thức xây dựng hệ thống phòng thủ DDoS 30 3.3 Một số giải pháp phòng thủ DDoS 37 3.3.1 Giải pháp dành cho doanh nghiệp cung cấp Hosting 37 3.3.2 Giải pháp sử dụng IPS để lọc gói tin 37 3.3.3 GeoIP DNS 38 3.3.4 HAProxy 39 Chương Cài đặt, thử nghiệm 41 4.1 Giải pháp dành cho doanh nghiệp cung cấp Hosting 41 4.1.1 Litespeed 41 4.1.2 CloudLinux 43 4.1.3 ConfigServer Security & Firewall (CSF) 45 4.1.4 Thử nghiệm 47 4.2 Giải pháp sử dụng IPS để lọc gói tin 51 4.2.1 Snort 52 4.2.2 Thử nghiệm 58 Kết luận: 67 Tài liệu tham khảo 68 Danh mục ký hiệu chữ viết tắt (nếu có) STT Phần viết tắt Phần viết đầy đủ Server Máy chủ DDoS Tấn công từ chối dịch vụ Client Máy trạm Agent Máy tính bị chiếm quyền điều khiển Traffic Lưu lượng Packet Gói tin Message Bản tin Protocol Giao thức Reply Phản hồi 10 Router Thiết bị định tuyến 11 Subnet Mạng 12 Broadcast Quảng bá 13 Port Cổng 14 IPS Hệ thống ngăn chặn xâm nhập Danh mục hình ảnh, đồ thị Hình 2.1 Phân loại kiểu công DDoS Hình 2.2: Mô hình mạng Amplifier 11 Hình 2.3 Trả lời truy vấn DNS 13 Hình 2.4 Quá trình bắt tay ba bước 14 Hình 2.5 Tấn công TCP SYN Attack 15 Hình 2.6 :Sơ đồ mạng Botnet 17 Hình 2.7 Sơ đồ IRC Base 18 Hình 2.8 Các phương pháp xây dựng tài nguyên công 20 Hình 2.9 Mô hình công DDoS thông thường 25 Hình 2.10 Mô hình công X-Flash 27 Hình 3.1 Phương pháp đặt gần victim 34 Hình 3.2 Phương pháp đặt gần attacker 35 Hình 3.3 Phương pháp đặt phần lõi Internet 36 Hình 3.4 Phương pháp kết hợp nhiều vị trí 37 Hình 3.5 Mô hình sử dụng IPS để lọc gói tin 38 Hình 3.6 Mô hình sử dụng GeoIP DNS 39 Hình 3.7 Mô hình sử dụng HAProxy Keepalived 40 Hình 4.1 Máy chủ chạy apache 42 Hình 4.2 Máy chủ chạy litespeed 43 Hình 4.3 Mô hình hosting chia sẻ truyền thống 44 Hình 4.4 Mô hình LVE CloudLinux OS 44 Hình 4.5: Các thông số cấu hình CloudLinux 45 Hình 4.6: Cấu hình CloudLinux 48 Hình 4.8 Thông số website 49 Hình 4.9 Tấn công tool ab 50 Hình 4.10 Thông số website bị công 51 Hình 4.11 Giới hạn tài nguyên 51 Hình 4.12: Cấu trúc Snort 52 Hình 4.13 Mô hình thử nghiệm sử dụng IPS để lọc gói tin 59 Chương Giới thiệu chung 1.1 Đặt vấn đề Năm 2011, lấy lý ủng hộ Wikileaks, nhóm Hacktivism (là thuật ngữ diễn tả hành động công, đột nhập vào hệ thống máy tính nhằm mục đích trị xã hội) Anonymous, LulzSec, hay TeaMp0isoN tiến hành nhiều hoạt động khác chống lại quan luật pháp, ngân hàng, phủ, công ty bảo mật nhà cung cấp phần mềm công lỗ thủng an ninh hệ thống Tổ chức Liên hiệp quốc (UN), quan tình báo bảo mật Straffor, CIA… Cho đến nay, danh sách nạn nhân nhóm Hacktivism ngày dài thêm, từ website phủ Mỹ, Ukraine, Anh, Israel, Indonesia, Mexico, Hy Lạp, Syria, Thổ Nhĩ Kỳ, … ngân hàng Bank of America, Nova Ljubljanska Banka's (ngân hàng lớn Slovenia) , công ty Visa inc, Paypal inc, MasterCard, Oracle, NASA, … Các nhóm Hacktivism sử dụng nhiều phương pháp công khác phương pháp hay sử dụng DDoS Tuy phương pháp đem lại hiệu cao, gây ảnh hưởng không nhỏ đến công ty, tổ chức kinh doanh đặc biệt kinh doanh Internet Việt Nam giai đoạn đầu thương mại điện tử, việc công ty thương mại điện tử bị công DDoS làm ảnh hưởng không hình ảnh, uy tín công ty mà ảnh hưởng trực tiếp đến doanh thu, lợi nhuận Trong trình công tác, tiếp xúc với nhiều trường hợp công ty bị đối thủ cạnh tranh công DDoS, số trường hợp bị ảnh hưởng đến mức gần không thu lợi nhuận thời gian dài Thực tế, có nhiều giải pháp phòng chống DDoS, nhiên, giải pháp phần cứng đắt đỏ, giải pháp phần mềm rời rạc, chưa tổng hợp Vì vậy, lựa chọn đề tài : “Tìm hiểu DDoS xây dựng biện pháp phòng thủ DDoS cho webserver”, với mục đích xây dựng, kiểm thử số giải pháp sử dụng phần mềm mã nguồn mở để công ty vừa nhỏ triển khai dễ dàng 1.2 Mục tiêu Luận vă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 thủ DDoS mà mặt chủ quan cá nhân nhận thức - Dựa giải pháp trình bày nói xây dựng số kịch kiểm thử 1.3 Phạm vi đề tài Trong phạm vi đề tài, trình bày nhìn tổng quan DDoS số giải pháp dựa phần mềm mã nguồn mở Từ cài đặt kiểm thử hai giải pháp có giá thành rẻ, dễ triển khai với doanh nghiệp vừa nhỏ 1.4 Tóm tắt kết Theo yêu cầu đặt ban đầu “Tìm hiểu DDoS triển khai hệ thống phòng thủ DDoS ”, thời điểm tại, luận văn làm nội dung sau I Tìm hiểu DDoS bao gồm a Tìm hiểu kiểu công DDoS b Tìm hiểu mô hình mạng Botnet (mô hình, cách cài đặt, giao tiếp) c Một số công cụ công DDoS II Giới thiệu số giải pháp phòng thủ DDoS III Cài đặt thử nghiệm giải pháp phòng thủ DDoS 1.5 Cấu trúc luận văn Luận văn có chương bao gồm : Chương Giới thiệu chung Chương tập trung xây dựng tính cấp thiết việc thực nghiên cứu, mục tiêu tóm tắt kết đề tài Chương Tổng quan DDoS Chương giới thiệu DDoS, mô hình, số công cụ công DDoS Chương Phòng thủ DDoS Chương làm rõ DDoS khó giải đồng thời đưa vài giải pháp phòng thủ DDoS dựa phần mềm mã nguồn mở Chương Cài đặt, thử nghiệm Cài đặt thử nghiệm giải pháp nêu chương Chương Tổng quan DDoS 2.1 Giới thiệu chung DDoS DDoS (distributed denial-of-service attack) kiểu công đưa hệ thống cung cấp dịch vụ đến mức hoạt động tới hạn tài nguyên, hay gây nhầm lẫn logic dẫn đến hệ thống ngừng hoạt động Khác với DoS (denial-of-service attack) cần máy để công, DDoS sử dụng nhiều máy tính bị chiếm quyền điều khiển kết nối với (mạng Botnet) để công nên sức hủy hoại lớn 2.2 Phân loại kiểu công DDoS Nhìn chung, có nhiều cách để phân loại kiểu công DDoS theo cách phân loại theo mục đích công đầy đủ, đơn giản dễ hiểu Dưới sơ đồ mô tả phân loại kiểu công DDoS dựa theo mục đích công: làm cạn kiệt băng thông làm cạn kiệt tài nguyên hệ thống Hình 2.1 Phân loại kiểu công DDoS 2.2.1 Tấn công làm cạn kiệt băng thông Tấn công làm cạn kiệt băng thông thiết kế nhằm làm tràn ngập mạng mục tiêu với traffic không cần thiết, với mục địch làm giảm tối thiểu khả traffic hợp lệ đến hệ thống cung cấp dịch vụ mục tiêu Có hai loại công làm cạn kiệt băng thông : + Flood attack: Điều khiển Agent gửi lượng lớn traffic đến hệ thống dịch vụ mục tiêu, làm dịch vụ bị hết khả băng thông + Amplification attack: Điều khiển Agent hay Client tự gửi packet đến địa IP broadcast, làm cho tất máy subnet gửi packet đến hệ thống dịch vụ mục tiêu Phương pháp làm gia tăng traffic không cần thiết, làm suy giảm băng thông mục tiêu 2.2.1.1 Flood attack: Trong phương pháp này, Agent gửi lượng lớn IP traffic làm hệ thống dịch vụ mục tiêu bị chậm lại, hệ thống bị treo hay đạt đến trạng thái hoạt động bão hòa Làm cho người dùng thực hệ thống không sử dụng dịch vụ Ta chia Flood Attack thành hai loại: + UDP Flood Attack: tính chất kết nối không cần bắt tay UDP, hệ thống nhận UDP message đơn giản nhận vào tất packet cần phải xử lý Một lượng lớn UDP packet gửi đến hệ thống dịch vụ mục tiêu đẩy toàn hệ thống đến ngưỡng tới hạn + Các UDP packet gửi đến nhiều port tùy ý hay port Thông thường gửi đến nhiều port làm cho hệ thống mục tiêu phải căng để xử lý phân hướng cho packet Nếu port bị công không sẵn sàng hệ thống mục tiêu gửi ICMP packet loại “destination port unreachable” Thông thường Agent dùng địa IP giả để che giấu hành tung, packet trả port xử lý dẫn đến địa IP khác UDP Flood attack làm ảnh hưởng đến kết nối xung quanh mục tiêu hội tụ packet diễn mạnh + ICMP Flood Attack: thiết kế nhằm mục đích quản lý mạng định vị thiết bị mạng Khi Agent gửi lượng lớn ICMP_ECHO_REPLY đến hệ thống mục tiêu hệ thống phải reply lượng tương ứng Packet để trả lời, dẫn đến nghẽn đường truyền Tương tự trường hợp trên, địa IP Agent bị giả mạo 2.2.1.2 Amplification Attack: Amplification Attack nhắm đến việc sử dụng chức hỗ trợ địa IP broadcast router nhằm khuyếch đại hồi chuyển công Chức cho phép bên gửi định địa IP broadcast cho toàn subnet bên nhận thay nhiều địa Router có nhiệm vụ gửi đến tất địa IP subnet packet broadcast mà nhận 10 kẻ công thực việc quét cổng hệ thống để tìm lỗ hổng Bo dùng để đưa cảnh báo hệ thống bịnhiễm trojan backoffice kẻ công từ xa kết nối tới backoffice thực lệnh từ xa Dectection Engine (Môđun phát hiện): Đây môđun quan trọng Snort Nó chịu trách nhiệm phát dấu hiệu xâm nhập Môđun phát sử dụng luật định nghĩa trước để so sánh với liệu thu thập từ xác định xem có xâm nhập xảy hay không Rồi thực số công việc ghi log, tạo thông báo kết xuất thông tin Một vấn đề quan trọng môđun phát vấn đề thời gian xử lý gói tin: IDS thường nhận nhiều gói tin thân có nhiều luật xử lý Có thể khoảng thời gian khác cho việc xử lý gói tin khác Và thông lượng mạng lớn xảy việc bỏ sót không phản hồi lúc Khả xử lý môđun phát dựa số yếu tố như: số lượng luật, tốc độ hệ thống chạy Snort, tải mạng Một số thử nghiệm cho biết, phiên Snort tối ưu hóa chạy hệ thống có nhiều vi xử lý cấu hình máy tính tương đối mạnh hoạt động tốt mạng cỡ Giga Một môđun phát có khả tách phần gói tin áp dụng luật lên phần gói tin Các phần là: IP header Header tầng giao vận: TCP, UDP Header tầng ứng dụng: DNS header, HTTP header, FTP header Dữ liệu Một vấn đề Môđun phát việc xử lý gói tin bị phát nhiều luật Do luật Snort đánh thứ tự ưu tiên, nên gói tin bị phát nhiều luật khác nhau, cảnh báo đưa cảnh báo ứng với luật có mức ưu tiên lớn Output Plug-ins: Module đầu plug-in hoạt động theo nhiều cách phụ thuộc vào việc bạn muốn lưu output tạo hệ thống ghi tạo cảnh báo 4.2.1.3 Một số tham số cấu hình Snort File cấu hình (snort.conf) bao gồm: Thiết lập biến Cấu hình môđun giải mã (decoder) Cấu hình môđun phát (detection) Cấu hình thư viện liên kết động 54 Cấu hình môđun tiền xử lý Cấu hình plugin đầu Tùy biến luật 4.2.1.4 Cấu trúc luật Snort Rules Snort có hai phần : rule header rule option Một Rule phát nhiều kiểu xâm nhập Cấu trúc rule header: Rule Action Alert Protoco Source Address The Direction Destination l Port Operator Address Port tcp any 1234 -> 192.168.1.0/24 any Rule Action hành động Snort thực Snort phát thấy gói tin có dấu hiệu khả nghi (có trùng nội dung gói tin nội dung rule option) Có loại action mà Snort hỗ trợ: alert : Tạo cảnh báo theo phương thức lựa chọn lưu lại thông tin packet dựa theo cấu hình output plugin log: Lưu thông tin packet pass: Bỏ qua packet active : Cảnh báo chuyển sang dynamic rule dynamic : Sẽ không hoạt động trừ đuợc khởi động active rule, sau hoạt động log rule drop : Sử dụng iptables drop packet lưu log reject : Sử dụng iptables drop packet, lưu log gửi gói tin TCP reset giao thức TCP ICMP port unreachable giao thức UDP sdrop: Sử dụng iptables drop packet không lưu log Protocol: Snort hỗ trợ giao thức : TCP, UDP, ICMP IP 55 Source Address Port (Destination Address Port) : Snort hỗ trợ IP Address dạng CIDR, ví dụ : 192.168.1.0/24, với tất IP Snort dùng từ khóa any Snort hỗ trợ cấu hình với port, dải port tất port The Direction Operator : Có loại direction operator : -> Chiều từ nguồn đến đích , bên trái dấu “->” địa IP nguồn , port nguồn, bên phải dấu “->” IP đích port đích Traffic chiều Cấu trúc rule option: Rule option theo sau rule header đóng gói dấu ngoặc đơn Có thể có nhiều option, cách dấu phẩy Nếu bạn sử dụng nhiều option, option hình thành phép logic AND Một action rule header thực tất option Tất option định nghĩa từ khóa Một vài option chứa tham số Thông thường, option có phần : từ khóa đối số Các đối số phân biệt với từ khóa dấu hai chấm Ví dụ: msg: "Detected confidential"; Trong option msg từ khóa "Detected confidential" đối số từ khóa Một số từ khóa sử dụng phần option luật Snort : msg: < sample message> : Được sử dụng để ghi thông tin vào việc ghi log cảnh báo ack : : TCP header chứa trường Acknowledgement Number dài 32 bit Trường sequence number người gửi mong đợi Trường có ý nghĩa cờ flag trường TCP thiết lập 56 content: “straight text”; content: “|hex data|”: Một đặc tính quan trọng Snort khả tìm thấy mẫu liệu gói tin Mẫu tồn dạng chuỗi ASCII kí tự thập lục phân Giống virut, kẻ xâm nhập có dấu hiệu từ khóa content để tìm dấu hiệu gói tin offset: < value>: Từ khóa offset sử dụng kết hợp với từ khóa content Sử dụng từ khóa này, bạn bắt đầu tìm kiếm từ vị trí xác định so với vị trí bắt đầu gói tin depth: < value> : Từ khóa depth sử dụng kết hợp với từ khóa content để xác định giới hạn việc so sánh mẫu Sử dụng từ khóa này, bạn xác định vị trí so với vị trí bắt đầu Dữ liệu sau vị trí không tìm kiếm để so mẫu Nếu bạn dùng hai từ khóa offset depth bạn xác định khoảng liệu thực việc so sánh mẫu content_list: < filename> : Từ khóa content-list sử dụng với tên file đối số từ khóa File chứa danh sách chuỗi tìm kiếm gói tin Mỗi chuỗi đặt dòng khác file dsize: [] < number> : Từ khóa dsize sử dụng để tìm chiều dài phần liệu gói tin Nhiều cách công sử dụng lổ hổng tràn đệm cách gửi gói tin có kích thước lớn Sử dụng từ khóa này, bạn tìm thấy gói tin có chiều dài liệu lớn nhỏ số xác định flags: < flags> :Từ khóa flags sử dụng để tìm bit flag thiết lập header TCP gói tin Mỗi flag sử dụng đối số từ khóa flags luật Snort 57 fragbits: < flag_settings> : Sử dụng từ khóa này, bạn tìm bit RB (Reserved Bit), DF(Don't Fragment Bit), MF(More Fragments Bit) header IP có bật lên hay không id: < number> : Từ khóa id sử dụng để đối chiếu trường fragment ID header gói tin IP Mục đích phát cách công sử dụng số ID cố định reference : , :Từ khóa reference thêm tham khảo đến thông tin tồn hệ thống khác mạng Nó không đóng vai trò chế phát Có nhiều hệ thống để tham khảo CVE Bugtraq Những hệ thống giữ thông tin thêm kiểu công biết Bằng việc sử dụng từ khóa này, bạn kết nối đến thông tin thêm thông điệp cảnh báo rev: < revision integer> :Từ khóa rev thêm vào option luật Snort để số revision luật Nếu bạn cập nhật luật, bạn sử dụng từ khóa để phân biệt phiên Các module output sử dụng số để nhận dạng số revision seq: : Từ khóa seq luật Snort sử dụng để kiểm tra số thứ tự sequence gói tin TCP 4.2.2 Thử nghiệm 4.2.2.1 Mô hình Mô hình để thử nghiệm gồm có 05 máy tính đóng vai trò công, 02 máy chủ IPS có cài CSF Snort inline, 01 máy chủ máy chủ web chạy web site sử dụng Joomla 3.1 Tất kết nối mô hình có tốc độ 100Mb/s Máy chủ IPS sử dụng hai card mạng, card eth1 có địa IP 172.19.38.164, card mạng kết nối với 05 máy tính kể card eth0 có địa 192.168.1.1 kết nối với máy chủ web có IP 192.168.1.2 Công cụ sử dụng để công DoSHTTP 2.5.1 58 Công cụ sử dụng để đo thời gian đáp ứng máy chủ web Jmeter 2.9 Hình 4.13 Mô hình thử nghiệm sử dụng IPS để lọc gói tin 4.2.2.2 Cài đặt Cài đặt Snort inline yum -y update yum -y install gcc flex bison wget make zlib zlib-devel libpcap libpcap-devel pcre pcre-devel rpm -Uhv http://centos.alt.ru/repository/centos/6/i386/libnetfilter_queue1.0.2-1.el6.i686.rpm rpm -Uvh http://centos.alt.ru/repository/centos/6/i386/libnetfilter_queuedevel-1.0.2-1.el6.i686.rpm rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epelrelease-6-8.noarch.rpm yum -y update yum -y install libdnet libdnet-devel cd /root; wget http://www.snort.org/downloads/2311-O daq2.0.0.tar.gz tar xvzf daq-2.0.0.tar.gz 59 cd daq-2.0.0;./configure && make && make install cd /root; wget http://www.snort.org/downloads/2320 -O snort2.9.4.6.tar.gz tar xvzf snort-2.9.4.6.tar.gz cd snort-2.9.4.6; /configure enable-sourcefire make && make install mkdir -p /etc/snort/rules mkdir –p /var/log/snort cd /etc/snort Đăng ký tài khoản http://www.snort.org/snort-rules, sau tải rules Rule (ngày 18/4/2013) dành cho người dùng miễn phí snortrules-snapshot-2945.tar.gz tar xvzf snortrules-snapshot-2945.tar.gz mv etc/* /etc/snort/ rmdir /etc/snort/etc touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules mkdir -p /usr/local/lib/snort_dynamicrules groupadd -g 40000 snort useradd snort -g snort -d /var/log/snort -s /sbin/nologin –m chown -R snort:snort /etc/snort chown -R snort:snort /var/log/snort 4.2.2.3 Cấu hình Trên IPS: Cấu hình cho phép gói tin qua echo “1” > /proc/sys/net/ipv4/ip_forward Cấu hình Snort (trong file /etc/snort/snort.conf) ipvar HOME_NET 192.168.1.0/24: địa mạng cần bảo vệ ipvar EXTERNAL_NET !$HOME_NET: địa mạng var RULE_PATH rules var SO_RULE_PATH so_rules var PREPROC_RULE_PATH preproc_rules var WHITE_LIST_PATH rules var BLACK_LIST_PATH rules config daq: nfq config daq_mode: inline config daq_var: queue=0 config snaplen: 65535 Cấu hình CSF (trong file /etc/csf/csf.conf) 60 ETH_DEVICE = eth1 (chỉ lọc card external) SYNFLOOD = "1" SYNFLOOD_RATE = "30/s" SYNFLOOD_BURST = "40" CONNLIMIT = "80;20" PORTFLOOD = "80;tcp;20;5" CT_LIMIT = "300" CT_INTERVAL = "30" Cấu hình file /etc/csf/csfpost.sh iptables -P FORWARD ACCEPT iptables -I FORWARD -i eth0 -p tcp dport 80 -j NFQUEUE Chạy snort inline snort -d -D -c /etc/snort/etc/snort.conf -l /var/log/snort 4.2.2.4 Thử nghiệm Kịch 1: Tấn công máy chủ web IPS, máy chủ web không cài CSF Hình 4.14 Tài nguyên máy chủ web chưa bị công kịch Thông tin tài nguyên máy chủ chưa bị công : Có 221 tiến trình, Load average: 0.05, CPU gần hoạt động 61 Sử dụng công cụ Jmeter để đo thời gian đáp ứng máy chủ Hình 4.15 Thời gian đáp ứng trung bình máy chủ web chưa bị công kịch Thời gian đáp ứng trung bình máy chủ 220ms Thực công máy chủ web, sau phút công người dùng truy cập vào trang demo DDoS, có 469 tiến trình, load average (tải trung bình): 97.43, CPU: 90.6% 62 Hình 4.16 Tài nguyên máy chủ web bị công kịch Sử dụng công cụ Jmeter để đo thời gian đáp ứng trung bình máy chủ, ta được: Hình 4.17 Thời gian đáp ứng trung bình máy chủ web bị công kịch 63 Thời gian đáp ứng trung bình máy chủ bị công DDoS 8248ms Nhận xét: Khi bị công, máy chủ phải tạo nhiều tiến trình httpd (như hình 4.15) để phục vụ yêu cầu từ máy công Thời gian đáp ứng trung bình lên đến 8s/một yêu cầu cho thấy việc phục vụ chậm chạp máy chủ bị công Kịch 2: Tấn công máy chủ web IPS, máy chủ web có sử dụng CSF Cấu hình CSF (trong file /etc/csf/csf.conf) sau SYNFLOOD = "1" SYNFLOOD_RATE = "30/s" SYNFLOOD_BURST = "40" CONNLIMIT = "80;20" PORTFLOOD = "80;tcp;20;5" Thực công DDoS vào máy chủ web, sau phút, thông tin tình trạng máy chủ web sau: có 242 tiến trình, load average 5.82, CPU 73,7% Đồng thời CSF thông báo chặn gói tin từ máy công DDoS vào máy chủ Hình 4.18 Tài nguyên log máy chủ web sau phút bị công kịch Sau công 15 phút, ta thấy tài nguyên máy chủ không khác biệt với thời điểm phút sau công 64 Hình 4.19 Tài nguyên log máy chủ web sau 15 phút bị công kịch Sử dụng công cụ Jmeter để đo thời gian đáp ứng trung bình máy chủ, ta được: Hình 4.20 Thời gian đáp ứng trung bình máy chủ web bị công kịch Nhận xét: Với cấu hình CSF trên, hệ thống chặn gói tin vượt quy định (cho phép 30 gói tin SYN/s, hệ thống có 40 kết nối SYN từ IP hủy gói tin hay cho phép 20 kết nối đồng thời từ IP đến cổng 80), nên máy chủ phải phục vụ phần yêu cầu không hợp lệ từ máy công Chính load average (tải trung bình) máy chủ tăng Tuy nhiên, CSF cản lọc 65 phần nên load average (tải trung bình) hệ thống không cao máy chủ phục vụ yêu cầu từ người dùng (thời gian đáp ứng trung bình 258ms) Kịch 3: Tấn công máy chủ web có IPS Cấu hình IPS trên, thêm rule nhận dạng công DDoS DoSHTTP vào file /etc/snort/rules/local.rules sau: drop tcp any any -> any 80 (sid:5;msg:"Detect DoS_HTTP";content:"|57 69 6e 39 38 3b 20 55|";) Sau 15 phút công, tài nguyên máy chủ web sau: có 220 tiến trình, load average (tải trung bình):0.02, CPU gần không tải Hình 4.21 Tài nguyên máy chủ web log Snort sau 15 phút bị công kịch Log Snort ghi nhận chặn gói tin DDoS vào máy chủ web 66 Hình 4.22 Thời gian đáp ứng trung bình máy chủ web bị công kịch Nhận xét: Khi kết hợp CSF Snort iniline, gói tin từ máy công bị lọc phần tầng mạng (CSF cản lọc), phần lại bị Snort inline cản lọc tầng ứng dụng Như gói tin từ người dùng hợp lệ đến với máy chủ web Đó lý tài nguyên máy chủ web không thay đổi trước công DDoS Kết luận: Sau khoảng tháng làm luận văn, nhiều 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 thủ DDoS theo cách hiểu Qua tìm hiểu được, cảm thấy nhiều điều phải làm để hoàn thiện luận văn cần có hướng dẫn nhiều thầy cô bạn bè Những kết đạt : Theo yêu cầu đặt ban đầu “Tìm hiểu DDoS xây dựng biện pháp phòng thủ DDoS cho webserver”, thời điểm luận văn đạt nội dung sau: - Tìm hiểu lý thuyết DDoS - Tìm hiểu số giải pháp thủ DDoS - Triển khai thành công 02 hệ thống phòng thủ DDoS cho máy chủ web Hướng phát triển Do thời gian có hạn nên việc tìm hiểu xây dựng hệ thống phòng thủ DDoS nhiều hạn chế thiếu sót Tôi hi vọng tương lai gần xây dựng, thử nghiệm hai giải pháp phòng thủ DDoS lại tích hợp phương pháp sử dụng IPS, GEOIPDNS HAPROXY vào giải pháp để phòng thủ tốt trước công DDoS 67 Tài liệu tham khảo Tiếng Anh Jelena Mirkovic, Sven Dietrich, David Dittrich, Peter Reiher (2005), Internet Denial of Service: Attack and Defense Mechanisms, Prentice Hall PTR HangChau, Network Security – Defense Against DoS/DDoS Attacks Yonghua You (2007), A Defense Framework for Flooding-based DDoS Attacks http://www.litespeedtech.com http://cloudlinux.com http://configserver.com Snort Team (2013), Snort Users Manual Chris Murphy (2013), An Analysis of the Snort Data Acquisition Modules, SANS Institute InfoSec Reading Room http://jmeter.apache.org Tiếng Việt Hoàng văn Quân (2008), Ngăn chặn Ddos giao thức “lan tỏa ngược” 68