Nội dung bài viết:
Đầu tiên nói trước đây chỉ là code hạn chế mức độ của DDOS và ngăn chặn các cuộc tấn công DDOS thông thường mà thôi.
Giới thiệu:
Code này dựa trên phương thức đếm số Request trong 1 khoảng thời gian nhất định do Admin chỉnh. Nếu SỐ Request vượt mức cho phép sẽ khóa truy cập từ IP đó trong 1 khoảng thời gian xác định tùy theo mức độ (Về mức độ mình sẽ nói tiếp phần sau)
Nếu IP đó có quá nhiều lần có tổng request trong thời gian quy định vượt mức cho phép thì ta sẽ dùng file htaccess khóa vĩnh viễn sự truy cập từ IP đó. Tức là hostcủa mình sẽ ko chấp nhận bất kì 1 request nào nữa ngoài việc đưa ra thông báo 403 Forbiden
Hướng dẫn và ví dụ:
Down file đính kèm về và giải nén các bạn sẽ dc các file sau:
laivt_firewall.php
laivt_firewall_conf.php
laivt_firewall_unlock.php
laivt_firewall_install.php
laivt_firewall_uninstall.php
.htaccess
Và các thư mục sau:
laivt_firewall
Các bạn mở file laivt_firewall_conf.php lên để cấu hình Firewall
//--Cau hinh firewall--//
$laivt_fw_conf['max_lockcount']=10;//So lan toi da phat hien dau hieu DDOS va khoa IP do vinh vien
$laivt_fw_conf['max_connect']=15;//So ket noi toi da dc gioi han boi $laivt_fw_conf['time_limit']
$laivt_fw_conf['time_limit']=3;//Thoi gian dc thuc hien toi da $laivt_fw_conf['max_connect'] ket noi
$laivt_fw_conf['time_wait']=20;//Thoi gian cho de dc mo khoa khi IP bi khoa tam thoi
$laivt_fw_conf['email_admin']='admin@sinhvienit.net';//Email lien lac voi Admin
$laivt_fw_conf['htaccess']="../.htaccess";//Duong dan toi file htaccess tren server
//--Ket thuc cau hinh Firewall--//
SAu khi cấu hình xong, các bạn upload 3 file/thư mục sau.
laivt_firewall.php
laivt_firewall_conf.php
laivt_firewall_unlock.php
Thư mục laivt_firewall
Lên ngang hàng với file index.php của code bạn đang dùng.
Upxong thì chmod 777 cho thư mục laivt_firewall và chmod 404 cho file .htaccess trong thư mục này
Tiếp theo, đối với code vBulletin thì các bạn mở file global lên:
Chèn code sau vào dưới dấu
<?php
if (file_exists("laivt_firewall.php"))
include_once "laivt_firewall.php";
Nếu Xtremedia thì bạn làm tương tự với file config.php
Nếu là IPB thì các bạn mở file common.php
chèn vào bên dưới đoạn này:
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}
Tiếp theo bạn upload file .htaccess lên thư mục gốc của site: thường là public_html đối với Cpanel, Plesk, DirectAdmin và là htdocs đối với vistapanel và chmod 666 cho nó.
Với cấu hình như trên thì nếu IP 123.456.789.159 chẳng hạn,
+ Có Số request trong vòng 3 giây vượt quá 15 thì sẽ bị khóa IP tạm thời lần thứ nhất trong vòng 20 giây.
Demo ảnh (Demo ảnh ko phải 20s vì ảnh chụo mình còniigg cao hơn):
+ Nhưng sau khi đc mở khóa IP này lại có Số request trong vòng 3 giây vượt quá 15 thì sẽ bị khóa IP tạm thời lần thứ hai trong vòng 40 giây.
Nếu sự vi phạm cứ lặp lại như vậy thì số thời gian khóa tạm thời sẽ tăng lên theo cấp số nhân của 20 giây. Và nếu sự lặp lại vi phạm này đạt tới lần thứ 10 thì IP này sẽ bị khóa vĩnh viễn và ko thẻ truy cập đc nữa ngoài việc nhìn thấy thông báo sau vào lần bị khóa cuối cùng:
Và từ đó trở đi thì nếu IP này còn request sẽ chỉ nhận dc thông báo sau :
download code: http://sinhvienit.net/@forum/threads/11690-laivt-firewall-1-1-code-antiddos-cho-moi-code-php-by-sinhvienit-net/
Nếu Firewall ko hoạt động các bạn thử offsafe mode của host đi nha. Khi sử dụng nếu thấy lỗi thì post lên đây mọi người cùng khắc phục
Lưu ý: TRong config thì
$laivt_fw_conf['htaccess']="../.htaccess";//Duong dan toi file htaccess tren server
Là đường dẫn tới file .htaccess màu đỏ