Hạn chế DDoS với mod_evasive

Tác giả server360, T.Tám 08, 2012, 09:33:36 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Hạn chế DDoS với mod_evasive


mod_evasive là một module của Apache cho phép chúng ta hạn chế các cuộc tấn công bằng DDos. mod_evasive sẽ hạn chế số kết nối của một clients trong một thời gian nhất định, bằng cách đó có thể chống lại được các cuộc tấn công DDos.

Sau đây tôi xin hướng dẫn cách cài đặt mod_evasive cho Apache 2. Ở tại command line gõ các lệnh sau:

Mã nguồn [Chọn]
cd /usr/local/src

wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz

tar -xf mod_evasive_1.10.1.tar.gz

cd mod_evasive


Tại thời điểm này, phiên bản mới nhất là 1.10, các bạn có thể vào   Đăng nhập để xem liên kết để cập nhật phiên bản cho nó.

Tiếp tục đánh lệnh sau:

Mã nguồn [Chọn]
apxs -cia mod_evasive20.c

Nếu xuất hiện lỗi như sau -bash: apxs: command not found thì do các bạn chưa cài apxs

Mã nguồn [Chọn]
yum install httpd-devel

Sau đó thêm dòng sau vào file cấu hình apache:

Mã nguồn [Chọn]
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 6
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule>


Việc cuối cùng chỉ là khởi động lại Apache:

Mã nguồn [Chọn]
/etc/init.d/httpd restart

Giải thích ý nghĩa các tham số:

       
  • DOSHashTableSize: là độ lớn của bản ghi để lưu trữ thông tin.
  • DOSPageCount: là số lần mà một client request trên cùng một trang, và ip của client này sẽ bị ban khi số lượng request trong một thời gian là DOSPageInterval vượt quá quy định.
  • DOSSiteCount: là số lần mà client request trên website của bạn, và ip của client sẽ bị ban khi số lượng request vượt quá trong một thời gian là DOSSiteInterval.
  • DOSBlockingPeriod là thời gian mà client vi phạm bị ban và được tính bằng giây.
Ngoài ra còn có các tham số khác như là DOSEmailNotify, DOSLogDir, DOSWhitelist... các bạn có thể tìm hiểu thêm.