AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1082265
Accepted
Boppity Bop
Boppity Bop
Asked: 2021-11-02 03:27:36 +0800 CST2021-11-02 03:27:36 +0800 CST 2021-11-02 03:27:36 +0800 CST

您需要多少 SSL 证书 - aspnet core + Apache 反向代理?

  • 772

在 Linux 上部署 aspnet 核心应用程序时,通常通过反向代理来完成。即 Kestrel 托管应用程序,Apache 处理与 Kestrel 通信的公共互联网流量。

所以 Kestrel 和 Apache 需要用于 https 的 SSL 证书。

该应用程序中还Identity Server 4使用了需要证书的功能。

我以前使用过 Kestrel 和 Identity Server 的自签名证书。但现在我在想 - 这是正确的方式吗?

问题 -使用 3 个不同的证书是否更安全,或者我可以只为所有 3 个证书使用一个 CA 证书?

linux asp.net ssl ssl-certificate apache-2.4
  • 1 1 个回答
  • 79 Views

1 个回答

  • Voted
  1. Best Answer
    garethTheRed
    2021-11-02T12:09:36+08:002021-11-02T12:09:36+08:00

    恐怕这个问题没有简单的是/否答案。

    如果 Kestrel 和 Apache 在同一个机器上运行,那么您只是在有效地使用证书,因为 Kestrel 需要一个。它不提供安全性,它更安全吗?问题不适用。

    如果 Kestrel 和 Apache 在不同的盒子上,那么它会稍微复杂一些。如果这两个盒子在一个受信任的网络上,你可以和上面一样争论——证书在那里只是因为 Kestrel 需要一个。

    如果网络不受信任,您现在需要一些安全措施。该证书提供发起 TLS 连接所需的机器身份。无论您为此使用自签名证书还是 CA 签名证书,都会增加更多选择。

    • 如果 Kestrel 应用程序使用内部 FQDN(例如app.local)并且 CA 不愿意证明这些名称(例如商业 CA 不会这样做),那么您将被迫使用自签名证书。
    • 如果 CA 是内部的并且愿意认证本地名称,那么您可以考虑将 CA 用于 Kestrel 证书。

    因此,假设现在您可以为 Kestrel 使用 CA 证书,接下来您需要问自己为什么需要这样做:

    • CA 签名证书通常在一对多场景中变得有价值。如果您有一台服务器和许多依赖方(客户端),那么 CA 颁发的证书可确保:

      • 依赖方只需要信任 CA,每个颁发的证书都是隐式信任的(自签名证书需要被所有客户端信任);
      • 依赖方不需要审查他们希望信任的每台服务器的治理和操作流程,因为他们可以假设如果 CA 已经对其进行了认证,那么它就是值得信赖的;
      • 证书续订后一切正常(与自签名相比,自签名需要在续订后分发给所有客户);
      • 吊销有效(自签名证书没有吊销的概念 - 如果服务器证书被泄露,您必须从所有客户端删除证书);
    • 但是,如果您处于一对一的场景中(例如在反向代理和应用程序服务器之间),那么 CA 带来的好处就更少(信任决策更容易,更新也很容易,如果服务器受到威胁,您只需删除来自一位客户的证书)。事实上,如果您没有可用的 CA,仅为应用程序服务器和反向代理之间的连接而构建和管理 CA 的开销太大,以至于不值得。

    对于后者,使用自签名证书的唯一缺点可能是缺乏中央管理。许多 CA 帮助管理已颁发证书的生命周期,即使它是简单的自动电子邮件提醒您证书即将到期,或者像自动续订一样复杂。自签名证书由您管理。为了帮助缓解这种情况,一些组织使用证书生命周期管理工具来管理他们的证书,如果该工具也可以监控自签名证书,那么就可以解决这个问题。

    因此,总而言之,如果您的 CA 提供额外的生命周期管理服务来帮助您管理证书,那么它可能值得考虑;但除此之外,在应用程序服务器和反向代理之间等一对一场景中,使用自签名证书还是 CA 签名证书并没有真正的区别。

    如果您确实遵循 CA 为应用程序服务器颁发的证书的路线,您有更多的决定:

    • 如果应用程序和反向代理在同一个盒子上,您可以安全地考虑在它们之间使用一个证书 - 您不太可能处于一种服务受到损害而另一种服务仍然受信任的情况。你会(应该)假设一个盒子上的所有证书都被泄露了,所以单独的证书通常没有真正的好处。

    • 如果应用程序位于不同的盒子上,那么您可能会遇到一个被入侵而另一个没有被入侵的情况。在为此类情况做准备时,您应该在每个盒子上贴上不同的证书。


    请注意,虽然上面讨论了应用程序服务器和反向代理之间的通信,但您可以尝试使用Identity Server 4进行相同的推理(无论是什么)。

    • 1

相关问题

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 您最喜欢的 SSL 证书提供商是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve