发布于2026-07-19 阅读(0)
扫一扫,手机访问
在Web服务器安全配置这件事上,看似简单的几行Header指令,往往就是防御链上最关键的一环。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:精准控制HTTP请求中Referer头的发送策略,保护用户隐私和防止信息泄露。
Header set Referrer-Policy "no-referrer-when-downgrade"Feature-Policy / Permissions-Policy:用来精细控制浏览器可以调用的API和功能,比如摄像头、地理位置等。从命名就能看出,前者是旧版,后者是标准化的新版本。
Header set Feature-Policy "accelerometer 'none'; camera 'none'; geolocation 'none'"Header set Permissions-Policy "accelerometer=(), camera=(), geolocation=()"Clear-Site-Data:这是一个非常“硬核”的头,可以用来清除浏览器缓存的站点数据,常用于注销或敏感操作后。
Header set Clear-Site-Data "*"这些配置可以统一放在Apache的配置文件里,比如httpd.conf、apache2.conf,或者更推荐的做法——在对应虚拟主机的配置块中声明。下面是一个整合了所有头的示例:
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 / Permissions-Policy
Header set Feature-Policy "accelerometer 'none'; camera 'none'; geolocation 'none'"
Header set Permissions-Policy "accelerometer=(), camera=(), geolocation=()"
# Clear-Site-Data
Header set Clear-Site-Data "*"
DocumentRoot "/var/www/html"
apachectl configtest 检查语法有没有错误,这是避免服务器宕机的第一道保险。sudo systemctl restart apache2。把这些配置组合起来,Apache服务器的安全防护能力会有一个质的提升。当然,安全配置远不止这些,但它是一个非常好的起点。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8