ADR 0003Chấp nhận
ADR 0003. Cấu hình kéo từ collector, khóa an toàn ưu tiên cục bộ
- Trạng thái: Đã chấp nhận
- Ngày: 2026-09-30
Bối cảnh
Với hàng nghìn máy, không thể sửa tệp cấu hình từng máy để đổi chu kỳ, bật check hay thêm bộ lọc. Đồng thời cấu hình từ xa là bề mặt tấn công nếu collector hoặc kênh bị chiếm.
Quyết định
- Agent kéo cấu hình (
GET /agent/v1/config, ETag, chu kỳ khoảng 300 giây có jitter). Collector không đẩy vào agent (agent không lắng nghe). - Lược đồ cấu hình từ xa là danh sách trắng nhỏ (chu kỳ, check, bật tắt bộ thu, bộ lọc, giới hạn series). Khóa lạ bị bỏ qua và ghi log.
- Cấu hình từ xa không bao giờ chứa lệnh, đường dẫn thực thi hay đường dẫn tệp tùy ý (ADR 0005).
- Các khóa an toàn chỉ đặt được cục bộ:
allow_remote_config,ca_file,insecure_skip_verify,log.file,checks_allow_link_local,proxy_url. allow_remote_config: falsevô hiệu hóa toàn bộ cấu hình từ xa.- Đổi
collector_urltừ xa (AFR-33) chỉ ở GĐ 3 và với điều kiện: URL là https, kèm chữ ký Ed25519 của khóa nhúng, và collector mới phải trả lờipinghợp lệ trước khi chuyển, nếu không giữ collector cũ. Không cho phép hạ TLS. - Giữ bản cấu hình từ xa hợp lệ gần nhất trên đĩa để khởi động lại khi chưa liên lạc được.
Hệ quả
- Quản trị viên điều khiển tập trung, thay đổi có hiệu lực trong vài phút.
- Chiếm quyền collector không đủ để chạy mã trên máy chủ, chỉ ảnh hưởng chỉ số và check (giới hạn bởi danh sách trắng và chặn link-local).
- Cần giới hạn số check (50), độ dài regex (200), engine RE2, để tránh dùng cấu hình làm DoS agent.
- Kiểm thử bảo mật cấu hình độc hại là bắt buộc trong CI.
Phương án đã cân nhắc
| Phương án | Lý do không chọn |
|---|---|
| Chỉ cấu hình cục bộ | Không quản lý được hàng nghìn máy |
| Đẩy cấu hình vào agent | Agent phải lắng nghe cổng, trái nguyên tắc chỉ đi ra |
| Cho phép mọi khóa từ xa | Mở rộng bề mặt tấn công, khó đảm bảo an toàn |