Nginx配置SSL协议
来源:互联网 发布:蜂窝移动数据自动打开 编辑:程序博客网 时间:2024/05/21 20:23
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
以上这些是基本的关于SSL的介绍, 通常来讲既然有安全措施, 就会有相应的破解办法。如果有人找到了方法, 对应的也就有了一个安全漏洞。
近年比较有名的心血漏洞(Heartbleed)漏洞给互联网安全带来了很大的危机, 所幸很快公布了安全补丁措施。下面我来介绍下发现安全传输层漏洞的时候怎么处理。
下面我们从检测一个网址的SSL/TLS是否符合标准或有明显的安全漏洞, 然后进行一些对应的处理。
1. 打开https://myssl.com/输入要检测的网址
检测发现有CVE-2016-2017漏洞, 易受攻击, 套件版本低导致安全系统下降。
2. 解决CVE-2016-2017漏洞
目前解决的办法, 就是升级OpenSSL模块, 新版中修复了这个问题。在Linux环境中首先要判断Nginx对OpenSSL模块采取的是静态还是动态编译。
不少服务器使用的Nginx,是静态编译opensssl,直接将openssl编译到nginx里面去了,这就意味着,单纯升级openssl是没有任何效果,Nginx不会加载外部的openssl动态链 接库的,必须将nginx重新编译才可以根治。
输入命令/usr/sbin/nginx -V查看当前机器的编译配置, 如果没有包含-with-openssl=, 说明是动态编译, 那么只要用yum更新OpenSSl版本, 然后重启Nginx, 相对比较简单。
3. 修改Nginx套层协议配置
打开/etc/nginx/conf.d/*.conf配置文件, 找到监听(listen)开启SSL的server, 如果只配置了证书路径, 那么nignx就会使用默认的安全协议使用配置。
为了提高安全性, 我们需要设置合适的安全协议。
将一下配置插入到开启了ssl协议的安全监听端口, 然后reload nginx配置文件即可。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDSA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!DH:!RC4;
ssl_prefer_server_ciphers on;
4. 经过以上配置, 我们重新检测当前网址, 查看结果。
- Nginx配置SSL协议
- Nginx下配置SSL安全协议
- nginx ssl 登陆配置
- nginx ssl 配置
- nginx中配置SSL
- nginx配置赛门铁克ssl
- Nginx 配置SSL访问
- CentOS配置Nginx SSL
- nginx配置ssl
- nginx配置ssl
- nginx ssl配置
- nginx配置SSL(https)
- nginx 配置ssl
- nginx配置ssl证书
- nginx配置ssl
- nginx ssl配置
- nginx 配置ssl加密
- tomcat SSL协议配置
- 【数据结构实验七】查找
- eclipse闪退
- Redis常用命令
- java中重载与重写的区别
- Python爬虫入门四之Urllib库的高级用法
- Nginx配置SSL协议
- BZOJ 2463 数论(欧拉函数) 解题报告
- 判断文件夹下有没有文件
- OpenWrt添加内核模块软件包(二)
- ssm 整合 redis(进阶教程)
- 两种mvp配合使用
- 自定义圆弧进度条
- 企业为什么要开发微信小程序商城
- C/C++动态内存管理