1. Content Security Policy (CSP) Là Gì?

Content Security Policy (CSP) là một tiêu chuẩn bảo mật của W3C được truyền tải qua HTTP Response Header, cho phép quản trị viên máy chủ khai báo danh sách trắng (Whitelist) các nguồn tài nguyên đáng tin cậy được phép tải và thực thi trên trình duyệt.

CSP là lá chắn phòng thủ tầng cuối cùng (Last Line of Defense) mạnh mẽ nhất để triệt tiêu hoàn toàn các cuộc tấn công XSS (Cross-Site Scripting), chèn iframe độc hại (Clickjacking) và đánh cắp dữ liệu người dùng.


2. Cấu Trúc & Các Directive Quan Trọng Trong Header CSP

┌────────────────────────────────────────────────────────────────────────┐
│                        CONTENT SECURITY POLICY                         │
├───────────────────┬────────────────────────────────────────────────────┤
│ Directive         │ Ý Nghĩa & Nguồn Được Phép Tải                      │
├───────────────────┼────────────────────────────────────────────────────┤
│ default-src       │ Nguồn mặc định cho tất cả tài nguyên               │
│ script-src        │ Nguồn được phép chạy JavaScript                    │
│ style-src         │ Nguồn được phép tải CSS                            │
│ img-src           │ Nguồn được phép tải hình ảnh                       │
│ connect-src       │ Nguồn được phép gửi AJAX / Fetch / WebSocket       │
│ font-src          │ Nguồn được phép tải font chữ                       │
│ frame-ancestors   │ Quy định website nào được phép nhúng iframe        │
└───────────────────┴────────────────────────────────────────────────────┘

3. Mẫu Cấu Hình CSP An Toàn Chuẩn Enterprise Trên Nginx

Thêm đoạn cấu hình sau vào block server trong file /etc/nginx/sites-available/yourdomain.conf:

# Cấu hình CSP Header bảo mật cao
add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://accounts.google.com https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' data: https://fonts.gstatic.com; img-src 'self' data: blob: https://thuecloud.vn https://i.imgur.com https://img.vietqr.io; connect-src 'self' https://thuecloud.vn wss://thuecloud.vn https://accounts.google.com; frame-src 'self' https://accounts.google.com; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self';" always;

Giải thích các tham số cốt lõi:

  • 'self': Chỉ cho phép tải tài nguyên từ chính tên miền hiện tại.
  • frame-ancestors 'none': Chặn 100% các website khác nhúng trang của bạn vào iframe (chống Clickjacking).
  • object-src 'none': Vô hiệu hóa các plugin lỗi thời như Flash, Java Applet.

4. Kiểm Tra Điểm Bảo Mật Header Với SecurityHeaders.com

Sau khi cấu hình, hãy truy cập công cụ SecurityHeaders.com để kiểm tra điểm đánh giá. Một cấu hình chuẩn sẽ đạt điểm A+, khẳng định website của bạn đáp ứng đầy đủ các tiêu chuẩn bảo mật ngân hàng khắt khe nhất.

🛡️ Máy chủ bảo mật cao: Thuê ngay Cloud VPS KVM NVMe tại ThueCloud.vn để toàn quyền thiết lập các chính sách an ninh mạng hiện đại!