gpt4 book ai didi

ssl - 在 autocert.Manager 中省略 HostPolicy 是否有任何危险?

转载 作者:数据小太阳 更新时间:2023-10-29 03:23:45 36 4
gpt4 key购买 nike

我想使用 golang.org/x/crypto/acme/autocert 在 Golang 中使用 Let's Encrypt 设置 TLS。为什么要在 Manager 中设置 HostPolicy?似乎没有默认的 autocert.HostWhitelist 一切正常。

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("test"))
})

m := autocert.Manager{
Prompt: autocert.AcceptTOS,
//HostPolicy: autocert.HostWhitelist("example.com"),
Cache: autocert.DirCache("certs"),
}

s := &http.Server{
Addr: ":443",
TLSConfig: &tls.Config{
GetCertificate: m.GetCertificate,
},
}

log.Fatal(s.ListenAndServeTLS("", ""))

我正在设置一个简单的 CMS,我希望 SSL 对于新主机来说是自动的。我可以创建自己的主机策略函数来查找数据存储中的主机名,但最好跳过它。

编辑

我在他们的 code 中找到了这个:

HostPolicy controls which domains the Manager will attempt to retrieve new certificates for. It does not affect cached certs.

If non-nil, HostPolicy is called before requesting a new cert. If nil, all hosts are currently allowed. This is not recommended, as it opens a potential attack where clients connect to a server by IP address and pretend to be asking for an incorrect host name. Manager will attempt to obtain a certificate for that host, incorrectly, eventually reaching the CA's rate limit for certificate requests and making it impossible to obtain actual certificates.

我还是没完全看懂。攻击者可以做什么以及它会如何影响我的应用程序?

最佳答案

如果您没有 HostPolicy,这意味着任何人都可以向您的应用程序发出请求,因此您的服务器将尝试为该域创建 SSL 证书。

然后,黑客可能会向您的服务器发出多个请求并导致您达到速率限制,因此当您的服务实际为真实域发出续订请求时,他们将被拒绝,因为您达到了速率限制。

所以最后你将无法创建你真正需要的证书,你的客户会提示,你会哭。

关于ssl - 在 autocert.Manager 中省略 HostPolicy 是否有任何危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48046133/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com