thắc mắc Chống DDOS cho API

  • Người tạo chủ đề Người tạo chủ đề nhoccom95
  • Ngày bắt đầu Ngày bắt đầu

nhoccom95

Senior Member
Chào các thím, em đấm nhau với tụi ddos site em mấy tháng nay rồi. Trước nó đấm ít e còn đỡ được :beated:. Giờ nó đấm ghê quá nên api thỉnh thoảng down nên xin các thím giải pháp tối ưu hơn ạ . Hệ thống của em đang như thế này:

Domain -> cloudflare -> aws loadbalancer -> server API (aws ec2)

Mỗi server API e chạy 2 cluster node (e dùng pm2 để quản lý). Các server này đọc ghi dữ liệu với 1 con ec2 khác chạy mongodb. Hiện tại e đang dính khoảng 250k request/ phút (e xem trong monitor aws) vào loadbalancer nên các process node hoạt động > 100% hết nên bị đứng liên tục. E không rõ đoạn này thế nào mà process node > 100% nhưng monitor ở aws chỉ hiện khoảng 30-50% cpu.

API server e tạo ec2 t2.medium (2 core 4gb ram) đang chạy 7 con ạ.
MongoDB e tạo ec2 t3.xlarge (4 core 8gb ram) đang chạy 1 con.
Rate limit api là 10requests/ip/phút.

E có kiểm tra con db thì không thấy quá tải nên đoán nó chỉ ở node thôi ạ. Trước đây nó đấm 100k rpm vẫn chạy ngon, nhưng giờ nó đấm e đau hơn nên bắt đầu sập rồi =((. Giải pháp của e là tăng số lượng server chạy node hoặc tăng cấu hình server lên nhưng không biết có ổn không. Thím nào đã từng chống ddos cho e xin giải pháp với ạ :adore: :after_boom:
 
Qua CF rồi thì bật "bots fight mode" với chặn ddos http flood thôi thím. Có phân biệt đc request bẩn và sạch không? Và cho mình thông tin của api đi
 
Qua CF rồi thì bật "bots fight mode" với chặn ddos http flood thôi thím. Có phân biệt đc request bẩn và sạch không? Và cho mình thông tin của api đi
E đang k phân biệt đc, nhiều quá e cũng chưa biết cách nào phân biệt. API e đọc ghi cơ bản thôi ạ.
 
em cũng mới đấm nhau với bọn DDOS xong. cơ mà thằng DDOS e nó mới đai trắng nên cũng dễ đấm. ban đầu e mở cái "Under Attack Mode" của CloudFlare lên chả hiểu sao nó đấm vẫn lủng. sau đó e check IP thấy mấy cái IP DDOS chủ yếu đến từ Mỹ với Ấn nên e block hẳn IP 2 nước này. cách đần độn nhưng tạm thời vẫn hiệu quả nên em để đến giờ chưa thấy bị gì thêm. người dùng cuối của e chủ yếu cũng ở VN và ĐNA mà bot net của thằng kia nó k ở đây nên dùng cách này được chứ trường hợp của bác k biết sao
 
em cũng mới đấm nhau với bọn DDOS xong. cơ mà thằng DDOS e nó mới đai trắng nên cũng dễ đấm. ban đầu e mở cái "Under Attack Mode" của CloudFlare lên chả hiểu sao nó đấm vẫn lủng. sau đó e check IP thấy mấy cái IP DDOS chủ yếu đến từ Mỹ với Ấn nên e block hẳn IP 2 nước này. cách đần độn nhưng tạm thời vẫn hiệu quả nên em để đến giờ chưa thấy bị gì thêm. người dùng cuối của e chủ yếu cũng ở VN và ĐNA mà bot net của thằng kia nó k ở đây nên dùng cách này được chứ trường hợp của bác k biết sao
cái khó là e k ban ip theo quốc gia đc vì sản phẩm. E mới tạo thêm 1 con server 4 core nữa rồi. Có ổn đinh hơn nhưng chắc giải pháp tạm thời :D
 
cái khó là e k ban ip theo quốc gia đc vì sản phẩm. E mới tạo thêm 1 con server 4 core nữa rồi. Có ổn đinh hơn nhưng chắc giải pháp tạm thời :D
Chắc phải có cách để lọc IP sạch chứ nhỉ? Bạn ko tìm được cách à?:after_boom:
Sorry, tui gà mờ nên thắc mắc vậy.
 
à trước e có lọc ra dc danh sách mấy cái IP DDOS mình bằng lệnh
tail -n 10000 /var/log/nginx/access.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more
với điều kiện là thay tạm cái cloudflare bằng 1 cái reverse proxy dùng nginx. apache cũng được cơ mà lệnh trên sẽ sửa theo file log của apache
lệnh trên sẽ list ra những IP nào request đến server nhiều nhất (kiểu kiểu như ảnh dưới cơ mà đây là e chụp lúc e đặt CF trước rồi và k bị ddos nữa). thường thường DDOS thì mấy IP kia nó request tận mấy nghìn/10000 line log. bác cứ chọn từ trên xuống dưới đến ngưỡng bác cho là an toàn là có dc 1 list IP thù địch kha khá rồi. e nghĩ mấy thằng end-user cuối dùng nhiệt tình thì số request cũng k = mấy IP ddos đâu
OnPaste.20220222-172655.png
 
à trước e có lọc ra dc danh sách mấy cái IP DDOS mình bằng lệnh
tail -n 10000 /var/log/nginx/access.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more
với điều kiện là thay tạm cái cloudflare bằng 1 cái reverse proxy chạy nginx, apache cũng được cơ mà lệnh trên sẽ sửa theo file log của apache
lệnh trên sẽ list ra những IP nào request đến server nhiều nhất (kiểu kiểu như ảnh dưới cơ mà đây là e chụp lúc e đặt CF trước rồi và k bị ddos nữa). thường thường DDOS thì mấy IP kia nó request tận mấy nghìn/10000 line log. bác cứ chọn từ trên xuống dưới đến ngưỡng bác cho là an toàn là có dc 1 list IP thù địch kha khá rồi. e nghĩ mấy thằng end-user cuối dùng nhiệt tình thì số request cũng k = mấy IP ddos đâuXem tệp đính kèm 1027958
hiện tại e lại k có con nginx nào. Đợt trước bị nó đấm nginx nó báo max worker nên e bỏ luôn
 
Cloudflare thì chủ yếu do lộ ip từ trước rồi, nên chạy qua cloudflare nó mới k có tác dụng, đổi ip đã rồi hãy bật cloudflare.:smile:
cái này có monitor, log nó ddos qua cái gì, giao thức nào thì dễ xử lý hơn.
mình lâu lâu lại dính tầm hơn triệu request/s :sad:
 
Cloudflare thì chủ yếu do lộ ip từ trước rồi, nên chạy qua cloudflare nó mới k có tác dụng, đổi ip đã rồi hãy bật cloudflare.:smile:
cái này có monitor, log nó ddos qua cái gì, giao thức nào thì dễ xử lý hơn.
mình lâu lâu lại dính tầm hơn triệu request/s :sad:
ý thím là con lb của e bị lộ ạ. Trước e thẳng đến server xong bị ddos mới làm con lb.
 
cái rate limit của bạn có vẻ không hoạt động, chứ nếu hoạt động thì thằng DDOS có 25k IP thì cũng đầu tư phết đấy, không rõ sản phẩm của thớt đáng giá cỡ nào mà đối thủ chịu chơi vậy
68747470733a2f2f692e696d6775722e636f6d2f5633736f3942432e706e67
 
Bài toán khó.
Như kinh nghiệm cá nhân mình làm game cũng bị đối thủ nó ddos suốt. Giải pháp mình làm là lọc IP thủ công, rảnh là ngồi lọc thôi.
Tìm thằng nào kết nối nhiều nhất rồi block.
Nó tấn công mãi rồi cũng chán thôi
 
Bài toán khó.
Như kinh nghiệm cá nhân mình làm game cũng bị đối thủ nó ddos suốt. Giải pháp mình làm là lọc IP thủ công, rảnh là ngồi lọc thôi.
Tìm thằng nào kết nối nhiều nhất rồi block.
Nó tấn công mãi rồi cũng chán thôi
e bị khoảng 6 tháng rồi mà nó chưa chán bác ạ :(
 
ý thím là con lb của e bị lộ ạ. Trước e thẳng đến server xong bị ddos mới làm con lb.
Đổi hết bạn ợ. Dính ddos mà k xác định được nó tấn công từ đâu thì nên tạm tắt setup lại hết ip rồi bật cloudflare lại.
Để ý một điều là cái sendmail có thể làm lộ ip nếu k dùng dịch vụ smtp có hỗ trợ ẩn ip thật máy chủ. Thì ip thật nó sẽ hiện ở header mail.
Và check xem có chạy dns k. Cái dns rất dễ bị flood. Ngập lụt dns. Chặn cái dns request any lại.
 

Thống kê chủ đề

Ngày tạo
nhoccom95,
Người trả lời cuối
buonnguqua10,
Trả lời
66
Lượt xem
8.902
Quay lại
Lên đầu trang