Làm cách nào để CDN bảo vệ các trang web chuyển đổi dự phòng khỏi các cuộc tấn công DDoS?


9

Tôi đang trong quá trình thiết kế cho một ứng dụng web Java mà cuối cùng tôi có thể sẽ triển khai lên Google App Engine (GAE). Điều thú vị về GAE là tôi thực sự không phải lo lắng về việc củng cố ứng dụng của mình khỏi cuộc tấn công DDoS đáng sợ - Tôi chỉ xác định "trần thanh toán" và nếu lưu lượng truy cập của tôi đạt đến mức trần này (DDoS hay nói cách khác), GAE sẽ tắt ứng dụng của tôi xuống Nói cách khác, GAE về cơ bản sẽ mở rộng theo bất kỳ số tiền nào cho đến khi bạn không đủ khả năng để ứng dụng chạy lâu hơn nữa.

Vì vậy, tôi đang cố gắng lên kế hoạch dự phòng, theo đó, nếu tôi đạt mức trần thanh toán này và GAE tắt ứng dụng của tôi, cài đặt DNS trong miền ứng dụng web của tôi sẽ "thất bại" đối với địa chỉ IP không phải GAE khác. Một số nghiên cứu ban đầu đã chỉ ra rằng một số CDN nhất định như CloudFlare cung cấp dịch vụ cho tình huống chính xác này. Về cơ bản, tôi chỉ giữ các cài đặt DNS của mình với chúng và chúng cung cấp API mà tôi có thể nhấn để tự động hóa quy trình chuyển đổi dự phòng. Do đó, nếu tôi phát hiện ra rằng tôi ở mức 99% trần thanh toán cho ứng dụng GAE của mình, tôi có thể nhấn API CloudFlare này và CloudFlare sẽ tự động thay đổi cài đặt DNS của tôi để chỉ ra từ máy chủ GAE sang một số địa chỉ IP khác.

Dự phòng ban đầu của tôi sẽ chuyển sang phiên bản "chỉ đọc" (chỉ nội dung tĩnh) của ứng dụng web của tôi được lưu trữ ở một nơi khác, có thể bởi GoDaddy hoặc Rackspace.

Nhưng rồi nó chợt nhận ra tôi: nếu các cuộc tấn công DDoS nhắm vào tên miền, thì nó có gì khác biệt nếu tôi chuyển từ địa chỉ IP GAE sang địa chỉ IP GoDaddy của tôi? Về bản chất, failover sẽ không làm gì khác ngoài việc cho phép những kẻ tấn công DDoS hạ bệ trang web dự phòng / GoDaddy của tôi!

Nói cách khác, những kẻ tấn công DDoS phối hợp một cuộc tấn công vào ứng dụng web của tôi, được lưu trữ bởi GAE, tại www.blah-whatever.com, đây thực sự là một địa chỉ IP 100.2.3.4 . Chúng khiến lưu lượng truy cập của tôi tăng đột biến lên 98% trần thanh toán và màn hình tùy chỉnh của tôi kích hoạt chuyển đổi dự phòng CloudFlare từ 100.2.3.4 sang 105.2.3.4 . Những kẻ tấn công DDoS không quan tâm! Họ vẫn đang phát động một cuộc tấn công chống lại www.blah-whatever.com! Cuộc tấn công DDoS tiếp tục!

Vì vậy, tôi hỏi: những CDN nào như CloudFlare cung cấp sự bảo vệ nào để - khi bạn cần chuyển sang DNS khác - bạn không có nguy cơ bị tấn công như vậy, tiếp tục tấn công DDoS? Nếu bảo vệ như vậy tồn tại, có bất kỳ hạn chế kỹ thuật nào (ví dụ: chỉ đọc, v.v.) được đặt trên trang web failover không? Nếu không, họ có ích gì?! Cảm ơn trước!


Q tuyệt vời! Rất nhiều điều có thể học được từ điều này :-)
Martijn Verburg

Câu trả lời:


6

Chúng không bảo vệ chống lại các cuộc tấn công DDoS khi trong cấu hình này. CDN không "bảo vệ" trước một cuộc tấn công DDoS - họ chỉ giảm thiểu tác động của nó bằng cách có nhiều phần cứng và băng thông để giải quyết vấn đề. Khi CDN thay đổi cài đặt DNS để trỏ trực tiếp vào máy chủ của bạn, CDN không còn xử lý các yêu cầu cho trang web của bạn - khách hàng không bao giờ thấy IP của CDN, do đó CDN không còn có thể bảo vệ bạn nữa.

Theo như "chúng có ích gì" - Các cuộc tấn công DDoS không phải là điểm sử dụng CDN. Điểm của việc sử dụng CDN là giảm độ trễ giữa khi ai đó yêu cầu một khối dữ liệu lớn từ một trong các máy chủ web của bạn và người đó nhận dữ liệu, bằng cách rút ngắn khoảng cách địa lý giữa máy chủ và máy khách. Đó là một tối ưu hóa hoàn hảo bạn có thể thực hiện; nhưng nó thực sự không được thiết kế để cung cấp bảo mật từ DDoS.


Cảm ơn @Billy ONeal (+1) - để tóm tắt: Tôi muốn "Chuyển đổi dự phòng DDoS" của mình thực sự chuyển hướng các yêu cầu đến các máy chủ CDN, để chúng có thể ném đủ phần cứng / băng thông vào vấn đề để duy trì hoạt động của trang; mặc dù đây không phải là chức năng chính của CDN. Đây là nhiều hay ít phải không? Nếu vậy, một câu hỏi tiếp theo nhanh chóng: nếu tôi đã đi theo con đường này và có chuyển hướng chuyển đổi dự phòng sang CDN, ứng dụng web của tôi có thể tiếp tục hoạt động như bình thường hay CDN chỉ phục vụ nội dung tĩnh (tức là ứng dụng web của tôi sẽ trở thành " chỉ đọc ", v.v.)? Cảm ơn một lần nữa!
herpylderp

@herpylderp: Vâng, điều đó phụ thuộc vào bản chất của trang web. CDN chỉ xử lý nội dung tĩnh hoàn toàn. Nếu máy chủ của bạn thực hiện "những điều thú vị" thì CDN sẽ không giúp bạn. Bạn thường không được chạy mã trên các máy chủ của CDN. Chẳng hạn, trên các trang web trao đổi ngăn xếp, hình ảnh cho mỗi trang web được lưu trữ trên sstatic.com, CDN, nhưng trang web chính được lưu trữ trong các trung tâm dữ liệu riêng của StackExchange.
Billy ONeal

1
CDN thường tính phí dựa trên khối lượng, vì vậy bạn chỉ cần di chuyển chi phí thanh toán từ nhà cung cấp này sang nhà cung cấp khác. AFAIK, giảm thiểu DDoS thường liên quan đến việc tự động chặn phạm vi IP.
Joeri Sebrechts

Cảm ơn @Joeri Sebrechts (+1) - có sự khác biệt nào giữa "dải IP" và "mạng con IP" hay chúng giống nhau không? Tôi hỏi vì GAE cho phép bạn chặn mạng con IP và tôi hy vọng đây là điều bạn đang nói.
herpylderp

7

Tôi làm việc cho Incapsula , một công ty Cloud Security cũng cung cấp các dịch vụ tăng tốc dựa trên CDN (như CF).

Tôi muốn nói rằng mặc dù (như được nêu chính xác bởi @Billy ONeal) CDN tự nó không cung cấp bảo vệ DDoS, Mạng Proxy dựa trên đám mây là một công cụ giảm thiểu DDoS hiệu quả RẤT.

Và do đó, trong trường hợp DDoS trên Cloud CDN, đó không phải là "CDN" mà là "Đám mây" bảo vệ bạn bằng cách lấy tất cả lưu lượng truy cập bổ sung do DDoS tạo ra, trong khi vẫn cho phép truy cập vào trang web của bạn từ các POP khác nhau trên thế giới.

Ngoài ra, vì đây là giải pháp proxy trước cổng, công nghệ này có thể được sử dụng để giảm thiểu các cuộc tấn công DDoS mạng cấp 3-4 (tức là lũ lụt) sử dụng IP giả mạo để gửi nhiều yêu cầu SYN đến máy chủ của bạn.

Trong trường hợp này, proxy sẽ không thiết lập kết nối cho đến khi nhận được phản hồi ACK, do đó ngăn chặn lũ lụt xảy ra.

Ngoài ra còn có một số cách khác bạn có thể sử dụng Cloud để bảo mật trang web (ví dụ: Bad Bot Blocking, WAF dựa trên đám mây) và một số trong số này cũng có thể được sử dụng để giảm thiểu hoặc ngăn chặn DDoS (dừng bot quét là một ví dụ tốt cho sau này) nhưng Điều chính cần hiểu ở đây là tất cả không dựa trên CDN mà dựa trên công nghệ Cloud.


1
Wow - cảm ơn @Igal Zeifman (+1) - câu trả lời tuyệt vời! Một vài câu hỏi tiếp theo dành cho bạn: (1) Khi bạn nói " mạng proxy " hoặc " proxy cổng trước ", tôi cho rằng bạn có nghĩa là đám mây đang cung cấp các máy chủ đóng vai trò trung gian giữa máy khách và máy chủ ứng dụng của tôi, đúng không? Nếu không bạn có thể vui lòng giải thích? Và (2) CloudFlare và / hoặc Incapsula có cung cấp chức năng cho các dịch vụ khác này không (dừng / chặn bot, WAF, v.v.)? Cảm ơn một lần nữa!
herpylderp

Ngoài ra, bởi " POP " Tôi giả sử bạn có nghĩa là "Điểm hiện diện", đúng chứ?
herpylderp

Xin chào, cảm ơn. Nhiều đánh giá cao. Để trả lời câu hỏi của bạn: Proxy cổng trước: thuật ngữ "proxy" ngụ ý mối quan hệ trung gian giữa mạng đã nói và trang web của bạn. Có nghĩa là mạng sẽ "ngồi" trước trang web của bạn (do đó là "cổng trước") như một tuyến phòng thủ đầu tiên, về cơ bản nhận được tất cả lưu lượng truy cập đầu tiên và lọc ra tất cả "nội dung xấu", trong trường hợp của chúng tôi bằng cách sử dụng Bad Bot quy tắc chặn và vectơ, WAF và như vậy. Trong trường hợp DDoS, mạng này cũng sẽ giúp cân bằng lưu lượng bổ sung, do đó ngăn ngừa các vấn đề liên quan đến DDoS. (tức là sự cố) POP = Điểm hiện diện. Bạn đúng 100%.
Igal Zeifman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.