溫馨提示×

Debian Nginx SSL如何配置安全頭

小樊
53
2025-08-10 09:45:26
欄目: 云計算

在Debian上配置Nginx以添加安全頭,可以提高網站的安全性。以下是一些常見的安全頭及其配置方法:

  1. Content-Security-Policy (CSP): CSP可以防止跨站腳本攻擊(XSS)和其他代碼注入攻擊。

    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'none';";
    
  2. X-Content-Type-Options: 防止瀏覽器MIME類型嗅探。

    add_header X-Content-Type-Options "nosniff";
    
  3. X-Frame-Options: 防止點擊劫持攻擊。

    add_header X-Frame-Options "SAMEORIGIN";
    
  4. X-XSS-Protection: 啟用瀏覽器的XSS過濾器(現代瀏覽器已經不再支持這個頭,但仍然可以添加以提高兼容性)。

    add_header X-XSS-Protection "1; mode=block";
    
  5. Strict-Transport-Security (HSTS): 強制瀏覽器使用HTTPS連接。

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    
  6. Referrer-Policy: 控制Referer頭的發送。

    add_header Referrer-Policy "no-referrer-when-downgrade";
    
  7. Feature-Policy: 控制瀏覽器功能的啟用(類似于CSP,但更細粒度)。

    add_header Feature-Policy "accelerometer 'none'; camera 'none'; geolocation 'none';";
    
  8. Permissions-Policy: 替代Feature-Policy,控制瀏覽器功能的啟用。

    add_header Permissions-Policy "accelerometer=(), camera=(), geolocation=()";
    

配置示例

以下是一個完整的Nginx配置示例,包含了上述安全頭:

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/ssl/certs/example.com.crt;
    ssl_certificate_key /etc/ssl/private/example.com.key;

    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'none';";
    add_header X-Content-Type-Options "nosniff";
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    add_header Referrer-Policy "no-referrer-when-downgrade";
    add_header Feature-Policy "accelerometer 'none'; camera 'none'; geolocation 'none';";
    add_header Permissions-Policy "accelerometer=(), camera=(), geolocation=()";

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

注意事項

  1. CSP: CSP頭可能會阻止一些合法的腳本和資源加載,因此需要根據實際情況進行調整。
  2. HSTS: 一旦啟用HSTS,瀏覽器將強制使用HTTPS,無法通過HTTP訪問網站。確保在啟用HSTS之前已經正確配置了SSL證書。
  3. Feature-Policy 和 Permissions-Policy: 這些頭是相對較新的,可能不被所有瀏覽器支持。請根據目標用戶群體進行測試。

通過以上配置,可以顯著提高Nginx服務器的安全性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女