Access Hub Collector
Đồng bộ từ mã nguồn lúc 10:57, 03/10/2026
Skip to content

Báo cáo phân tích và đánh giá rủi ro ANBM: nền tảng giám sát máy chủ ​

Theo mẫu "Báo cáo phân tích & đánh giá rủi ro ANBM" (góc nhìn EA). Trả lời ba câu hỏi: rủi ro nằm ở đâu trong kiến trúc, ảnh hưởng tới năng lực nào, cần đổi kiến trúc gì để giảm rủi ro dài hạn.

24 phút đọcCập nhật 01/10/2026access-hub-collector, docs/architecture/reports/risk-assessment-anbm.md
Trạng tháiBẢN NHÁP, phiên bản 0.1, 2026-09-30. Chưa có sign-off của bộ phận an ninh
Tài liệu tầng trênL1 HLD
Nguồndocs/07-security.md, docs/03, docs/04, docs/13, ADR 0007, 0010, và đối chiếu mã nguồn hiện có của Collector (đọc, không chạy, không thay đổi)

Nhãn trạng thái dùng xuyên suốt:

  • ĐÃ CÓ: có trong mã và (nếu ghi) có kiểm thử.
  • THIẾT KẾ: có trong tài liệu, mã chưa làm hoặc chưa kiểm chứng.
  • THIẾU: chưa có cả trong thiết kế.

Đây là đánh giá dựa trên đọc mã và tài liệu, không phải pentest. Chưa có thử nghiệm tấn công thực tế nào. Phần Access Hub của giám sát (HUB-*) chưa xây nên mọi kiểm soát phía Access Hub chỉ ở mức thiết kế.

1. Thông tin chung ​

  • Hệ thống: Nền tảng giám sát máy chủ gồm Agent (trên máy chủ khách), Collector (data plane), phần giám sát của Access Hub (control plane).
  • Domain: hạ tầng và vận hành, đa tenant.
  • Mức độ quan trọng: đề xuất Cấp 3, Business Operational (chưa xác nhận, xem L1 mục 12). Mức này ảnh hưởng ngưỡng chấp nhận rủi ro.
  • Ngày đánh giá: 2026-09-30.
  • Người thực hiện: trợ lý lập trình (bản nháp). Chưa có người rà soát.
  • Stakeholders: chưa chỉ định (bảo mật, vận hành, dev Access Hub, dev Go).

2. Mục tiêu đánh giá ​

  • Xác định rủi ro ANBM trên kiến trúc agent, collector, kho số liệu, Redis, tích hợp Access Hub.
  • Phân biệt trung thực: đã cài, mới thiết kế, còn thiếu.
  • Đề xuất giảm thiểu ngắn hạn và dài hạn.

3. Phạm vi đánh giá ​

LớpNội dung trong phạm vi
ApplicationAgent Go, Collector Go (ingest, worker, admin), phần Access Hub sẽ xây
IntegrationAgent tới Collector (HTTPS, protobuf), Collector tới Access Hub (hubclient), Access Hub tới Collector (admin API /internal/v1/*)
DataRedis (registry, presence, bus, outbox), VictoriaMetrics, WAL trên máy chủ, thông tin đăng nhập agent
TechnologySystemd, gói cài, kho gói, mạng giữa các thành phần
Identity & AccessLicense, agent token, token admin của Collector, token collector phía Access Hub, quyền monitoring.*

Ngoài phạm vi: bảo mật của phần Access Hub sẵn có (PAM, IaC, phê duyệt), hạ tầng mạng của khách hàng.

4. Tổng quan kiến trúc ​

4.1. Sơ đồ (STD-DIAG, Mermaid) ​

mermaid
%%{init: {"flowchart": {"curve": "basis"}}}%%
flowchart LR
    classDef owned fill:#2d4a3e,stroke:#5fb37a,color:#fff
    classDef datastore fill:#3a2d4a,stroke:#a06fd9,color:#fff
    classDef sensitive fill:#5a2d2d,stroke:#d96f6f,color:#fff
    classDef entity fill:#3a3320,stroke:#d9b84a,color:#fff
    classDef infra fill:#444,stroke:#aaa,color:#fff

    AG([Agent trên máy chủ]):::entity
    LB[Cân tải TLS]:::infra
    IN[Ingest]:::owned
    BUS[[Bus Redis Streams]]:::infra
    WK[Worker]:::owned
    RD[(Redis)]:::datastore
    VM[(VictoriaMetrics)]:::datastore
    AH[Access Hub]:::sensitive

    AG -->|Đẩy số liệu, enroll| LB
    LB --> IN
    IN -.-> BUS
    BUS -.-> WK
    IN --> RD
    WK --> VM
    WK -.->|Sự kiện qua outbox| AH
    AH -->|Đẩy registry, truy vấn| IN

Chú thích: xanh lá = thành phần tự xây, tím = kho dữ liệu, đỏ = vùng nhạy cảm (nguồn sự thật danh tính và luật), vàng = tác nhân ngoài, xám = hạ tầng, nét liền = đồng bộ, nét đứt = bất đồng bộ. Sơ đồ rút gọn (bỏ admin API riêng, vmalert, vm-long).

Biên tin cậyGiao thứcXác thựcTrạng thái
Agent tới CollectorHTTPS, TLS 1.2 trở lên, protobufBearer token agent (dạng mờ, băm SHA-256 ở registry)ĐÃ CÓ (TLS tùy chọn bật ở Collector, xem S-03)
Collector tới Access HubHTTP hoặc HTTPS (hubclient)Bearer token collectorĐÃ CÓ phía Collector, phía Access Hub THIẾT KẾ
Access Hub tới Collector (admin)HTTP, nghe 127.0.0.1:9101 mặc địnhToken admin, tối thiểu 24 ký tự, so sánh thời gian hằngĐÃ CÓ
Collector tới RedisRESP, TLS tùy chọnrequirepassĐÃ CÓ (dev), TLS THIẾT KẾ cho sản xuất
Collector tới VictoriaMetricsHTTPKhông cóĐÃ CÓ, không xác thực, chỉ giới hạn mạng

4.2. Các điểm trọng yếu ​

  • Điểm truy cập từ internet: cổng ingest và enroll (/agent/v1/*) qua cân tải.
  • Luồng nhạy cảm: License, agent token, token admin và token collector, số liệu theo công ty.
  • Thành phần lõi: registry trong Redis (quyết định agent nào được nhận), admin API (có thao tác xóa dữ liệu).
  • Điểm tích hợp bên thứ ba: kho gói và khóa ký (chưa chọn, Q2, Q3), kho chuỗi thời gian.

5. Phương pháp đánh giá ​

  • Khung: STRIDE trong docs/07, tham chiếu OWASP ASVS ở mức khái niệm, chưa ánh xạ chính thức sang NIST hoặc ISO 27001.
  • Phương pháp: đọc tài liệu, đọc mã (danh sách tệp đã xem ở phần 7), chấm điểm Impact x Likelihood, rà soát kiến trúc.
  • Thang điểm (do tác giả bản nháp đặt, chưa xác nhận): Impact và Likelihood mỗi bên từ 1 đến 4 (Thấp 1, Trung bình 2, Cao 3, Rất cao 4). Điểm = Impact x Likelihood, từ 1 đến 16. Nhóm: 12 đến 16 Critical, 8 đến 11 High, 4 đến 7 Medium, 1 đến 3 Low.
  • Giới hạn: chưa có kiểm thử xâm nhập, chưa có quét lỗ hổng phụ thuộc, chưa xem phần Access Hub (chưa tồn tại).

Mã đã xem (chỉ đọc): Collector internal/config, internal/app, internal/ingest, internal/registry, internal/tsdb, internal/admin, internal/hubclient, deploy/. Agent internal/creds, internal/buffer, internal/logx, internal/transport, internal/cli, internal/agent, internal/config, packaging/, cùng agent.proto.

6. Tổng hợp rủi ro (Executive Summary) ​

Mức độSố lượngMã
Critical2S-01, S-03
High6S-02, S-04, S-06, S-07, S-08, S-10
Medium4S-05, S-09, S-11, S-12
Low1S-13
  • Mức rủi ro tổng thể: High cho bản phát hành sản xuất đầu tiên nếu các mục Critical và High chưa được xử lý. Với dev hiện tại: chấp nhận được (Redis và VM chỉ nghe loopback).
  • Nhận định: nền tảng có thiết kế bảo mật đúng hướng (không có RCE, tenant do collector gắn, token băm, hạn mức đầu vào chặt) và phần lớn đã có trong mã. Các khoảng trống lớn nằm ở những phần chưa xây: xoay token, kiểm tra SSRF của checks, ký gói và cập nhật, phía Access Hub, TLS đầu cuối tới Redis và VM, cùng vài chỗ tài liệu hứa nhưng mã Collector chưa có (che log).

7. Danh sách rủi ro chi tiết ​

Cột trạng thái: Đ = ĐÃ CÓ, T = THIẾT KẾ, X = THIẾU. Chi tiết bằng chứng ở phần 8.

IDThành phầnMô tả rủi roImpactLikelihoodScoreNhómBusiness ImpactKhuyến nghịTrạng thái kiểm soát
S-01Agent tokenToken agent bị đánh cắp (đọc credentials.json, lộ log, sao chép image) dùng để giả mạo một máy và bơm số liệu giả tới hết đời token. Chưa có xoay token nên cửa sổ lộ không giới hạn4312CriticalSố liệu và cảnh báo sai của một máy, không leo sang máy khácLàm xoay token (AGT-10, HUB endpoint renew), đặt hạn token, thu hồi nhanhĐ: băm, 0600, thu hồi qua admin API. T: xoay, hạn. X: phát hiện dùng token từ nhiều nguồn
S-02LicenseMã enroll lộ (argv, lịch sử shell, log CI) hoặc dùng lại. Việc dùng một lần và hạn dùng do Access Hub thi hành, mà Access Hub chưa xây339HighMáy lạ đăng ký vào công tyAccess Hub bắt buộc dùng một lần, hạn ngắn, gắn công ty. Kiểm thử hợp đồngĐ: agent nhận qua tệp hoặc stdin, cảnh báo với --token, xóa tệp sau khi enroll, giới hạn enroll theo IP. T: dùng một lần, hạn (ở Access Hub)
S-03Kênh truyềnTLS không bắt buộc ở mọi hop: ingest chạy được không TLS (chỉ cảnh báo), tồn tại tùy chọn bỏ kiểm chứng chứng chỉ ở agent và Redis, hubclient chấp nhận http, VM không TLS. Tài liệu docs/07 nói bản phát hành không có cờ tắt xác minh, mã có4312CriticalLộ token và số liệu trên đường truyền, MITMSản xuất: bắt buộc TLS ở ingest, hubclient, Redis; tắt hoặc cấm insecure_skip_verify trong bản phát hành; cập nhật docs/07 cho khớp thực tếĐ: TLS 1.2 tối thiểu khi bật, agent ghim CA. T: bắt buộc ở sản xuất. X: kiểm tra cấu hình sản xuất tự động
S-04Cô lập tenantMọi công ty chung một VictoriaMetrics và một Redis. Cô lập chỉ nhờ collector gắn company_id, server_id và ép matcher khi truy vấn. Một lỗi ở lớp này là rò rỉ chéo tenant428HighLộ số liệu hạ tầng của công ty khác, mất niềm tinGiữ kiểm thử hai tenant trong CI, thêm kiểm thử truy vấn thù địch (nhãn giả, tiêm ký tự), cân nhắc kho tách theo tenant lớnĐ: gắn nhãn phía collector, reservedLabels, allowlist catalog, quote an toàn, kiểm thử hai tenant và purge theo tenant. X: cô lập ở tầng kho, fuzz truy vấn
S-05Checks (SSRF)Kiểm tra http và tcp do quản trị viên khai báo có thể tới địa chỉ nội bộ của máy chủ đó. Thiết kế chặn link-local (metadata cloud) mặc định. Chưa có mã thực thi checks326MediumDò mạng nội bộ khách hàng qua agent, lộ metadata cloudCài đặt AGT-8 với chặn link-local sau phân giải DNS, không theo redirect, giới hạn thời gian và số lượng, kiểm thử đích bị chặnT: quy tắc chặn, khóa checks_allow_link_local, giới hạn 50 checks, validate cấu hình. X: bộ thực thi checks
S-06Redis, VMRedis chứa registry, hash token, bus, outbox. VM không xác thực. Dev đã ràng buộc loopback, có requirepass, protected-mode; sản xuất chưa có hướng dẫn. Redis dùng một mật khẩu chung, không ACL428HighĐọc, sửa registry (chấp nhận agent lạ), xóa số liệuMạng riêng, TLS, ACL Redis theo vai trò (ingest chỉ được lệnh cần), VM sau proxy xác thực hoặc mTLS, hướng dẫn triển khai sản xuấtĐ: loopback, requirepass, protected-mode, noeviction, mật khẩu 0600 ngoài repo. T: cách ly mạng sản xuất. X: ACL, xác thực VM
S-07Chuỗi cung ứngGói cài và bản cập nhật có thể bị thay. Chưa có khóa ký, chưa chọn kho gói (Q2, Q3). install.sh kiểm SHA256SUMS và chữ ký nếu có khóa công khai, cho phép --allow-unsigned. Mã agent chưa có cơ chế cập nhật và xác minh chữ ký (UpdateManifest chỉ có trong .proto)428HighMã độc lên hàng nghìn máy (R4)Chốt khóa ký và kho gói, ký .deb, .rpm, MSI, SBOM, quét phụ thuộc trong CI, cập nhật theo đợt có xác minh Ed25519 và quay luiĐ: kiểm checksum bắt buộc, cảnh báo khi không ký. T: ký, cập nhật có chữ ký (giai đoạn 3). X: khóa, kho gói, quét phụ thuộc
S-08Ingest (DoS, cardinality)Bão kết nối, bơm số chuỗi cao làm sập ingest hoặc VM. Các hạn mức có nhưng tính theo từng instance, chưa kiểm thử tải339HighGián đoạn giám sát, VM đầyGiới hạn tốc độ toàn cục hoặc ở cân tải, kiểm thử tải 1k, 5k, 10k, theo dõi ahc_* và cảnh báo dung lượngĐ: body 1 MiB, giải nén 8 MiB, 20.000 điểm, 500 chuỗi mỗi agent, allowlist nhãn, timeout máy chủ, giới hạn enroll theo IP, cache âm 60 s tối đa 100.000. T: kiểm thử tải. X: giới hạn toàn cục
S-09Không RCETránh thực thi mã từ xa qua cấu hình. Đã thiết kế chặt, cần giữ khi mở rộng (giai đoạn 4)414MediumChiếm hàng loạt máy chủGiữ ADR 0010, kiểm thử hợp đồng cấm trường lệnh, chỉ cho phép hành động từ xa qua ADR mới có rà soát bảo mậtĐ: .proto không có trường lệnh hay đường dẫn, allowlist khóa cấu hình từ xa, regex RE2 giới hạn 200 ký tự. Ghi chú: exec.Command chỉ ở internal/svc/systemd.go với tên lệnh cố định
S-10Admin API và tokenToken admin tĩnh dùng chung, chưa xoay, chưa mTLS (giai đoạn 3). API có thao tác xóa dữ liệu công ty và máy. Nghe loopback mặc định nhưng sản xuất phải để Access Hub gọi vào428HighXóa hàng loạt số liệu, đăng ký agent trái phép qua registry pushĐặt mạng riêng, mTLS hoặc allowlist IP, ghi audit mọi thao tác hủy, xoay token có quy trình, tách quyền đọc và ghiĐ: token tối thiểu 24 ký tự, so sánh hằng thời gian, loopback mặc định, kiểm thử bắt buộc xác thực. T: mTLS. X: audit thao tác hủy, xoay token, tách quyền
S-11LogTài liệu hứa che bí mật trong log của Collector và có kiểm thử, nhưng bộ ghi log của Collector không có bộ lọc che. Agent có (internal/logx/mask.go)326MediumLộ token trong log tập trungThêm handler che vào NewLogger, kiểm thử "log không chứa token", hoặc sửa tài liệu cho đúngĐ (agent). X (collector)
S-12Danh tính máyNhân bản máy từ image làm trùng danh tính agent, hoặc agent bị thu hồi vẫn gửi. Đã có machine_id băm và phát hiện lệch danh tính, thu hồi đi qua registry (R8, R16)326MediumSố liệu trộn lẫn, agent thu hồi còn được nhậnKiểm thử thu hồi đến cạnh biên (đồng bộ registry), cảnh báo trùng danh tínhĐ: hash machine_id, lệch danh tính, thu hồi qua admin API có kiểm thử. T: cảnh báo trùng ở Access Hub
S-13Quyền riêng tư dữ liệuSố liệu, hostname, IP, kiểm kê phần cứng thuộc công ty. Mất kiểm soát retention hoặc xóa theo yêu cầu212LowVi phạm cam kết dữ liệu nếu có yêu cầu pháp lý (chưa có yêu cầu nêu ra)Xác nhận yêu cầu pháp lý (OQ-4), giữ purge theo công ty và máy, tài liệu vòng đời dữ liệuĐ: machine_id chỉ lưu băm, purge theo công ty và máy. T: retention theo công ty (giai đoạn 4)

Rủi ro về độ bền và sẵn sàng (không thuộc ANBM thuần nhưng liên quan): độ bền outbox phụ thuộc AOF của Redis (mất tối đa khoảng 1 giây với everysec), khoảng 500 ms mẫu đang gộp có thể mất khi worker sập, mỗi tiến trình cần collector_id riêng, VM chưa có snapshot theo lịch. Theo dõi ở docs/13 và docs/08.

8. Phân tích rủi ro theo lớp kiến trúc ​

8.1. Application Layer ​

Khía cạnhBằng chứngNhãn
Xác thực agentToken dạng mờ, băm SHA-256 hex ở registry, tra qua resolver.go, cache âm 60 s tối đa 100.000 mụcĐÃ CÓ
Kiểm tra đầu vàoKiểm tra header và phiên bản proto, hạn mức body, số điểm, số chuỗi, nhãn dự trữ (reservedLabels) và allowlist catalogĐÃ CÓ
Máy chủ HTTPTimeout ReadHeader 10 s, Read và Write 30 s, Idle 120 s, header tối đa 64 KiB, TLS tối thiểu 1.2 khi bậtĐÃ CÓ
Bí mật cứng trong mãKhông phát hiện trong phần đã xem. Chưa chạy quét bí mật tự độngChưa kiểm chứng đầy đủ
Che logAgent có, Collector chưa (S-11)Một phần
EnrollGiới hạn theo IP, tôn trọng TrustedProxies khi lấy IP thật (clientIP)ĐÃ CÓ
Checks (SSRF)Chưa có mã thực thi (S-05)THIẾT KẾ

8.2. Integration Layer ​

  • Agent tới Collector: bearer, TLS 1.2 trở lên, X-AH-Proto để chống lệch phiên bản. Redirect bị tắt ở transport của agent (CheckRedirect trả ErrUseLastResponse).
  • Collector tới Access Hub: hubclient dùng http.Client thường với bearer, base_url nhận http hoặc https. Không có mTLS hay chữ ký thông điệp. Gửi sự kiện idempotent (seq tăng chặt), thử lại qua outbox.
  • Access Hub tới Collector: admin API, xem S-10.
  • Tin cậy giữa các hệ thống: một token tĩnh mỗi chiều. Chưa có xoay, chưa có mTLS (giai đoạn 3).
  • Mock Access Hub (mockhub) thay Access Hub ở dev: mọi kiểm thử hợp đồng hiện chạy với mock, không với hệ thật.

8.3. Data Layer ​

KhoDữ liệuBảo vệ hiện tạiKhoảng trống
RedisRegistry (hash token), trạng thái presence, bus, outboxLoopback, requirepass, protected-mode, noeviction, AOF everysec cộng RDB (dev)TLS, ACL, mã hóa lúc nghỉ, bản sao lưu
VictoriaMetricsSố liệu theo company_id và server_idLoopback (dev và unit systemd)Không xác thực, không TLS, không snapshot theo lịch, không cô lập theo tenant ở kho
Máy chủ kháchcredentials.json (0600, ghi nguyên tử, từ chối nếu quyền lỏng), WAL 0600Quyền tệp, hardening systemd, DPAPI trên Windows (thiết kế)Windows chưa có mã (AGT-7)
Access Hub MySQLBảng monitoring_* dự kiếnChưa xâyToàn bộ THIẾT KẾ

Phân loại dữ liệu: chưa có tài liệu phân loại chính thức. Đề xuất, chưa xác nhận: token và khóa là "bí mật", số liệu và kiểm kê là "nội bộ khách hàng".

8.4. Technology Layer ​

  • Agent: tệp tĩnh không CGO, systemd hardening trong deploy và packaging, tài khoản dịch vụ riêng (accesshub-agent). AGT-6 mới xong một phần: chưa có ma trận distro thật, chưa chạy công cụ rpm, chưa có khóa ký.
  • Collector: unit systemd có sẵn cho dev và mẫu triển khai; hướng dẫn triển khai sản xuất chưa hoàn tất (đang viết bởi luồng công việc khác).
  • Quản lý bản vá: chưa có quy trình cập nhật Redis, VM, Go runtime. Cần đưa vào tài liệu vận hành (X-10).

8.5. Identity & Access ​

Danh tínhCơ chếVòng đờiTrạng thái
LicenseDo quản trị viên tạo ở Access Hub, dùng một lần, có hạnThi hành ở Access HubTHIẾT KẾ
Agent tokenĐổi từ License, dạng mờ, băm khi lưuThu hồi qua registry. Xoay: renew trả 503 (Access Hub chưa có endpoint), agent chưa có logic xoayMột phần (xoay THIẾU)
Token admin CollectorToken tĩnh, tối thiểu 24 ký tựKhông xoay tự độngĐÃ CÓ, xoay THIẾU
Token collector (Access Hub)BearerKhông xoay tự độngPhía Collector ĐÃ CÓ
Người dùng cuốiQuyền monitoring.* theo công ty trong Access Hub, CompanyScopeSẵn có của Access HubTHIẾT KẾ (chưa gắn vào giám sát)

Thiếu MFA hay SSO cho endpoint collector phía Access Hub đã ghi ở Q15, chưa quyết định.

9. Phân tích rủi ro theo Business Capability ​

CapabilityHệ thống liên quanMức rủi roẢnh hưởng
Thu thập số liệu (Core)Agent, S-01, S-03, S-07HighSố liệu sai hoặc lộ, máy chủ bị cài mã độc nếu chuỗi cung ứng hỏng
Lưu và truy vấn theo tenant (Core)Collector, VM, Redis, S-04, S-06HighRò rỉ dữ liệu hạ tầng chéo công ty
Phát hiện mất tín hiệu và cảnh báo (Core)Collector, outbox, Access Hub, S-08, S-10MediumMất hoặc chậm cảnh báo, cảnh báo giả
Đăng ký và danh tính agent (Core)Access Hub, Collector, S-01, S-02, S-12HighMáy lạ nhập hệ thống, danh tính trùng
Quản trị luật và giao diện (Management)Access HubChưa đánh giá đượcChưa xây
Phân phối bản cài (Supporting)Kho gói, install.sh, S-07HighLan truyền mã độc quy mô lớn

10. Đánh giá nguyên nhân gốc (Root Cause) ​

  • Giai đoạn hóa hợp lý nhưng còn khoảng trống chưa ghi: các kiểm soát nằm ở giai đoạn 3 (mTLS, cập nhật ký, HA) là quyết định có ý thức trong roadmap; khoảng trống thật là những mục tài liệu hứa mà mã chưa có (che log Collector, cờ tắt xác minh TLS) và ADR lệch thực tế (ADR 0009, ADR 0005, xem chỉ mục ADR).
  • Phụ thuộc vào phần chưa xây: các kiểm soát dựa vào Access Hub (dùng một lần, hạn, xoay token) chưa kiểm chứng được vì HUB-* chưa bắt đầu.
  • Kiểm thử bằng mock: hợp đồng chỉ chạy với mockhub, chưa có kiểm thử với Access Hub thật.
  • Chưa có chủ sở hữu: rủi ro và khóa ký chưa có người phụ trách được chỉ định.

11. Kế hoạch xử lý rủi ro (Remediation Plan) ​

Chủ sở hữu và hạn: chưa chỉ định, cần bộ phận bảo mật và chủ sở hữu sản phẩm gán. Ưu tiên là đề xuất.

IDHành độngLoạiPriorityOwnerDeadline
S-03Bắt buộc TLS ở sản xuất cho ingest, hubclient, Redis. Cấm insecure_skip_verify trong bản phát hành. Sửa docs/07 cho khớpQuick winCriticalchưa chỉ địnhTrước phát hành đầu tiên
S-01Xoay và hạn token agent (AGT-10 cùng endpoint renew ở Access Hub)StrategicCriticalchưa chỉ địnhGiai đoạn 2
S-02License dùng một lần, hạn ngắn ở Access Hub, kiểm thử hợp đồngStrategicHighchưa chỉ địnhCùng HUB-6
S-11Thêm bộ che log cho Collector và kiểm thửQuick winHighchưa chỉ địnhGiai đoạn 1
S-06Hướng dẫn mạng riêng, ACL Redis, xác thực hoặc proxy TLS cho VMQuick winHighchưa chỉ địnhCùng hướng dẫn triển khai sản xuất
S-10Audit thao tác hủy, mTLS hoặc allowlist IP, quy trình xoay token adminStrategicHighchưa chỉ địnhGiai đoạn 3 (audit sớm hơn)
S-08Giới hạn tốc độ toàn cục, kiểm thử tải 1k, 5k, 10kStrategicHighchưa chỉ địnhX-5, X-7, X-9
S-07Chốt khóa ký và kho gói (Q2, Q3), ký gói, SBOM, quét phụ thuộc, cập nhật có xác minhStrategicHighchưa chỉ địnhTrước phát hành công khai
S-04Kiểm thử truy vấn thù địch, giữ kiểm thử hai tenant trong CIQuick winHighchưa chỉ địnhGiai đoạn 2
S-05Cài AGT-8 với chặn link-local sau phân giải, không redirectStrategicMediumchưa chỉ địnhGiai đoạn 2
S-12Kiểm thử thu hồi biên, cảnh báo trùng danh tínhQuick winMediumchưa chỉ địnhGiai đoạn 2
S-09Giữ ADR 0010, thêm kiểm thử hợp đồng cấm trường lệnhQuick winMediumchưa chỉ địnhLiên tục
S-13Xác nhận yêu cầu pháp lý (OQ-4), tài liệu vòng đời dữ liệuQuick winLowchưa chỉ địnhTrước phê duyệt L2

12. Khuyến nghị kiến trúc ​

12.1. Ngắn hạn ​

  • Đóng các chỗ tài liệu và mã lệch nhau (S-03, S-11). Đây là việc rẻ nhất và giảm rủi ro ngay.
  • Chốt cấu hình sản xuất tối thiểu: TLS bắt buộc, mạng riêng cho Redis và VM, ACL Redis.
  • Thêm audit cho thao tác hủy của admin API.
  • Bổ sung quét phụ thuộc và quét bí mật vào CI.

12.2. Trung hạn ​

  • Xoay token có quy trình cho agent và hai token dịch vụ.
  • Cài checks với chặn link-local, kiểm thử đích thù địch.
  • Kiểm thử tải và kiểm thử truy vấn thù địch trước khi mở cho khách hàng thật.
  • Kiểm thử hợp đồng với Access Hub thật thay mockhub.

12.3. Dài hạn (Target Architecture) ​

  • mTLS giữa các thành phần, khóa và chứng chỉ có vòng đời.
  • Chuỗi cung ứng đầy đủ: khóa ký, kho gói, cập nhật ký có triển khai theo đợt (giai đoạn 3).
  • Cân nhắc cô lập tenant sâu hơn ở tầng kho cho khách hàng lớn hoặc có yêu cầu pháp lý, kèm retention theo công ty.

13. Đánh giá tuân thủ (Compliance) ​

Không có tiêu chuẩn bắt buộc được nêu trong tài liệu hiện có (OQ-4). Bảng dưới là ước lượng sơ bộ của tác giả bản nháp, không thay thế đánh giá chính thức.

Tiêu chuẩnTrạng thái (sơ bộ)
OWASP (khía cạnh đầu vào, xác thực, cấu hình)Partial: đầu vào và xác thực tốt, còn thiếu TLS bắt buộc, che log Collector, quét phụ thuộc
ISO 27001Chưa đánh giá. Chưa có chính sách, quản lý khóa, kiểm soát thay đổi chính thức cho hệ thống này
Chính sách bảo mật nội bộ của tổ chứcChưa có tài liệu để đối chiếu

14. Kết luận và đề xuất ​

  • Rủi ro chính: (1) TLS chưa bắt buộc và tùy chọn tắt xác minh còn trong mã (S-03); (2) chưa xoay token nên token bị lộ có hiệu lực vô hạn (S-01); (3) chuỗi cung ứng chưa có khóa ký, kho gói, cập nhật có xác minh (S-07); (4) kho VM và Redis chưa có xác thực và TLS cho sản xuất (S-06).
  • Mức ưu tiên xử lý: S-03 và S-01 trước phát hành sản xuất đầu tiên; S-06, S-07, S-10, S-11 trước khi mở cho khách hàng thật.
  • Đề xuất hành động:
    • Bộ phận bảo mật xem xét và chấp thuận (hoặc điều chỉnh) thang điểm và kế hoạch xử lý ở phần 11, gán chủ sở hữu và hạn.
    • Bổ sung kiểm soát quản trị: kiểm thử bảo mật trong CI, quét phụ thuộc, cổng kiểm tra trước phát hành (docs/07 đã có danh sách kiểm trước phát hành).
    • Theo dõi định kỳ, đánh giá lại sau mỗi giai đoạn và khi phần Access Hub được xây.

Điều cần xác nhận: thang điểm và cấp độ quan trọng (ảnh hưởng ngưỡng chấp nhận), có chấp nhận insecure_skip_verify trong bản phát hành hay không, và yêu cầu pháp lý (OQ-4).

Trang này có giúp được bạn không?
Sửa trang này

Nội dung đồng bộ từ kho mã access-hub-collector lúc 10:57, 03/10/2026. Khi tài liệu và mã khác nhau, mã thắng.