Trả lời nhanh: systemd service hardening chỉ nên được bật sau khi đã xác định principal, boundary và đường deny. Bài này đưa cấu hình/lệnh có thể chạy ở staging, cách kiểm tra output và điều kiện revoke/rollback; thay hostname, version và quyền bằng giá trị của hệ thống thật.
Phạm vi: Bài áp dụng cho Unit cơ bản trong môi trường staging/standalone. Kiểm tra Nginx/Docker/OS/database và phiên bản CLI thực tế trước khi chạy; không đưa credential thật vào lệnh, log hay artifact.

Tín hiệu cần đối chiếu: Unit cơ bản; sandbox directives; filesystem read-only; mối đe dọa; cấu hình/lệnh; output kỳ vọng; rollback/thu hồi
Unit cơ bản — thao tác và bằng chứng
Ở mục này, hãy trả lời câu hỏi quyền nào được phép chạm vào Unit cơ bản và dữ liệu nào phải bị chặn. Với systemd service hardening, xác định principal, boundary và đường deny trước khi bật policy. systemd.exec
Nếu allow hoạt động nhưng deny không có log tương ứng, policy đang mở sai hoặc audit chưa gắn đúng hook. Tạm dừng rollout, giữ config hash và kiểm tra lại trên staging. (systemd-service-hardening-nonewprivileges-protectsystem · outline 1)
Với Unit cơ bản, ghi lại input và phiên bản CLI trước khi chạy; sau đó đối chiếu từng tín hiệu mối đe dọa, cấu hình/lệnh, output kỳ vọng, rollback/thu hồi, Unit cơ bản, sandbox directives, filesystem read-only trong stdout, stderr hoặc log audit. Kết quả đạt phải chỉ ra trạng thái và phạm vi tài nguyên; kết quả lỗi phải có chuỗi nhận diện để người trực ca biết bước khoanh vùng kế tiếp. Gắn transcript với systemd-service-hardening-nonewprivileges-protectsystem, commit/config hash, owner và timestamp. Không dùng exit code đơn độc làm bằng chứng. Che token, private key, cookie và PII trước khi lưu artifact; giữ bản raw trong kho có quyền hạn nếu incident yêu cầu.
sandbox directives — thao tác và bằng chứng
Đặt thay đổi sandbox directives trong file/version riêng để có thể diff. Lệnh `User=acme` chỉ là điểm kiểm tra; đối chiếu mối đe dọa với cấu hình/lệnh, không suy ra an toàn chỉ từ exit code 0. systemd.exec
Nếu phát hiện credential trong layer/log/backup, revoke hoặc rotate trước khi dọn artifact. Rollback cấu hình không thu hồi được secret đã lộ. (systemd-service-hardening-nonewprivileges-protectsystem · outline 2)
Một lần kiểm tra sandbox directives chỉ có giá trị khi lặp lại được. Chốt workload, hostname, digest hoặc schema, rồi chạy lệnh tương ứng với systemd-service-hardening-nonewprivileges-protectsystem. Đối chiếu các tín hiệu bắt buộc (mối đe dọa, cấu hình/lệnh, output kỳ vọng, rollback/thu hồi, Unit cơ bản, sandbox directives, filesystem read-only) với expected output và error signature; nếu thiếu dữ liệu, ghi unknown. So sánh baseline trước/sau trong cùng cửa sổ và nêu rõ điều gì không được suy ra từ phép đo. Artifact thay đổi cần ghi config diff đã redact, người chịu trách nhiệm và thời điểm hết hạn exception trước khi promote.
filesystem read-only — thao tác và bằng chứng
Khi rà filesystem read-only, thử cả request hợp lệ và request bị từ chối. Ghi user/role, status, log key và thời điểm; che token, cookie, private key trước khi lưu artifact. systemd.exec
Sau khi sửa, chạy lại test với tài khoản ít quyền nhất và một tài khoản bị từ chối. Chỉ promote khi kết quả khớp threat model và đã lưu đủ bằng chứng allow/deny. (systemd-service-hardening-nonewprivileges-protectsystem · outline 3)
Đừng gộp filesystem read-only vào một checklist chung. Tạo một phép thử nhỏ có điều kiện, ghi command, exit code, metric và log line riêng cho systemd-service-hardening-nonewprivileges-protectsystem. Các marker mối đe dọa, cấu hình/lệnh, output kỳ vọng, rollback/thu hồi, Unit cơ bản, sandbox directives, filesystem read-only phải xuất hiện ở đúng section để người đọc có thể truy từ claim tới evidence. Khi kết quả không khớp expected (Output của systemd-service-hardening-nonewprivileges-protectsystem phải có trạng thái success và error phân biệt bằng exit code/stderr; unknown flag, permission denied hoặc timeout dẫn tới nhánh khoanh vùng riêng.), dừng rollout/restore, giữ hiện trường và mở issue thay vì sửa nhiều biến cùng lúc. Artifact công khai chỉ chứa giá trị đã che và hash kiểm chứng.

capabilities — thao tác và bằng chứng
Ở mục này, hãy trả lời câu hỏi quyền nào được phép chạm vào capabilities và dữ liệu nào phải bị chặn. Với systemd service hardening, xác định principal, boundary và đường deny trước khi bật policy. systemd.exec
Nếu allow hoạt động nhưng deny không có log tương ứng, policy đang mở sai hoặc audit chưa gắn đúng hook. Tạm dừng rollout, giữ config hash và kiểm tra lại trên staging. (systemd-service-hardening-nonewprivileges-protectsystem · outline 4)
Trong runbook của systemd-service-hardening-nonewprivileges-protectsystem, capabilities là điểm quyết định: allow/deny, ready/not-ready, pass/fail hoặc baseline/regression. Định lượng bằng tín hiệu mối đe dọa, cấu hình/lệnh, output kỳ vọng, rollback/thu hồi, Unit cơ bản, sandbox directives, filesystem read-only, ghi phiên bản và phạm vi áp dụng, rồi nêu ngưỡng chuyển sang rollback. Một output xanh nhưng dependency hoặc health đỏ vẫn là fail. Sau khi sửa, chạy lại cùng lệnh và lưu kết quả cạnh config hash; revoke/rotate credential trước khi dọn mọi bản sao chứa secret.
DynamicUser — thao tác và bằng chứng
Đặt thay đổi DynamicUser trong file/version riêng để có thể diff. Lệnh `PrivateTmp=true` chỉ là điểm kiểm tra; đối chiếu mối đe dọa với cấu hình/lệnh, không suy ra an toàn chỉ từ exit code 0. systemd.exec
Nếu phát hiện credential trong layer/log/backup, revoke hoặc rotate trước khi dọn artifact. Rollback cấu hình không thu hồi được secret đã lộ. (systemd-service-hardening-nonewprivileges-protectsystem · outline 5)
Với DynamicUser, ghi lại input và phiên bản CLI trước khi chạy; sau đó đối chiếu từng tín hiệu mối đe dọa, cấu hình/lệnh, output kỳ vọng, rollback/thu hồi, Unit cơ bản, sandbox directives, filesystem read-only trong stdout, stderr hoặc log audit. Kết quả đạt phải chỉ ra trạng thái và phạm vi tài nguyên; kết quả lỗi phải có chuỗi nhận diện để người trực ca biết bước khoanh vùng kế tiếp. Gắn transcript với systemd-service-hardening-nonewprivileges-protectsystem, commit/config hash, owner và timestamp. Không dùng exit code đơn độc làm bằng chứng. Che token, private key, cookie và PII trước khi lưu artifact; giữ bản raw trong kho có quyền hạn nếu incident yêu cầu.
test journal — thao tác và bằng chứng
Khi rà test journal, thử cả request hợp lệ và request bị từ chối. Ghi user/role, status, log key và thời điểm; che token, cookie, private key trước khi lưu artifact. systemd.exec
Sau khi sửa, chạy lại test với tài khoản ít quyền nhất và một tài khoản bị từ chối. Chỉ promote khi kết quả khớp threat model và đã lưu đủ bằng chứng allow/deny. (systemd-service-hardening-nonewprivileges-protectsystem · outline 6)
Một lần kiểm tra test journal chỉ có giá trị khi lặp lại được. Chốt workload, hostname, digest hoặc schema, rồi chạy lệnh tương ứng với systemd-service-hardening-nonewprivileges-protectsystem. Đối chiếu các tín hiệu bắt buộc (mối đe dọa, cấu hình/lệnh, output kỳ vọng, rollback/thu hồi, Unit cơ bản, sandbox directives, filesystem read-only) với expected output và error signature; nếu thiếu dữ liệu, ghi unknown. So sánh baseline trước/sau trong cùng cửa sổ và nêu rõ điều gì không được suy ra từ phép đo. Artifact thay đổi cần ghi config diff đã redact, người chịu trách nhiệm và thời điểm hết hạn exception trước khi promote.
rollback — thao tác và bằng chứng
Ở mục này, hãy trả lời câu hỏi quyền nào được phép chạm vào rollback và dữ liệu nào phải bị chặn. Với systemd service hardening, xác định principal, boundary và đường deny trước khi bật policy. systemd.exec
Nếu allow hoạt động nhưng deny không có log tương ứng, policy đang mở sai hoặc audit chưa gắn đúng hook. Tạm dừng rollout, giữ config hash và kiểm tra lại trên staging. (systemd-service-hardening-nonewprivileges-protectsystem · outline 7)
Đừng gộp rollback vào một checklist chung. Tạo một phép thử nhỏ có điều kiện, ghi command, exit code, metric và log line riêng cho systemd-service-hardening-nonewprivileges-protectsystem. Các marker mối đe dọa, cấu hình/lệnh, output kỳ vọng, rollback/thu hồi, Unit cơ bản, sandbox directives, filesystem read-only phải xuất hiện ở đúng section để người đọc có thể truy từ claim tới evidence. Khi kết quả không khớp expected (Output của systemd-service-hardening-nonewprivileges-protectsystem phải có trạng thái success và error phân biệt bằng exit code/stderr; unknown flag, permission denied hoặc timeout dẫn tới nhánh khoanh vùng riêng.), dừng rollout/restore, giữ hiện trường và mở issue thay vì sửa nhiều biến cùng lúc. Artifact công khai chỉ chứa giá trị đã che và hash kiểm chứng.
Recipe lệnh/config cho systemd-service-hardening-nonewprivileges-protectsystem
Chạy ở staging cho systemd service hardening với hostname, path và digest đã thay bằng giá trị không nhạy cảm. Lưu exit code cùng stdout/stderr đã redact và gắn artifact với systemd-service-hardening-nonewprivileges-protectsystem.
[Service]
User=acme
NoNewPrivileges=true
ProtectSystem=strict
PrivateTmp=true
systemd-analyze security acme-api.service
systemctl show acme-api -p NoNewPrivileges
Expected output và error signature — systemd-service-hardening-nonewprivileges-protectsystem
Output của systemd-service-hardening-nonewprivileges-protectsystem phải có trạng thái success và error phân biệt bằng exit code/stderr; unknown flag, permission denied hoặc timeout dẫn tới nhánh khoanh vùng riêng. Đối chiếu thêm version, timestamp, health/readiness và log liên quan; output minh họa không phải kết quả production.

Rollback và stop boundary của systemd-service-hardening-nonewprivileges-protectsystem
Dừng promote systemd-service-hardening-nonewprivileges-protectsystem khi quyền deny/allow hoặc audit không khớp threat model. Revoke/rotate credential đã lộ, giữ config hash và log, rồi khôi phục revision được owner xác nhận.
Failure mode cần tránh ở Unit cơ bản
- Unit cơ bản: thay đổi nhiều biến cùng lúc nên không biết nguyên nhân.
- Unit cơ bản: đọc exit code nhưng bỏ qua health, dependency hoặc error signature.
- Unit cơ bản: lưu secret/PII trong log, image layer, backup hoặc ảnh chụp.
- Unit cơ bản: rollback nhầm failure domain làm blast radius lớn hơn.
Đọc tiếp trong cùng cụm Linux/DevOps — systemd-service-hardening-nonewprivileges-protectsystem
quan ly linux service voi systemd production và ssh hardening linux server checklist bao mat
Nguồn chính thức cho systemd-service-hardening-nonewprivileges-protectsystem
FAQ theo đúng chủ đề systemd service hardening
Unit cơ bản áp dụng cho phiên bản nào?
Kiểm tra version/tool và topology trước khi áp dụng Unit cơ bản. Chạy recipe ở trên trong staging; nếu expected/error signature khác, dừng và cập nhật runbook thay vì copy nguyên lệnh.
sandbox directives áp dụng cho phiên bản nào?
Kiểm tra version/tool và topology trước khi áp dụng sandbox directives. Chạy recipe ở trên trong staging; nếu expected/error signature khác, dừng và cập nhật runbook thay vì copy nguyên lệnh.
filesystem read-only áp dụng cho phiên bản nào?
Kiểm tra version/tool và topology trước khi áp dụng filesystem read-only. Chạy recipe ở trên trong staging; nếu expected/error signature khác, dừng và cập nhật runbook thay vì copy nguyên lệnh.
capabilities áp dụng cho phiên bản nào?
Kiểm tra version/tool và topology trước khi áp dụng capabilities. Chạy recipe ở trên trong staging; nếu expected/error signature khác, dừng và cập nhật runbook thay vì copy nguyên lệnh.
Cập nhật systemd-service-hardening-nonewprivileges-protectsystem: 08/09/2026. Nội dung là runbook tham khảo; phải kiểm tra phiên bản, nguồn chính thức và rollback trong môi trường thật trước khi áp dụng. Safety boundary: Không thay thế tư vấn chuyên môn; kiểm tra tình huống thực tế trước khi áp dụng.
