当前位置: 首页 > article >正文

如何设置HSTS和OCSP Stapling?

设置HSTS(HTTP Strict Transport Security)和OCSP Stapling可以增强你的HTTPS网站的安全性。下面是如何在Apache和Nginx中配置这两项功能的指南。

HSTS (HTTP Strict Transport Security)

HSTS是一种安全机制,它告诉浏览器只能通过HTTPS连接到服务器,并且在一定时间内强制使用HTTPS。这有助于防止中间人攻击(MITM),如协议降级攻击和cookie劫持。

在Apache中启用HSTS

编辑站点的虚拟主机配置文件,在<VirtualHost *:443>块内添加以下行:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

这里:

  • max-age=31536000 设置了缓存时间(以秒为单位),即一年。
  • includeSubDomains 指令将HSTS策略应用到所有子域名。
  • preload 标记是可选的,它表明你希望你的域名被包含在浏览器预加载列表中。一旦加入这个列表,就不能轻易移除,所以请确保你完全理解其含义再使用。
在Nginx中启用HSTS

编辑Nginx站点配置文件,在server块内添加以下行:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

同样的参数适用于Nginx配置。

OCSP Stapling (Online Certificate Status Protocol Stapling)

OCSP Stapling允许Web服务器代替客户端向证书颁发机构查询证书状态信息。这减少了延迟并保护了用户的隐私,因为查询不会直接从用户设备发送到CA。

在Apache中启用OCSP Stapling

确保你的Apache版本支持OCSP Stapling(2.3.3或更高)。然后,在<VirtualHost *:443>块内添加以下行:

SSLUseStapling On
SSLStaplingCache "shmcb:logs/stapling-cache(128000)"
  • SSLUseStapling On 启用OCSP Stapling。
  • SSLStaplingCache 定义用于存储OCSP响应的共享内存区域。这里的路径可以根据你的系统进行调整。

此外,确保定期重启Apache以更新OCSP响应,或者使用mod_md模块来自动管理证书和OCSP响应。

在Nginx中启用OCSP Stapling

编辑Nginx站点配置文件,在server块内添加以下行:

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s; # 使用Google DNS或其他可靠的DNS解析服务
resolver_timeout 5s;
  • ssl_stapling on 启用OCSP Stapling。
  • ssl_stapling_verify on 确保OCSP响应来自可信来源。
  • resolver 行定义了用来查询OCSP响应的DNS服务器地址。
  • resolver_timeout 设置了等待DNS解析的时间。

测试配置

完成上述配置后,请记得测试你的配置是否正确无误:

  • 对于Apache,可以运行sudo apachectl configtest检查配置文件是否有错误。
  • 对于Nginx,可以运行sudo nginx -t来进行类似的测试。

之后,重启你的Web服务器使更改生效:

  • Apache: sudo systemctl restart apache2
  • Nginx: sudo systemctl restart nginx

最后,使用在线工具如SSL Labs’ SSL Test来验证你的HSTS和OCSP Stapling配置是否成功实施。


http://www.kler.cn/a/513886.html

相关文章:

  • EAMM: 通过基于音频的情感感知运动模型实现的一次性情感对话人脸合成
  • 内存 管理
  • JavaScript学习笔记(1)
  • AQS公平锁与非公平锁之源码解析
  • 逆波兰表达式求值(力扣150)
  • 【C++】filesystem 详解
  • js高阶-响应式原理
  • 线性规划:机器学习中的优化利器
  • NodeJs如何做API接口单元测试? --【elpis全栈项目】
  • Vue3初学之商品的增,删,改功能
  • Windows下建立Jupyter-lab 编程环境
  • STM32单片机:GPIO模式
  • gitlab使用多数据库
  • 知识图谱中的word2vec 技术是做什么的?
  • 机器学习10-解读CNN代码Pytorch版
  • Flink 使用 Kafka 作为数据源时遇到了偏移量提交失败的问题
  • matlab实现数据极坐标显示
  • 【深度学习】关键技术-模型训练(Model Training)
  • 【Springboot相关知识】Springboot结合SpringSecurity实现身份认证以及接口鉴权
  • vue md5加密
  • 性能调优篇 四、JVM运行时参数
  • 数据结构(四) B树/跳表
  • elementui完美做到table动态复杂合并行、合并列,适用于vue2、vue3
  • CVPR 2024 人脸方向总汇(人脸识别、头像重建、人脸合成和3D头像等)
  • 声学前端算法方案,提升设备语音交互体验,ESP32-S3智能化联网应用
  • 美区TikTok危机缓解,TikTok 直播运营专线助力稳定运营