当前位置:首页 > 技术文章 > 正文内容

如何在Nginx服务器上禁用TLS 1.0和TLS 1.1?

arlanguage3个月前 (01-31)技术文章30

传输层安全(TLS)是一个重要的协议,在帮助保障网络安全和保护数据方面发挥着重要作用。TLS的工作原理是在两个端点之间提供认证、加密和完整性,允许通过互联网或任何其他网络进行安全通信。通过使用强大的密码学和数字证书,TLS有助于确保在网络上发送的数据保持私密性,不会被恶意行为者截获或篡改。

TLS 1.2和TLS 1.3是传输层安全(TLS)协议的两个最新版本,与之前的版本相比有很多优势。TLS 1.2是TLS协议最广泛使用的版本,但TLS 1.3因其效率和速度而越来越受欢迎。作为服务器管理员,应该在Nginx服务器上启用TLS 1.2和TLS 1.3,以增强应用程序的安全性,但等等,这还不够。你还应该在Nginx服务器上禁用TLS 1.0和TLS 1.1,因为它们的安全性较弱,已经被废弃。

在学习如何在Nginx服务器上禁用TLS 1.0和TLS 1.1之前,让我们了解一下TLS 1.0和TLS 1.1,以及为什么要在Nginx服务器上禁用TLS 1.0和TLS 1.1。

目录

- 关于TLS 1.0和TLS 1.1的简短说明。 - 为什么要在Nginx服务器上禁用TLS 1.0和TLS 1.1? - TLS 1.0和TLS 1.1容易受到的攻击。 - 什么是TLS 1.0和TLS 1.1的替代方案? - 如何在Nginx服务器上禁用TLS 1.0和TLS 1.1?

关于TLS 1.0和TLS 1.1的简短说明。

运输层安全(TLS)是一种加密协议,旨在提供互联网上的安全通信。TLS 1.0和TLS 1.1是TLS协议的旧版本。TLS 1.0首次定义于1999年,并在互联网上广泛使用,但由于已知的漏洞,它后来被更新的版本所取代。TLS 1.1于2006年发布,解决了TLS 1.0中发现的一些漏洞,但它也被更新的版本所取代了。TLS 1.0和TLS 1.1都被认为是相对较弱的,容易受到攻击,建议使用较新版本的TLS,如TLS 1.2或TLS 1.3。

为什么要在Nginx服务器上禁用TLS 1.0和TLS 1.1?

Nginx是当今许多企业使用的流行的网络服务器,可以根据企业的需要配置为支持不同版本的TLS。强烈建议企业在其Nginx服务器上禁用TLS 1.0和TLS 1.1,以确保最高级别的安全,并保护通过其网络发送的数据。

在Nginx服务器上禁用TLS 1.0和TLS 1.1有几个原因。

  1. TLS 1.0和TLS 1.1不再被认为是安全的,因为它们容易受到各种攻击,如POODLE(Padding Oracle On Downgraded Legacy Encryption)攻击,它可以让攻击者截获和解密在互联网上传输的敏感信息。
  2. 禁用TLS 1.0和TLS 1.1的另一个原因是,较新版本的TLS,如TLS 1.2和TLS 1.3,提供了比旧版本更好的安全性和性能。通过使用较新的版本,你可以利用最新的安全功能和协议来保护你的服务器和你的用户。
  3. 一些政府机构,如美国国家安全局(NSA),已经建议禁用TLS 1.0和TLS 1.1。

TLS 1.0和TLS 1.1容易受到攻击。

在TLS 1.0和TLS 1.1中存在一些已知的漏洞,可以被攻击者利用。这些漏洞包括

  1. POODLE (Padding Oracle On Downgraded Legacy Encryption)
  2. BEAST(针对SSL/TLS的浏览器漏洞)。
  3. CRIME (压缩比信息泄露简易化)
  4. FREAK(对RSA-EXPORT密钥的因子攻击)。
  5. LOGJAM (Diffie-Hellman密钥交换弱点)

这些漏洞允许攻击者进行中间人攻击,解密敏感信息,并劫持用户会话。通过在Nginx服务器上禁用TLS 1.0和TLS 1.1,你可以保护自己免受这些攻击。

什么是TLS 1.0和TLS 1.1的交替?

TLS协议的当前版本是TLS 1.3。TLS 1.3在2018年首次定义,与以前的TLS协议版本相比,它包括了许多安全方面的改进。我们建议你在Nginx服务器上启用TLS 1.2和TLS 1.3,而不是TLS 1.0和TLS 1.1。

TLS 1.2在TLS 1.1的基础上进行了改进,增加了对椭圆曲线加密法(ECC)的支持,并引入了新的加密套件,提供了比TLS 1.1中使用的套件更好的安全性。TLS 1.3在TLS 1.2的基础上进行了改进,简化了握手过程,使其对中间人攻击的抵抗力更强。此外,TLS 1.3引入了新的加密套件,比TLS 1.2中使用的套件具有更好的安全性。

TLS 1.2和TLS 1.3都向后兼容TLS 1.1和该协议的早期版本。这意味着,支持TLS 1.2的客户端可以与支持TLS 1.1的服务器进行通信,反之亦然。然而,TLS 1.2和TLS 1.3并不相互兼容。一个支持TLS 1.2的客户端不能与支持TLS 1.3的服务器进行通信,反之亦然。

TLS 1.2是TLS协议最广泛使用的版本,但TLS 1.3也越来越受欢迎。许多主要的网络浏览器,包括谷歌浏览器、Mozilla Firefox和微软Edge,现在都支持TLS 1.3。此外,主要的互联网服务提供商,如Cloudflare和Akamai,已经开始在其服务器上支持TLS 1.3。

如何在Nginx服务器上禁用TLS 1.0和TLS 1.1?

在Nginx服务器上禁用TLS 1.0和TLS 1.1是一个重要的安全步骤,因为这些旧的加密协议被认为是不安全的,有一些已知的漏洞。通过禁用它们,你可以帮助保护你的服务器不被试图利用这些弱点的恶意行为者利用。

要在Nginx服务器上禁用TLS 1.0和TLS 1.1,需要编辑Nginx的配置文件。这个文件的位置可能因你的设置而异。如果你的Nginx上没有配置服务器块(多站点配置的虚拟机),那么该配置文件通常位于/etc/nginx/nginx.conf或
/etc/nginx/conf.d/ssl.conf。

在我们的服务器上,我们配置了多个服务器块,在
/etc/nginx/sites-available/下面为每个站点配置一个。

例如,
/etc/nginx/sites-available/thesecmaster.local用于我们的内部应用程序 "secmaster.local"。

$ cat /etc/nginx/sites-available/thesecmaster.local


如何在Nginx服务器上禁用TLS 1.0和TLS 1.1?

  1. 检查你的应用程序上启用的SSL/TLS版本

那么,你可以使用任何在线或离线工具检查SSL/TLS版本。访问这个TLS检查器在线工具来检查你的公共网站的SSL/TLS版本。如果你想离线检查,我们推荐使用Nmap。运行这个Nmap命令来检查公共和内部应用程序的SSL/TLS版本。然而,如果你想用Nmap来验证公共网站,请确保你的服务器和互联网连接上安装了Nmap。

$ nmap -script ssl-enum-ciphers -p

2. 在一个文本编辑器中打开SSL配置文件

配置文件会在不同的位置,这取决于Nginx是如何配置工作的。如果你的Nginx没有配置独立的服务器块(多站点配置的独立虚拟主机),那么配置文件通常位于/etc/nginx/nginx.conf或
/etc/nginx/conf.d/ssl.conf。

在我们的服务器上,我们配置了多个服务器块,在
/etc/nginx/sites-available/下面为每个站点配置一个。

$ sudo nano /etc/nginx/sites-available/thesecmaster.local

3. 在Nginx服务器上禁用TLS 1.0和TLS 1.1

要做到这一点,在配置文件中找到'ssl_protocols'指令,并删除TLSv1.0 TLSv1.1,如上图所示,并保存该文件。这就是了。

4. 重新启动Nginx服务器并验证配置设置

使用这个域名重新启动Nginx服务。

$ sudo systemctl重启nginx

测试Nginx的配置。

$ sudo nginx -t

如果你看到一个成功的消息。你可以通过HTTPS安全通道访问该网站。

我们希望这篇文章能够帮助你了解如何在Nginx服务器上禁用TLS 1.0和TLS 1.1,因为它们的安全性较差,已经被废弃。如果你觉得有兴趣,请分享这个帖子。请访问我们在Facebook、LinkedIn、Twitter、Telegram、Tumblr和Medium上的社交媒体页面,并订阅以接收类似的更新。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1195.html

分享给朋友:

“如何在Nginx服务器上禁用TLS 1.0和TLS 1.1?” 的相关文章

tomcat配置域名的几种方式

我们自己在开发项目时一般使用的是ip访问,如果要对外发布是需要申请域名的,毕竟一个域名就相当于网站的代称。每个公司新上线的项目一般都会申请域名的,如果项目是部署在tomcat中的,那么如何进行配置呢?下边说一下其中的几种情况。同端口1一个域名对应一个项目注意:host节点中的appBase和Cont...

Linux新手入门系列:安装nginx

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:Linux下区分大小写;Linux多用户多线程;Linux下每个文件和目录都有访问权限;安装nginx...

运维笔记:Windows下如何实现nginx服务自启动,看完你就会了

Nginx作为有每一个两三年工作经验的程序员来说都不陌生,基本上每个线上部署的项目都需要用到,Nginx常用的功能有负载均衡、反向代理、正向代理、搭建FTP服务等等。为了满足Nginx服务可以随操作系统启动,如果是Linux服务器的话可以通过shell脚本设置Nginx自启动,对于Windows操作...

nginx 初学者指引

本文会简单介绍 nginx 并演示相关的简单任务。首先你需要安装好 nginx。nginx 拥有一个主进程和几个 worker 进程。主进程的主要工作是读取和处理配置,维护 worker 进程。worker 进程负责处理实际的用户请求。nginx 采用 event-based 模型和 OS-depe...

nginx开启ssl并把http重定向到https的两种方式

1 简介Nginx是一个非常强大和流行的高性能Web服务器。本文讲解Nginx如何整合https并将http重定向到https。https相关文章如下:(1)Springboot整合https原来这么简单(2)HTTPS之密钥知识与密钥工具Keytool和Keystore-Explorer(3)Sp...

haproxy负载均衡入门到转行

haproxy概述haproxy是一款开源的高性能的反向代理或者说是负载均衡服务软件之一,支持双机热备,虚拟主机基于TCP/HTTP应用代理,具有图形界面等功能。其配置简单,而且拥有很好的对服务器节点的健康检查功能(相当于keepalived健康检查),当其代理的后端服务器出现故障时,haproxy...