Untitled i LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu và tìm hiểu của riêng tôi Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được công bố trong bất kì công trìn[.]
i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu tìm hiểu riêng tơi Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tác giả luận văn Tống Quang Tân ii LỜI CẢM ƠN Lời đầu tiên, xin chân thành cảm ơn TS Phạm Hoàng Duy - Học viện Cơng nghệ Bưu Viễn Thơng, người trực tiếp hướng dẫn thực luận văn Với hướng dẫn, cung cấp tài liệu, động viên Thầy giúp tơi vượt qua nhiều khó khăn chun mơn suốt q trình thực luận văn Tôi xin chân thành cảm ơn Ban Giám đốc, Ban chủ nhiệm Khoa Sau Đại học Khoa Công nghệ Thông tin, thầy, cô giảng dạy quản lý đào tạo suốt hai năm theo học Học viện Cơng nghệ Bưu Viễn thơng Tôi xin chân thành cảm ơn Hội đồng chấm đề cương góp ý cho đề cương luận văn Cuối cùng, tơi xin cảm ơn gia đình, bạn bè đồng nghiệp nơi công tác động viên, tạo điều kiện cho suốt thời gian học tập nghiên cứu Hà Nội, ngày 26 tháng 01 năm 2018 Học viên Tống Quang Tân iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT v DANH SÁCH BẢNG vi DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vii MỞ ĐẦU CHƯƠNG I TỔNG QUAN VỀ DDOS 1.1 Giới thiệu chung DDoS .3 1.2 Phân loại kiểu công DDoS 1.2.1 Tấn công làm cạn kiệt băng thông .4 1.2.2 Tấn công làm cạn kiệt tài nguyên 1.2.3 Tấn công sở hạ tầng 1.2.4 Tấn công Zero-day 10 1.3 Tấn công DDoS Website .10 1.3.1 Tấn công vào máy chủ cài webserver 11 1.3.2 Tấn công trực tiếp vào website 13 1.4 Xây dựng Botnet 13 1.4.1 Kiến trúc Handler-Agent 14 1.4.2 Kiến trúc IRC Base 15 1.4.3 Kiến trúc Peer-to-Peer 16 1.4.4 Một số botnet tiếng giới 17 1.5 Các phương pháp xây dựng tài nguyên công 17 1.5.1 Cách thức cài DDoS Agent 18 1.5.2 Giao tiếp mạng Botnet 18 1.6 Một số công cụ công DDoS 19 1.6.1 Trinoo .19 1.6.2 Tribe Flood Network (TFN/TFN2K) 19 1.6.3 Stacheldraht .19 1.6.4 Trinity .19 1.6.5 DoSHTTP 20 iv 1.6.6 X-flash 20 1.7 Phòng chống DDoS .21 1.7.1 Phương pháp phòng chống DDoS 21 1.7.2 Một số cơng cụ mã nguồn mở phịng chống DDoS .25 1.8 Kết luận chương .26 CHƯƠNG II CÔNG CỤ MÃ NGUỒN MỞ IPTABLES VÀ SNORT INLINE 27 2.1 Công cụ Iptables 27 2.1.1 Giới thiệu chung Iptables 27 2.1.2 Cấu trúc Iptables .27 2.1.3 Targets 30 2.1.4 Các tùy chọn quan trọng Iptables .32 2.2 Công cụ Snort inline 35 2.2.1 Giới thiệu Snort 35 2.2.2 Cấu trúc Snort 35 2.2.3 Bộ luật Snort 40 2.2.4 Chế độ ngăn chặn Snort : Snort — Inline 49 2.3 Kết luận chương .50 CHƯƠNG III XÂY DỰNG GIẢI PHÁP PHÒNG CHỐNG DDOS 51 3.1 Giải pháp phòng chống DDoS đưa cho Website 51 3.1.1 Ưu điểm giải pháp sử dụng hệ thống IPS 51 3.1.2 ConfigServer Security & Firewall (CSF) 52 3.2 Thử nghiệm, đánh giá 52 3.2.1 Mơ hình 52 3.2.2 Cài đặt 53 3.2.3 Cấu hình IPS .54 3.2.4 Chạy thử nghiệm 56 3.2.5 Đánh giá thử nghiệm 59 3.3 Kết luận chương .59 KẾT LUẬN 61 DANH MỤC TÀI LIỆU THAM KHẢO 62 v DANH MỤC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT Từ viết tắt Tiếng Anh CPU Central Processing Unit DDoS Distributed Denial of Service DNS Domain Name System DoS Denial of Service HTTP Hypertext Transfer Protocol CSF ConfigServer Security & Firewall ICMP Internet Control Message Protocol IDS Intrusion Detection System IP Internet Protocol IPS Intrusion Prevention System P2P Peer to peer SIP Session Initiation Protocol SMTP Simple Mail Transfer Protocol SYN Synchronization TCP Transport Control Protocol UDP User Datagram Protocol Tiếng Việt Bộ xử lý trung tâm Tấn công từ chối dịch vụ phân tán Hệ thống phân giải tên miền Tấn công từ chối dịch vụ Giao thức truyền tải siêu văn Tường lửa bảo mật cấu hình máy chủ Giao thức thông báo điều khiển mạng internet Hệ thống phát xâm nhập Giao thức kết nối Internet Hệ thống phòng chống xâm nhập Mạng ngang hàng Giao thức khởi tạo phiên Giao thức truyền tải thư điện tử đơn giản Đồng hóa Giao thứ điều khiển truyền vận Giao thức gói liệu người dùng vi DANH SÁCH BẢNG Bảng 2.1 Các loại queues chức 29 Bảng 2.2 Miêu tả target mà Iptables thường dùng 29 Bảng 2.3 Bảng tùy chọn quan trọng Iptables 32 Bảng 2.4 Các điều kiện TCP UDP thông dụng 34 vii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1: Phân loại kiểu công DdoS .4 Hình 1.2: Amplification Attack Hình 1.3: Ba bước kết nối TCP/IP Hình 1.4: Trường hợp IP nguồn giả Hình 1.5: Phân tích trang web bị công 10 Hình 1.6: Sơ đồ Handler-Agent 14 Hình 1.7: Sơ đồ IRC Base 15 Hình 1.8: Sơ đồ Peer-to-Peer 15 Hình 1.9: Các phương pháp xây dựng tài nguyên công 18 Hình 1.10: Mơ hình mạng Classic DDoS 20 Hình 1.11: Mơ hình mạng X-Flash DDoS 21 Hình 1.12: Các giai đoạn chi tiết phòng chống DDoS 22 Hình 2.1: Mơ hình Iptables/netfilter 27 Hình 2.2: Mơ tả đường gói liệu 29 Hình 2.3: Mơ hình cấu trúc hệ thống Snort 36 Hình 2.4: Xử lý gói tin Ethernet 37 Hình 2.5: Cấu trúc luật Snort 41 Hình 2.6: Header luật Snort 41 Hình 3.1: Mơ hình thử nghiệm sử dụng IPS để lọc gói tin 53 Hình 3.2: Tài nguyên máy chủ web chưa bị công kịch 56 Hình 3.3: Thời gian đáp ứng trung bình máy chủ web chưa bị công kịch 56 Hình 3.4: Tài nguyên máy chủ web bị công kịch 57 Hình 3.5: Thời gian đáp ứng trung bình máy chủ web bị cơng kịch 57 Hình 3.7 Thời gian đáp ứng trung bình máy chủ web bị cơng kịch 59 MỞ ĐẦU Lịch sử công từ chối dịch vụ năm 2000 lần cậu thiếu niên 15 tuổi Micheal Calce với biệt hiệu aka_mafiaboy từ Quebec, Canada công vào loạt Website thương mại điện tử lớn Amazon, eBay, Yahoo, Fifa, Dell Inc làm chúng không thể truy cập hàng đồng hồ Năm 2005, lập trình viên 18 tuổi tên Farid Essabar viết sâu máy tính để lây nhiễm thành lập mạng Botnet công vào máy chủ hãng tin CNN làm sập dịch vụ trực tuyến hãng Hình thức cơng mở kỷ nguyên cho phương pháp công DDoS mới, nguy hiểm tinh vi Ngày DDoS sử dụng nhiều mánh khóe, kỹ thuật kỹ thuật khuếch đại công, sử dụng máy chủ điều khiển lệnh từ xa… làm mức độ thiệt hại tăng lên đáng kể Điển hình vụ cơng Spamhus năm 2013 với mức băng thơng có thời điểm đến 300Gbps, chí mạng Internet toàn cầu bị ảnh hưởng truy cập vào hầu hết website chậm rõ rệt Việc khơng có chế hiệu hồn tồn để chống lại dạng công nguy hiểm gây nhiều thiệt hại chủ đề công nghệ sôi động, nhiều nhà nghiên cứu quan tâm, chia sẻ học hỏi kinh nghiệm Bất cơng trình mang lại hiệu phòng chống giảm thiểu thiệt hại DDoS mang lại lợi ích lớn cho thương mại tồn cầu, có khả triển khai rộng rãi tạo môi trường mạng Internet an toàn Việt Nam giai đoạn thúc đẩy áp dụng công nghệ thông tin vào quan nhà nước, việc trang web quan nhà nước bị công DDoS làm ảnh hưởng khơng hình ảnh, uy tín quan mà cịn ảnh hưởng trực tiếp đến uy tín làm trì trệ cơng việc Trong q trình cơng tác, tiếp xúc với nhiều trường hợp quan bị tin tặc công DDoS, số trường hợp không thực công việc 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 : “Nghiên cứu phịng chống cơng từ chối dịch vụ vào website”, 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ở để quan, tổ chức có thể triển khai dễ dàng Luận văn trình bày với chương chình với nội dung sau: Chương I Tổng quan DDoS Nội dung chương giới tổng quan 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, giới thiệu số công cụ mã nguồn mở phịng chống DDos Chương II Cơng cụ mã nguồn mở Iptables Snort inline Nội dung chương giới thiệu hai phần mềm mã nguồn mở miễn phí Iptables Snort, trình bày lý thuyết số cấu hình quan trọng Iptables Snort inline Chương III Xây dựng giải pháp phòng chống DDoS Nội dung chương trình bày 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 phần mềm nêu chương II CHƯƠNG I TỔNG QUAN VỀ DDOS 1.1 Giới thiệu chung DDoS Tấn công từ chối dịch vụ phân tán (DDoS - Distributed Denial Of Service) hoạt động làm chấm dứt gián đoạn dịch vụ máy nạn nhân Tấn công DDoS huy động số lượng lớn máy bị lợi dụng để công nạn nhân vào thời điểm Do DDoS có tính chất phân tán nên việc ngăn chặn khó khăn Việc ngăn chặn DDoS khơng thể từ máy tính bị công mà phải kết hợp router để tiến hành phân tích chặn Do có số lượng Agent lớn bao phủ diện rộng nên việc phát gói tin cơng khó có khả giải triệt để DDoS Ở Agent máy trực tiếp gửi thông điệp công Trên Internet công từ chối dịch vụ phân tán dạng công từ nhiều máy tính tới đích, gây từ chối yêu cầu hợp lệ user bình thường Bằng tạo nhiều gói tin đến đích cụ thể, có thể gây tình trạng tương tự hệ thống bị shutdown Khác với công DoS (Denial of Service) 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 1.2 Phân loại kiểu công DDoS Để hiểu nghiên cứu công DDoS, điều quan trọng phải hiểu chế phân loại công DDoS Nhìn chung, có nhiều biến thể kỹ thuật cơng DDoS nhìn góc độ chun mơn có thể chia biến thể thành hai loại dựa 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” Tuy nhiên, thực tế, công có thể có hai tác động có thể áp đặt ảnh hưởng cao có thể lên toàn Internet Loại đặt tên công sở hạ tầng Chúng ta đề cập đến loại cơng nghiên cứu Trong luận giới thiệu loại công khác gọi công zero-day, nơi mà tác động công không xác định Dưới sơ đồ mô tả phân loại kiểu công DDoS 48 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 có thể kết nối đến thông tin thêm thông điệp cảnh báo - resp :Từ khóa resp từ khóa quan trọng Nó có thể sử dụng để đánh bại hành vi hacker cách gửi gói tin trả lời cho host mà tạo gói tin thỏa luật Từ khóa biết Flexible Response (FlexResp) dựa FlexResp plug-in Plug-in nên biên dịch vào Snort, sử dụng lệnh ( with-flexresp)trong script cấu hình - sameip Từ khóa sameip sử dụng để kiểm tra địa nguồn đích có giống hay khơng Nó khơng có đối số - seq Cấu trúc seq: : Từ khóa seq luật Snort có thể sử dụng để kiểm tra số thứ tự sequence gói tin TCP - flow Từ khóa flow sử dụng để áp dụng luật lên gói tin di chuyển theo hướng cụ thể Bạn có thể sử dụng option với từ khóa để xác định hướng Các option sau có thể sử dụng với từ khóa : • to_client • to_server • from_client • from_server - session Cấu trúc session: [printable|all] : Từ khóa có thể sử dụng để gạt bỏ tất liệu từ phiên TCP - sid Cấu trúc sid: < snort rules id> : Sử dụng SID, cơng cụ ACID có thể biểu diễn luật thật tạo cảnh báo cụ thể - tag tag: , , [, direction] : Từ khóa tag từ khóa quan trọng khác có thể sử dụng để ghi log liệu thêm vào từ ( đến) host xâm nhập luật kích hoạt Dữ liệu thêm vào có thể phân tích sau cách chi tiết - tos Cấu trúc tos: < number> : Từ khóa tos sử dụng để phát giá trị cụ thể trường TOS (Type of Service) header IP 49 - ttl Cấu trúc ttl: < number> :Từ khóa ttl sử dụng để phát giá trị Time to Live header IP gói tin Từ khóa có thể sử dụng với tất kiểu giao thức xây dựng IP ICMP, UCP TCP Sử dụng từ khóa ttl, bạn có thể tìm có người cố gắng traceroute mạng bạn Vấn đề từ khóa cần giá trị TTL xác - uricontent Cấu trúc uricontent: [!] "content string" : Từ khóa uricontent giống với từ khóa content ngoại trừ việc sử dụng để tìm chuỗi phần URI gói tin 2.2.4 Chế độ ngăn chặn Snort : Snort — Inline 2.2.4.1 Tích hợp khả ngăn chặn vào Snort Snort-inline nhánh phát triển Snort William Metcalf khởi xướng lãnh đạo Đến phiên 2.3.0 RC1 Snort, inline-mode tích hợp vào thức snort.org phát hành Sự kiện biến Snort từ IDS túy trở thành hệ thống có khả IPS, chế độ tùy chọn mặc định Ý tưởng inline-mode kết hợp khả ngăn chặn iptables vào bên snort Điều thực cách thay đổi môđun phát môđun xử lý cho phép snort tương tác với iptables Cụ thể, việc chặn bắt gói tin Snort thực thông qua Netfilter thư viện libpcap thay việc sử dụng ipqueue thư viện libipq Hành động ngăn chặn snortinline thực devel-mode iptables 2.2.4.2 Những bổ sung cho cấu trúc luật Snort hỗ trợ Inline mode Để hỗ trợ tính ngăn chặn Snort-inline, số thay đổi bồ sung đưa vào luật Snort Đó đưa thêm hành động c, SDROP, INJECT thay đổi trình tự ưu tiên luật Snort DROP Hành động DROP yêu cầu iptables loại bỏ gói tin ghi lại thông tin hành động LOG SDROP 50 Hành động SDROP tương tự hành động DROP, điều khác biệt chế Snort không ghi lại thông tin hành động LOG REJECT Hành động REJECT yêu cầu iptables từ chối gói tin, có nghĩa iptables loại bỏ gửi lại thông báo cho nguồn gửi gói tin Hành động REIECT khơng ghi lại bất cử thơng tin Trình tự ưu tiên luật Trong phiên gốc, trình tự ưu tiên hành động Snort : actfivation->dynamic-> alert->pass->log Trong inline-mode, trình tự ưu tiên thay đổi sau : acfivation->dynamic->pass->drop->sdrop->reject->alert>log 2.3 Kết luận chương Chương giới thiệu cách tổng quan hai phần mềm mã nguồn mở miễn phí Iptables Snort inline, trình bày lý thuyết số cấu hình quan trọng Iptables Snort inline 51 CHƯƠNG III XÂY DỰNG GIẢI PHÁP PHÒNG CHỐNG DDOS 3.1 Giải pháp phòng chống DDoS đưa cho Website Qua nghiên cứu phân tích hình thức cơng DDoS cơng cụ giúp phịng chống DDoS chương chương hai Chương ba luận văn tập trung vào giải pháp công vào máy chủ Web xây dựng giải pháp chống lại hình thức cơng phổ biến SYN Flood, UDP Flood, HTTP Flood Hiện có nhiều cách phịng chống DDoS cho máy chủ web: Sử dụng Firewall Triển khai IPS (Tmrusion Prevention System- Hệ thống chống xâm nhập) Tăng băng thông kết nối tạm thời giải lượng truy cập vào website Phân tán lượng truy cập đến máy chủ khác với băng thông lớn Thiết lập cân tải hệ thống máy chủ đề tăng thời gian chống DDoS Cấu hình lại máy chủ, thiết lập thơng số tường lửa để sàng lọc địa IP có dấu hiệu truy cập ảo Chúng ta 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 Phương pháp sử dụng rộng rãi Như trường hợp Vietnamnet bị công DDoS, công ty CMCinfosec sử dụng nhiều biện pháp khác bao gồm việc kết hợp phần mềm phần cứng để hạn chế DDoS, nhiên ý tưởng phương pháp định tuyến yêu cầu người dùng hệ thống IPS, sử dụng CSF để lọc chặn gói tin tầng mạng sử dụng IPS để lọc gói tin tầng ứng dụng, sau gói tin hợp lệ định tuyến đến máy chủ thật 3.1.1 Ưu điểm giải pháp sử dụng hệ thống IPS Ưu điểm phương pháp cản lọc phần lớn gói tin khơng hợp lệ, máy chủ web có khả phục vụ chịu cường độ DDoS lớn 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 52 cập nhật Snort Inline “module” snort, thay lắng nghe cơng định theo dõi tất traffc 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 Iptables mà tảng Netfilter có ưu điểm dễ cấu hình, tốc độ xử lý nhanh, tích hợp sẵn Kernel Linux 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 3.1.2 ConfigServer Security & Firewall (CSF) CSF gói ứng dụng hoạt động Linux tường lửa miễn phí dùng để tăng tính bảo mật cho máy chủ CSF hoạt động dựa iptables Login Failure Daemon (ldf) để quyét file log để phát dấu hiệu công bất thường Một số tính CSF: Chống DoS loại Chống Scan Port Chống BruteForce Attack Chống Syn Flood Chống Ping Flood Cho phép ngăn chặn truy cập từ quốc gia cách định Country Code chuẩn ISO Hỗ trợ IPv6 IPv4 Cho phép khóa IP tạm thời vĩnh viễn tầng mạng 3.2 Thử nghiệm, đánh giá 3.2.1 Mơ hình Với mục tiêu đặt tăng thời gian chống chịu cho máy chủ Web, bảo vệ giảm thiệt hại trang web để người quản trị có thời gian khắc phục trước công DDoS ta thực thử nhiệm với hình thức cơng gây ngập lụt SYN Flood 53 Cài đặt máy tính thực cơng, 02 máy chủ IPS có cài CSF Snort inline, 01 máy chủ máy chủ web chạy website 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 Công cụ sử dụng để đo thời gian đáp ứng máy chủ web Jmeter Hình 3.1: Mơ hình thử nghiệm sử dụng IPS để lọc gói tin 3.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_queue- 1.0.2-1.el6.i686.rpm 54 rpm -Uvh http://centos.alt.ru/repository/centos/6/i386/libnetfilter_queue- devel-1.0.2-1.el6.i686.rpm rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel- release-68.noarch.rpm yum -y update yum -y install libdnet libdnet-devel cd /root; wget http://www.snort.org/downloads/2311-O daq- 2.0.0.tar.gz tar xvzf daq-2.0.0.tar.gz cd daq-2.0.0;./configure && make && make install cd /root; wget http://www.snort.org/downloads/2320 -O snort- 2.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 dành cho người dùng miễn phí 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 3.2.3 Cấu hình IPS Cấu hình cho phép gói tin qua 55 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) ETH_DEVICE = eth1 (chỉ lọc card external) SYNFLOOD = "1" SYNFLOOD_RATE = "30/s" (Nếu IP gửi 30 gói SYN vịng 1s số lượng kết nối SYN tồn máy chủ đạt 40 hủy gói SYN tiếp theo) SYNFLOOD_BURST = "40" CONNLIMIT = "80;20" (Giới hạn số lượng kết nối đồng thời đến server IP Ví dụ có nghĩa IP phép mở 20 kết nối đồng thời đến port 80 máy chủ) PORTFLOOD = "80;tcp;20;5" CT_LIMIT = "300" (Giới hạn số lượng connection từ IP đến máy chủ Nếu số lượng vượt 300 tạm thời block (chặn) IP đó) 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 56 3.2.4 Chạy thử nghiệm Kịch 1: Tấn công máy chủ web khơng có IPS khơng cài CFS Hình 3.2: 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 Sử dụng công cụ Jmeter để đo thời gian đáp ứng máy chủ Hình 3.3: 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 57 Thực công máy chủ web, sau phút cơng người dùng khơng thể 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% Hình 3.4: 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 3.5: Thời gian đáp ứng trung bình máy chủ web bị công kịch 58 Thời gian đáp ứng trung bình máy chủ bị cơng DDoS 8248ms Kịch 2: Tấn công máy chủ web có IPS, có sử dụng CSF 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|";) Cấu hình Iptable sau: iptables -N udp-flood iptables -A OUTPUT -p udp -j udp-flood iptables -A udp-flood -p udp -m limit limit 50/s -j RETURN iptables -A udp-flood -j DROP 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" 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 3.6: Tài ngun máy chủ web log Snort sau 15 phút bị công kịch 59 Log Snort ghi nhận chặn gói tin DDoS vào máy chủ web Hình 3.7 Thời gian đáp ứng trung bình máy chủ web bị công kịch 3.2.5 Đánh giá thử nghiệm Với mơ hình thử nghiệm phương thức cơng thực thấy kết kịch mà đưa sau: Đối với kịch 1: Khi bị cơng, máy chủ phải tạo nhiều tiến trình httpd (như hình 3.4) để 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 Đối với kịch 2: Khi kết hợp CSF hệ thống IPS, 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ư cịn 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 3.3 Kết luận chương Chương mô tả thử nghiệm kết phòng chống cơng DDoS với hình thức cơng SYN Flood Qua thử nghiệm có thể thấy hệ thống IPS đáng tin cậy, tài nguyên máy chủ web đảm bảo cho người 60 dùng hợp lệ truy cập vào Website trình công diễn Tuy nhiên, thử nghiệm hình thức cơng, cần có nhiều thử nghiệm với nhiều hình thức cơng khác để có đánh giá khách quan 61 KẾT LUẬN Các kết đạt Luận văn xây dựng với mục đích nghiên cứu, tìm hiểu hình thức cơng DDoS vào ứng dụng Web bao gồm hình thức: Tấn công vào máy chủ cài Webserver Tấn cơng trức tiếp vào Website Trong sâu vào hình thức cơng DDoS vào máy chủ cài Webserver Từ đưa giải pháp phịng chống khơng Website thử nghiệm mà thực nhiều Website khác Từ giải pháp triển khai ngăn chặn cơng đồng loạt Hacker + 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á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ủ cài Webserver công cụ mã nguồn mở Snort Inline Iptables, tìm hiểu lý thuyết cài đặt cấu hình hai cơng cụ Hướng nghiên cứu Trong trình nghiên cứu thực luận văn có thể thấy cơng DDoS ngày có nhiều biến thể tinh vi hơn, mức độ tàn phá cao hơn, làm cho việc phòng chống DDoS ngày trở nên khó khăn nhiều Dưới số hướng phất triển nhằm nâng cao tính hiệu phòng chống DDoS cho máy chủ web Thực bổ xung thử nghiệm với hình thức cơng khác đánh giá xác hoàn thiện hệ thống Nghiên cứu thêm giải pháp cân tải HAPROXY thực tích hợp vào hệ thống cài đặt cho website để có thể phịng thủ tốt trước cơng DDoS 62 DANH MỤC TÀI LIỆU THAM KHẢO [1] Bhattacharyya, Dhruba Kumar_ Kalita, Jugal Kumar - DDoS attacks_ evolution, detection, prevention, reaction, and tolerance (2016, CRC Press) [2] Yonghua You (2007), A Defense Framework for Flooding-based DDoS Attacks [3] Snort Team (2013), Snort Users Manual [4] Chris Murphy (2013), An Analysis of the Snort Data Acquisition Modules, SANS Institute InfoSec Reading Room [5] Rajkumar, Manisha Jitendra Nene, A Survey on Latest DoS attacks: Classification and Defense Mechanisms, International Journal of Innovative Research in Computer and Communication Engineering, 2013 [6] HangChau, Network Security – Defense Against DoS/DDoS Attacks [7] Jelena Mirkovic, Sven Dietrich, David Dittrich, Peter Reiher (2005), Internet Denial of Service: Attack and Defense Mechanisms, Prentice Hall PTR [8] Botnet-based Distributed Denial of Service (DDoS) Attacks on Web Servers: Classification and Art - International Journal of Computer Applications (2012) [9] A survey of distributed denial-of-service attack, prevention, and mitigation techniques - International Journal of Distributed Sensor Networks (2017) Trang web tham khảo [11] Distributed Denial of Service Attacks - The Internet Protocol Journal http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_74/dos_attacks.html [ ngày truy cập 10/11/2018] [12] Protecting Web Servers from Distributed Denial of Service Attacks http://www10.org/cdrom/papers/409/ [ ngày truy cập 09/11/2018] [13] Hardening the TCP/IP stack to SYN attacks http://www.securityfocus.com/infocus/1729.[ ngày truy cập 09/11/2018] [14] http://snort.org [ ngày truy cập 08/11/2018] [15] http://www.netfilter.org [ ngày truy cập 08/11/2018] ... Protocol Tiếng Việt Bộ xử lý trung tâm Tấn công từ chối dịch vụ phân tán Hệ thống phân giải tên miền Tấn công từ chối dịch vụ Giao thức truyền tải siêu văn Tường lửa bảo mật cấu hình máy chủ... tiếp nhận kết nối từ người dùng hợp lệ 1.3.2 Tấn công trực tiếp vào website Cách công trực tiếp vào website thường dùng cho công nhỏ lẻ nhắm vào lỗ hổng ứng dụng web điển hình cách cơng sau :... cho chuỗi công ẩn cổng sau (back door) chèn vào công cụ SQL Như vậy, công DDoS chắn cho hoạt động bất thường mà Một cơng DDoS vào website có thể chia làm hai cách sau: 1.3.1 Tấn công vào máy chủ