Ban đầu tôi đã đăng bài này tại webmasters.stackexchange.com , nhưng được cho biết tôi sẽ nhận được sự tiếp nhận tốt hơn ở đây.
Trong vài ngày qua, tôi đã phải chịu đựng một cuộc tấn công DDOS (có lẽ là vô tình). Tôi đã nhận được rất nhiều yêu cầu từ một đại lý được xác định là "Mozilla / 4.0 (tương thích; ICS)" mà apache ăn hết tất cả bộ nhớ khả dụng.
Do đó, tôi muốn chặn tất cả các yêu cầu kèm theo tác nhân người dùng này, vì vậy tôi đã thử thực hiện điều này trong httpd.conf:
SetEnvIfNoCase User-Agent "Mozilla/4.0 (compatible; ICS)" bad_user
Deny from env=bad_user
Nhưng khi tôi khởi động lại apache, nó phàn nàn về việc sử dụng deny
ở đây. Không cần phải bọc nó trong một location
hoặc một directory
khối, điều đó có nghĩa là tôi phải thêm một khối mới cho mỗi trang web, có cách nào để tôi có thể từ chối quyền truy cập vào toàn bộ máy chủ không?
CẬP NHẬT: Lỗi tôi nhận được
- Khởi động lại máy chủ web apache2
Lỗi cú pháp trên dòng 4 của /etc/apache2/httpd.conf: từ chối không được phép ở đây [fail]
<Location>
khi sử dụng vì nó ghi đè mọi hạn chế ủy quyền khác<Directory>
, trừ khi bạn thêmAuthMerging And
. Xem cảnh báo bảo mật vềRequire
tài liệu apache: httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require