Tránh được DDos bằng tools còn botnet thì chịu nha
đầu tiền lưu nội dung sau lưu lại với tên banip.php
Code:
<?php$n = 5; / Chặn ip nếu 5 lần nhanh và liên tiếp truy cập vào 1 URL$ban = strpos($_SERVER['REQUEST_URI'],"vbshout.php")?0:1;$in ="\n".$_SERVER['REMOTE_ADDR']." -".$_SERVER['REQUEST_URI'];$log = fopen('banip.log','a'); fwrite($log, $in); fclose($log);$list = file('banip.log',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);$last = count($list) - 1;if($last>1000) { $in = "Deny from all"."\n";$lock = fopen('.htaccess','a'); fwrite($lock, $in); fclose($lock); }elseif($last >$n) { for($i = 1; $i < $n;$i++) if($list[$last - $i] !=$list[$last]) $ban = 0;} else{ $ban = 0; }if($ban) { $in= "Deny from".$_SERVER['REMOTE_ADDR']."\n";$lock = fopen('.htaccess','a'); fwrite($lock, $in); fclose($lock);}?>
vào file global.php nếu xài 4rum.
Cơ chế hoạt động
khi 1 ip gửi 1 request tới site của bạn. code sẽ tạo ra 1 file log ghi lại ip đó, và url mà ip đó truy cập.
Ví dụ : 113.22.70.69 -
http://mydomain.com/4rum/index.php
nếu ip 113.22.70.69 truy cập nhanh và liên tiếp 5 lần vào cùng 1 url như trên thì code sẽ lock ip 113.22.70.69 bằng cách tạo ra 1 file htaccess và ghi lệnh deny from 113.22.70.69
Đoạn code tiếp theo
Code:
if($last >1000) { $in ="Deny from all"."\n";
Khi 1 ip truy cập vào site. code sẽ ghi ip đó vào 1 dòng
Sau đó sẽ đếm tổng số dòng trong file log. nếu lớn hơn 1000 dòng trong 1 thời gian nhất định (Dấu hiệu bị tấn công bonet) thì sẽ ghi vào file htaccess lệnh deny from all
Các bạn có thể lập lịch xoá file htaccess và file log theo 1 thời gian quy định bằng cron job trong cpanel của host
Code:
<?php
if(file_exists('.htaccess')) unlink('.htaccess');
if(file_exists('banip.log')) unlink('banip.log');
?>
Save đoạn code sau lại thành reset.php và up lên thư mục gốc. sau đó xài cron job để thực thi file reset.php theo 1 thời gian nhất định. Ví dụ 10 phút xoá file htaccess và file log 1 lần.
Code này chống ddos khá hiệu quả. nhưng với botnet thì thua vì khi có lệnh deny from all mặc dù apache sẽ ko kết nối đến cơ sở dữ liệu nhưng apache vẫn trả lời các request. . đó là trả về lỗi 403.
Khi apache phải trả lời hàng trăm ngàn reqest như thế các bạn biết điều gì sẽ xảy ra rùi đóa.
Các bác test thử rùi cho ý kiến nha. Em test thấy good. dùng tool tự ddos site mình. ddos đc vài giây là bị lock ip .
---------- Post added at 01:50 PM ---------- Previous post was at 01:41 PM ----------
BONUS 1 cach hieu qua , nhung hoi bat tien
@domain:dGdK8ZQg/FjU
****************************
user và pass ở trên là : @domain:
Trên ðây chỉ là ví dụ bạn có thể vào http://google.com và Search với từ khóa .htaccess Generator ðể tự tạo password theo ý muốn.
Bạn nên ðể password có ký tự @ phía trýớc và dấu : phía sau vì WinXP ðã fix lổi cho nhập Password dạng URL http://user: /, nếu có @ và : thì Attacker sẽ không thể výợt qua bằng cách nhập trực tiếp User và Pass bằng URL.
Sau ðó công việc của bạn phải làm là lên một cấu hình Firewall phù hợp cho site của bạn.
.htaccess
Code:
********************************************************
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tenmienbitancong.com [NC]
RewriteRule \.(php|html|asp)$ [url]http://sitefirewall.com[/url] [NC,R,L]
********************************************************
Với dòng Mod Rewrite trên bạn có thể chống tới 95% tác hại của DDoS gây nên từ xFlash nó ngãn cản cho bạn ðýợc sự nguy hại từ việc tuy cập tự ðộng của xFlash ðến site của bạn.
Giải thích: trên máy chủ của bạn chạy mã lập trình của PHP, ASP, HTML khi một Attacker tấn công vào site bạn cụ thể ví vụ nhý tấn công vào http://tenmienbitancong.com/ nó sẽ ðọc file index.php lúc này Mod Rewrite sẽ hoạt ðộng và Foward về http://sitefirewall.com sau ðó từ http://sitefirewall.com bạn ðặt một ðoạn mã nhý sau:
<a>Vao Web SIte</a>
Nếu là khách truy cập thật thì họ sẽ Click vào "Vao Web SIte" ðể ðýợc truy cập vào site. còn nếu vào "hiden xFlash" và nó sẽ không vào ðýợc. Bạn có thể nghiên cứu 1 số kiểu ModRewrite Kết hợp với mã nguốn trên site của bạn ðể config site của bạn chống xFlash tốt hõn.
Với 2 cách trên bạn có thể yên tâm là site của bạn sẽ vượt qua ðược xFlash.
Còn về phýõng pháp phòng thì duy nhất chỉ có 1 phýõng pháp : truy cập vào ðịa chỉ http://macromedia.com/shockwave/down...h&promoid=BIOW và nâng cấp lên phiên bản "FLASH PLAYER" mới nhất bạn sẽ hoàn toàn yên tâm là bạn sẽ không còn bị là một Client hidden cho DDoS của xFlash. Và việc nâng cấp này là hoàn toàn miễn phí