百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

nanshan 2025-02-17 13:20 11 浏览 0 评论

传输层安全(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上的社交媒体页面,并订阅以接收类似的更新。

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: