30
4月
2022
恢复 HTTPS 协议和自签名证书
12:43

恢复 HTTPS 协议和自签名证书

30 4月 2022 12:43

越来越多的情况是,在浏览网站时,互联网开始注意到 HTTPS 协议错误。 此外,同事们也开始抱怨网站无法访问。 在本文中,我提出了如何改善与使用 HTTPS 相关的这种情况。

简介

有关 HTTPS 不可用或无法正常工作的错误消息可能有所不同。 主要原因:

原因 数字1。 仅网站的 HTTP 版本可用(端口 80),但在浏览器中启用了“仅 HTTPS”模式(端口 443)
在某些网站上,仅 HTTP 协议可用(端口 80 - http 或经典 WWW)。 在过去 10 年中,这对于互联网来说是一个极不寻常的选择,因为...网站管理员试图尽快启用 HTTPS 协议(端口 443 - SSL)。 原因:蜂窝运营商可以添加广告来开放HTTP流量;传递的 HTTP 流量可以被攻击者查看(包括用于无密码登录的 cookie)。 然而,这个选项可以在本地网络中找到,用于登录路由器和网吧,您需要通过 HTTP 协议访问该站点进行身份验证(因为 Web 资源没有 SSL 安全证书)。

对于好奇的用户:如何检查网站的 https 版本是否存在?

最明显的方法是在地址栏中输入 https:// 而不是 http://

您还可以检查端口 443 是否打开或使用 CURL 进行请求。 结果在屏幕上可见:

nmap test.ru -p 443
curl -I -v --connect-timeout 3 https://test.ru

但443端口开放并不意味着它一定是一个网站;其他服务可能正在端口 443 上运行。

! 可以通过设置浏览器来禁用有关网站不存在 HTTPS 版本或无法打开网站的消息 “隐私”-“不启用仅 HTTPS 模式”“在这种情况下,当您_显式_输入以下形式的 HTTP 地址时 http://192.168.1.1http://neverssl.com 连接将通过 HTTP 协议进行(不安全!)。 此外,如果站点重定向到 HTTPS,并且其网站​​管理员已配置从 HTTP 到 HTTPS 的重定向。 要么打开受保护的站点,要么打开,否则地址栏中的“锁”将保持打开状态,这是缺乏流量加密的标志。

仅 HTTPS

这种方法适用于家用计算机,但不适用于办公室 PC,因为办公室 PC 的用户使用基于 Internet 的信息系统、银行网站和数据库。

无法强制您的浏览器使用 HTTP 而不是 HTTPS 打开网站 - 安全性降低。

原因 数字2. 作为“进口替代”的一部分或制裁的结果,该网站切换到国内加密(俄罗斯RSA SSL证书) - 但浏览器中未安装俄罗斯联邦通信和大众传媒部颁发的根CA证书 2022 年 3 月至 5 月,俄罗斯站点开始过渡到俄罗斯国内中心来颁发 SSL/TLS 安全证书 (CA)。 特别是,网站会获得由以下机构生成的新 SSL 证书: 不是来自 美国根证书,并从 俄罗斯认证机构“Russian Trusted Root CA”的根证书- 通信、通信和数字发展部 -(官方网站 https://digital.gov.ru/ )。 新CA的使用可以在圣彼得堡财产关系委员会commim.spb.ru-链的网站示例中看到,截图来自05/25/2022:

  1. 根CA证书 “俄罗斯可信根CA”
  2. 中级CA证书 “俄罗斯可信子 CA” (由CA 1号签发)
  3. 网站*.commim.spb.ru的SSL证书(由2号CA颁发)

    值得信赖的

由于未知的根证书“俄罗斯可信根 CA”,这样的信任链在“进口”谷歌 Chrome 浏览器中引发了问题 - 并且该网站没有通过 HTTPS 协议打开,这使得它无法使用 财产关系委员会网站 我的一位同事在工作。

一个简单的解决方案是用户安装浏览器“Yandex”“人造卫星”,新的 SSL 证书被“缝”在其中 俄罗斯可信根CA

决定权在网站管理员这边- 将国外证书颁发机构颁发的 SSL 证书添加到网站 - 特别是对于国外浏览器 Google Chrome 和 Mozilla Firefox 的用户。免费 Let's Encrypt 证书。 Let's Encrypt 公司为 .RU 和 .РФ 域颁发证书,而不关注制裁。事情就这样发生在 2022 年 4 月 28 日 - 网站 https://commim.spb.ru _可以通过“Let's Encrypt”证书访问。_付费 SSL 证书: GlobalSign AlphaSSL索特SSL123- 对于域名 .blog、.info 等。

自 2022 年 5 月 1 日起,该网站使用 ISRG X1(“Let's Encrypt”)根 CA 证书:
isrg 根

ISRG 根证书被 Chrome“理解并接受”。 其中 ISRG - 互联网安全研究小组。 证书还是外国的。
但毫无疑问,SSL 证书很快就会被俄罗斯证书取代!

高级用户的解决方案是在 Chrome 或 Firefox 浏览器中安装俄罗斯联邦交通部的 SSL 证书 这就是本文的主题。 😀

原因 数字3. 该网站受自签名证书保护(其中“自签名”的意思是“本人签名”) 自签名或“自签名”证书- 由网站管理员为网站生成的 CRT 格式 (X.509),无需第三方认证机构的参与)。 如果我们想使用的话,就不能不在浏览器中安装自签名/自签名证书 保护 https:// 连接有一个这样的网站。

原因 数字4. 所有其他原因均与使用证书时的错误有关: 4a) SSL 证书的有效期已过期或尚未过期。 4b) 该站点的 SSL 证书已被吊销 (CRL)。 4c) 为另一个域颁发的 SSL 证书。 这个问题是网站站长的问题,而不是用户的问题。 客户端绕过 - 还禁用仅 HTTPS 模式或将网站域添加到例外 - 初始错误消息中提供了从安全检查中排除网站的按钮 - 单击按钮 “高级”- “接受风险并继续” - 在这种情况下,将通过 HTTP 建立连接,不使用 SSL 加密,站点地址将位于 网络浏览器异常 和和 未来将开始开放,但不加密。
黄色


一、安装通信和数字发展部根SSL证书ROOTCA_SSL_RSA2022.CER

! 解决问题 Firefox 中的错误代码:SEC_ERROR_UNKNOWN_ISSUER,
! 排查 Chrome 中的 NET::ERR_CERT_AUTHORITY_INVALID 错误

  • 请访问国家服务网站的为法人实体颁发 SSL 证书的部分: https://gosuslugi.ru/tls
    戈苏斯卢吉1

  • 将页面向下滚动到最后并下载 State Services 页面的 ZIP 证书文件(页面末尾的 - 按钮,按钮 “下载证书”
    戈苏斯卢吉

我们将带有 SSL 证书的 ZIP 文件从“政府服务”保存到“下载”文件夹。

  • 在电脑上创建一个临时文件夹 ~/下载/进口

    mkdir ~/下载/进口
    cd ~/下载/下载/进口

  • 将 CRT 文件从“Downloads”文件夹中的存档中提取到 ~/下载/进口 文件夹
    解压缩_zip1
    提取压缩包

! 接下来最重要的是导入CA证书。

窗户:_在资源管理器中_导入根证书 ROOTCA_SSL_RSA2022.CER 双击

  • 导入 - 选择位置 - 到 “受信任的根证书颁发机构”- ... - 完成。

    导入01
    导入02
    导入03
    导入04
    进口05
    进口06
    进口07
    进口08

    - Linux:

! 在 Linux 上,FireFox 和 Chrome 使用_它们自己的安全性_并忽略 PC 设置。 假设需要将证书复制到文件夹中 /usr/share/ca-certificates 并执行命令 sudo update-ca-certificates,在之前的文章中曾说过 文章 与在商店中安装网络浏览器证书不同,实际上并没有达到预期的结果。

您需要在浏览器中安装俄罗斯联邦根证书颁发机构的SSL证书

首先你需要下载 电信和大众传播部2022根证书,也称为“俄罗斯可信根CA”- 文件 rootca_ssl_rsa2022.cer,
然后将文件格式从 CER 更改为 PEM。

要将 SSL 证书从 CER 格式转换为 PEM 格式证书,请在终端中使用以下命令:

openssl x509 -outform pem -in rootca_ssl_rsa2022.cer -out rootca_ssl_rsa2022.pem

2023 年 1 月 11 日起的新增内容:
1。 某些站点使用中间的俄罗斯可信子 CA 证书。 然后,您需要安装两个证书 - 根证书和中间证书
2。 这些证书 俄罗斯可信根CA俄罗斯可信子 CA 可在网站上找到 古斯特鲁 通过直接链接:

根证书 “俄罗斯可信根CA” 也可以从页面下载 俄罗斯财政部电子文件管理系统“Roskazna”网站 roskazna.gov.ru

为了自动化,下载证书的命令可以编译成linux shell文件:

#!/bin/sh
wget https://gu-st.ru/content/Other/doc/ Russian_trusted_root_ca.cer
wget https://gu-st.ru/content/Other/doc/ Russian_trusted_sub_ca.cer
openssl x509 -outform pem -in Russian_trusted_root_ca.cer -out Russian_trusted_root_ca.pem
openssl x509 -outform pem -in Russian_trusted_sub_ca.cer -out Russian_trusted_sub_ca.pem

I.1. 将俄罗斯根证书颁发机构证书添加到 Mozilla FireFox 浏览器

需要添加CA证书

- 设置
- 隐私和保护
- 进口证书
- 查看证书
- 认证机构
- 导入

在“下载”文件夹中选择“导入”文件 “rootca_ssl_rsa2022.pem”
SSL-RCA

勾选复选框 “对网站的信任”
导入1

好的

!!!至此,FireFox设置完成,通过https://打开带有俄罗斯证书的网站!

I.2. 将俄罗斯根证书颁发机构证书添加到 Google Chrome 浏览器

在铬(铬)中:
- 设置
- 隐私和安全
- 安全
- 设置证书
- 认证机构
- 导入

选择电信和大众通信部CA证书文件并确认导入:
SSL-RCA

!!!至此,Chrome设置完成,网站通过https://打开!


2. 安装自签名 SSL 证书

! 一些网站,为了回应对俄罗斯公司的制裁或出于其他原因,已经颁发了自签名 SSL 证书(由网站作者自己创建 - 不与任何外部 CA 绑定)。 在这种情况下,需要一个特殊的过程来在浏览器中激活它们,这将允许您在它们的帮助下使用 HTTPS 连接。

Mozilla Firefox 响应自签名 SSL 证书时出现错误 MOZILLA_PKIX_ERROR_SELF_SIGNED_CER,这意味着证书太弱,无法信任。 乍一看,FireFox浏览器中的这个错误需要点击一下鼠标,按下按钮 “接受风险并继续”。 但是,将站点添加到例外并不能解决问题 - 与站点的连接不安全,它可以在不加密服务器请求/响应的情况下工作。 什么会导致机密数据的泄露。 这意味着您需要启用使用自签名证书的HTTPS加密(请参阅下面的问题解决方案)。

II.1 将自签名证书添加到 Mozilla Firefox(分步说明)

步骤1
步骤0
步骤10
步骤11
步骤12
步骤15
步骤16
步骤17
步骤18
步骤19

II.2 将自签名证书添加到 Chrome(分步说明)

https1
https2
https3
https4
https5
https6
https7
https8
https9
https10
https11
https12

新问题:证书因 HSTS 保护而被阻止(仅限 Google Chrome)

问题 - HSTS- 在 Chrome 浏览器中通过 HTTPS 实现附加组件 - 子系统 HSTS/PKP),这使得无法使用 HTTP 协议打开站点。 支持 HSTS 的网站要求浏览器仅使用先前已知的证书通过 HTTPS 连接到该网站。 如果网站证书突然发生变化(从 MitM 尝试时),这样的连接将无法工作。 由于 HSTS 旨在防止对 HTTPS 协议的攻击,因此不可能禁用外部检查。 唯一有帮助的是清除 Chrome 浏览器中的本地 HSTS 数据库(见下文)。 在FireFox中,如果触发了HSTS保护,您必须发出命令“忘记”该网站。

问题描述

一位运行 Windows 7 和 Google Chrome 的用户抱怨他无法连接到网站 commim.spb.ru。 尝试登录 FireFox 后,出现一条消息:

》警告:可能存在安全隐患
Firefox 检测到可能的安全威胁,并且没有打开 commim.spb.ru。如果您访问此网站,窃贼可能会尝试窃取您的信息,例如密码、电子邮件地址或信用卡详细信息。
你该如何解决这个问题?
最有可能的是,这个问题与网站本身有关,您对此无能为力。"

Google Chrome 浏览器无法打开此网站 https://commim.spb.ru/,具有大致相同的错误消息

由于 HSTS 系统的激活,用户在屏幕上看不到“转到该站点(不安全)”的链接 - 他被禁止使用 HTTP 协议进行连接。 显然,该网站曾经有一个不同的证书,浏览器将证书的彻底替换视为 “掉落攻击”- MitM 攻击的一种变体,暂时使用 HTTP,然后包含轻量级 HTTPS“中间人”加密。 因此,Web 浏览器需要具有“强”证书的 HTTPS,并且不会让用户有机会使用 HTTP 协议或使用其他 SSL 证书访问不安全的站点。

解决 HSTS 问题:从 Chrome 浏览器的 HSTS 存储中清除网站上的信息

1)在地址栏输入:

chrome://net-internals

然后按 Enter 键

2) 在窗口左侧,单击菜单项

“域安全策略”

3) 在窗口右侧转到“查询”部分,检查该站点是否在列表中(单击“查询”按钮)
查询

4) 如果该域名在HSTS列表中,则会显示以下信息:
反应

5) 要从 HSTS 数据库中删除域信息(这是应用新 SSL 证书所必需的)- 转到 “删除域安全策略”

6) 输入不带 https:// 前缀的网站地址
删除-hsts

7)按下按钮 “删除”

8)用第二个请求检查删除(查询)
未找到

结果是“未找到”,这意味着 HSTS 网站设置已从 Chrome 中删除。



相关出版物