Tóm tắt
Ngày 14 tháng 10 năm 2020, từ 02:41 đến 02:52 UTC, mọi máy chủ tại AMS-01 đều không thể truy cập được. Một cuộc tấn công theo khối lượng nhắm vào một địa chỉ khách hàng duy nhất đạt đỉnh 340 Gbit/s và làm bão hòa đường truyền lên của trang web. Chúng tôi xử lý bằng cách yêu cầu nhà cung cấp thượng nguồn từ chối tất cả lưu lượng đến địa chỉ mục tiêu, điều này khôi phục lại trang web và khiến một khách hàng đó bị mất kết nối thêm năm mươi phút nữa. Không có dữ liệu nào bị mất và không máy chủ nào bị hại. Trang web không có khả năng làm sạch lưu lượng (scrubbing) vào thời điểm đó, và đó là một quyết định mua sắm, không phải một tai nạn.
Dòng thời gian
Tất cả thời gian theo UTC, ngày 14 tháng 10 năm 2020.
| Thời gian | Sự kiện |
|---|---|
| 02:41:04 | Lưu lượng truy cập vào một địa chỉ khách hàng duy nhất tăng từ khoảng 200 Mbit/s lên 90 Gbit/s trong vòng chưa đầy hai mươi giây. |
| 02:41:30 | Cả hai đường truyền lên của trang web bị bão hòa. Tổn thất gói tin trở nên toàn bộ trên mọi tiền tố tại trang web, không chỉ riêng mục tiêu. |
| 02:42 | Cảnh báo tự động về khả năng truy cập từ ba máy thăm dò bên ngoài. |
| 02:44 | Kỹ sư trực tuyến hoạt động. Cuộc tấn công hiển thị trên biểu đồ cổng và không nơi nào khác, vì việc thu thập luồng của chúng tôi được lấy mẫu ở một tốc độ không thể theo kịp. |
| 02:46 | Đỉnh đo được là 340 Gbit/s. Thành phần là UDP phản xạ, chủ yếu là DNS và NTP, từ hàng chục nghìn nguồn. |
| 02:47 | Quyết định yêu cầu thượng nguồn từ chối tất cả lưu lượng đến địa chỉ mục tiêu. Đây là công cụ duy nhất chúng tôi có. |
| 02:49 | Lệnh từ chối lan truyền tại thượng nguồn đầu tiên. |
| 02:51 | Thượng nguồn thứ hai áp dụng nó. Sử dụng đường truyền lên giảm xuống dưới công suất. |
| 02:52:10 | Trang web hoàn toàn có thể truy cập. Tổng thời gian mất kết nối mà khách hàng nhìn thấy là mười một phút sáu giây. |
| 03:20 | Khách hàng bị ảnh hưởng được liên hệ và được đề nghị một địa chỉ mới. |
| 03:42 | Khách hàng chuyển sang địa chỉ mới; dịch vụ của họ trở lại. |
Nguyên nhân gốc
Nguyên nhân trực tiếp là một cuộc tấn công mà chúng tôi không thể hấp thụ. Điều thực sự gây ra nó là chúng tôi đã bán dịch vụ hosting tại một thành phố nơi các cuộc tấn công quy mô này là chuyện thường, chỉ với hai trăm gigabit đường truyền lên và không có bất kỳ bộ lọc nào, và coi một thỏa thuận từ chối của thượng nguồn là một kế hoạch.
Đó không phải là vận may. Đó là một quyết định, được đưa ra vào năm 2019, ưu tiên chi tiền vào phần cứng, và nó đã sai.
Hai lỗi phụ đã làm cho nó tồi tệ hơn. Việc thu thập luồng của chúng tôi được lấy mẫu theo cách không cung cấp cho chúng tôi chi tiết hữu ích trong một sự kiện thực sự, vì vậy bốn phút đầu tiên được dành để đọc chỉ số interface. Và lệnh từ chối là thủ công, cần một người phải tỉnh táo, xác thực và tự tin, đó là vượt quá ba yêu cầu tại ba giờ sáng.
Thiệt hại với khách hàng
Nói thẳng: chúng tôi đã giải quyết vấn đề của mình bằng cách tắt dịch vụ của họ. Một tuyến từ chối là một quyết định rằng một khách hàng sẽ không thể truy cập để tất cả mọi người khác có thể. Đó là lựa chọn đúng đắn với các công cụ chúng tôi có, nhưng đó vẫn là sự cố của họ chứ không phải của chúng tôi, và họ không mua sản phẩm nào từ chúng tôi hứa hẹn điều khác.
Họ ở lại. Chúng tôi không tính phí họ tháng Mười.
Những gì chúng tôi đã thay đổi
- Always-on scrubbing at the edge, được mua trong vòng ba tuần, bắt đầu từ 1.2 Tbit/s dung lượng. Bộ lọc nằm vĩnh viễn trong đường truyền, vì vậy không có độ trễ phát hiện và không và nút nào cho ai nhấn lúc 02:47. Đây hiện là tiêu chuẩn tại mọi trang web, lên đến 12 Tbit/s tại trang web lớn nhất.
- Uplink của AMS-01 được tăng, đầu tiên lên thêm 200 Gbit/s và sau đó lên 400 Gbit/s như hiện tại.
- Dữ liệu telemetry luồng không lấy mẫu trên mọi trang web, giữ lại vì mục đích vận hành trong bảy ngày. Đây là metadata lưu lượng truy cập cho các cổng của chúng tôi; nó không phải lưu lượng của máy chủ (instance) và không phải nội dung của bất kỳ thứ gì.
- Tuyến từ chối trở thành tự động, với một ngưỡng được ghi lại, một chính sách được công bố, và một email gửi tới khách hàng bị ảnh hưởng trong vòng sáu mươi giây, không phải ba mươi chín phút.
- Các vụ tấn công được công bố trên trang trạng thái, với kích thước và thời lượng, dù có ai chú ý hay không.
Những gì chúng tôi không thay đổi, và tại sao
Chúng tôi không tính phí filtering. Làm sạch cơ bản (scrubbing) được bao gồm trong mọi gói tại mọi trang web và luôn như vậy kể từ ngày chúng tôi mua nó. Một cuộc tấn công không phải là một dịch vụ nạn nhân yêu cầu. Lọc lớp 7 với quy tắc tùy chỉnh tồn tại như là một tiện ích bổ sung, vì nó cần một con người từ phía chúng tôi, và đó là một thứ khác với flood theo khối lượng.
Chúng tôi không loại bỏ tuyến từ chối. Mười hai terabit mỗi giây là một con số, không phải vô hạn, và giả vờ rằng chúng tôi sẽ không bao giờ cần lại công cụ thô thiển đó sẽ là không trung thực. Điều thay đổi là nó giờ được ghi nhận là phương án cuối cùng thay vì bước duy nhất.
Chúng tôi không áp đặt trần lưu lượng trên mỗi khách hàng. Giới hạn tốc độ mỗi khách hàng ở một phần tỷ lệ an toàn của đường truyền lên sẽ ngăn chặn điều này nhưng cũng sẽ làm nghẽn mọi đột biến hợp pháp. Bộ lọc nên nằm ở biên, nhắm vào kẻ tấn công, không phải khách hàng.
Chúng tôi không chuyển khách hàng sang sản phẩm khác. Họ đang chạy thứ họ đã trả tiền, theo gói phù hợp với họ, và không phải lỗi của họ khi ai đó nhắm botnet vào họ.