2011-09-19 39 views
6

Tôi muốn điều chỉnh các yêu cầu đến máy chủ web của mình để ngăn chặn các cuộc tấn công web và tấn công từ chối dịch vụ đối với trang web của tôi. Tôi sẵn sàng tương đối lỏng lẻo, điều quan trọng là không ai yêu cầu quá nhiều để làm chậm mọi thứ.Yêu cầu điều chỉnh theo địa chỉ IP trên Apache?

Tôi đã nghĩ đến việc thiết lập điều chỉnh theo địa chỉ IP, do đó yêu cầu từ một IP đã cho sẽ bị chậm lại nếu có quá nhiều yêu cầu được thực hiện trong một khoảng thời gian ngắn.

Một số câu hỏi tôi có--

  • Đây có phải là cách đúng đắn để đi về đối phó với chọc web và các cuộc tấn công DoS ở cấp máy chủ web?
  • Giới hạn tốt để tôi không bất tiện khi người dùng thường xuyên có thể đang làm việc trên mạng IP được chia sẻ là gì?
  • Tôi nên thiết lập điều chỉnh đặc biệt như thế nào? Tôi đang sử dụng Apache/2.2
+0

Bạn đã từng nghĩ đến việc sử dụng mod_cache chưa? Nếu nội dung của bạn không quá năng động, mod_cache có thể giúp ích rất nhiều cho quá nhiều yêu cầu. Như của DOS, trên một mức độ máy chủ web mod_throttle có thể giúp đỡ. Nhưng hãy cẩn thận, nếu các trang của bạn có nhiều đối tượng (một HTML nhưng 80 hình ảnh và một số JS + CSS), bạn có thể phải thận trọng. Khi mod_cache tôi có thể giúp bạn, nhưng tôi không quá tự tin trong mod_throttle; chủ yếu là vì tài liệu là thưa thớt. –

+0

Trang web của tôi cào dữ liệu trực tiếp từ API và tôi lo lắng về việc không chỉ sao chép, mà còn DoS'ed nếu ai đó thu thập dữ liệu trang web của tôi. Vì vậy, yeah trang web của tôi là khá năng động. – babonk

+0

@babonk, máy chủ của bạn là ai? – TMB

Trả lời

3

"Đây có phải là cách phù hợp ... ở cấp độ máy chủ web không?" Đó có lẽ là lựa chọn tốt nhất mà bạn có. Có thể có các ngưỡng khác nhau trên các phần khác nhau của trang web của bạn: bạn có thể sẵn sàng điều tiết lưu lượng truy cập nhất định hơn các loại khác. Nhưng lý tưởng là các loại cài đặt này sẽ được quản lý ở cấp độ mạng.

"Giới hạn tốt là gì ...?" Nó hoàn toàn phụ thuộc vào lưu lượng truy cập của bạn. Bạn mong đợi bao nhiêu, nơi người dùng thực sự của bạn đến từ, v.v.

Làm cách nào để thực hiện? Có thể viết quy tắc để xử lý loại điều này trong ModSecurity, cũng bảo vệ chống lại một số nội dung khác. Như với câu trả lời mod_evasive, điều này sẽ không hoàn toàn bảo vệ bạn chống lại những kẻ tấn công với rất nhiều tài nguyên theo ý của họ, nhưng nó sẽ buộc họ phải đẩy mạnh trò chơi của họ.

Tôi không nghĩ có bất kỳ thứ gì "được tích hợp vào" Apache httpd sẽ tạo điều kiện thuận lợi cho việc này. Kỳ vọng sẽ là vấn đề với địa chỉ IP lạm dụng (tức là các vấn đề về lưu lượng truy cập mạng) được quản lý ở cấp độ mạng.

EDIT:

Kể từ khi bạn nhận xét ở những nơi khác mà bạn đang sử dụng Rackspace cho lưu trữ, bạn có thể muốn kiểm tra their load balancer API.

+0

Thực sự, không có gì * được tích hợp vào Apache cho loại tình huống này? – babonk

+0

Tại sao điều đó thật đáng ngạc nhiên? httpd được xây dựng để phục vụ HTTP nhanh chóng trong hầu hết các kịch bản thông thường và là nền tảng để phát triển các tính năng nâng cao hơn ... chẳng hạn như điều chỉnh theo từng khách hàng. Như tôi đã nói, đây là điều thường được thực hiện ở một lớp khác (IP stack trên hộp hoặc tại cổng mạng). Bạn nói rằng bạn đang ở trên Rackspace ... Tôi sẽ chỉnh sửa câu trả lời của tôi để cung cấp một liên kết liên quan. –

+0

Cảm ơn bạn đã hướng dẫn tôi về điều này (đặc biệt là liên kết rackspace). Trả lời/tiền thưởng được trao! – babonk

0

Để tránh các cuộc tấn công từ dos/web, bạn có thể khám phá mod_evasive cung cấp cấu hình khác nhau để chặn yêu cầu. http://www.zdziarski.com/blog/?page_id=442

Nó có thể hữu ích để bảo vệ cơ bản, tuy nhiên, nó sẽ không đủ đối với kẻ tấn công được xác định và có kinh nghiệm, người có thể tấn công từ mạng nội bộ hoặc sử dụng một loạt proxy máy chủ để ẩn IP của mình.

+0

Điều này yêu cầu cài đặt đặc biệt và tôi đang sử dụng dịch vụ lưu trữ được chia sẻ. Những gì tôi có thể sử dụng được xây dựng vào Apache? – babonk

Các vấn đề liên quan