Hi các bạn. Dân công nghệ thông tin mình nghĩ ai cũng biết DDOS là gì, DDOS gây ra những ảnh hưởng, hệ lụy nhiều đến công việc kinh doanh đến mức nào vì bị các đối tượng tin tặc, kẻ xấu tấn công từ chối dịch vụ DDOS.
Qua sưu tầm, trải nghiệm thực tế mình muốn chia sẻ về việc Website cá nhân đang bị tấn công DDOS dữ dội và cách khắc phục chống DDOS hiệu quả mà tiết kiệm chi phí nhất có thể.
Website Bị tấn công DDOS nửa tỷ kết nối trong chưa đầy 7 ngày. Hôm nay gánh chịu gần 300 triệu Request
Vấn đề của mình:
Sau khi viết loạt bài lột trần các thủ đoạn lừa đảo FOREX làm cho hàng ngàn nhà đầu tư mất tổng số tiền lên tới vài trăm tỷ, thì Website cá nhân của mình bị tấn công DDOS dữ dội. Cá nhân mình cũng bị đe doạ, thậm chí bọn chúng tìm về nhà để đe doạ.
Thực trạng hiện tại:
Website vẫn đang bị tấn công dồn dập, dù tạm thời thì đã không còn lọt vào được đến Server nữa.
Tổng số request tới Website trong 7 ngày qua là khoảng NỬA TỶ REQUEST.
1. Hệ thống đang sử dụng:
WordPress + DirectAdmin + Cloudflare + Sucuri + CSF
2. Cách thức tấn công
Gửi các Request tới các URL hợp lệ được sinh các query string ngẫu nhiên.
Đây là kiểu tấn công mạnh nhất trong đợt tấn công này khi chúng liên tục gửi Request tới các url hợp lệ và đằng sau đó sinh ra các query ngẫu nhiên nên gần như lọt qua được cả Sucuri và Cloudflare.
Các bạn có thể xem ở hình thứ hai.
Với các truy vấn này, chúng lọt qua được theo mình thấy là chúng có http referer đến từ các nguồn cực kỳ uy tín như Youtube, Google, FBI, CIA…
2.1 – Tấn công qua XML-RPC của WordPress
Đây là cách thức thứ hai và với kiểu tấn công này, chúng cũng liên tục gửi request thông qua file xml-rpc.php của WordPress.
2.2 – Tấn công qua FEED WordPress
Đặc điểm của WordPress là có thể lấy FEED cho từng bài, từng chuyên mục, từng Tag nên chúng đã liên tục gửi hơn 100 Request kết hợp với random query string vào FEED URL gây quá tải hệ thống
2.3 – Tấn công qua 404 URL
HÌnh thức tiếp theo là chúng gửi các Request qua 404 URL tới các URL không tồn tại và để lọt qua được các hệ thống chống DDOS của CF và Sucuri, chúng cũng referer từ các nguồn có độ Trust cao cùng với việc sinh các Random Query String.
Nếu bạn từng truy cập từ Facebook vào Website thông qua link, bạn sẽ thấy ở đằng sau có thêm ?fb=……. Thì viẹc chúng sinh random query string cũng tương tự. Nghĩa là nếu bạn viết ruler cho các String này thì có thể bạn cũng sẽ block luôn các nguồn đáng tin thậm chí các campain chạy Ads.
4.4 – Tấn công qua việc tải các hình ảnh và File tĩnh
Cách tiếp theo mà chúng tấn công là qua các File tĩnh.
Bằng cách nào đó, chúng liệt kê được hầu hết các File ảnh có trên thư mục uploads của WordPress và các File tĩnh sau đó liên tục gửi Request để tải về.
Bạn có thể xem thiệt hại qua file tĩnh chúng request qua CDN trong chưa đầy 9h lên tới 405GB.
3. Giải pháp phòng chống là gì?
Giải pháp ở đây là mình đang sử dụng bộ 3:
Tối ưu hoá Website + Cloudflare + Sucuri + CSF
3.1 – Cloudflare
Cloudflare được sử dụng là lớp đầu tiên vì mình đang sử dụng Gói Pro $20/month nên có thêm nhiều tính năng.
+ Bật WAF bạn bắt buộc phải bật WAF vì trong đó có nhiều ruler và có 1 Option riêng hỗ trợ WordPress chống DDOS.
+ Thiết lập các Rulers
– Challenge toàn bộ các kết nối đến từ các quốc gia ngoài Việt Nam. Nghĩa là nếu kết nối đến từ bên ngoài sẽ có một phần check capcha trước khi lọt vào được Website.
Block toàn bộ request đến từ các quốc gia nguy hiểm bao gồm: Trung Quốc, Ấn Độ, Indonesia, Nga, Mexico, Iran, Iraq
Block toàn bộ các ASNs nguy hiểm như Ponnynet, Chinanet Backbone
Cho phép các Bot quan trọng truy cập nếu bạn không muốn rớt thứ hạng SEO trên Google vì chặn các Bot khiến chúng không thể truy cập được.
Lọc và chặn các IP tấn công trực tiếp vào hệ thống thông qua Access Log trên Server.
3.2 – Sucuri
Sucuri có Option hoạt động phía sau Cloudflare như lớp phòng chống thứ hai.
Gói trả phí $10/tháng.
Sucuri cho phép bật chế độ chống DDOS khẩn cấp giống Cloudflare.
Hiểu đơn giản là các kết nối sẽ được thực thi qua Cloudflare, sau đó xuống lớp lọc của Sucuri cuối cùng mới lọt vào Server.
Sucuri có realtime trên hệ thống của họ cho biết map + nguồn đang truy cập và chọn Block luôn hay không.
Sucuri đồng thời cũng hỗ trợ chặn kết nối qua XMLRPC của WordPress và nhiều thứ hay ho khác nữa.
Sucuri cũng hỗ trợ Block thông qua http referer nên mình block luôn các referer bố láo qua FBI, CIA, WhiteHouse…
3.3 – CSF Firewall
Mình chọn thiết lập tiêu chuẩn và chặn các kết nối từ các quốc gia nguy hiểm như Trung Quốc, Ấn Độ, Indonesia, Nga, Mexico, Iran, Iraq.. Mà chúng lọt qua được Cloudflare và Sucuri.
3.4 – Tối ưu hoá Website.
Đây là bước quan trọng, mình đã tối ưu hoá Website cực kỹ. Hình ảnh dùng định dạng Webp rất nhẹ.
Tổng load Website chỉ tầm 300kb
Số Request trực tiếp tới Server cực ít (Tầm 19-21 Request)
Kết quả: Trong tình trạng Server luôn bị quá tải ở mức 203%.
thì giờ đây, khi đang gánh chịu gần 300 triệu Request, CPU đã ổn đỉnh ở mức dưới 10% và Website chạy phà phà.
Hi vọng qua bài viết này có thể giúp ích được nhiều bạn đang gặp tính trạng như mình để có hướng giải quyết tốt nhất.
Nguồn: tohaitrieu