首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在HostPolicy中省略autocert.Manager有什么危险吗?

在HostPolicy中省略autocert.Manager有什么危险吗?
EN

Stack Overflow用户
提问于 2017-12-31 22:48:54
回答 1查看 356关注 0票数 0

我想设置TLS,让我们用golang.org/x/crypto/acme/autocert在Golang加密。为什么我要在Manager中设置HostPolicy?在没有默认autocert.HostWhitelist的情况下,一切似乎都很好。

代码语言:javascript
复制
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对新主机是自动的。我可以创建自己的主机策略函数,在数据存储中查找主机名,但最好跳过它。

编辑

我在他们的代码里发现了这个

HostPolicy控制管理器将尝试检索新证书的域。它不影响缓存的证书。 如果非零,则在请求新证书之前调用HostPolicy。如果为零,则目前允许所有主机。不建议这样做,因为它会引发潜在的攻击,客户端通过IP地址连接到服务器,并假装请求不正确的主机名。管理器将试图错误地为该主机获取证书,最终达到CA对证书请求的速率限制,从而无法获得实际证书。

我还是不完全明白。攻击者能做些什么?它将如何影响我的应用程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-01 16:00:46

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

然后,黑客可以向您的服务器发出多个请求,并导致您达到速率限制,因此当您的服务实际上对实际域提出更新请求时,它们将被拒绝,因为您达到了速率限制。

因此,最终你将无法创建你真正需要的证书,你的客户会抱怨,你会哭。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48046133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档