1、TLS 1.0 已启用

描述:

此 Web 服务器支持通过 TLS 1.0 加密。TLS 1.0 不被认为是“强密码术”。根据 PCI 数据安全标准 3.2(.1) 的定义和要求,在保护从网站往返的敏感信息时,TLS 1.0 并不被认为是 "强加密"。根据 PCI,"2018 年 6 月 30 日是禁用 SSL/早前 TLS 并实施更安全的加密协议 TLS 1.1 或更高版本(强烈建议 TLS v1.2) 的最后期限,以便满足 PCI 数据安全标准 (PCI DSS),保障支付数据的安全。

影响:

攻击者可能能够利用此问题实施中间人攻击,以及解密受影响的服务与客户端之间的通信。

推荐 :

建议禁用 TLS 1.0 并替换为 TLS 1.2 或更高版本。

解决方法:

Nginx 配置 TLSv1.2 或 TLSv1.3

首先查看openssl版本:

 openssl version

 # 输出
OpenSSL 1.0.2k-fips 26 Jan 2017 #Linux Centos7.9默认为以上版本, OpenSSL 1.1.1 及以上版本才支持TLS v1.3。

检测是否支持TLS1.2

openssl s_client -connect xxxx.xxx.com.cn:443 -tls1_2

Nginx配置:

ssl_protocols TLSv1.2;
# 这里只使用1.2即可 # ssl_protocols TLSv1.2 TLSv1.3;

2、Nginx访问静态页面显示目录列表

描述:

目录列表是一个 Web 服务器功能,在特定网站目录中无索引文件时显示目录内容。Web 服务器上保 持此功能开启会导致信息泄露,因此相当危险。

影响:

用户可以从受影响的目录查看所有文件的列表,这可能会暴露敏感信息。

例如:

解决:

Nginx中默认不会开启目录浏览功能,若发现当前已开启该功能,可以编辑 nginx.conf文件,删除如下两行:

autoindex on;
autoindex_exact_size on;

重启Nginx。

3、未实施 HTTP 严格传输安全 (HSTS)

描述:

HTTP 严格传输安全 (HSTS) 规定,浏览器只能使用 HTTPS 访问网站。检测到您的 Web 应用程序未实 施 HTTP 严格传输安全 (HSTS),因为响应中缺少严格传输安全报头。

影响:

HSTS 可以用于预防和/或缓解某些类型的中间人 (MitM) 攻击

解决:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
add_header Strict-Transport-Security 'max-age=63072000; includeSubDomains; preload';
#或者
add_header X-Frame-Options SAMEORIGIN always;
add_header Strict-Transport-Security 'max-age=63072000; includeSubDomains; preload' always; # max-age=31536000 指定了 HSTS 策略的有效期,这里是一年。您可以根据需求调整有效期。
# includeSubDomains 表示 HSTS 策略将适用于所有的子域名。

4、未实施内容安全策略 (CSP)

描述:

内容安全策略 (CSP) 增加了额外的安全层,有助于检测和缓解某些类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击。 内容安全策略 (CSP) 可通过添加 Content-Security-Policy 报头实施。此报头的值是一个字符串,其中 13 包含描述内容安全策略的策略指令。要实施 CSP,您应该为站点使用的所有资源类型定义允许的来源列表。例如,如果您有一个简单的站点,需要从 CDN 加载本地托管和 jQuery 库中的脚本、样式表和 图像,则 CSP 报头可能如下所示: Content-Security-Policy: default-src 'self'; script-src 'self' https://code.jquery.com; 检测到您的 Web 应用程序未实施内容安全策略 (CSP),因为响应中缺少 CSP 报头。建议在您的 Web 应 用程序中实施内容安全策略 (CSP)。

影响:

CSP 可用于预防和/或缓解涉及内容/代码注入的攻击,例如跨站脚本/XSS 攻击、需要嵌入恶意资源的 攻击、涉及恶意使用 iframe 的攻击(例如点击劫持攻击)等。

推荐 :

建议在您的 Web 应用程序中实施内容安全策略 (CSP)。配置内容安全策略涉及添加 Content-SecurityPolicy HTTP 报头到 Web 页面并为其赋值,以控制允许用户代理为该页面加载的资源。

解决:

在nginx配置文件中添加请求头 Content-Security-Policy

# 添加 CSP 头部
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';"; default-src 'self': 指定默认允许加载资源的来源为当前域名('self'),这是一个基本的设置,确保只有当前网站的资源可以加载。
script-src 'self' 'unsafe-inline' 'unsafe-eval': 指定允许加载 JavaScript 的来源为当前域名,并允许内联脚本和使用 eval() 等不安全的 JavaScript 执行方式。注意,'unsafe-inline' 和 'unsafe-eval' 存在安全风险,建议尽量避免使用,而是优先考虑使用严格的 CSP 策略,如使用外部脚本加载方式。
style-src 'self' 'unsafe-inline': 指定允许加载样式表的来源为当前域名,并允许内联样式。同样地,'unsafe-inline' 也应该尽量避免使用,可以通过外部 CSS 文件加载来提高安全性。 # 根据以上信息,添加以下代码
# 添加 CSP 头部
add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://xxx.xxxx.com.cn; style-src 'self' https://xxx.xxx.com.cn cdn.jsdelivr.net ; img-src 'self' https://xxx.xxx.com.cn data:; font-src 'self' data: https://xxx.com cdn.jsdelivr.net;"; #多个地址以空格后面拼接即可

服务器漏洞修复:TLS 1.0 已启用、HSTS、CSP的更多相关文章

  1. 服务器SSL不安全漏洞修复方案

    关于SSL POODLE漏洞 POODLE = Padding Oracle On Downgraded Legacy Encryption.是最新安全漏洞(CVE-2014-3566)的代号,俗称“ ...

  2. 网站sql注入漏洞修复方案之metinfo 6.1.0系列

    近日,我们SINE安全对metinfo进行网站安全检测发现,metinfo米拓建站系统存在高危的sql注入漏洞,攻击者可以利用该漏洞对网站的代码进行sql注入攻击,伪造恶意的sql非法语句,对网站的数 ...

  3. 如何解决:对应的服务器 tls 为 tls 1.0,小程序要求的TLS版本必须大于等于1.2问题

    微信小程序 TLS 版本必须大于等于1.2问题解决 此问题最近在微信小程序开发中,比较常见. 在解决这个问题之前,我们需要了解一下,当前的系统环境是否支持TLS1.2以上,可以参考一下表格: 请先确认 ...

  4. ThinkPHP 小于5.0.24 远程代码执行高危漏洞 修复方案

    漏洞描述由于ThinkPHP5.0框架对Request类的method处理存在缺陷,导致黑客构造特定的请求,可直接GetWebShell. 漏洞评级严重 影响版本ThinkPHP 5.0系列 < ...

  5. TLS 1.0 至 1.3 握手流程详解

    概述 TLS 全称为 Transport Layer Security(传输层安全),其前身是 SSL,全称为 Secure Sockets Layer(安全套接字层),它的作用是为上层的应用协议提供 ...

  6. CentOS 5 全功能WWW服务器搭建全教程 V3.0

    http://hx100.blog.51cto.com/44326/339949/ 一.基本系统安装1.下载CentOS 5我是下载的DVD版本,大家也可以下载服务器CD安装版本,其实都差不多.大家可 ...

  7. Web安全常见漏洞修复建议

    转载地址:https://security.pingan.com/blog/17.html SQL注入 在服务器端要对所有的输入数据验证有效性. 在处理输入之前,验证所有客户端提供的数据,包括所有的参 ...

  8. IIS短文件漏洞修复

    近期网站系统被扫描出漏洞:IIS短文件/文件夹漏洞 漏洞级别:中危漏洞 漏洞地址:全网站 漏洞描述:IIS短文件名泄露漏洞,IIS上实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举获取服务器根目录中的文 ...

  9. 腾讯云发布runC容器逃逸漏洞修复公告

    尊敬的腾讯云客户,您好:  近日,腾讯云安全中心监测发现轻量级容器运行环境runc被爆存在容器逃逸漏洞,攻击者可以在利用该漏洞覆盖Host上的runc文件,从而在Host上以root权限执行代码. 为 ...

  10. 转载两篇dedecms的漏洞修复教程

    Dedecms安全步骤,安装之后的操作 1 将文件夹dede改名为其他,比如 /256256.com/ 2 搜索ad.dedecms.com,文件D:\WebSite\256256.com\www\g ...

随机推荐

  1. DDD是软件工程的第一性原理?

    本文书接上回<DDD建模后写代码的正确姿势>,关注公众号(老肖想当外语大佬)获取信息: 最新文章更新: DDD框架源码(.NET.Java双平台): 加群畅聊,建模分析.技术实现交流: 视 ...

  2. ES6操作数组的7中方法

    ES6操作数组目前共有7中方法,分别是:forEach.map.filter.find.every.some.reduce forEach方法:对数组的每个元素执行一次提供的函数 1. forEach ...

  3. man 切换颜色配置

    man 命令显示的命令手册默认是没有颜色的.为了使 man 命令的输出更为生动,可以使用如下两种方法修改 man 命令的颜色配置. 方法一:设置环境变量 在你的 .zshrc / .bashrc 中添 ...

  4. LaTeX 编译 acmart 文档报错:An attempt to redefine \baselinestretch detected. Please do not do this for ACM submissions!

    在编译一篇从 arXiv 下载的文档时遇到如下错误: Class acmart Error: An attempt to redefine \baselinestretch detected. Ple ...

  5. Android Adapter中组件EditText文本变化监听 addTextChangedListener

    问题背景:使用适配器显示一个列表,列表中Item中有EditText,滚动时会有EditText组件内容消失 步骤: 1. 在Adapter中,添加interface public interface ...

  6. 【YashanDB知识库】自关联外键插入数据时报错:YAS-02033 foreign key constraint violated parent key not found

    问题现象 使用如下的sql语句创建自关联外键表: drop table self_f_key; create table self_f_key(t1 number primary key not nu ...

  7. ECMA Script6 中的 尾调用优化

    在读 <深入理解ES6>一书中,看到有关函数的 "尾调用优化" 章节,特此记录一下 尾调用 指的是 函数作为另一个函数的最后一条语句被调用: function foo ...

  8. Node.js开发博客项目笔记-初始化路由(博客列表、新增、更新、删除、详情、登录)(3)

    工程目录 如图所示,工程目录如下: 我们在工程下新建src的目录,src目录下新建三个文件夹: controller:交互数据放到该目录下: model:model类放到该目录下: router:路由 ...

  9. C语言位域的内存布局

    本文将先粗略介绍大小端,和大小端的测试方法,最后介绍位域的内存布局. 1. 大小端 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中. 小端模式,是指数据的高字节保存 ...

  10. 【赵渝强老师】在Hive中使用Load语句加载数据

    一.Hive中load语句的语法说明 Hive Load语句不会在加载数据的时候做任何转换工作,而是纯粹的把数据文件复制/移动到Hive表对应的地址.语法格式如下: LOAD DATA [LOCAL] ...