首页 > 其他分享 >服务器漏洞修复:TLS 1.0 已启用、HSTS、CSP

服务器漏洞修复:TLS 1.0 已启用、HSTS、CSP

时间:2024-11-11 13:41:13浏览次数:1  
标签:TLS src 1.0 Web HSTS self unsafe CSP

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,src,1.0,Web,HSTS,self,unsafe,CSP
From: https://www.cnblogs.com/sowler/p/18406216

相关文章

  • KubeSphere 社区双周报| 2024.10.25-11.07
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2024.10.25-11.07。贡献者名单新晋KubeSpherecontribu......
  • C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
    前言C#/.NET/.NETCore技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NETCore领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等......
  • 11.08
    感觉写的有点意识流。A.BZOJ5176把\(-1/1\)转化为\(0/1\),问题就变为一个格子和它相邻四个格子异或和为\(0\)。容易发现第一行的状态确定了,整个网格的状态就确定了。对于给定的\(m\)个格子,其实就是解\(m\)个异或方程,但是我们还需要让我们的状态合法,而合法的等价条件为......
  • SpringBoot项目编译报错 类文件具有错误的版本 61.0, 应为 52.0
    springboot项目在编译时报错:/Users/Apple/Developer/art/caicai/cai-api/dubbo-samples/1-basic/dubbo-samples-spring-boot/dubbo-samples-spring-boot-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java:22:32java:无法访问......
  • 《DNK210使用指南 -CanMV版 V1.0》第三十六章 image图像色块追踪实验
    第三十六章image图像色块追踪实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.htm......
  • .Net 与TLS版本的兼容性
    ‌.NETFramework与TLS版本的兼容性主要取决于.NETFramework的版本。‌.NETFramework版本与TLS版本的兼容性‌.NETFramework3.5及更早版本‌:这些版本不支持使用传输层安全性(TLS)系统默认版本作为加密协议‌1。‌.NETFramework4.0及以上版本‌:这些版本默认支持TLS......
  • 11.08学习
    importrequestsr2=requests.request('put','http://httpbin.org/put',data='wangluo210102')d3={'banji':'wangluo210102'}#print(r2.text)r3=requests.post('http://httpbin.org/post',data=d3)#print(r3......
  • 11.06
    发现自己对于一些不用动脑子的数据结构题还是有微弱的冲击力的。A.BZOJ3722为什么想不到????????????????????????先不考虑\(0\)跑一遍,每个非叶结点取其子结点中\(-1,-2\)的众数,若相等则为\(0\)。此时若根节点为\(-1\),那么其有偶数个值为\(0\)的儿子,对于每个\(0\)第一个对它子树中为\(0\)......
  • 1.0 RK3588上运行AI模型
    瑞星微是需要RKNN模型的,我们安装他的工具rknn-toolkit2,下面会将如何生成模型文件.1.模型转换当前系统是Ubuntu20.04使用python虚拟环境软件 Minicondasudoaptupdatesudoaptinstallwgetwgethttps://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64......
  • SSL 固定(SSL Pinning)是一种提高应用程序安全性的技术,用于防止中间人攻击(MITM,Man-in-th
    SSL固定(SSLPinning)是一种提高应用程序安全性的技术,用于防止中间人攻击(MITM,Man-in-the-Middleattacks)和证书伪造攻击。它通过将服务器的SSL/TLS证书或其公钥“固定”到客户端应用程序中,确保客户端在与服务器通信时只信任特定的证书或公钥,从而降低了遭遇伪造证书或中间人攻击的......