Trang

[TUT] Anti DDoS - WebHunter - Phần 3

3. Phương pháp hạn chế.

Nhìn chung với DDoS chúng ta có 2 action cơ bản trong việc hạn chế (sau khi nhận ra được hình thức)

- Thứ nhất là block IP
- Thứ 2 là limit resource.

Block IP có được ưu điểm lớn đó là chặn luôn nguồn tấn công vào, điều này sẽ hạn chế được sự thất thoát tài nguyên, dĩ nhiên rồi vì mục tiêu của anti DDoS là hạn chế sự thất thoát tài nguyên, tuy nhiên bên cạnh đó chúng ta phải đối phó với bài toán khác đó chính là làm sao để lọc một cách cụ thể và chi tiết để không block lộn người dùng hợp lệ. Đây là vấn đề rất quan trọng đấy, nhưng không thảo luận ở đây.

Với cách thứ 2 là limit resource có ưu điểm chính là không block lộn người dùng, bởi vì chúng ta không áp dụng việc block. Thay vào đó chúng ta cần phải tính toán resource phù hợp cho các client, và phân bố cho hợp lý, vì vậy không sợ block nhầm người dùng. Tuy nhiên chúng ta phải đối phó với bài toàn lớn hơn là performance tuning system. Phải cấu hình làm sao cho hợp lý bởi vì lúc này chúng ta cũng đã công nhận rằng nguồn tấn công cũng là người dùng bình thường. Cho nên cũng cần phục vụ như người dùng bình thường.

Và biện pháp cuối cùng đó chính là kết hợp cả hai cái trên lại. Và nó dĩ nhiên là hiệu quả hơn.

Với việc Anti WebHunter, mình chọn biện pháp thứ 2, đó chính là giới hạn resource. Thực ra đây không phải là biện pháp tốt nhất, tuy nhiên bởi vì system của mình thường xuyên bị tấn công với nhiều loại phương pháp khác nhau cho nên buộc mình phải chọn hình thức nào ngăn chặn không chỉ một mà phải có hiệu quả với nhiều phương pháp.

Cụ thể là sau khi tính toán xong số liệu hợp lý, mình điều chỉnh lại firewall và performance tuning system của mình. Theo đó những rules sau đây đang được áp dụng :

- Mỗi IP chi có thể mở một kết nối đến system trong một thời điểm, thực ra sau khi tính toán thì mình nhận ra 1 là đủ, lúc đầu mình giới hạn ở mức 4 nhưng sau đó chuyển xuống 1 và tiếp tục theo dõi, kết quả rằng điều đó không làm ảnh hưởn người dùng, người dùng load vẫn nhanh và ổn định. => không cần nhiều hơn 1.
- Gia tăng thời gian keepalive lên, bởi vì một khi dùng ít kết nối thì cần gia tăng keepalive để việc truyền tải được trơn tru hơn.
- Áp dụng việc cache hợp lý, cache lại những thứ có thể cache, system của mình chủ yếu là trang tin, nội dung dữ liệu chỉ đọc cho nên có thể nói cache là một biện pháp performance tuning rất hiệu quả.
- Không giới hạn thời gian mở connection, bởi vì chỉ mở một kết nối thì có nghĩa là dù nhận được nhiều gói tin nữa thì cũng sẽ bị drop bởi kernel chứ không có kết nối nào được mở.
- Cuối cùng là một khi đã áp dụng những hình thức bên trên thì không cần block IP làm gì nữa, cứ để thoải mái. Dĩ nhiên là mình cũng có áp dụng việc block với syn flood, nhưng trong topic này chỉ nói về WebHunter cho nên mình không đề cập các hình thức khác.
Nói tóm lại, trong bài viết trên của mình chỉ là cách nhìn nhận và giải quyết ván đề của mình, cũng với cách nhìn nhận đó có thể có bạn khác đưa ra hình thức tốt hơn.
- XHACKER -

Chú Ý:

Coppy phải ghi rõ nguồn Dương-UG Blog's
 

0 nhận xét:

Đăng nhận xét

:) :( :)) :(( =))

Copyright © Dương-UG Blog's - Nguyễn Bình Dương