
Mục lục bài viết 10 phần
Nhìn thấy một dòng log trên SIEM không chứng minh pipeline syslog đáng tin. Dưới burst, network loss, TLS reconnect hoặc parser mismatch, record có thể mất, trùng, sai timestamp hoặc bị gán nhầm nguồn. Test plan cần bắt đầu từ sự kiện gốc và đối soát tới record được lưu/truy vấn.
Bài viết giúp bạn
- Câu hỏi kỹ thuật cần trả lời
- Topology và điều kiện đo
- Biến số phải kiểm soát
Câu hỏi kỹ thuật cần trả lời
#RFC 5424 định nghĩa format và kiến trúc lớp cho syslog; transport có thể là UDP, TCP hoặc TLS theo tài liệu liên quan. Do đó, “syslog hoạt động” phải được tách thành originator tạo đúng message, relay/transport chuyển đúng, collector nhận và parser lưu đúng trường.
Phép thử cần trả lời có bao nhiêu event gốc được lưu, mất/trùng ở đâu, thời gian end-to-end bao lâu và danh tính nguồn có đáng tin. TLS bảo vệ kênh theo phạm vi cấu hình nhưng không tự chứng minh event thật, timestamp đúng hoặc record không bị sửa sau ingest.
Topology và điều kiện đo
#Topology tối thiểu có nhiều originator, relay nếu production dùng, hai collector, SIEM/storage, NTP và traffic impairment point. Đặt capture trước/sau relay hoặc load balancer; lưu local device counter/spool và collector ingest counter. Dùng OOB để không mất quyền điều khiển khi thử overload.
Tạo event có sequence ID duy nhất và timestamp nguồn; giữ bảng ánh xạ device–hostname–IP–certificate. Baseline một thiết bị, rate thấp, RFC 5424 và transport mục tiêu trước khi thêm legacy format, burst hoặc failover.

Biến số phải kiểm soát
#Khóa message format, facility/severity, APP-NAME/PROCID/MSGID, structured data, UTF-8, message length và timestamp precision/timezone. Với syslog trên TCP legacy theo RFC 6587, ghi rõ framing octet-counting hay non-transparent theo implementation. Riêng syslog/TLS theo RFC 5425 dùng MSG-LEN, dấu cách rồi SYSLOG-MSG: chiều dài tính theo octet, không phải số ký tự Unicode. Không coi newline-delimited framing là lựa chọn tương đương trong profile TLS này. Ghi TLS version, cipher, certificate, identity validation và session reuse.
Khóa transport, retry/backoff, local buffer/spool, disk limit, queue, batch, load balancer persistence, parser rule, retention và index lag. Traffic profile cần normal rate, burst amplitude/duration, source count và message-size distribution. Không tạo overload production nếu chưa có guardrail.
KPI và bằng chứng đầu ra
#KPI gồm generated/received/indexed count, completeness, duplicate rate, parse error, source attribution, event-time accuracy, ingest latency percentile, query availability và recovery backlog time. Với TLS, đo handshake/reconnect, certificate failure và CPU. Với collector failover, đo gap và ordering.
Bằng chứng tối thiểu gồm generator/originator sequence list, local queue counter, PCAP metadata, relay/collector counter, parser error log, SIEM query export và clock health. Hash hoặc ký tập evidence nếu yêu cầu audit; tránh đưa secret hoặc dữ liệu nhạy cảm vào mẫu.
Ma trận quyết định pass/fail
#Pass/fail phải ghi rõ transport. Zero loss qua TCP/TLS trong một test không bảo đảm delivery khi application đóng session, queue đầy hoặc process crash; UDP không có cơ chế transport xác nhận.
- Tình huống: RFC 5424 hợp lệ · Kỳ vọng: Parse đúng trường và timestamp · Bằng chứng: raw + indexed record · Dấu hiệu fail: đổi/mất field
- Tình huống: Message dài/boundary · Kỳ vọng: Xử lý theo giới hạn công bố · Bằng chứng: length + parser log · Dấu hiệu fail: truncate im lặng
- Tình huống: TLS certificate hết hạn/sai tên · Kỳ vọng: Từ chối hoặc cảnh báo theo policy · Bằng chứng: handshake + alert · Dấu hiệu fail: kết nối không xác thực ngoài ý muốn
- Tình huống: Burst trong budget · Kỳ vọng: Buffer rồi drain, loss dưới ngưỡng · Bằng chứng: sequence + queue · Dấu hiệu fail: mất record không báo
- Tình huống: Collector chính lỗi · Kỳ vọng: Chuyển/queue theo thiết kế · Bằng chứng: connection + count · Dấu hiệu fail: gap/duplicate vượt SLO
- Tình huống: Clock lệch · Kỳ vọng: Phát hiện/gắn cờ, không nhầm event order · Bằng chứng: NTP + dual timestamp · Dấu hiệu fail: điều tra sai timeline
Test plan format, framing và TLS
#Tạo message RFC 5424 chuẩn, trường trống NILVALUE, structured data, Unicode, ký tự escape và kích thước quanh giới hạn. Với TCP, thử nhiều message trong một segment và một message qua nhiều segment để kiểm framing. Không suy message boundary từ packet boundary.
- Baseline raw message và record parsed tương ứng.
- Kiểm facility/severity, hostname, app, process và message ID.
- Kiểm timestamp timezone, fractional seconds và clock skew.
- Kiểm octet-counting cho RFC 5425/TLS; chỉ thử non-transparent framing ở profile TCP legacy riêng.
- Xác nhận không dùng TLS early data/0-RTT theo RFC 9662; kiểm policy phiên bản và cipher đã cập nhật.
- Kiểm TLS trust chain, hostname/SAN, expiry và revocation policy.
- Rotate certificate và quan sát reconnect/backlog.
- Xác nhận parser update không đổi field ngoài ý muốn.
Burst, overload, failover và đối soát
#Tăng event rate và source count theo bậc cho tới mức thiết kế, sau đó tạo burst có thời lượng rõ. Theo dõi queue, disk, CPU, memory và index lag; giảm tải nếu vượt health guard. Đối soát sequence ID ở từng chặng để xác định loss nằm tại originator, relay, collector hay parser.
Fault collector bằng process stop, network blackhole, TLS rejection và storage slow; phân biệt từng loại. Kiểm reconnect storm khi collector trở lại, duplicate do retry và backlog drain có làm event mới bị đói. Query theo event time lẫn ingest time để nhận ra reorder.

Runbook, scale và regression
#Scale theo source, event/s, message size và parser complexity độc lập. Soak test nên có rate nền, burst định kỳ và certificate rotation. Báo cáo capacity phải kèm topology, software, storage/index, retention và query load.
Runbook gồm OOB, cách hạ rate, bật local spool, chuyển collector, tăng queue có kiểm soát, xác nhận disk và rollback parser/certificate. Regression sau đổi device OS, collector/SIEM, TLS policy, load balancer, parser, schema, NTP hoặc retention.
Giới hạn kết luận
#Kết quả chỉ đúng cho originator, format, transport, TLS, collector, parser, storage và traffic profile đã thử. Syslog/TLS bảo vệ transport nhưng không tự cung cấp end-to-end non-repudiation hay chống sửa record sau ingest.
Packet capture không thấy event bị drop trước socket; SIEM query không thấy raw record bị parser bỏ. Vì vậy, completeness cần count/sequence ở nhiều lớp. RFC 5848 mô tả signed syslog nhưng không được coi là đang dùng nếu implementation chưa xác nhận.
Khái niệm cần nhớ
#- Originator/relay/collector: nguồn, trung gian và đích nhận syslog.
- RFC 5424: format/kiến trúc syslog chuẩn hóa.
- Framing: cách phân định message trên byte stream TCP.
- Structured data: trường máy đọc được trong message RFC 5424.
- Event time/ingest time: lúc sự kiện xảy ra và lúc hệ thống nhận/lưu.
- Backlog drain: xử lý hàng đợi sau gián đoạn.
- Completeness: tỷ lệ event nguồn có record đích đối soát được.
Khái niệm cần nhớ
- Baseline
- Dải giá trị bình thường được thu đủ lâu để làm mốc so sánh và đặt ngưỡng.
- SLA
- Cam kết chất lượng dịch vụ gắn với KPI, phạm vi, thời gian và cách đo cụ thể.
- Active test
- Phép đo dùng traffic tổng hợp được tạo có chủ đích giữa các điểm kiểm tra.
TÀI LIỆU ĐỐI CHIẾUTài liệu tham khảo5 nguồn +
Nội dung được biên soạn độc lập, theo hướng vendor-neutral và đối chiếu các tài liệu gốc dưới đây. Tính năng sản phẩm cần được kiểm tra lại theo phiên bản đang sử dụng.
NetVali ưu tiên nguồn tiêu chuẩn và tài liệu chính thức; phân biệt khuyến nghị triển khai với yêu cầu của tiêu chuẩn; không công bố thông số sản phẩm chưa gắn với phiên bản và điều kiện đo.
