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
e cảm ơn, cái này có giống rate limit của cloudflare k bác
Rate limit nó nằm ở firewall cứng hoặc mềm. Chứ cái waf như mình dùng thì nó có db các mối đe doạ tiềm ẩn xong nó dựa vào đó nó chặn thôi. Chứ k setup rate limit được.
 
Đổ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.
e có kiểm tra lại rồi. lb đang cho ip của cloudflare vào thôi nên k vấn đề gì ạ. Team e cũng quyết định làm mới cái api đang bị tấn công (dùng dữ liệu của bên khác chứ k lấy dữ liệu người dùng gửi lên nữa) làm xong chắc cũng tránh đc chút.
 
họ có dịch vụ cho thuê proxy, và đổi proxy tầm 20 requests một lần

thế nên dùng cloudflare không chưa hết

dùng thêm google recaptcha nữa, nếu api hoạt động cho frontend.

thấy mấy site làm ntn

gửi đến google recaptcha lấy token, dùng token gửi request đến api. dùng recaptcha v3 thì ok hơn v2.

thực ra cái google recaptcha vẫn bypass đc, nhưng khó và lâu hơn. recaptcha v2 thì có dịch vụ bypass.

dùng frontend thì bật luôn chế độ chống devtools để chống lộ request cơ bản. dùng burp suite thì vẫn dò ra như thường, nhưng làm họ tốn thời gian hơn khi mình thay đổi gì đó ở api

dùng frontend thì thêm khoản lazy load nữa
 
Theo tôi fen thuê hẳn chống ddos của các ông lớn nước ngoài hoặc đầu tư con firewall cứng về mà chạy. :sweat:
Làm ăn mà suốt ngày bị ddos thì làm ăn sao nổi.
 
họ có dịch vụ cho thuê proxy, và đổi proxy tầm 20 requests một lần

thế nên dùng cloudflare không chưa hết

dùng thêm google recaptcha nữa, nếu api hoạt động cho frontend.

thấy mấy site làm ntn

gửi đến google recaptcha lấy token, dùng token gửi request đến api. dùng recaptcha v3 thì ok hơn v2.

thực ra cái google recaptcha vẫn bypass đc, nhưng khó và lâu hơn. recaptcha v2 thì có dịch vụ bypass.

dùng frontend thì bật luôn chế độ chống devtools để chống lộ request cơ bản. dùng burp suite thì vẫn dò ra như thường, nhưng làm họ tốn thời gian hơn khi mình thay đổi gì đó ở api

dùng frontend thì thêm khoản lazy load nữa
E cảm ơn! để e dùng recaptcha xem sao.
Theo tôi fen thuê hẳn chống ddos của các ông lớn nước ngoài hoặc đầu tư con firewall cứng về mà chạy. :sweat:
Làm ăn mà suốt ngày bị ddos thì làm ăn sao nổi.
vâng. Hiện tại kinh phí đang ít nên team vẫn dùng các dịch vụ cơ bản của aws thôi. nhiều tiền mới nghĩ đến thuê riêng :D
 
Theo tôi fen thuê hẳn chống ddos của các ông lớn nước ngoài hoặc đầu tư con firewall cứng về mà chạy. :sweat:
Làm ăn mà suốt ngày bị ddos thì làm ăn sao nổi.
Tại sao lại dùng firewall cứng? Vì firewall cứng mạnh hơn firewall mềm à?
Giờ firewall mềm mạnh kém gì cứng đâu? Còn về quản trị mà hiện thớt cũng không biết làm sao để chặn nữa thì chặn ở L4 à?
 
Kinh nghiệm của tui nha, không biết bác có apply được cái nào ko
  • nên có 1 kênh để mình chủ động chặn request (Authorization/Validate request) kiểu vậy trước khi mà đưa xuống xử lý.
  • Về mặt Cloudflare thì bác bật firewall lên chỉ mở cho IP của cloudflare được request tới server (https://support.cloudflare.com/hc/en-us/articles/201897700-Allowing-Cloudflare-IP-addresses)
  • Mình có lần tụi nó attach mà tụi nó có đủ số lượng IP để rout robin 1h, tức là 1 cái IP nếu mà lặp lại thì sẽ sau 1h thì mới thấy cái IP đó nằm trong access log.
 
Sửa lần cuối:
Không liên quan nhưng từ ngày xài cloudflare cảm giác vào voz tầng suất bị lỗi nhiều hơn hẳn :censored:
 
Kinh nghiệm của tui nha, không biết bác có apply được cái nào ko
  • nên có 1 kênh để mình chủ động chặn request (Authorization/Validate request) kiểu vậy trước khi mà đưa xuống xử lý.
  • Về mặt Cloudflare thì bác bật firewall lên chỉ mở cho IP của cloudflare được request tới server (https://support.cloudflare.com/hc/en-us/articles/201897700-Allowing-Cloudflare-IP-addresses)
  • Mình có lần tụi nó attach mà tụi nó có đủ số lượng IP để rout robin 1h, tức là 1 cái IP nếu mà lặp lại thì sẽ sau 1h thì mới thấy cái IP đó nằm trong access log.
e cũng chỉ mở cho ip cf đến server thôi. Trước e còn dùng rate limit của cf nữa thì khá ổn nhưng mà mất nhiều tiền quá nên team e tắt =))
 
E cảm ơn kinh nghiệm của các thím. Giờ e vẫn nghiên cứu thêm giải pháp cho các dự án sau. Dự án này team quyết định bỏ cái api đang bị ddos kia (api này để lưu dữ liệu của user). E sẽ chuyển sang lấy dữ liệu từ nguồn khác do bên thứ 3 hỗ trợ để giảm tải. E có tạo thêm instance rồi nó chạy cũng ổn định hơn, thỉnh thoảng response time có hơi cao.
Tụi nó vẫn đấm e nên phải cố chịu thôi :adore: (attach)

Cái ratelimit của api đang ở tầng app nên e nghĩ sẽ k được hiệu quả mong muốn 10 rpm (do e chạy 8 server). E đang nghiên cứu dùng express-ratelimit-redis hi vọng sẽ ổn :D

Edit: à về dự án thì e k public ra cho các thím xem đc ạ :( tuy là api nó public
 

Tệp đính kèm

  • Screen Shot 2022-02-23 at 11.47.18.png
    Screen Shot 2022-02-23 at 11.47.18.png
    202,7 KB · Lượt xem: 110
E cảm ơn kinh nghiệm của các thím. Giờ e vẫn nghiên cứu thêm giải pháp cho các dự án sau. Dự án này team quyết định bỏ cái api đang bị ddos kia (api này để lưu dữ liệu của user). E sẽ chuyển sang lấy dữ liệu từ nguồn khác do bên thứ 3 hỗ trợ để giảm tải. E có tạo thêm instance rồi nó chạy cũng ổn định hơn, thỉnh thoảng response time có hơi cao.
Tụi nó vẫn đấm e nên phải cố chịu thôi :adore: (attach)

Cái ratelimit của api đang ở tầng app nên e nghĩ sẽ k được hiệu quả mong muốn 10 rpm (do e chạy 8 server). E đang nghiên cứu dùng express-ratelimit-redis hi vọng sẽ ổn :D

Edit: à về dự án thì e k public ra cho các thím xem đc ạ :( tuy là api nó public
Có mấy ncc cloud nó hỗ trợ chống ddos đó fen. digitalocean vultr, linode. deploy thêm mấy con bên đó làm cân bằng tải. Chia ra bị đấm mỗi con một ít cũng đỡ hơn đó :big_smile:
 
Có mấy ncc cloud nó hỗ trợ chống ddos đó fen. digitalocean vultr, linode. deploy thêm mấy con bên đó làm cân bằng tải. Chia ra bị đấm mỗi con một ít cũng đỡ hơn đó :big_smile:
e đang dùng lb aws thì làm thêm cân bằng tải ở trước hay sau lb thím :adore:
 
e đang dùng lb aws thì làm thêm cân bằng tải ở trước hay sau lb thím :adore:
Thường là con api. Sập là sập ở các con đó. Ấy. Bạn kiểm tra con nào hay sập thì thêm sv cho nó sau đó cho bớt request qua để giảm tải. Hiểu k.
Đám cloud kia cũng rẻ bèo à.
 
Mình cũng dùng CF thì thấy khá ổn về khoản chống DDOS, cần thì bật chế độ under attack hay capcha. Còn việc vẫn bị DDOS kiểu này thì mình nghĩ do config chưa tối ưu, hoặc nó tấn công vector khác. Ah, mà mấy bác triển khai CF phải am hiểu web app mình apply, chứ không là ko hiểu được flow, hay gây lỗi lắm (rút kinh nghiệm từ việc triển khai từ cty, team security là người triển khai chính CF, nhưng do ko am hiểu về flow nên app hay bị lỗi, gây ra 1 số incidents...). Nếu dùng AWS API Gateway thì bác có thể config thêm rate limit, ngoài ra AWS WAF cũng hỗ trợ config rate limit luôn (bác cho WAF bảo vệ thằng API sẽ hạn chế được rất nhiều cuộc tấn công, AWS WAF có bộ rules của OWASP cũng khá hay).
 
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 ạ.
API đọc ghi cơ bản thì bác xem đọc ghi ở đâu, có bị bottleneck không ?
Nếu có thì thêm giải pháp caches vào hạ tầng của mình thôi.

DDOS thì bọn CF WAF cũng có đấy, enable hết đi :)
 
Mình cũng dùng CF thì thấy khá ổn về khoản chống DDOS, cần thì bật chế độ under attack hay capcha. Còn việc vẫn bị DDOS kiểu này thì mình nghĩ do config chưa tối ưu, hoặc nó tấn công vector khác. Ah, mà mấy bác triển khai CF phải am hiểu web app mình apply, chứ không là ko hiểu được flow, hay gây lỗi lắm (rút kinh nghiệm từ việc triển khai từ cty, team security là người triển khai chính CF, nhưng do ko am hiểu về flow nên app hay bị lỗi, gây ra 1 số incidents...). Nếu dùng AWS API Gateway thì bác có thể config thêm rate limit, ngoài ra AWS WAF cũng hỗ trợ config rate limit luôn (bác cho WAF bảo vệ thằng API sẽ hạn chế được rất nhiều cuộc tấn công, AWS WAF có bộ rules của OWASP cũng khá hay).
Vâng e cảm ơn ạ. Có cái là e lại k cầm cloudflare nên phải ping người cầm. Đọc qua comment của các bác e quyết định chặn IP mẽo + bật under attach mode nên request giảm tầm 70% rồi ạ :D
 

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