[Question] Hỏi về Nginx và cách chống chọi với DDoS |
23/09/2013 08:19:49 (+0700) | #1 | 278521 |
ctmanh
Member
|
0 |
|
|
Joined: 26/03/2013 02:02:47
Messages: 19
Offline
|
|
Chào các anh chị em trên diễn đàn HVA.
Mình hiện tại đang quản lý một số website nhỏ, mô hình Nginx kết hợp với Web2py
Nginx <----> web2py
Dạo này các site của mình thường bị ddos, mình đã tìm hiểu và cho deny mấy cái IP vào config của Nginx nhưng mà mỗi lần thêm vào là cứ phải khởi động lại Nginx.
Mình tạo một file deny.txt và phát hiện những request khả nghi là tự động cập nhật vào file deyny.txt đó, trong nginx.conf thì include cái file đó vào.
Câu hỏi mình đặt ra ở đây là: mỗi lần file deny.txt thay đổi nội dung thì Nginx lại phải restart lại mới áp dụng được, vậy có cách nào để Nginx đọc được nội dung của file đó mà không cần phải restart thủ công nginx? |
|
|
|
|
[Question] Hỏi về Nginx và cách chống chọi với DDoS |
24/09/2013 05:44:56 (+0700) | #2 | 278531 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
ctmanh wrote:
Mình hiện tại đang quản lý một số website nhỏ, mô hình Nginx kết hợp với Web2py
Nginx <----> web2py
Dạo này các site của mình thường bị ddos, mình đã tìm hiểu và cho deny mấy cái IP vào config của Nginx nhưng mà mỗi lần thêm vào là cứ phải khởi động lại Nginx.
Mình tạo một file deny.txt và phát hiện những request khả nghi là tự động cập nhật vào file deny.txt đó, trong nginx.conf thì include cái file đó vào.
Câu hỏi mình đặt ra ở đây là: mỗi lần file deny.txt thay đổi nội dung thì Nginx lại phải restart lại mới áp dụng được, vậy có cách nào để Nginx đọc được nội dung của file đó mà không cần phải restart thủ công nginx?
Có. Giám sát file đó, mỗi khi có thay đổi thì restart Nginx một cách tự động. Tham khảo inotify, incron, ...
Tuy nhiên, mình nghĩ đó không phải là giải pháp. Cách làm đúng là:
- chạy tcpdump trên server
- phân tích gói packets --> tìm ra điểm khác biệt, thống kê tần suất, ...
- Tiến hành cản lọc một cách tự động: iptables (recent/hashlimit, ...), mod_security (initcol, setvar, deprecatevar, drop, exec, ...) |
|
Let's build on a great foundation! |
|
|
|
|