Infrastructure Security as a product for Hotstar

Bài tóm tắt Disney Hotstar 2020 3. Quy mô lớn Độ khó: Dễ

Disney Hotstar · 2020 · 3. Quy mô lớn · Độ khó: Dễ — bài gốc

Tải từ Wayback. Các công cụ nội bộ (Praetorian, Tale-Teller, BumbleBee) được hẹn mô tả ở bài sau.

Bối cảnh

  • Engineer Hotstar tự vận hành thứ mình xây, deploy qua AWS Console, manifest Kubernetes hay Terraform. Đội security mới lập được vài tháng (cuối 2019), trước mùa cricket lớn.
  • Bề mặt tấn công: hơn 20 tài khoản cloud, hai chữ số cụm Kubernetes. Năm vùng cần siết: tài nguyên nội bộ lộ public (ingress, resource policy), bản ghi DNS bỏ quên (subdomain takeover), quyền vượt mức cần, secret, và trách nhiệm/kiểm toán (tài sản phải có chủ).

Thay đổi chính

  • Trách nhiệm chia sẻ: khẩu hiệu "bạn chịu trách nhiệm cho hạ tầng bạn sở hữu và truy cập"; đội security cung cấp hướng dẫn và công cụ ít đổi quy trình nhất, team lead (vốn đã quen các guideline chung) phổ biến xuống.
  • "Control line và mop-up" (mượn từ chữa cháy rừng): với mỗi mục tiêu, thống nhất một ngày; sau ngày đó phát hiện realtime và xử lý ngay mọi vi phạm mới; vi phạm có từ trước được quét toàn bộ, chia theo chủ dịch vụ và dọn dần. Ví dụ "không để tài nguyên AWS nội bộ public": giáo dục → bật giám sát liên tục security group và resource policy → đánh dấu ngày, quét toàn bộ → vi phạm mới ưu tiên cao nhất → vi phạm cũ giao team lead.
  • "Hot-spotting và knock-down": dùng số liệu từ quét để tìm chỗ tập trung vấn đề, định hướng buổi phổ biến và chọn security champion.
  • Công cụ: thử Scout, Security Monkey (hợp cho kiểm toán tháng/quý, nhiễu cao) rồi tự viết Praetorian: một nơi duy nhất gọi API AWS và chụp snapshot tài nguyên cho các công cụ khác phân tích, để tránh bị AWS throttle. Quét secret dựa trên Yelp detect-secrets (Tale-Teller); nền tảng cảnh báo chung BumbleBee. Giám sát mọi thay đổi Route53, báo ngay khi bản ghi A/CNAME/ALIAS trỏ tới tài nguyên không còn.
  • Quyền: cổng quản lý truy cập (do DevOps làm) cấp quyền có thời hạn cho Console, bastion, database; mặc định quyền nền, xin thêm phải duyệt bởi team lead hoặc security; MFA cho mọi người dùng. CloudTrail, AWS Config và log của cổng truy cập cho kiểm toán; hướng tới zero trust.

Vì sao

  • Theo Hotstar: checklist và quy trình không giải quyết được vấn đề ở một tổ chức engineering tự chủ; security phải được "cắm" vào hệ thống, không là việc của từng developer.
  • Ví dụ secret: phát hiện tự động cho thấy chỉ 5% secret (sau khi bỏ dương tính giả) là quan trọng và đang dùng ở production; tập trung phổ biến và xoay key cho nhóm đó.

Bài học cho SWE

  • Tách "chặn cái mới" khỏi "dọn cái cũ" bằng một mốc ngày: giám sát realtime chỉ có ích khi backlog cũ không nhấn chìm cảnh báo mới.
  • Một lớp thu thập trạng thái cloud dùng chung cho mọi công cụ kiểm tra rẻ hơn mỗi công cụ tự gọi API.
  • Quyền có thời hạn, có duyệt, có log thay cho quyền thường trực.

Liên quan