我需要从我自己在 Apache/Tomcat 上运行的 Web 服务器中执行 Web 服务调用。在 Linux 上运行的 Apache/Tomcat 需要通过 HTTPS 调用运行 IIS 的 Microsoft 服务器,该服务器使用 SSL 的内部证书颁发机构 (CA)。
如何让 Apache/Tomcat 信任来自该 CA 的正确根证书?
另外,我如何测试这种信任是否有效?我假设来自托管 Apache/Tomcat 的服务器的浏览器请求是不够的。
什么阻止了中间人攻击证书颁发机构的请求以验证证书?浏览器是否预先加载了受信任证书颁发机构的公钥(从而提供身份验证)?
每当我想到 MITM 攻击时,我认为任何防御都需要建立一个“安全”连接来进行身份验证,而任何“安全”连接的初始建立似乎总是受到 MITM 攻击本身的影响。因此,例如,如果上述受信任的证书颁发机构的公钥确实与浏览器一起分发,则浏览器的分发将受到 MITM 攻击。据我了解,即使您亲自将公钥/证书/纸上的任何内容交给某人,您也最好从其他地方了解他们,否则他们可能是中间人。
我理解正确吗?
谢谢!
我已经购买了 SSL 证书,我应该能够将 IIS 7 配置为对https://domainname和https://www.domainname使用该证书
我已经在网上看了,但到目前为止没有找到解决方案。这是可能的吗?据发行 SSL 的公司称,在这两种情况下都可以使用单个 SSL。
谢谢
无论如何(也许使用inetd)是否有可能使443端口同时用作sshd和httpd SSL?或许通过分析请求,如果请求是“CONNECT”,则让httpd处理连接;如果请求是 ssh 初始化,则让 sshd 处理它。
我已经设置了一个 Postfix + Courier 服务器,并且有一个使用 SMTP 服务器设置配置的 Rails 应用程序。每当 Rails 应用程序尝试发送电子邮件时,这就是 Postfix 日志中显示的内容(在 master.cf 中设置的其他日志详细程度)
Feb 22 03:57:24 alpha postfix/smtpd[1601]: Anonymous TLS connection established from localhost[127.0.0.1]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
Feb 22 03:57:24 alpha postfix/smtpd[1601]: smtp_get: EOF
Feb 22 03:57:24 alpha postfix/smtpd[1601]: match_hostname: localhost ~? 127.0.0.0/8
Feb 22 03:57:24 alpha postfix/smtpd[1601]: match_hostaddr: 127.0.0.1 ~? 127.0.0.0/8
Feb 22 03:57:24 alpha postfix/smtpd[1601]: lost connection after STARTTLS from localhost[127.0.0.1]
Feb 22 03:57:24 alpha postfix/smtpd[1601]: disconnect from localhost[127.0.0.1]
Feb 22 03:57:24 alpha …
Run Code Online (Sandbox Code Playgroud) 在 TCP 连接上使用 SSL 是否有任何带宽开销?我当然理解加密和解密数据包的处理/内存使用开销,但就带宽而言,有什么区别,如果有的话?
例如,给定一个 64KB 的 XML 文件,通过 HTTP 和 HTTPS 传输的文件大小是否有明显差异?(忽略mod_deflate
和mod_gzip
,当然)
有没有人对有多少互联网用户使用支持 SNI(服务器名称指示)SSL/TLS 证书的浏览器/操作系统组合进行过任何分析(或知道我在哪里可以找到一些!)?
例如,我知道 XP 上的 IE 不支持这一点,而旧版本的 OSX 也不支持。
我知道没有“典型”用户这样的东西,每个站点都有不同的配置文件,但我正在寻找某种数量级的视图来了解这些配置如今的普遍程度,以帮助决策过程我正在寻找部署的新站点。
如果您确实提供了具体的数字或分析参考,您是否也可以将日期添加到您的答案中?只是为了让将来看这个问题的其他人知道该信息何时是最新的,因为我预计它会随着时间的推移而改变......
我希望标题很清楚。
如何防止对未启用 ssl 的虚拟主机的 HTTPS 请求转到第一个启用 ssl 的虚拟主机(设置为 Apache-SNI)。
例如,使用我下面的缩写配置,https://example.com
Apache 在启用了 ssl 的 vhost 上处理对(非 ssl vhost)的请求https://example.org
。我想禁用该行为并可能使用适当的 HTTP 响应代码进行回复(不确定那是什么)。
它甚至可能不可能,但我想我会问。
# I actually have a SNI setup, but it's not demonstrated here.
# I don't think it's relevant in this situation.
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
ServerName example.org
</VirtualHost>
<VirtualHost *:443>
ServerName example.org
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
编辑:也许是第一个 ssl-vhost 中的 mod_rewrite 规则?
cURL 和 PHP 在几个 CentOS 机器上有一个奇怪的问题。
在本地,我运行的是 CentOS 6.3。远程是 CentOS 5.9
在本地,box 收到一个请求,scp 的一个文件到远程服务器,然后通过 PHP 向远程服务器执行 cURL 请求以发送一些信息。该请求总是在当天的第一次尝试时失败。后续请求工作正常。Remote 有一个有效的 SSL 证书——即便如此,关闭证书和主机验证也不能解决问题。
日志记录并不是很有帮助。将详细程度提高到 11,最有意义的条目如下:
* About to connect() to www.example.com port 443 (#0)
* Trying 203.0.113.10... * connected
* Connected to www.example.com (203.0.113.10) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -5938
* Closing connection #0
* SSL connect error
Run Code Online (Sandbox Code Playgroud)
谷歌搜索错误也无济于事。看起来 twitter 有一个类似的问题(https://dev.twitter.com/discussions/1549),他们显然已经解决了这个问题,但没有详细说明它是如何解决的。
任何关于在哪里寻找/做什么来缓解问题的想法都将不胜感激。
目前,我们的防火墙会检查数据包,寻找某些已知的攻击媒介。如果我的应用程序变成纯 ssl,我们将失去这种能力,对吗?
当然,我们在当前的 ssl 页面上已经失去了这种能力。