我们一般通过 Web 环境自带的环境部署全站 HTTPS ,虽然在浏览器显示加密标识,若保持默认设置,在 SSL Labs 测速评分仅为“B”。
什么是 SSL Labs?
SSL Labs 是 Qualys 公司推出的全球知名的 SSL 网站在线检测工具,会对 HTTPS 网站的证书链、安全性、性能、协议细节进行全面检测,检测完毕后会进行打分,同时给出一份详细的检测报告和改进建议。
调整 TLS 支持的版本
登录 aaPanel 面板/宝塔面板,点击“网站” -> 找到对应网站点击“设置” -> “SSL” -> “配置文件”。找到 ssl_protocols 设置,保留以下两个【TLSv1.2 TLSv1.3; 】,确保删除了 TLSv1.0 和 TLSv1.1,开启它们会导致 HTTPS 不安全。
启用 HSTS
请移步《为网站启用 HSTS 支持》一文,本文不再赘述。
设置 DNS CAA(证书颁发机构授权)
DNS CAA(Certification Authority Authorization,证书颁发机构授权)是一种 DNS 记录,用于指定哪些证书颁发机构 (CA) 有权为特定域名签发 SSL/TLS 证书。通过在 DNS 设置中添加 CAA 记录,网站所有者可以有效防止未授权的 CA 错误地为域名颁发证书,从而提升网站安全性,防止钓鱼攻击。
建议使用在线工具自动生成,我使用的是 CAA Record Helper (中文),您也可以使用 CAA 记录生成器(英文)。
最后将生成的 CAA 记录,粘贴到您的 DNS 控制面板中。我使用的是 Let's Encrypt 免费证书,参数如下——
meledee.com. CAA 0 issue "letsencrypt.org"
代码解释:
issue:明确授权单个证书颁发机构颁发主机名的证书(任何类型)。
issuewild:明确授权单个证书颁发机构为主机名颁发通配符证书(只有通配符)。
iodef:指定认证机构可以向其报告策略违规的URL或邮箱。
设置域名系统安全扩展(DNSSEC)
域名系统安全扩展(DNSSEC),是一套用于保护DNS数据的加密技术,通过对DNS记录进行数字签名,确保用户查询的网站IP地址未被篡改。它旨在防止DNS缓存中毒和中间人攻击,防止攻击者将用户重定向到欺诈网站。DNSSEC通过引入RRSIG、DNSKEY、DS等新记录,在DNS层次结构中建立信任链。
我使用 Cloudflare 作为 DNS 服务商,打开您的域名管理 - DNS -设置 - 找到DNSSEC,点击启用即可。
最后,附上 meledee.com 在宝塔面板的网站 SSL 部分配置,供各位参考——
server
{
listen 80;
server_name meledee.com www.meledee.com;
return 301 https://$host$request_uri;
}
server
{
listen 443 ssl;
listen 443 quic;
http2 on;
server_name meledee.com www.meledee.com;
index index.php index.html index.htm default.php default.htm default.html;
root /host/meledee.com; #请根据网站实际路径调整
include /www/server/panel/*.conf; #请根据网站实际路径调整
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
}
#HTTP_TO_HTTPS_END
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_tickets on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';
error_page 497 https://$host$request_uri;
limit_conn perserver 300;
limit_conn perip 25;
limit_rate 512k;
#SSL-END




文章评论