Server Security là mô hình bảo vệ toàn bộ web server và các đường quản trị liên quan: hệ điều hành, service mạng, tài khoản đặc quyền, SSH, web server, runtime, database, secret, logging, backup và control plane. Mục tiêu của Server Security không phải gom mọi kỹ thuật hardening vào một checklist duy nhất, mà là biết server đang có những lớp nào, URL/chủ đề nào chịu trách nhiệm cho từng lớp và bằng chứng nào xác nhận control đang hoạt động.
Với server chạy website, cách tiếp cận thực dụng là: hiểu kiến trúc → kiểm kê exposure → đặt baseline trước production → harden từng control → duy trì trạng thái qua patch, logging và drift review. Bài này đóng vai trò hub/overview của cụm Server Security; các bước triển khai chi tiết được tách sang từng bài chuyên trách bên dưới để tránh một URL phải sở hữu quá nhiều search task.
Server Security bảo vệ những lớp nào?
| Lớp | Câu hỏi chính | Owner content |
|---|---|---|
| Attack surface | Port, service, account và control plane nào đang tồn tại? | Attack Surface của Web Server |
| Production baseline | Server đã đủ điều kiện đưa lên production chưa? | Server Security Baseline |
| Patch | Update nào cần ưu tiên, rollout và rollback ra sao? | Linux Patch Management |
| Remote access | SSH cho phép ai đăng nhập và bằng cơ chế nào? | SSH Hardening; xem thêm case SSH Brute Force dẫn tới truy cập trái phép |
| Privilege | Ai có thể trở thành root hoặc dùng sudo? | Root, sudo & Least Privilege |
| Network | Inbound flow nào thực sự được phép? | Linux Firewall |
| Authentication abuse | Log-driven brute-force response xử lý thế nào? | Fail2ban |
| Filesystem | Process/user nào được đọc, ghi hoặc thực thi file nào? | File Permission & Ownership |
Web stack và data layer được harden ở đâu?
Web server và runtime có owner riêng vì mỗi lớp có threat model và cách validation khác nhau:
- Nginx Security Hardening: listen, document root, TLS, proxy/FastCGI, limits và logging.
- Apache Security Hardening: module, filesystem access, proxy, TLS, request limits và config validation.
- PHP-FPM Security: pool identity, socket/TCP exposure, environment và resource limits; failure mode thực tế xem case PHP-FPM và File Permission sai dẫn tới compromise.
- MySQL/MariaDB Security: bind/reachability, account@host, privilege, TLS và backup.
Bài hub này chỉ xác định vị trí của từng control trong kiến trúc. Các directive, command và acceptance test cụ thể nằm ở bài chuyên sâu tương ứng.
Management plane và credential cũng là Server Security
Một Linux host có thể được harden tốt nhưng vẫn bị thay đổi từ cloud console, hosting panel, CI/CD hoặc credential bị lộ. Vì vậy Server Security phải tính cả lớp bên ngoài SSH session:
- Web Hosting Control Panel Security cho aaPanel, cPanel/WHM và Plesk; xem case aaPanel/Control Panel Exposure dẫn tới Server Compromise.
- Server Secrets Management cho SSH key, API token, service credential và rotation/revocation.
Nguyên tắc chung là named identity, least privilege, MFA/network restriction khi phù hợp, credential riêng theo workload và audit trail đủ để biết ai đã thay đổi gì.
Attack surface: bài nào kiểm kê, bài nào xử lý?
Hai task này được tách rõ:
Discover/Inventory: dùng Attack Surface của Web Server để lập danh sách socket, service, user, sudo path, runtime, database, secret location và control plane; gắn owner/purpose và xác định trạng thái KEEP, REVIEW hoặc NEEDS_INVESTIGATION.
Remediate: khi đã có finding và dependency evidence, chuyển sang Giảm Server Attack Surface để restrict, stop, disable, mask hoặc remove có rollback và functional validation. Case dịch vụ và port không cần thiết làm tăng Server Attack Surface minh họa vì sao inventory và dependency validation phải đi trước việc tắt service.
Việc tách discovery khỏi remediation giúp tránh tắt nhầm một service chỉ vì chưa nhận diện được owner.
Baseline trước production khác maintenance sau production
Server Security Baseline trả lời câu hỏi: “Server có đủ điều kiện release lên production chưa?” Đây là release gate dựa trên expected state và evidence trước go-live.
Server Security Maintenance Checklist trả lời câu hỏi khác: “Server đang chạy có drift khỏi baseline hay không?” Nó so previous baseline với observed state theo cadence vận hành sau go-live.
Hai URL cùng nhắc patch, exposure, privilege và logging nhưng không sở hữu cùng task: một bên là release decision, một bên là recurring drift review.
Logging và bằng chứng vận hành
Hardening chỉ có giá trị khi trạng thái có thể xác minh. Server Audit Logging xác định những event cần evidence: authentication, sudo, user/config/package/firewall changes, backup/restore và control health. Logging không thay access control, nhưng thiếu log khiến detection và incident reconstruction yếu đi.
Nguyên tắc vận hành xuyên suốt cluster
- Inventory trước thay đổi: biết current state và dependency.
- Owner rõ: mỗi server, service, account, secret và exception có người chịu trách nhiệm.
- Least privilege: chỉ cấp đúng quyền, đúng network path và đúng thời gian cần.
- Change nhỏ: tránh sửa đồng thời SSH, firewall, runtime và permission nếu rollback khó cô lập.
- Read-back: không coi “saved” hoặc API 200 là bằng chứng runtime.
- Functional validation: website, deploy, cron, backup, monitoring và admin path vẫn hoạt động.
- Maintain: baseline phải được so lại sau patch, deploy, incident và thay đổi nhân sự/hạ tầng.
Chọn bài theo mục tiêu
| Nếu bạn cần… | Đi tiếp tới… |
|---|---|
| Biết server đang expose gì | Attack Surface Web Server |
| Quyết định có được go-live hay chưa | Server Security Baseline |
| Giảm service/port thừa | Giảm Server Attack Surface |
| Harden SSH hoặc sudo | SSH Hardening / Least Privilege |
| Harden web stack | Nginx, Apache, PHP-FPM |
| Kiểm tra drift định kỳ | Server Security Maintenance |
Nguồn kỹ thuật tham khảo
- NIST SP 800-123 — Guide to General Server Security
- Ubuntu Server — Security suggestions
- OWASP — Attack Surface Analysis Cheat Sheet
Kết luận
Server Security là một hệ thống control nhiều lớp, không phải một bài hardening duy nhất. URL này giữ vai trò bản đồ kiến trúc và điều hướng; inventory, release gate, remediation, SSH, privilege, firewall, web stack, secrets, logging và maintenance đều có owner page riêng.
Nếu chưa biết bắt đầu ở đâu, đi theo tuyến Attack Surface Inventory → Server Security Baseline → harden control chuyên biệt → Server Security Maintenance. Cách này giúp mỗi thay đổi có đúng owner, evidence và rollback thay vì gom mọi task vào một checklist quá rộng.
Dịch vụ liên quan: Nếu bạn cần triển khai hoặc vận hành chuyên sâu, xem dịch vụ Server Security.
