首页 > 系统相关 >nginx tls 1.2禁用弱算法

nginx tls 1.2禁用弱算法

时间:2022-11-11 11:02:25浏览次数:73  
标签:tls 1.2 ssl GCM RSA server nginx ECDHE path

背景

项目安全扫描出现的漏洞,记录一下修复过程。

HTTPS 协议缺陷
image

整改

首先考虑 TLS 1.3 目前版本太新,兼容性未知,同时机房的 WAF 等安全设备是否支持该协议。
先咨询机房得到回复,不支持 TLS1.3。同时在测试环境配置 Nginx 只保留 TLS 1.3。经过验证,业务不可用。
退而求其次,使用 TLS 1.2,但将弱算法禁掉。
如何区分哪些是弱算法呢?Mozilla 有提供相关指南,就是开发了火狐浏览器的那家公司。
https://infosec.mozilla.org/guidelines/web_security#transport-layer-security-tlsssl

太长懒得看没关系,Mozilla 官方提供了一个配置工具,可以直接生成安全的 SSL 配置。
https://ssl-config.mozilla.org/

Server Software 这里勾选你的中间件,这里我们选 Nginx

Mozilla Configuration 这里有 3 种

  1. Modern 是最安全但兼容性最差的。
  2. Intermediate 是兼具安全和兼容性的
  3. Old 字面意思,兼容性最好的,ie8,Windows xp 都能支持,安全性则最差

这里我们选 Intermediate。

最后在 Environment 输入你的 Nginx 、OpenSSL 版本,会自动生成配置

image

得到的配置如下,粘贴到 Nginx.conf 即可。

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    ssl_certificate /path/to/signed_cert_plus_intermediates;
    ssl_certificate_key /path/to/private_key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
    ssl_session_tickets off;

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
    ssl_dhparam /path/to/dhparam;

    # intermediate configuration
    ssl_protocols TLSv1.2 TLSv1.3;
    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;

    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;

    # OCSP stapling
    ssl_stapling on;
    ssl_stapling_verify on;

    # verify chain of trust of OCSP response using Root CA and Intermediate certs
    ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

    # replace with the IP address of your resolver
    resolver 127.0.0.1;
}

标签:tls,1.2,ssl,GCM,RSA,server,nginx,ECDHE,path
From: https://www.cnblogs.com/fsckzy/p/16879868.html

相关文章

  • nginx 部署 前端 项目 Windows
    1、下载nginxhttps://nginx.org/en/download.html2、解压   3、启动nginx,并访问http://localhost:80/nginx默认80端口 查看nginx是否启动tasklist|fin......
  • Nginx构建高可用集群概念介绍
    相关概念单独故障:指某个节点故障,整个系统将变得不可用。高可用:指系统无中断地执行其功能的能力,代表系统的可用性程度。集群:一组具有相同属性或功能的主机的集合,用于承担......
  • linux nginx上传文件配置
    1、参考nginx中上传文件大小报错500怎么办2、nignx配置server{listen8088;#listen443ssl;#ssl_certificate7249692_tlh.kikyo.co......
  • nginx配置加载视频和图片
    注意:系统:Ubuntu18.04Nginx版本:1.14.0 1.进入到配置目录/etc/nginx/sites-enabled2.打开/etc/nginx/sites-enabled目录下default文件3.在default添加如下类容就可......
  • nginx 使用ssl证书配置https协议
    如果能给你带来帮助,不胜荣幸,如果有错误也请批评指正,共同学习,共同进步。第一,需要去申请或者购买ssl证书(这步略过,因为开发过程中没有给我提供证书和域名,只有ip地址),我从......
  • nginx代理带后缀名的静态文件
      server{listen8000;#监听端口号server_nameloaclhost;#/#域名、主机名#location/cache_app{//匹配路径#r......
  • nginx m3u8 ffmpeg
    #nginxconfiglocation/hls{types{application/vnd.apple.mpegurlm3u8;video/mp2tts;}......
  • SpringCloud(九) - Nginx
    1、安装Nginx1.1解压上传安装包解压#nginx-1.16.1.tar.gz#nginx需要一些环境(全部执行,不存在的会执行,存在的会跳过)yuminstall-ywgetyuminstall-ygcc-c++......
  • docker+nginx 安装部署修改资源目录配置文件和容器端口信息
    查看docker镜像可以先查看docker下是否存在nginx镜像,使用如下这些命令查看:dockerimages:列出所有镜像。dockerimagesnginx:列出所有nginx镜像,不同版本等等。dock......
  • 数据库主从复制方法 以及nginx常用命令汇总
      主从复制可以很好解决一个服务器压力太大的缺点  在实际情况中可以让读一个库 增删查一个库具体步骤由图可知首先主库master会生成二进制日志从库可以开辟一......