在Apache HTTP服务器中,您可以使用mod_headers模块来设置安全头信息。以下是一些常见的安全头信息及其配置方法:
Content-Security-Policy (CSP): 用于防止跨站脚本攻击(XSS)和其他代码注入攻击。
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://trustedscripts.example.com; object-src 'none'"
X-Content-Type-Options: 防止浏览器对MIME类型进行嗅探。
Header set X-Content-Type-Options "nosniff"
X-Frame-Options: 防止点击劫持攻击。
Header always append X-Frame-Options "SAMEORIGIN"
X-XSS-Protection: 启用浏览器的XSS过滤器。
Header set X-XSS-Protection "1; mode=block"
Strict-Transport-Security (HSTS): 强制浏览器使用HTTPS连接。
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Referrer-Policy: 控制Referer头的发送。
Header set Referrer-Policy "no-referrer-when-downgrade"
Feature-Policy: 控制浏览器功能的使用(以前称为Permissions Policy)。
Header set Feature-Policy "accelerometer 'none'; camera 'none'; geolocation 'none'"
Permissions-Policy: 同Feature-Policy。
Header set Permissions-Policy "accelerometer=(), camera=(), geolocation=()"
Clear-Site-Data: 清除站点数据。
Header set Clear-Site-Data "*"
您可以将这些配置添加到Apache的配置文件中,通常是httpd.conf、apache2.conf或特定虚拟主机的配置文件中。以下是一个示例:
<VirtualHost *:80>
ServerName example.com
# Content Security Policy
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://trustedscripts.example.com; object-src 'none'"
# X-Content-Type-Options
Header set X-Content-Type-Options "nosniff"
# X-Frame-Options
Header always append X-Frame-Options "SAMEORIGIN"
# X-XSS-Protection
Header set X-XSS-Protection "1; mode=block"
# Strict-Transport-Security
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
# Referrer-Policy
Header set Referrer-Policy "no-referrer-when-downgrade"
# Feature-Policy
Header set Feature-Policy "accelerometer 'none'; camera 'none'; geolocation 'none'"
# Permissions-Policy
Header set Permissions-Policy "accelerometer=(), camera=(), geolocation=()"
# Clear-Site-Data
Header set Clear-Site-Data "*"
DocumentRoot "/var/www/html"
</VirtualHost>
apachectl configtest命令来检查配置文件的语法是否正确。sudo systemctl restart apache2
通过这些配置,您可以显著提高Apache服务器的安全性。