nginx 的 HTTPS 安全配置及 TLS 1.3 踩坑
nginx 的 HTTPS 安全配置及 TLS 1.3 踩坑
- 防止默认配置导致暴漏域名
- 生成证书配置默认网站
- ssl_reject_handshake 指令
- TLS安全配置
- TLS 1.3 使用
防止默认配置导致暴漏域名
通过IP扫描,然后浏览器HTTPS访问会在证书里暴漏网站域名。
或者通过访问已知的,未配置HTTPS证书的域名,会暴漏有证书的第一个域名
有两种方式,一种是生成一个证书配置一个default_server。
一种是通过nginx 1.19.4 以后的ssl指令配置default_server。
生成证书配置默认网站
生成localhost证书:
cd /usr/local/nginx/conf/ssl/
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout localhost.key-out localhost.crt
配置默认网站:
server {listen 80 default_server;listen 443 ssl default_server;server_name _;ssl_certificate ssl/localhost.crt;ssl_certificate_key ssl/localhost.key;return 444;}
通过IP访问不会再暴漏域名
ssl_reject_handshake 指令
nginx版本大于 1.19.4可以使用该指令,无需创建假证书
http://nginx.org/en/docs/http/ngx_http_ssl_module.html
server {listen 80 default_server;listen 443 ssl default_server;server_name _;ssl_reject_handshake on;return 444;}
TLS安全配置
PCI DSS合规认证需要TLS 1.2
查看:https://ssl-config.mozilla.org/
看到TLS 1.2已经是默认配置,并且:
Supports Firefox 27, Android 4.4.2, Chrome 31, Edge, IE 11 on Windows 7, Java 8u31, OpenSSL 1.0.1, Opera 20, and Safari 9
XP系统安装chrome完美支持TLS 1.2,绝大多数环境都能够很好的工作。
XP可用的chrome 49
链接:https://caiyun.139.com/m/i?175CjfVEgFn0o
提取码:Tbo2
kb931125-rootsupd,XP证书补丁kb931125
链接:https://caiyun.139.com/m/i?175CdDrzQiA5d
提取码:SDKS
重点就是:ssl_ciphers
、ssl_prefer_server_ciphers
因为RC4,md5、sha1、des等算法都是不安全的
TLSv1.3 需要openssl 1.1.1版本,目前国内大型网站都未使用,Apple,Mozilla、GitHub都是使用的,握手时间更短,算法更安全。
ssl_protocols TLSv1.2;ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;ssl_prefer_server_ciphers off;
OCSP stapling一般只有Apple系需要
可以通过curl测试,Linux版的curl的tls选项都是正常的,Windows版的向下兼容,不够准确。
curl -I --tlsv1.2 https://www.baidu.com
openssl s_client -host www.baidu.com -port 443 -msg -state -showcerts -tls1_2
TLS 1.3 使用
安装nginx时,需要指定openssl 1.1.1版本
单个域名开启无效,需要default_server中开启。
nginx 的 HTTPS 安全配置及 TLS 1.3 踩坑相关推荐
- 为Jupyter notebook配置R kernel过程及踩坑记录
为Jupyter notebook配置R kernel过程及踩坑记录 注意:本文为作者安装过程及折腾的过程,内容比较冗杂,如果读者想直接创建一个属于自己的子环境则参考: 如下文章: anaconda下 ...
- Anaconda配置PyTorch虚拟环境搭建指南踩坑总结
默认Windows环境(Linux类似,反正Anaconda命令都一样),有支持CUDA的N卡(废话,没N卡跑什么DL www) 这篇踩坑总结只是本人在入门阶段配置环境踩过的一些坑,个人经验难免有疏漏 ...
- Ubuntu 20.04 TLS安装(踩坑版)
Ubuntu 20.04 TLS 安装 前言 安装准备 下载镜像 制作启动盘 预留空间 安装 进入BIOS 界面 一般是这样的 华硕的大概是这样的 基础设置 分区 设置引导 更换国内源 直接设置 终端 ...
- nginx对https的配置,nginx解决post请求被请求两次的问题
前置条件: 将证书放在:nginx目录下的cert目录中,其中证书有:.pem和.key文件 server {listen 80;listen 443;server_name xxxxx;ssl_ce ...
- 新手入门新电脑安装配置orb slam2 一步到位不踩坑(ubutun18.04)
目录 一.安装基础工具 二.安装Pangolin,作为可视化和用户界面 三.安装OpenCV,用于处理图像和特征 (1)下载OpenCV 3.4.1 (2)安装依赖项 (3)编译安装 (4)配置环境, ...
- springboot集成redis redis配置手把手交你不踩坑
前面我们已经介绍过redis的安装配置和使用以及一些redis的基本概念,如果还有小伙伴不太熟悉的话可以翻翻我之前的博客 1.初识redis 从这篇博客开始看,看完这几篇以后相信你对Redis的概念会 ...
- ubuntu20.0.4+RTX3090配置深度学习环境的踩坑
坑一:显卡驱动装不上 参考链接:https://blog.csdn.net/qq_39478403/article/details/109378705 大致步骤跟上面这个文章都差不多,但是在他的步骤1 ...
- nginx实现http服务配置
静态文件 即实现nginx代理指向静态文件,动静分离 主要配置如下: worker_processes 1;events {worker_connections 1024; }http {includ ...
- 基于Nginx的https服务
1.HTTPS协议的实现 1.为什么需要HTTPS? 原因:HTTP不安全 1.传输数据被中间人盗用.信息泄露 2.数据内容劫持.篡改 对传输内容进行加密以及身份验证 2.对称加密 非对称加密 3.H ...
最新文章
- html前端开发是什么,web前端开发需要会什么
- C#命令行编辑器csc.exe
- debian 编译linux内核源码,Debian下为本机编译内核模块的方法
- 男人要懂得赞美女人,女人要懂得鼓励男人
- python3安装后怎么开启_python3.10 如何下载安装?
- Apple计划开发完全定制的GPU架构
- Jmeter七、jmeter中的参数化
- 两侧广告HTML,网页左右两侧居中的对联广告代码
- 佳佳数据恢复软件免费版
- 万用表测试软件,最全的万用表使用方法看这里!
- 自动化运维脚本模块-stmplib,emai模块
- 网站安全漏洞--大全
- 教你这么理解 『假脱机打印机系统』
- 西北大学发布猴脸识别论文,公开 10 种动物面部数据集
- win10与virtualBox共享文件夹
- java web设置首页_java web设置默认首页方法
- Linux三剑客:grep、sed、awk
- Nature给学术界立规矩:ChatGPT等大模型不可以成为作者
- Java基础之分支结构--嵌套if选择结构——百米赛跑决赛
- CentOS 7 安装 libzip 1.5.2