Chào mọi người! Hôm nay, mình xin chia sẻ với các bạn một số kiến thức liên quan đến tấn công DDoS vào website. Những thông tin này sẽ giúp anh em hiểu rõ hơn về cách các tin tặc có thể tấn công website của chúng ta và cách phòng tránh chúng. Hy vọng nó sẽ hữu ích cho mọi người!
Cách Chống DDos cho website |
Mục lục bài viết
DDos là gì?
Tấn công DDoS, hay còn gọi là tấn công từ chối dịch vụ phân tán, là một phương thức tấn công bằng cách tạo ra một lượng truy cập ảo cực lớn vào một website trong một thời gian ngắn, với mục đích "đánh sập" máy chủ lưu trữ, khiến nó hoạt động chậm hoặc không thể truy cập được. Mặc dù không có phương pháp chống DDoS nào là hoàn hảo, nhưng nếu đối mặt với các cuộc tấn công ở quy mô nhỏ và không chuyên, sử dụng các phần mềm được lập trình sẵn, chúng ta hoàn toàn có thể chủ động phòng chống.
Cách chống DDos cho website
Cách 1: Chống iframe.
</head>
bên trong code của bạn.<script language="JavaScript"> if (top.location != self.location) {top.location = self.location} </script>
Cách 2: Chống tải lại trang web có ác ý
.htaccess
với nội dung sau:RewriteEngine on RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC] RewriteRule !antiddos.phtml http://www.domain.com/antiddos.phtml?%{REQUEST_URI} [QSA]
Sau đó tạo thêm một một tập tin antiddos.phtml
có nội dung
<? $text = $HTTP_SERVER_VARS['QUERY_STRING']; $text = preg_replace("#php\si",'php?',$text); echo('<center><a href=http://www.domain.com/?'.$text.'><font color=red size=5 face=Monotype>[CLICK HERE TO ENTER]</font></a</center>'); ?>
Sau đó, bạn hãy upload hai tệp này lên thư mục gốc của website. Khi người dùng truy cập vào website lần đầu tiên, họ sẽ thấy một thông báo yêu cầu nhấn chuột để vào trang. Ở các lần truy cập tiếp theo, thông báo này sẽ không xuất hiện nữa. Các phần mềm DDoS được lập trình sẽ bị chặn ngay từ bước nhấn chuột để vào website, vì vậy việc tải lại trang web sẽ chỉ là một trang HTML nhỏ và không gây ảnh hưởng đáng kể đến hệ thống.
Chú ý!
Cách này chỉ áp dụng cho website đang sử dụng server chạy trên nền Linux.
Cách 3: Giới hạn số kết nối website tại một thời điểm
Khi một khách truy cập vào website, một truy vấn kết nối với cơ sở dữ liệu (CSDL) sẽ được tạo ra để lấy thông tin và hiển thị trên trang web. Mỗi máy chủ đều có một giới hạn số lượng truy vấn kết nối và khi vượt quá giới hạn này, việc truy cập sẽ trở nên khó khăn hoặc không thể thực hiện được. Các tin tặc có thể lợi dụng điều này để tạo ra các kết nối ảo, thông qua proxy hoặc các mạng botnet, nhằm tấn công và làm gián đoạn website, thậm chí phá hủy CSDL.
Để hạn chế tình trạng này, bạn có thể chủ động giới hạn số kết nối và truy vấn tại một thời điểm. Để thực hiện điều này, hãy thêm đoạn mã sau vào trang chủ của website.
function server_busy($numer) { if (THIS_IS == 'WEBSITE' && PHP_OS == 'Linux' and @file_exists ( '/proc/loadavg' ) and $filestuff = @file_get_contents ( '/proc/loadavg' )) { $loadavg = explode ( ' ', $filestuff ); if (trim ( $loadavg [0] ) > $numer) { print '<meta http-equiv="content-type" content="text/html; charset=UTF-8" />'; print 'Lượng truy cập đang quá tải, mời bạn quay lại sau vài phút.'; exit ( 0 ); } } } $srv = server_busy ( 1000 ); // 1000 là số người truy cập tại 1 thời điểm
Đoạn mã trên cho phép tối đa 1000 người truy cập vào website cùng một lúc. Nếu số lượng người truy cập vượt quá 1000, khách sẽ nhận được thông báo: "Lượng truy cập đang quá tải. Mời bạn quay lại sau vài phút."
Chú ý!
Đoạn mã này chỉ áp dụng cho ngôn ngữ lập trình PHP.
Cách 4: chặn các request bằng js
Khi nhiều người sử dụng các công cụ DDoS để gửi hàng nghìn yêu cầu đến server, website của chúng ta sẽ không thể chịu nổi, dẫn đến tốn tài nguyên của host và có thể gây sập website.
Để giải quyết vấn đề này, các bạn có thể quản lý DNS của website qua Cloudflare. Sau đó, bật tính năng chống DDoS bằng JavaScript có sẵn trong Cloudflare để bảo vệ website khỏi các cuộc tấn công.
Như vậy, các yêu cầu (requests) gửi đến website của bạn sẽ bị chặn ngay tại Cloudflare, giúp bảo vệ website và làm cho nó an toàn hơn.
Tổng kết
Đây chỉ là những phương pháp phòng ngừa cơ bản, phù hợp với các cuộc tấn công nhỏ lẻ. Để đảm bảo website của bạn hoạt động ổn định và có khả năng chống lại các cuộc tấn công quy mô lớn, bạn nên:
Cuối cùng, theo mình, cách thứ 4 có lẽ là phương pháp hiệu quả nhất để giúp website của chúng ta chống lại tấn công DDoS một cách mạnh mẽ.
Facebook: Dịch Vụ Mạng Xã Hội Đà Nẵng
Zalo: Dịch Vụ Đà Nẵng
Phone: 0333.110304
Gmail: mxhdn.xyz@gmail.com
Thanh toán: Ngân hàng, thẻ cào siêu rẻ, Momo, ViettelPay, card + 35% phí,...