小编Sur*_*anó的帖子

SSL SNI 安全问题

只是想知道 SNI 是否有助于将公共内容与私人内容分开。通过指定仅从 Intranet 解析的主机名,我设法将我们的服务器配置为/foo为每个客户端提供服务,但/bar仅为来自 Intranet 的客户端提供服务。

所以配置如下:(剥离到非常重要的部分)

NameVirtualHost *:443
# JkWorkersFile must be global so including it here
JkWorkersFile workers.properties

<VirtualHost *:443>
  ServerName public.foo.com
  JkMountFile uriworkermap-pub.properties
</VirtualHost>

<VirtualHost *:443>
  ServerName private-foo
  JkMountFile uriworkermap-priv.properties
</VirtualHost>

<VirtualHost *:443>
  ServerName 10.1.2.3
  JkMountFile uriworkermap-priv.properties
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

问题是,如果您将该名称添加到您的hosts文件中以解析为公共 IP,那么 SNI 实际上将解析处理它,就像它是来自 Intranet 的有效请求一样。

我考虑过只使用数字 IP 而不是名称(例如10.1.2.3)的想法,但我认为如果客户端在他们自己的子网中具有相同的 IP(例如,将端口转发到我的网络的公共 IP 的 Linux 主机),同样可以被欺骗服务器。

该节点位于我没有影响的防火墙后面。它只有一个 IP(内部 IP),但如果需要,我可以将其设为两个。

实际问题是:如何防止这种泄漏?例如通过htaccess?通过指定不同的 IP 地址?或者除了创建单独的服务器实例并忘记 SNI 之外没有其他方法吗?

sni apache-2.2

2
推荐指数
2
解决办法
697
查看次数

标签 统计

apache-2.2 ×1

sni ×1