Nỗ lực đầu tiên của tôi để giải quyết lỗ hổng DoS đã sử dụng cách tiếp cận do Gulzar đề xuất, về cơ bản là giới hạn số lượng cuộc gọi được phép từ cùng một địa chỉ IP. Tôi nghĩ đó là một cách tiếp cận tốt, nhưng, thật không may, nó làm cho mã của tôi thất bại trong một bài kiểm tra hiệu năng.
Vì tôi không thể nhận nhóm thử nghiệm hiệu suất để thay đổi thử nghiệm của họ (một vấn đề chính trị, không phải là vấn đề kỹ thuật), tôi đã thay đổi giới hạn số lượng cuộc gọi được phép trong khoảng thời gian có thể định cấu hình. Tôi đã thực hiện cả số lượng cuộc gọi tối đa và khoảng thời gian có thể định cấu hình. Tôi cũng cho phép thiết lập một giá trị 0 hoặc một số âm mà vô hiệu hóa các giới hạn.
Mã cần được bảo vệ được một số sản phẩm sử dụng nội bộ. Vì vậy, tôi đã từng nhóm sản phẩm chạy bộ kiểm tra hiệu suất và kiểm tra hiệu suất của họ và đưa ra các giá trị mặc định càng nhỏ càng tốt để hạn chế tấn công DoS thực nhưng vẫn vượt qua tất cả các thử nghiệm.
FWIW, khoảng thời gian là 30 giây và số lượng cuộc gọi tối đa là 100. Đây không phải là cách tiếp cận hoàn toàn thỏa đáng, nhưng đơn giản và thiết thực và được nhóm bảo mật của công ty phê duyệt (một cân nhắc chính trị khác).
Nguồn
2008-11-02 20:46:15
Các sản phẩm sử dụng thư viện của tôi phải hoạt động trên Windows và AIX ngoài Linux. –